bfd: fix negative GOT offsets for non-local references on sparc64
authorJames Clarke <jrtc27@jrtc27.com>
Fri, 18 Nov 2016 11:51:40 +0000 (12:51 +0100)
committerJose E. Marchesi <jose.marchesi@oracle.com>
Fri, 18 Nov 2016 11:51:40 +0000 (12:51 +0100)
commitcc133f9f118ef4afd93da0ecba48151488c41c74
tree33a09f81fa2df268c88e5562bcba6b6c6cb572bd
parenta85db0a6188b89ef49a1bd0f0ed435adc133b3ae
bfd: fix negative GOT offsets for non-local references on sparc64

bfd/ChangeLog:

2016-11-18  James Clarke  <jrtc27@jrtc27.com>

* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
R_SPARC_GOT* for non-local references. Instead, treat them like
R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
immediate with the calculated relocation.
bfd/ChangeLog
bfd/elfxx-sparc.c