This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] MIPS/BFD: Handle MIPS16 GOT16 and GPREL16 relocs correctly
- From: "Maciej W. Rozycki" <macro at codesourcery dot com>
- To: Richard Sandiford <rdsandiford at googlemail dot com>
- Cc: binutils at sourceware dot org, Catherine Moore <clm at codesourcery dot com>, gnu-mips-sgxx at codesourcery dot com
- Date: Tue, 27 Jul 2010 22:27:49 +0100 (BST)
- Subject: Re: [PATCH] MIPS/BFD: Handle MIPS16 GOT16 and GPREL16 relocs correctly
- References: <alpine.DEB.1.10.1007260203360.29495@tp.orcam.me.uk> <87bp9spxvl.fsf@firetop.home>
On Tue, 27 Jul 2010, Richard Sandiford wrote:
> > * elfxx-mips.h: Include "elf/mips.h".
> > (gprel16_reloc_p): New inline function.
> > * elfxx-mips.c (_bfd_mips_elf_check_relocs)
> > [R_MIPS16_GOT16, R_MIPS_GOT16, R_MIPS_GOT_HI16, R_MIPS_GOT_LO16]:
> > Use got16_reloc_p.
> > (_bfd_mips_elf_relocate_section)[bfd_reloc_overflow]: Use
> > gprel16_reloc_p.
> > * elf32-mips.c (mips_info_to_howto_rel): Likewise.
> > * elfn32-mips.c (mips_info_to_howto_rel): Likewise.
>
> OK, thanks. No idea how I managed to miss the GOT16 one. ;-(
That's a merge error of some kind probably. Overall we're under-tested.
:( No surprise given the number of corner cases. And MIPS16 support
seems to suffer particularly badly -- we've got just a couple of test
cases AFAICT. And the GCC or GDB test suites do not cover binutils
functionality too well -- regressions of this kind if they happen there,
mostly trigger by accident.
Maciej