diff --git a/gas/ChangeLog b/gas/ChangeLog index 76413b68d5..944108b8b0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,8 @@ 2002-02-06 Alexandre Oliva + * config/tc-sh.c (parse_at): Install the correct version of + 2002-02-04's patch. + * config/tc-sh.c (md_apply_fix3) : Don't assume fixP->fx_subsy is non-NULL. diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index b266b805d4..80ff037a69 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 {