On Tue, Jan 31, 2006 at 06:09:18PM -0800, Paul Lalonde wrote:
I've just filed a bug, but for anyone who's keen on finding out how I
broke it, here's a tgz containing two .o's for AMD64.
ld -r success.o succeeds, ld -r fail.o fails. The files differ in
exactly one byte, the change of symbol "mystring" from STB_GLOBAL to
STB_LOCAL.
It's most likely that I'm violating the ABI in some (not necessarily
subtle) way, although the seg fault is disconcerting.
How are you creating these files, anyway? Your own ELF library?
fail.o's incorrect: st_info on a symtab section is supposed to be one
greater than the index of the last local symbol.
--
Daniel Jacobowitz
CodeSourcery