From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Lipe To: law@cygnus.com Cc: egcs@cygnus.com Subject: Re: disturbing g++ 971031 results. defer-pop not to blame. Date: Mon, 03 Nov 1997 09:43:00 -0000 Message-id: <19971103103101.15080@dgii.com> References: <19971102224718.19861@dgii.com> <16196.878533936@hurl.cygnus.com> <19971103011246.03918@dgii.com> X-SW-Source: 1997-11/msg00102.html Found it. [ disassembly showing crap in .fini deleted ] > If I take hte final link line: > > /play/negcs/gcc/ld -b elf -Ra,XPG4PLUS,ELF -YP,/usr/ccs/lib:/lib:/usr/lib \ > -Qn /usr/ccs/lib/crt1.o /usr/ccs/lib/values-Xa.o \ > /play/negcs/gcc/crtbegin.o -L/play/negcs/gcc -L/usr/ccs/bin \ > -L/usr/ccs/lib -L/usr/local/lib net34.o -lstdc++ \ > -lgcc -lcrypt -lgen -lc -lgcc /play/negcs/gcc/crtend.o \ > /usr/ccs/lib/crtn.o > > and play with the order (add crtn.o before or after -lstdc++) I have > reason to think that it's from something in libstdc++. If I just > hoist -lstdc++ down to the very last (and stick another -lgcc after > it) I get a functioning executable. > > Objdump --all-headers on libstdc++.a and all the .o's that go into > it shows nothing in the .fini section. > > How can I find out what this is and where it's coming from? Ugh. I'm going to be ill. The stupid final link line listed above includes a '-L/usr/local/lib' but does not include a -L/play/negcs/libraries. This means that while I spent hours staring at a disassembly of /play/negcs/libraries/libstdc++/libstdc++.a that looked perfectly reasonable, the linker was using one from /usr/local/lib from June 2 that happens to contain crap in the .fini section. Of course, the obvious way to fix this is to add -L/play/libraries to the link line - but then '-mcoff' picks up the wrong libraries. Part of me wonders why this is dependent upon the level of optimization and the stack layout of the net34.o object when the problem is "clearly" in a linked-in library, and part of me just wants to rewire my tests to manually include the appropriate libes for ELF and COFF and get on with my life. RJL