diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2002-02-06 06:26:14 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2002-02-06 06:26:14 +0000 |
commit | 6b32719e57e725200d1194e92ca43b239e9e01da (patch) | |
tree | 1839c2b71832ba41c357dc19bc5e2ecf5193f3b1 | |
parent | e93c640ed29c9e5828e2a202ec41f8e3a2827e38 (diff) | |
download | gdb-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/ChangeLog | 3 | ||||
-rw-r--r-- | gas/config/tc-sh.c | 13 |
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 { |