(macro): Use sprintf_vma to convert a > 32 bit number into a readable string.
authorNick Clifton <nickc@redhat.com>
Wed, 20 Apr 2005 14:35:40 +0000 (14:35 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 20 Apr 2005 14:35:40 +0000 (14:35 +0000)
(load_register): Likewise.

gas/ChangeLog
gas/config/tc-mips.c

index 4304447b6e5f0f810f2b18ee6e59c245d986f2c6..b75c42e2814e9d6e185a5f7ac1a956a43ff42ae4 100644 (file)
@@ -1,3 +1,9 @@
+2005-04-20  Nick Clifton  <nickc@redhat.com>
+
+       * config/tc-mips.c (macro): Use sprintf_vma to convert a > 32 bit
+       number into a readable string.
+       (load_register): Likewise.
+
 2005-04-20  Andreas Schwab  <schwab@suse.de>
 
        * config/tc-ia64.c (specify_resource): Initialize all of tmpl.
index 24ba8b14fe90f642d9c81abd3de045a0606eab03..e54fbe4ba0b52edaacdf4641d00bb928c9e3132a 100644 (file)
@@ -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