2003-09-13 Andrew Cagney <cagney@redhat.com>
[deliverable/binutils-gdb.git] / binutils / unwind-ia64.c
index d3f4b616d8d2426d055bf3034d1ed3b7ed587296..803a5fa5415ee6b49e0ec3b78ace821e4b6f4f0f 100644 (file)
@@ -44,15 +44,18 @@ unw_print_brmask (cp, mask)
      char * cp;
      unsigned int mask;
 {
-  char *sep = "";
+  int sep = 0;
   int i;
 
   for (i = 0; mask && (i < 5); ++i)
     {
       if (mask & 1)
        {
-         cp += sprintf (cp, "%sb%u", sep, i + 1);
-         sep = ",";
+         if (sep)
+           *cp++ = ',';
+         *cp++ = 'b';
+         *cp++ = i + 1 + '0';
+         sep = 1;
        }
       mask >>= 1;
     }
@@ -64,19 +67,22 @@ unw_print_grmask (cp, mask)
      char * cp;
      unsigned int mask;
 {
-  char *sep = "";
+  int sep = 0;
   int i;
 
-  *cp = '\0';
   for (i = 0; i < 4; ++i)
     {
       if (mask & 1)
        {
-         cp += sprintf (cp, "%sr%u", sep, i + 4);
-         sep = ",";
+         if (sep)
+           *cp++ = ',';
+         *cp++ = 'r';
+         *cp++ = i + 4 + '0';
+         sep = 1;
        }
       mask >>= 1;
     }
+  *cp = '\0';
 }
 
 static void
@@ -84,19 +90,28 @@ unw_print_frmask (cp, mask)
      char * cp;
      unsigned int mask;
 {
-  char *sep = "";
+  int sep = 0;
   int i;
 
-  *cp = '\0';
   for (i = 0; i < 20; ++i)
     {
       if (mask & 1)
        {
-         cp += sprintf (cp, "%sf%u", sep, (i < 4) ? (i + 2) : (i + 12));
-         sep = ",";
+         if (sep)
+           *cp++ = ',';
+         *cp++ = 'f';
+         if (i < 4)
+           *cp++ = i + 2 + '0';
+         else
+           {
+             *cp++ = (i + 2) / 10 + 1 + '0';
+             *cp++ = (i + 2) % 10 + '0';
+           }
+         sep = 1;
        }
       mask >>= 1;
     }
+  *cp = '\0';
 }
 
 static void
@@ -475,7 +490,7 @@ typedef bfd_vma unw_word;
  * macros/constants before including this file:
  *
  *  Types:
- *     unw_word        Unsigned integer type with at least 64 bits 
+ *     unw_word        Unsigned integer type with at least 64 bits
  *
  *  Register names:
  *     UNW_REG_BSP
@@ -1071,7 +1086,7 @@ unw_decode_b3_x4 (dp, code, arg)
 }
 
 typedef const unsigned char *(*unw_decoder)
-     PARAMS ((const unsigned char *, unsigned char, void *));
+     PARAMS ((const unsigned char *, unsigned int, void *));
 
 static unw_decoder unw_decode_table[2][8] =
   {
This page took 0.024868 seconds and 4 git commands to generate.