This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Adding MIPS support to GOLD
Rick Mann wrote:
On Mar 25, 2008, at 10:22 AM, David Daney wrote:
I was thinking about looking at MIPS support, however I think it may
be a bit complicated. The Multi-GOT support is something that does
not exist for x86, so it would be completely new. The rest (having
not looked at the gold source code yet), I think would be mostly
straight forward.
I consider myself a fairly expert programmer, but not in the area of
language tools, and sadly it gets harder for me when looking at
something like GCC and binutils (I'm really a Mac programmer, using the
traditional Mac APIs). Is there someplace I can learn about the GOT, why
multi-GOT exists for MIPS and not for x86, how it's used, etc.?
It is a consequence of immediate data being limited to 16 bits in MIPS
ISAs. You can only efficiently access 2^14 GOT/PLT entries. To work
around this problem, ld generates multiple GOTs if required.
(If you give me a specific task in binutils, I can probably help. If you
tell me to design something, I need to learn more about the problem
domain.)
That is a truism. You would probably need to familiarize yourself with
the ELF, and the mips psABI specifications for unix/linux
David Daney