This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

sh-elf toolchain broken on mainline


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

Attachment: crtbegin.o
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]