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]
Other format: [Raw text]

Re: [PATCH] MIPS/ELF: Fixes for external R_MIPS_LITERAL relocations


Maciej W. Rozycki wrote:
> Hello,
> 
>  According to the SVR4 MIPS ABI supplement and the "64-bit ELF Object File 
> Specification" document R_MIPS_LITERAL relocations are only defined for 
> local symbols.  BFD currently allows them for all symbols.
> 
>  Here is a fix -- tested for the mips64-linux-gnu, mipsel-linux-gnu and 
> mips64el-elf targets with no regressions.
> 
> 2005-02-07  Maciej W. Rozycki  <macro@mips.com>
> 
> 	* elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject 
> 	R_MIPS_LITERAL relocations for external symbols.
> 	* elf64-mips.c (mips_elf64_literal_reloc): Likewise.
> 	* elfn32-mips.c (mips_elf_literal_reloc): Likewise.
> 
>  OK to apply (or should we have mips_elf_literal_reloc() calling 
> _bfd_mips_elf32_gprel16_reloc() after the check for elf32-mips.c now)?

The idea was to give R_MIPS_LITERAL its own handler function because its
values are supposed to get merged. I didn't do so for elf32-mips.c
because there's a weird special casing of _bfd_mips_elf32_gprel16_reloc
in elfxx-mips.c

Btw, R_MIPS16_GPREL seems also to have inconsistencies.


Thiemo


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