aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2002-02-06 05:34:34 +0000
committerAlexandre Oliva <aoliva@redhat.com>2002-02-06 05:34:34 +0000
commitac3f04d7f1675e0b9e86265226541df58a763357 (patch)
treeb393993cfe5e7495ca7f35ddbabc9374b48648a7 /gas
parent6af4589cb640e634712fdb8e9d1478d0d265173c (diff)
downloadgdb-ac3f04d7f1675e0b9e86265226541df58a763357.zip
gdb-ac3f04d7f1675e0b9e86265226541df58a763357.tar.gz
gdb-ac3f04d7f1675e0b9e86265226541df58a763357.tar.bz2
* config/tc-sh.c (md_apply_fix3) <BFD_RELOC_32_PLT_PCREL>: Don't
assume fixP->fx_subsy is non-NULL.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-sh.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index fa48ad6..76413b6 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2002-02-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/tc-sh.c (md_apply_fix3) <BFD_RELOC_32_PLT_PCREL>: Don't
+ assume fixP->fx_subsy is non-NULL.
+
2002-02-04 Alexandre Oliva <aoliva@redhat.com>
* config/tc-sh.c (parse_at): Set arg type of @(expr,pc) to
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index ce780a1..b266b80 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -2975,7 +2975,9 @@ md_apply_fix3 (fixP, valP, seg)
/* Make the jump instruction point to the address of the operand. At
runtime we merely add the offset to the actual PLT entry. */
* valP = 0xfffffffc;
- val = fixP->fx_addnumber - S_GET_VALUE (fixP->fx_subsy);
+ val = fixP->fx_addnumber;
+ if (fixP->fx_subsy)
+ val -= S_GET_VALUE (fixP->fx_subsy);
md_number_to_chars (buf, val, 4);
break;