diff options
author | Nick Clifton <nickc@redhat.com> | 2005-04-20 14:35:40 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2005-04-20 14:35:40 +0000 |
commit | 55e08f71a9aabef35b7892ffd25aca884bcb3c4a (patch) | |
tree | 6e49092fef5a5a0542b311d0d1cd0c87dcf20f6e /gas/config | |
parent | 1f8b1395941f24aa0d11ad54fd1ab51cbb850c59 (diff) | |
download | gdb-55e08f71a9aabef35b7892ffd25aca884bcb3c4a.zip gdb-55e08f71a9aabef35b7892ffd25aca884bcb3c4a.tar.gz gdb-55e08f71a9aabef35b7892ffd25aca884bcb3c4a.tar.bz2 |
(macro): Use sprintf_vma to convert a > 32 bit number into a readable string.
(load_register): Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-mips.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 24ba8b1..e54fbe4 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -3555,9 +3555,10 @@ load_register (int reg, expressionS *ep, int dbl) if (!dbl || HAVE_32BIT_GPRS) { - as_bad (_("Number (0x%lx%08lx) larger than 32 bits"), - (unsigned long) (ep->X_add_number >> 32), - (unsigned long) (ep->X_add_number & 0xffffffff)); + char value[32]; + + sprintf_vma (value, ep->X_add_number); + as_bad (_("Number (%s) larger than 32 bits"), value); macro_build (ep, "addiu", "t,r,j", reg, 0, BFD_RELOC_LO16); return; } @@ -5800,9 +5801,12 @@ macro (struct mips_cl_insn *ip) if (HAVE_32BIT_ADDRESSES && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number)) - as_bad (_("Number (0x%lx%08lx) larger than 32 bits"), - (unsigned long) (offset_expr.X_add_number >> 32), - (unsigned long) (offset_expr.X_add_number & 0xffffffff)); + { + char value [32]; + + sprintf_vma (value, offset_expr.X_add_number); + as_bad (_("Number (%s) larger than 32 bits"), value); + } /* A constant expression in PIC code can be handled just as it is in non PIC code. */ @@ -6391,9 +6395,12 @@ macro (struct mips_cl_insn *ip) if (HAVE_32BIT_ADDRESSES && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number)) - as_bad (_("Number (0x%lx%08lx) larger than 32 bits"), - (unsigned long) (offset_expr.X_add_number >> 32), - (unsigned long) (offset_expr.X_add_number & 0xffffffff)); + { + char value [32]; + + sprintf_vma (value, offset_expr.X_add_number); + as_bad (_("Number (%s) larger than 32 bits"), value); + } /* Even on a big endian machine $fn comes before $fn+1. We have to adjust when loading from memory. We set coproc if we must |