aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ia64.c
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2021-05-19 15:27:28 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2021-05-19 15:27:28 +0000
commitee22a1a31d3432bb40b67229f75ae7c2a271e38e (patch)
tree9f7ed80b2a39f710395c8e19222a2259c39107b8 /gas/config/tc-ia64.c
parent8dd8c8d4ab262bc4e469b9914cc9b83de3b5bcfb (diff)
downloadfsf-binutils-gdb-ee22a1a31d3432bb40b67229f75ae7c2a271e38e.zip
fsf-binutils-gdb-ee22a1a31d3432bb40b67229f75ae7c2a271e38e.tar.gz
fsf-binutils-gdb-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/config/tc-ia64.c')
-rw-r--r--gas/config/tc-ia64.c11
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;