This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

turn off VDSO on glibc side


Dear Guys and Gals,

I am trying to get a toolchain of gcc-4.7.2/glibc-2.17/binutils-2.23
running on RHEL 5.6 box with kernel 2.6.18-238.el5, as a normal user in
a directory prefix.

The bootstrap of gcc fails in stage2, because of a non-functional cc1.

,----
| build/gcc $ ./cc1
| cc1: internal compiler error: Segmentation fault
| Please submit a full bug report,
| with preprocessed source if appropriate.
| See <http://bugs.gentoo.org/> for instructions.
`----
 
gdb this cc1 gives (don't worry, lib and usr/lib are also 64 bit
libraries in my setup),

,----
| Program received signal SIGSEGV, Segmentation fault.
| 0x00002aaaaaacd6eb in ?? ()
| (gdb) info sharedlibrary 
| From                To                  Syms Read   Shared Object Library
| 0x00002aaaaaaabb70  0x00002aaaaaac5079  Yes (*)     /home/benda/gnto/lib64/ld-linux-x86-64.so.2
|                                         No          linux-vdso.so.1
| 0x00002aaaaacd49b0  0x00002aaaaace4480  Yes (*)     /home/benda/gnto/usr/lib/libmpc.so.3
| 0x00002aaaaaef4cd0  0x00002aaaaaf38c08  Yes (*)     /home/benda/gnto/usr/lib/libmpfr.so.4
| 0x00002aaaab151280  0x00002aaaab19d658  Yes (*)     /home/benda/gnto/usr/lib/libgmp.so.10
| 0x00002aaaab3b5090  0x00002aaaab3b5b50  Yes (*)     /home/benda/gnto/lib/libdl.so.2
| 0x00002aaaab5ba7b0  0x00002aaaab5c6bb0  Yes (*)     /home/benda/gnto/usr/lib/libz.so.1
| 0x00002aaaab7d4a30  0x00002aaaab83d068  Yes (*)     /home/benda/gnto/lib/libm.so.6
| 0x00002aaaabaef660  0x00002aaaabc1e800  Yes (*)     /home/benda/gnto/lib/libc.so.6
| (*): Shared library is missing debugging information.
`----

stepping the program shows that Segmentation fault is emitted by
gettimeofday call, which belongs to vdso.

After some STFW, it seems related to

      https://bugzilla.redhat.com/show_bug.cgi?id=673616

The question is, can I just disable vdso loading in dynamic linker of
glibc instead of requesting SA to upgrade the kernel?


PS, gcc-4.7.2 built against host glibc-2.5 works fine.

PS2, the toolchains here are from Gentoo, not sure if it is related to
Gentoo patches.

PS3, the problematic binray runs fine on other hosts. I am sure the bug
is from this glibc and kernel combination.

PS4, I tried glibc-2.{9,13,16} as well with no luck. The code of gcc
triggering Segmentation fault are different though, not sure if this
indicates something.

Cheers,
Benda

related link:

  http://stackoverflow.com/questions/17406389/is-it-possible-to-turn-off-vdso-on-glibc-side


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]