From 76b3015fc18a2dbcb8170c80c35cf9fd04e552c6 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Tue, 6 Nov 2001 21:39:09 +0000 Subject: [PATCH] 2001-11-06 Thiemo Seufer * config/tc-mips.c (my_getSmallParser): Fix small parser bug. --- gas/ChangeLog | 8 ++++++-- gas/config/tc-mips.c | 26 +++++++++++++------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 3e43d3fe8cd..d33b7c11854 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2001-11-06 Thiemo Seufer + + * config/tc-mips.c (my_getSmallParser): Fix small parser bug. + 2001-11-05 Martin Schwidefsky * config/tc-s390.c (tc_s390_force_relocation): Force all relocations @@ -29,7 +33,7 @@ (do_fp_{ctrl,ldst,ldstm,dyadic,monadic,cmp,from_reg,to_reg}): Rename to do_fpa_*. All callers changed. - * tc-arm.c (insns): Add two temporary instructions to handle + * tc-arm.c (insns): Add two temporary instructions to handle ldrd/strd. 2001-11-01 Stephane Carrez @@ -373,7 +377,7 @@ 2001-10-08 Tom Rix - * config/tc-ppc (ppc_bf, ppc_biei) : Set first .bi lineno value to + * config/tc-ppc (ppc_bf, ppc_biei) : Set first .bi lineno value to location of next .bf * config/obj-coff.c (coff_frob_symbol) : XCOFF does not use endndx. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index c6a9e0dca90..283e889e75e 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -3551,7 +3551,7 @@ load_address (counter, reg, ep, dbl, used_at) lui $reg, (BFD_RELOC_HI16_S) addiu $reg,$reg, (BFD_RELOC_LO16) If we have an addend, we always use the latter form. - + With 64bit address space and a usable $at we want lui $reg, (BFD_RELOC_MIPS_HIGHEST) lui $at, (BFD_RELOC_HI16_S) @@ -3559,7 +3559,7 @@ load_address (counter, reg, ep, dbl, used_at) daddiu $at, (BFD_RELOC_LO16) dsll32 $reg,0 dadd $reg,$reg,$at - + If $at is already in use, we use an path which is suboptimal on superscalar processors. lui $reg, (BFD_RELOC_MIPS_HIGHEST) @@ -4521,7 +4521,7 @@ macro (ip) addiu $tempreg,$tempreg, (BFD_RELOC_LO16) If we have a constant, we need two instructions anyhow, so we may as well always use the latter form. - + With 64bit address space and a usable $at we want lui $tempreg, (BFD_RELOC_MIPS_HIGHEST) lui $at, (BFD_RELOC_HI16_S) @@ -4529,7 +4529,7 @@ macro (ip) daddiu $at, (BFD_RELOC_LO16) dsll32 $tempreg,0 dadd $tempreg,$tempreg,$at - + If $at is already in use, we use an path which is suboptimal on superscalar processors. lui $tempreg, (BFD_RELOC_MIPS_HIGHEST) @@ -5310,7 +5310,7 @@ macro (ip) symbol, relative to a base register, e.g.: $treg, -($breg) This is used by the compiler for switch statements. */ - if (mips_pic == EMBEDDED_PIC + if (mips_pic == EMBEDDED_PIC && offset_expr.X_op == O_subtract && (symbol_constant_p (offset_expr.X_op_symbol) ? S_GET_SEGMENT (offset_expr.X_op_symbol) == now_seg @@ -5375,7 +5375,7 @@ macro (ip) addu $tempreg,$tempreg,$breg $treg,($tempreg) (BFD_RELOC_LO16) With a constant we always use the latter case. - + With 64bit address space and no base register and $at usable, we want lui $tempreg, (BFD_RELOC_MIPS_HIGHEST) @@ -5457,7 +5457,7 @@ macro (ip) return; } - + if (breg == 0) { if ((valueT) offset_expr.X_add_number > MAX_GPREL_OFFSET @@ -9217,9 +9217,9 @@ my_getSmallParser (str, len, nestlevel) *str = b; goto percent_op; } - else - /* Some other expression in the braces. */ - *len = strcspn (*str, ")") + 1; + + /* Some other expression in the braces. */ + *len = strcspn (*str, ")") + 1; } /* Check for percent_op. */ else if (*str[0] == '%') @@ -9273,7 +9273,7 @@ my_getSmallExpression (ep, str) /* Don't update oldstr if the last call had nested percent_op's. */ if (! oldstr) oldstr = str; - + do { oldc = c; @@ -10181,7 +10181,7 @@ md_apply_fix (fixP, valueP) || fixP->fx_r_type == BFD_RELOC_HI16_S || fixP->fx_r_type == BFD_RELOC_LO16 || fixP->fx_r_type == BFD_RELOC_GPREL16 - || fixP->fx_r_type == BFD_RELOC_MIPS_LITERAL + || fixP->fx_r_type == BFD_RELOC_MIPS_LITERAL || fixP->fx_r_type == BFD_RELOC_GPREL32 || fixP->fx_r_type == BFD_RELOC_64 || fixP->fx_r_type == BFD_RELOC_CTOR @@ -11337,7 +11337,7 @@ s_cprestore (ignore) /* Handle the .cpreturn pseudo-op defined for NewABI PIC code. If an offset was given in the preceeding .gpsetup, it results in: ld $gp, offset($sp) - + If a register $reg2 was given there, it results in: daddiu $gp, $gp, $reg2 */ -- 2.30.2