[PATCH, MIPS] Support shared library debug with MIPS PIE
Richard Sandiford
rdsandiford@googlemail.com
Thu Jul 23 21:27:00 GMT 2015
Joseph Myers <joseph@codesourcery.com> writes:
> On Fri, 26 Jun 2015, Matthew Fortune wrote:
>> + dt_addr = (sdyn->output_section->vma + sdyn->output_offset
>> + + b - sdyn->contents);
>
> For the case of n64 target and 32-bit host, this results in
> sdyn->output_section->vma + sdyn->output_offset (64-bit) being added
> to b (32-bit host pointer), so losing the high part and resulting in
> an incorrect DT_MIPS_RLD_MAP_REL tag, and all dynamically linked glibc
> tests failing for n64.
Ouch.
> This patch fixes this (spot-tested with glibc
> tests; however, I don't have a self-contained testcase for this bug).
>
> 2015-07-23 Joseph Myers <joseph@codesourcery.com>
>
> * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections)
> <DT_MIPS_RLD_MAP_REL>: Add target address to host address
> difference, not to host pointer.
OK, thanks.
Richard
More information about the Binutils
mailing list