aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2002-02-06 06:26:14 +0000
committerAlexandre Oliva <aoliva@redhat.com>2002-02-06 06:26:14 +0000
commit6b32719e57e725200d1194e92ca43b239e9e01da (patch)
tree1839c2b71832ba41c357dc19bc5e2ecf5193f3b1
parente93c640ed29c9e5828e2a202ec41f8e3a2827e38 (diff)
downloadgdb-6b32719e57e725200d1194e92ca43b239e9e01da.zip
gdb-6b32719e57e725200d1194e92ca43b239e9e01da.tar.gz
gdb-6b32719e57e725200d1194e92ca43b239e9e01da.tar.bz2
* config/tc-sh.c (parse_at): Install the correct version of
2002-02-04's patch.
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/tc-sh.c13
2 files changed, 7 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 76413b6..944108b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,8 @@
2002-02-06 Alexandre Oliva <aoliva@redhat.com>
+ * config/tc-sh.c (parse_at): Install the correct version of
+ 2002-02-04's patch.
+
* config/tc-sh.c (md_apply_fix3) <BFD_RELOC_32_PLT_PCREL>: Don't
assume fixP->fx_subsy is non-NULL.
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index b266b80..80ff037 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -981,15 +981,10 @@ parse_at (src, op)
}
else if (mode == A_PC)
{
- /* Turn a plain @(4,pc) into @(.+4,pc). */
- if (op->immediate.X_op == O_constant)
- {
- op->immediate.X_add_symbol = dot ();
- op->immediate.X_op = O_symbol;
- op->type = A_DISP_PC;
- }
- else
- op->type = A_DISP_PC_ABS;
+ op->type = A_DISP_PC_ABS;
+ /* Such operands don't get corrected for PC==.+4, so
+ make the correction here. */
+ op->immediate.X_add_number -= 4;
}
else
{