This is the mail archive of the
mailing list for the binutils project.
Re: PATCH for 64-bit MIPS ELF buglets
From: Mark Mitchell <firstname.lastname@example.org>
Date: Mon, 12 Jul 1999 13:40:03 -0700
Ian> Some of the mips16 stub support seems to have disappeared as
Ian> well. That all needs to get restored too.
I'll do my best. In retrospect, using R_MIPS_64 for two different
relocations was probably not an ideal design choice; in the future, we
should probably try to use non-standard relocations names for
non-standard relocations. (As you did for R_MIPS_16*.)
Actually, I think R_MIPS_64 can be handled as the same relocation, but
for the 32 MIPS ELF format you have to do the calculations using
strictly 32 bit values. At least, that was my original thinking.
However, I admit that the existing code does not work that way. It
does a normal 32 bit relocation, and overwrites the upper 32 bits with
32 bits of sign extension. It should probably add the sign extension
to the upper 32 bits of the 64 bit value that it finds in the object
file. I don't think that making that change would break any existing
I certainly agree that a better testsuite would be a significant
benefit. As you guessed, though, I'm not likely to do much in this
There actually is a way to test the code, which is to use the gcc
testsuite and a simulator from gdb. It doesn't catch corner cases,
but it does catch basic functionality.