mips rel32/64 to section symbol

Alexandre Oliva aoliva@redhat.com
Tue Mar 11 02:48:00 GMT 2003


Since we've all agreed that the current implementation of rel32
addends is broken for section symbols, but simply fixing ld to do the
right thing would require changes in ld.so that would break existing
executables, I went ahead and implemented Maciej's clever suggestion
to just emit NULL-symbol relocations instead of relocations to section
symbols.  I've tested this by creating a shared library with a static
void* initialized to point to itself, and running a program that
compared the pointer with its address.  Success on all of o32, n32 and
n64, without any changes to glibc, and this time only with
ABI-compliant relocations.

Eric Christopher approved this in private, but I'll put this in only
after my automated tester gives it a full round of testing on all 3
ABIs on big and little endian, and after I come up with testcases for
the linker to make sure this doesn't regress.  So far, I've only
tested it by hand on the 3 ABIs, verifying the presence of appropriate
relocations by visual inspection and testing that the program would
run with the old glibc as well as with a newly-built one.  I'm posting
it here earlier so as to give y'all more time to comment on it.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bfd-mips-dyn-reloc-to-section.patch
Type: text/x-patch
Size: 3119 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20030311/f66afb39/attachment.bin>
-------------- next part --------------

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist                Professional serial bug killer


More information about the Binutils mailing list