[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Building current 2.12 branch fails because rpcgen crashes



Just checked, this is caused by binutils 2.21.51.0.4, binutils 2.21.51.0.2 works fine.

On Wednesday, December 22, 2010 20:10 CET, "Bernhard Rosenkraenzer" <bero@xxxxxxxxxxx> wrote: 
 
> Trying to build the current 2.12 branch on an x86_64-linux box with gcc 4.5.2 and binutils 2.21.51.0.4 results in (build directory = /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux):
> 
> make[2]: Entering directory `/usr/src/ark/BUILD/eglibc-2.12/libc/sunrpc'
> CPP='gcc -E -x c-header'    /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf/ld-linux-x86-64.so.2 --library-path /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/math:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/dlfcn:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/nss:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/nis:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/rt:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/resolv:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/crypt:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/nptl /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/rpcgen -Y ../scripts -c rpcsvc/bootparam_prot.x -o /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/xbootparam_prot.T
> make[2]: *** [/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/xbootparam_prot.stmp] Segmentation fault
> make[2]: Leaving directory `/usr/src/ark/BUILD/eglibc-2.12/libc/sunrpc'
> make[1]: *** [sunrpc/others] Error 2
> make[1]: Leaving directory `/usr/src/ark/BUILD/eglibc-2.12/libc'
> make: *** [all] Error 2
> 
> Taking out enforcing the use of the newly built libs:
> 
> CPP='gcc -E -x c-header' /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/rpcgen -Y ../scripts -c rpcsvc/bootparam_prot.x -o /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/xbootparam_prot.T
> and even
> CPP='gcc -E -x c-header' /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf/ld-linux-x86-64.so.2 /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/rpcgen -Y ../scripts -c rpcsvc/bootparam_prot.x -o /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/xbootparam_prot.T
> and
> CPP='gcc -E -x c-header'    /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf/ld-linux-x86-64.so.2 --library-path /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/math:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/dlfcn:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/nss:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/nis:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/rt:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/resolv:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/crypt:/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/nptl /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/rpcgen -Y ../scripts -c rpcsvc/bootparam_prot.x -o /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/sunrpc/xbootparam_prot.T
> 
> (the latter just has /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux removed from the --library-path) all succeed, so the problem is with the newly built libc.
> 
> Also, something simple like
> LD_PRELOAD=/usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/libc.so /bin/true
> 
> segfaults, so chances are something odd is going on in the startup code.
> 
> The backtrace looks like ld-linux-x86-64.so.2 is trying to jump straight at (void*)-1
> 
> $ gdb /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf/ld-linux-x86-64.so.2
> (gdb) set args --library-path /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux /bin/true
> (gdb) r
> Starting program: /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf/ld-linux-x86-64.so.2 --library-path /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux /bin/true
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0xffffffffffffffff in ?? ()
> (gdb) bt
> #0  0xffffffffffffffff in ?? ()
> #1  0x00007ffff7fed80f in call_init ()
>    from /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf/ld-linux-x86-64.so.2
> #2  0x00007ffff7fed907 in _dl_init_internal ()
>    from /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf/ld-linux-x86-64.so.2
> #3  0x00007ffff7fdfaca in _dl_start_user ()
>    from /usr/src/ark/BUILD/eglibc-2.12/libc/build-x86_64-linux/elf/ld-linux-x86-64.so.2
> #4  0x00007fffffffea0a in ?? ()
> #5  0x0000000000000001 in ?? ()
> #6  0x00007fffffffea50 in ?? ()
> #7  0x0000000000000000 in ?? ()
> (gdb) 
> 
> 
> Is anyone else seeing this, or can I be reasonably sure it's the work of my binutils/gcc?