heroxbd
2013-07-01 15:05:02 UTC
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
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