2001-11-06 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>

* config/tc-mips.c (my_getSmallParser): Fix small parser bug.
This commit is contained in:
Eric Christopher 2001-11-06 21:39:09 +00:00
parent 3893775531
commit 76b3015fc1
2 changed files with 19 additions and 15 deletions

View File

@ -1,3 +1,7 @@
2001-11-06 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* config/tc-mips.c (my_getSmallParser): Fix small parser bug.
2001-11-05 Martin Schwidefsky <schwidefsky@de.ibm.com> 2001-11-05 Martin Schwidefsky <schwidefsky@de.ibm.com>
* config/tc-s390.c (tc_s390_force_relocation): Force all relocations * 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 (do_fp_{ctrl,ldst,ldstm,dyadic,monadic,cmp,from_reg,to_reg}): Rename
to do_fpa_*. All callers changed. 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. ldrd/strd.
2001-11-01 Stephane Carrez <Stephane.Carrez@worldnet.fr> 2001-11-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
@ -373,7 +377,7 @@
2001-10-08 Tom Rix <trix@redhat.com> 2001-10-08 Tom Rix <trix@redhat.com>
* 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 location of next .bf
* config/obj-coff.c (coff_frob_symbol) : XCOFF does not use endndx. * config/obj-coff.c (coff_frob_symbol) : XCOFF does not use endndx.

View File

@ -3551,7 +3551,7 @@ load_address (counter, reg, ep, dbl, used_at)
lui $reg,<sym> (BFD_RELOC_HI16_S) lui $reg,<sym> (BFD_RELOC_HI16_S)
addiu $reg,$reg,<sym> (BFD_RELOC_LO16) addiu $reg,$reg,<sym> (BFD_RELOC_LO16)
If we have an addend, we always use the latter form. If we have an addend, we always use the latter form.
With 64bit address space and a usable $at we want With 64bit address space and a usable $at we want
lui $reg,<sym> (BFD_RELOC_MIPS_HIGHEST) lui $reg,<sym> (BFD_RELOC_MIPS_HIGHEST)
lui $at,<sym> (BFD_RELOC_HI16_S) lui $at,<sym> (BFD_RELOC_HI16_S)
@ -3559,7 +3559,7 @@ load_address (counter, reg, ep, dbl, used_at)
daddiu $at,<sym> (BFD_RELOC_LO16) daddiu $at,<sym> (BFD_RELOC_LO16)
dsll32 $reg,0 dsll32 $reg,0
dadd $reg,$reg,$at dadd $reg,$reg,$at
If $at is already in use, we use an path which is suboptimal If $at is already in use, we use an path which is suboptimal
on superscalar processors. on superscalar processors.
lui $reg,<sym> (BFD_RELOC_MIPS_HIGHEST) lui $reg,<sym> (BFD_RELOC_MIPS_HIGHEST)
@ -4521,7 +4521,7 @@ macro (ip)
addiu $tempreg,$tempreg,<sym> (BFD_RELOC_LO16) addiu $tempreg,$tempreg,<sym> (BFD_RELOC_LO16)
If we have a constant, we need two instructions anyhow, If we have a constant, we need two instructions anyhow,
so we may as well always use the latter form. so we may as well always use the latter form.
With 64bit address space and a usable $at we want With 64bit address space and a usable $at we want
lui $tempreg,<sym> (BFD_RELOC_MIPS_HIGHEST) lui $tempreg,<sym> (BFD_RELOC_MIPS_HIGHEST)
lui $at,<sym> (BFD_RELOC_HI16_S) lui $at,<sym> (BFD_RELOC_HI16_S)
@ -4529,7 +4529,7 @@ macro (ip)
daddiu $at,<sym> (BFD_RELOC_LO16) daddiu $at,<sym> (BFD_RELOC_LO16)
dsll32 $tempreg,0 dsll32 $tempreg,0
dadd $tempreg,$tempreg,$at dadd $tempreg,$tempreg,$at
If $at is already in use, we use an path which is suboptimal If $at is already in use, we use an path which is suboptimal
on superscalar processors. on superscalar processors.
lui $tempreg,<sym> (BFD_RELOC_MIPS_HIGHEST) lui $tempreg,<sym> (BFD_RELOC_MIPS_HIGHEST)
@ -5310,7 +5310,7 @@ macro (ip)
symbol, relative to a base register, e.g.: symbol, relative to a base register, e.g.:
<op> $treg, <sym>-<localsym>($breg) <op> $treg, <sym>-<localsym>($breg)
This is used by the compiler for switch statements. */ 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 && offset_expr.X_op == O_subtract
&& (symbol_constant_p (offset_expr.X_op_symbol) && (symbol_constant_p (offset_expr.X_op_symbol)
? S_GET_SEGMENT (offset_expr.X_op_symbol) == now_seg ? S_GET_SEGMENT (offset_expr.X_op_symbol) == now_seg
@ -5375,7 +5375,7 @@ macro (ip)
addu $tempreg,$tempreg,$breg addu $tempreg,$tempreg,$breg
<op> $treg,<sym>($tempreg) (BFD_RELOC_LO16) <op> $treg,<sym>($tempreg) (BFD_RELOC_LO16)
With a constant we always use the latter case. With a constant we always use the latter case.
With 64bit address space and no base register and $at usable, With 64bit address space and no base register and $at usable,
we want we want
lui $tempreg,<sym> (BFD_RELOC_MIPS_HIGHEST) lui $tempreg,<sym> (BFD_RELOC_MIPS_HIGHEST)
@ -5457,7 +5457,7 @@ macro (ip)
return; return;
} }
if (breg == 0) if (breg == 0)
{ {
if ((valueT) offset_expr.X_add_number > MAX_GPREL_OFFSET if ((valueT) offset_expr.X_add_number > MAX_GPREL_OFFSET
@ -9217,9 +9217,9 @@ my_getSmallParser (str, len, nestlevel)
*str = b; *str = b;
goto percent_op; goto percent_op;
} }
else
/* Some other expression in the braces. */ /* Some other expression in the braces. */
*len = strcspn (*str, ")") + 1; *len = strcspn (*str, ")") + 1;
} }
/* Check for percent_op. */ /* Check for percent_op. */
else if (*str[0] == '%') 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. */ /* Don't update oldstr if the last call had nested percent_op's. */
if (! oldstr) if (! oldstr)
oldstr = str; oldstr = str;
do do
{ {
oldc = c; 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_HI16_S
|| fixP->fx_r_type == BFD_RELOC_LO16 || fixP->fx_r_type == BFD_RELOC_LO16
|| fixP->fx_r_type == BFD_RELOC_GPREL16 || 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_GPREL32
|| fixP->fx_r_type == BFD_RELOC_64 || fixP->fx_r_type == BFD_RELOC_64
|| fixP->fx_r_type == BFD_RELOC_CTOR || 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 /* Handle the .cpreturn pseudo-op defined for NewABI PIC code. If an offset
was given in the preceeding .gpsetup, it results in: was given in the preceeding .gpsetup, it results in:
ld $gp, offset($sp) ld $gp, offset($sp)
If a register $reg2 was given there, it results in: If a register $reg2 was given there, it results in:
daddiu $gp, $gp, $reg2 daddiu $gp, $gp, $reg2
*/ */