Henning Nielsen Lund schrieb:
Hi Jens I have tried to check the old ppc-amigaos-gcc specs... could you please try with simply exchange the REAL_LIBGCC_SPEC define in gcc/gcc/config/rs6000/amigaos.h with the following: #define REAL_LIBGCC_SPEC "-lgcc" I will be away from my amiga untill sunday, so I will not be able to test anymore this week.
This seems to work now, yes. However, I have just tested it with creating an own "specs" file. Now I don't need to explicitly specify "-static" to get everything linked statically. However, to link shared a linkage with "-use-dynld" alone doesn't seem to be enough anymore, I definitly have to specify "-shared" on the command-line to get GCC to link correctly or otherwise I get numerous of those "_Unwind_SjLj" errors again. But when I specify -shared everything seems to work. So again, what is this "-use-dynld" all about and why aren't we using "-shared" instead for linking an application against shared objects?
In addition, I also had a look at the shared linked binary and I notice that it was only linked shared against libstdc++.so and libc.so. The shared linkage against libgcc.so seems to be missing:
-- cut here -- Dynamic section at offset 0x56c10 contains 20 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libstdc++.so] 0x00000001 (NEEDED) Shared library: [libc.so] -- cut here --The interesting think is, as soon as I rename the libgcc.a file to e.g. libgcc.a_bak so that it won't be found at link time I can spot that the binary will be correctly linked against libgcc.so:
-- cut here -- Dynamic section at offset 0x53e18 contains 17 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libstdc++.so] 0x00000001 (NEEDED) Shared library: [libgcc.so] 0x00000001 (NEEDED) Shared library: [libc.so] -- cut here --So I guess our renaming of libgcc_s.so to libgcc.so is the reason for the above confusion, isn't it? The question is now how we can solve the problem so that we get a shared linkage of libgcc.so when "-shared" is used while when linked statically it uses libgcc.a? Should be perhaps rename libgcc.a to something else or should we go back to naming the shared lib libgcc_s.so and ask developers to update their suites?
P.S: I forwarded this mail to Jörg as well so that he might have a chance to comment. Jörg, don't you want to join the adtools mailing list to help us out a bit with all that fuzz stuff?
cheers, jens -- Jens Langner, Dresden/Germany http://www.jens-langner.de/ ______________________________________________________________________________ Amiga Development tools ML - //www.freelists.org/list/adtools Homepage...................: http://www.sourceforge.net/projects/adtools Listserver help............: mailto:adtools-request@xxxxxxxxxxxxx?Subject=HELP