This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH] Fix MIPS ELF64 relocation howtos


On Mon, Aug 27, 2001 at 09:41:05PM +0200, Thiemo Seufer wrote:
> H . J . Lu wrote:
> [snip]
> > > This means to use the specification as a guide as long as it's
> > > reasonable for Linux. That's my intention, too. 
> > 
> > Good. While we are on it, here are things I'd like to see in the new
> > `traditional 64bit MIPS ELF ABI':
> > 
> > 1. Make gp callee-saved.
> 
> Ok. We should also use the rest of the NewABI calling conventions.

Yes. That makes senses since that is how gcc generates code for the
64bit MIPS ABI.

> 
> > 2. Use RELA relocation if all possible.
> 
> My private patch does so already, and since the ABI draft claims some
> essential relocations to be unsupported for REL, this should be used
> for all MIPS ELF64 variants. It's the only sane way AFAICS.
> 
> > 3. Use relocations in the SGI 64bit ABI when make senses to us.
> 
> Ok. I made some steps towards this in my private patch for the
> _HIGHER and _HIGHEST relocations.
> 
> > 4. Drop support for the MIPS/SGI quickstart.
> 
> Since there is no support for quickstart in binutils: already done. :-)

I think there are some strange stuffs in DT_xxxx and symbol tables,
which are only used for quickstart.

> 
> > 5. Add support for the glibc prelink.
> 
> This will be an issue when we can do PIC.

We should be prepared for that.

> 
> > #1 is a gcc only issue.
> 
> No, we need to handle .cpsetup, .cpreturn and possibly .cplocal
> as well as the resulting relocations. Even if we rely on gcc to
> expand these .cp*, we have to handle %gp_rel() and %neg().

I see.

> 
> > I think the change to gcc is minimum. That is
> > we make sure that we don't use o64 for gcc. #2, #3, #4 and #5 will
> > affect binutils.
> 
> I doubt anybody actually uses o64. I found several places in
> binutils where it is broken or only partially implemented.

I think o64 in gcc may be also broken since noone really tests it.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]