sh-elf toolchain broken on mainline

Joern Rennecke joern.rennecke@superh.com
Mon Apr 28 18:20:00 GMT 2003


Every single execution test fails to compile with the error message:

/swbuild/nightly/2003-04-28/sh-elf/gcc/collect-ld: /swbuild/nightly/2003-04-28/s
h-elf/gcc/testsuite/20000112-1.x0: hidden symbol `__dso_handle' isn't defined

The symbol __dso_handle should both used and defined in crtbegin.o, made
gcc/crtstuff.c .  Since sh-elf uses "_" as USER_LABEL_PREFIX, the actual
symbol in the symbol table should be ___dso_handle .
If nm and/or strings are to be trusted, that is not the case:

00000000 D ___dso_handle
         U __dso_handle

I.e. the definition gets the USER_LABEL_PREFIX, but the use does not -
I haven't found out why yet.

ld used to silently ignore this problem, and since sh-elf is a newlib
based target which generally doesn't use dsos, this was by and large
a non-issue.  Most gcc tests still passed on Friday.
Now, with ld giving a hard error, this problem means that you can't link
any gcc-compiled program.

I've attached the crtbegin.o that was generated from today's sources.

-- 
--------------------------
SuperH (UK) Ltd.
2410 Aztec West / Almondsbury / BRISTOL / BS32 4QX
T:+44 1454 465658
-------------- next part --------------
A non-text attachment was scrubbed...
Name: crtbegin.o
Type: application/octet-stream
Size: 1920 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20030428/6d872587/attachment.o>


More information about the Binutils mailing list