diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2021-05-19 15:27:28 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2021-05-19 15:27:28 +0000 |
commit | ee22a1a31d3432bb40b67229f75ae7c2a271e38e (patch) | |
tree | 9f7ed80b2a39f710395c8e19222a2259c39107b8 /gas | |
parent | 8dd8c8d4ab262bc4e469b9914cc9b83de3b5bcfb (diff) | |
download | binutils-ee22a1a31d3432bb40b67229f75ae7c2a271e38e.zip binutils-ee22a1a31d3432bb40b67229f75ae7c2a271e38e.tar.gz binutils-ee22a1a31d3432bb40b67229f75ae7c2a271e38e.tar.bz2 |
Fix offset for ia64 PCREL60B relocation on HP-UX
gas/ChangeLog:
2021-05-19 John Buddery <jvb@cyberscience.com>
PR 25599
* config/tc-ia64.c (emit_one_bundle): Increment fixup offset
by one for PCREL60B relocation on HP-UX.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/config/tc-ia64.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c index 045abaf..34482eb 100644 --- a/gas/config/tc-ia64.c +++ b/gas/config/tc-ia64.c @@ -6887,8 +6887,17 @@ emit_one_bundle (void) for (j = 0; j < md.slot[curr].num_fixups; ++j) { + unsigned long where; + ifix = md.slot[curr].fixup + j; - fix = fix_new_exp (frag_now, frag_now_fix () - 16 + i, 8, + where = frag_now_fix () - 16 + i; +#ifdef TE_HPUX + /* Fix offset for PCREL60B relocation on HP-UX. */ + if (ifix->code == BFD_RELOC_IA64_PCREL60B) + ++where; +#endif + + fix = fix_new_exp (frag_now, where, 8, &ifix->expr, ifix->is_pcrel, ifix->code); fix->tc_fix_data.opnd = ifix->opnd; fix->fx_file = md.slot[curr].src_file; |