This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: binutils: "unexpected reloc type 0x17" on sparc
- To: Tomasz Kłoczko <kloczek at rudy dot mif dot pg dot gda dot pl>
- Subject: Re: binutils: "unexpected reloc type 0x17" on sparc
- From: "H . J . Lu" <hjl at lucon dot org>
- Date: Thu, 28 Jun 2001 14:28:42 -0700
- Cc: GNU C Library <libc-alpha at sourceware dot cygnus dot com>,binutils at sourceware dot cygnus dot com
- References: <Pine.LNX.4.21.0106282306000.11781-100000@rudy.mif.pg.gda.pl>
On Thu, Jun 28, 2001 at 11:19:44PM +0200, Tomasz Kłoczko wrote:
>
> Seems somewhere between binutils 2.11.90.0.8 and 2.11.90.0.19 was
> inroduced some king bug which causes generate by ld mangled binaries on
> sparc. I have few development enviroment. One thon them is on some sparc
> and on the same computer in chroot()ed enviroment I have other. In chroot
> I have binutils 2.11.90.0.19 and in main 2.11.90.0.8. In both I have the
> same compiler (gcc 2.95.3) and the same glibc (2.2.3) version (the same
> gcc and glibc binaries in both enviroments).
>
> Few days ago I observe in chroot some binaries binaries fails on execution
> with "unexpected reloc type 0x17". As experiment in both enviroments I try
> find some diffrence and I found. For example I try rebuild glibc using
> newer binutils (2.11.90.0.19) fails on:
>
> -D_LIBC_REENTRANT -include ../include/libc-symbols.h -D_RPC_THREAD_SAFE_
> -o rpcinfo.o gcc -nostdlib -nostartfiles -o rpcinfo
> -Wl,-dynamic-linker=/lib/ld-linux.so.2 ../csu/crt1.o ../csu/crti.o `gcc
> --print-file-name=crtbegin.o` rpcinfo.o
> -Wl,-rpath-link=..:../math:../elf:../dlfcn:../nss:../nis:../rt:../resolv:../crypt:../linuxthreads
> ../libc.so.6 ../libc_nonshared.a -lgcc `gcc --print-file-name=crtend.o`
> ../csu/crtn.o ../elf/ld-linux.so.2 --library-path
> ..:../math:../elf:../dlfcn:../nss:../nis:../rt:../resolv:../crypt:../linuxthreads
> ./rpcgen -Y `gcc -print-file-name=cpp | sed 's|/cpp$||'` -c
> rpcsvc/bootparam_prot.x -o xbootparam_prot.T
> ./rpcgen: error while loading shared libraries: ../libc.so.6: unexpected reloc type 0x17
> make[1]: *** [xbootparam_prot.stmp] Error 127
> make[1]: Leaving directory
> `/home/users/builder/rpm/BUILD/glibc-2.2.3/sunrpc'
> make: *** [sunrpc/others] Error 2
>
> I cant find what is going on and IMHO new ld from binutils probably is
> buggy.
0x17 == R_SPARC_UA32. The new linker generates them. I think glibc has
to be fixed to deal with R_SPARC_UA32, R_SPARC_UA64 and R_SPARC_UA16.
H.J.