This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [patch] RFD: Incorrect R_MIPS_26 handling for RELA
- From: "Maciej W. Rozycki" <macro at ds2 dot pg dot gda dot pl>
- To: Per Fogelström <pefo at opsycon dot se>
- Cc: Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de>, Ralf Baechle <ralf at oss dot sgi dot com>, Eric Christopher <echristo at redhat dot com>, binutils at sources dot redhat dot com
- Date: Fri, 7 Jun 2002 13:14:19 +0200 (MET DST)
- Subject: Re: [patch] RFD: Incorrect R_MIPS_26 handling for RELA
- Organization: Technical University of Gdansk
On Fri, 7 Jun 2002, Per [ISO-8859-1] Fogelström wrote:
> Actually there is more to this than R_MIPS_26 handling.
> Initialized 64 bit pointers for example was not initialized
> correctly. Offsets was added twice etc. It appears that
> relocations are generated differently for _64 and _32. In
> _32 the offset is stored in the code, in _64 it is 'stored'
> in the rel entry. With some fixes in gas and ld i have a
Yep, the former are REL relocs and the latter are RELA ones -- see the
ELF spec. MIPS is specified to use REL relocs only, whilst MIPS64 (both
the 64 and the N32 ABI) is free to use either, with certain constraints
with REL ones. Due to problems with addend's range limitations when using
REL relocations, it is wise to always use RELA for MIPS64.
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +