------- Additional Comments From michael at weiser dot dinsnail dot net
2005-11-10 18:57 -------
The testcase nwo runs fine with the patched ld:
[EMAIL PROTECTED] ot]$ make bu
as -64 -o start.o start.s
as -64 -o ot.o ot.s
as -64 -o os.o os.s
/usr/local/bin/ld -melf64bmip -o ot-opt-bu /usr/lib64/mips4/crt1.o ot.o
os.o /usr/lib64/mips4/crtn.o -lc
/usr/local/bin/ld -melf64bmip -o ot-noopt-bu /usr/lib64/mips4/crt1.o
ot.o /usr/lib64/mips4/crtn.o -lc
sed -e "s,/\* \(.weak.*\) \*/,\1," ot.s >otw.s
as -64 -o otw.o otw.s
/usr/local/bin/ld -melf64bmip -o otw-opt-bu /usr/lib64/mips4/crt1.o
otw.o os.o /usr/lib64/mips4/crtn.o -lc
/usr/local/bin/ld -melf64bmip -o otw-noopt-bu /usr/lib64/mips4/crt1.o
otw.o /usr/lib64/mips4/crtn.o -lc
[ -x ot-opt-bu ] && ./ot-opt-bu
*** Error code 73 (bu21) (ignored)
[ -x ot-noopt-bu ] && ./ot-noopt-bu
*** Error code 255 (bu21) (ignored)
[ -x otw-opt-bu ] && ./otw-opt-bu
*** Error code 73 (bu21) (ignored)
[ -x otw-noopt-bu ] && ./otw-noopt-bu
*** Error code 255 (bu21) (ignored)
Even the not-present-detection seems to work somehow (!?). Ahh, that may be
because the optional symbols are actually resolved to __missing_function_ by
*rld* not ld.
But the original problem with libpthread remains:
[EMAIL PROTECTED] ~]$ cat t.c
int main(void) {
}
[EMAIL PROTECTED] ~]$ gcc -o t.o -c t.c
[EMAIL PROTECTED] ~]$ gcc -o t t.o -lpthread
/usr/lib/../lib64/libpthread.so: undefined reference to `_mpi_sgi_init'
collect2: ld returned 1 exit status
The actual ld call is as follows:
/usr/local/bin/ld -v -call_shared -init __gcc_init -fini __gcc_fini -melf64bmip
-o t /usr/lib64/mips3/crt1.o
/usr/local/gcc-4.0.1/lib/gcc/mips-sgi-irix6.5/4.0.1/64/irix-crti.o
/usr/local/gcc-4.0.1/lib/gcc/mips-sgi-irix6.5/4.0.1/64/crtbegin.o
-L/usr/local/gcc-4.0.1/lib/gcc/mips-sgi-irix6.5/4.0.1/64
-L/usr/local/gcc-4.0.1/lib/gcc/mips-sgi-irix6.5/4.0.1
-L/usr/local/gcc-4.0.1/lib/gcc/mips-sgi-irix6.5/4.0.1/../../../../lib64
-L/usr/local/gcc-4.0.1/lib/gcc/mips-sgi-irix6.5/4.0.1/../../.. -L/lib/../lib64
-L/usr/lib/../lib64 t.o -lpthread -lgcc -L/usr/lib64/mips3 -L/usr/lib64 -lc
-lgcc /usr/local/gcc-4.0.1/lib/gcc/mips-sgi-irix6.5/4.0.1/64/crtend.o
/usr/local/gcc-4.0.1/lib/gcc/mips-sgi-irix6.5/4.0.1/64/irix-crtn.o
/usr/lib64/mips3/crtn.o
Is there a difference in treatment of object and *shared* object symbols?
--
http://sourceware.org/bugzilla/show_bug.cgi?id=1150
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
_______________________________________________
bug-binutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-binutils