[parisc-linux] segfaults with new binutils
Alan Modra
alan@linuxcare.com.au
Mon, 12 Mar 2001 10:41:39 +1100 (EST)
On Sun, 11 Mar 2001, Randolph Chung wrote:
> > You've already started down the path to recovery:
> > build and install binutils with --disable-shared,
> > build and install gcc with --enable-languages=c --disable-shared,
> > build and install glibc
>
> trying to do this last step, but am getting some pretty odd results.
>
> when trying to build linuxthreads, the glibc compile dies when trying to
> assemble linuxthreads/crti.S
>
> it's also complaining about .init and .fini. From what I gather the
> compile takes pt-initfini.c, translates it to a .S file, then does some
> sed magic to remove some sections. This leaves a .S that has a .PROC and
> .ENTRY for .init/.fini without a corresponding .EXIT and .PROCEND
Huh? My builds don't try to build crti.o for linuxthreads. crti.o is
built in csu/ from sysdeps/hppa/elf/initfini.c. Perhaps you have a
configuration problem. What options did you pass to configure? Hmm, more
importantly, what source are you compiling? I don't have a pt-initfini.c
in my source tree!
$ cd /usr/src/parisc/glibc
$ cvs update -d -ko
? sysdeps/hppa/hppa64
$ find . -name '*initfini*'
./sysdeps/generic/initfini.c
./sysdeps/hppa/elf/initfini.c
./sysdeps/ia64/elf/initfini.c
./sysdeps/s390/initfini.c
./sysdeps/sh/elf/initfini.c
> i thought LT and RT were #define's of some sort, but i don't see them
> defined any place.
LT' and RT' are field selectors. They give you the LR' and RR' values
respectively of the offset from %r19 to the .got slot for the symbol. The
presense of these selectors also tells the asembler/linker to set up .got
entries for the symbol.
Alan
--
Linuxcare