mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-30 12:44:10 +08:00
x86: don't truncate values in diagnostics and alike
Truncating an expression's X_add_number to just "long" can result in confusing output (e.g. an apparently in-range number claimed to be out of range). Use the abstraction that bfd provides for this. Take the opportunity and also insert a missing "of".
This commit is contained in:
parent
0406545d06
commit
7b025ee8c8
@ -1,3 +1,8 @@
|
||||
2021-04-23 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* config/tc-i386.c (pe): Don't truncate expression value.
|
||||
(i386_finalize_displacement): Likewise.
|
||||
|
||||
2021-04-21 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* testsuite/gas/aarch64/dwarf.d: Adjust expected output to allow
|
||||
|
@ -3297,8 +3297,8 @@ static void
|
||||
pe (expressionS *e)
|
||||
{
|
||||
fprintf (stdout, " operation %d\n", e->X_op);
|
||||
fprintf (stdout, " add_number %ld (%lx)\n",
|
||||
(long) e->X_add_number, (long) e->X_add_number);
|
||||
fprintf (stdout, " add_number %" BFD_VMA_FMT "d (%" BFD_VMA_FMT "x)\n",
|
||||
e->X_add_number, e->X_add_number);
|
||||
if (e->X_add_symbol)
|
||||
{
|
||||
fprintf (stdout, " add_symbol ");
|
||||
@ -10922,8 +10922,8 @@ i386_finalize_displacement (segT exp_seg ATTRIBUTE_UNUSED, expressionS *exp,
|
||||
i.types[this_operand].bitfield.disp32s = 0;
|
||||
if (i.types[this_operand].bitfield.baseindex)
|
||||
{
|
||||
as_bad (_("0x%lx out range of signed 32bit displacement"),
|
||||
(long) exp->X_add_number);
|
||||
as_bad (_("0x%" BFD_VMA_FMT "x out of range of signed 32bit displacement"),
|
||||
exp->X_add_number);
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user