.gpdword support, elf64-mips fixes

Alexandre Oliva aoliva@redhat.com
Fri Oct 11 22:44:00 GMT 2002


This patch implements .gpdword (thanks for the starting point, Eric!),
arranges for .cpadd to be usable in n32 and n64, and fixes a few
problems with gp-relative relocations that I ran into while playing
with it.  I have a patch for GCC that exercises these features, and I
couldn't figure out how to do multi-stage relocatable links of large
files, that would be necessary to test all of the problems this patch
fixes.  I hope this is still acceptable.

One of the problems was with GPREL32, that could no longer be
truncated to 32 bits when its value was actually being composed with a
_64 relocation (that's how the MIPS ELF64 ABI says 64-bit GPREL
relocations are supposed to be represented; eek! :-)

The other problems were in GPREL16 relocations, whose addends were
truncated to 16 bits even though they could be (and were!) wider than
that with RELA relocations.  Also, I had problems with symbols that
were forced local with linker scripts: we'd add gp0 to them even
though the original gp value hadn't been subtracted from their addends
in earlier relocatable links.

No regressions on mips-elf.  Ok to install?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gpdword-bfd.patch
Type: text/x-patch
Size: 4249 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20021011/f79b4628/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gpdword-gas.patch
Type: text/x-patch
Size: 3313 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20021011/f79b4628/attachment-0001.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