mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 15:18:37 +08:00
If an offset is invalid, display it.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
1999-08-18 Nick Clifton <nickc@cygnus.com>
|
||||||
|
|
||||||
|
* config/tc-arm.c (md_apply_fix3): If an offset is invalid,
|
||||||
|
display its value.
|
||||||
|
|
||||||
1999-08-17 Ian Lance Taylor <ian@zembu.com>
|
1999-08-17 Ian Lance Taylor <ian@zembu.com>
|
||||||
|
|
||||||
* config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, to
|
* config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, to
|
||||||
|
@ -5404,7 +5404,8 @@ md_apply_fix3 (fixP, val, seg)
|
|||||||
|
|
||||||
if (validate_offset_imm (value, 0) == FAIL)
|
if (validate_offset_imm (value, 0) == FAIL)
|
||||||
{
|
{
|
||||||
as_bad (_("bad immediate value for offset (%ld)"), (long) value);
|
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||||
|
_("bad immediate value for offset (%ld)"), (long) value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5427,7 +5428,8 @@ md_apply_fix3 (fixP, val, seg)
|
|||||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||||
_("invalid literal constant: pool needs to be closer"));
|
_("invalid literal constant: pool needs to be closer"));
|
||||||
else
|
else
|
||||||
as_bad (_("bad immediate value for half-word offset (%ld)"), (long) value);
|
as_bad (_("bad immediate value for half-word offset (%ld)"),
|
||||||
|
(long) value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5661,7 +5663,7 @@ md_apply_fix3 (fixP, val, seg)
|
|||||||
|
|
||||||
if ((value + 2) & ~0x3fe)
|
if ((value + 2) & ~0x3fe)
|
||||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||||
_("Invalid offset"));
|
_("Invalid offset, value too big (0x%08X)"), value);
|
||||||
|
|
||||||
/* Round up, since pc will be rounded down. */
|
/* Round up, since pc will be rounded down. */
|
||||||
newval |= (value + 2) >> 2;
|
newval |= (value + 2) >> 2;
|
||||||
@ -5670,28 +5672,28 @@ md_apply_fix3 (fixP, val, seg)
|
|||||||
case 9: /* SP load/store */
|
case 9: /* SP load/store */
|
||||||
if (value & ~0x3fc)
|
if (value & ~0x3fc)
|
||||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||||
_("Invalid offset"));
|
_("Invalid offset, value too big (0x%08X)"), value);
|
||||||
newval |= value >> 2;
|
newval |= value >> 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6: /* Word load/store */
|
case 6: /* Word load/store */
|
||||||
if (value & ~0x7c)
|
if (value & ~0x7c)
|
||||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||||
_("Invalid offset"));
|
_("Invalid offset, value too big (0x%08X)"), value);
|
||||||
newval |= value << 4; /* 6 - 2 */
|
newval |= value << 4; /* 6 - 2 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7: /* Byte load/store */
|
case 7: /* Byte load/store */
|
||||||
if (value & ~0x1f)
|
if (value & ~0x1f)
|
||||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||||
_("Invalid offset"));
|
_("Invalid offset, value too big (0x%08X)"), value);
|
||||||
newval |= value << 6;
|
newval |= value << 6;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8: /* Halfword load/store */
|
case 8: /* Halfword load/store */
|
||||||
if (value & ~0x3e)
|
if (value & ~0x3e)
|
||||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||||
_("Invalid offset"));
|
_("Invalid offset, value too big (0x%08X)"), value);
|
||||||
newval |= value << 5; /* 6 - 1 */
|
newval |= value << 5; /* 6 - 1 */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user