This is the mail archive of the gas2@sourceware.cygnus.com mailing list for the gas2 project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
More info on it. There is NO .dynsym section in libmine.so created by the SVR4/x86 ld. H.J. ---- This test case shows a GNU ld ELF bug. -- H.J. Lu NYNEX Science and Technology, Inc. hjl@nynexst.com --- This directory contains files for SVR4/x86. There are two .s files, main.s and libmine.s. libmine.s is used to build libmine.so. In ./lib, there are three speciall files, crtbegin.o, crtend.o and libgcc.a. The goal is build libmine.so and link it with main.o, then run the resulting binary, TEST. The expected output is: # LD_LIBRARY_PATH=. TEST A ctor called Hello foo Hello ELF C++ A dtor called But if libmine.so is built with the GNU ld in gas-941012, the output is: # LD_LIBRARY_PATH=. TEST Hello foo Hello ELF C++ Two calls in libmine.so are missing. libmine.so.gnu is built with the GNU ld: # gnu-ld -shared -o libmine.so ./lib/crtbegin.o -L. -L./lib libmine.o -lgcc ./lib/crtend.o -lgcc and libmine.so.svr4 is built with the SVR4/x86 ld: # /usr/ccs/bin/ld -V -G -dy -Y P,/usr/ccs/lib:/usr/lib -Qy -o libmine.so ./lib/crtbegin.o -L. -L./lib libmine.o -lgcc ./lib/crtend.o -lgcc For the timeing, this test case has to be run under SVR4/x86. TEST is built with # gcc -L. -B./lib/ -o TEST main.s -lmine