bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/3469] GAS encodes corrupt relocation ld reports bad reloc symbo


From: amodra at bigpond dot net dot au
Subject: [Bug gas/3469] GAS encodes corrupt relocation ld reports bad reloc symbol index
Date: 9 Nov 2006 00:23:01 -0000

------- Additional Comments From amodra at bigpond dot net dot au  2006-11-09 
00:22 -------
Yes, it's clear to me that glibc has a bug here.  I suspect that
_dl_argv_internal should not have a definition in .bss.  It's equally clear to
me that gas cannot allow relocations to be emitted against symbols that have
been removed from the gas symbol chain.  Such symbols won't appear in the object
symbol table, but the error message you now get since my 2006-11-08 gas patch is
more than a little confusing.

$ gas/as-new /src/tmp/pr3469/x.s
gas/as-new: a.out: symbol `_dl_argv_internal' required but not present
/src/tmp/pr3469/x.s: Assembler messages:
/src/tmp/pr3469/x.s:14: Fatal error: can't close a.out: No symbols

However, I'm not sure what the best fix is.  I was hoping you (Jan) could
suggest one..  Incidentally, you can have the same trouble with redefining via
equates.  eg.

 .data
 .global x
 x = y
 .long x
 x = z
 .long x
y:
 .long y
z:
 .long z

Also, there isn't really anything special about .global.  Anything that stops
the assembler from reducing a reloc to one against a section symbol will do, and
some targets don't allow any reduction (see the various tc_fix_adjustable
definitions).


-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=3469

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]