* config/tc-hppa.c (pa_block): Allocate just one byte for the
authorAlan Modra <amodra@gmail.com>
Fri, 10 Jun 2005 05:46:48 +0000 (05:46 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 10 Jun 2005 05:46:48 +0000 (05:46 +0000)
fill pattern.

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

index 17abc8a849fff38da1728aa35f410fdf995bdfe5..992552609374bf9e7e69cf3212b3ec20b46826b9 100644 (file)
@@ -1,3 +1,8 @@
+2005-06-10  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/tc-hppa.c (pa_block): Allocate just one byte for the
+       fill pattern.
+
 2005-06-08  James E Wilson  <wilson@specifixinc.com>
 
        PR 994
@@ -6,7 +11,7 @@
 
 2005-06-08  Tomas Hurka  <tom@hukatronic.cz>
 
-       PR991
+       PR 991
        * config/tc-m68k.c (m68k_ip): Test for insn compatiblity using a
        temporary copy of the operands array so that changes can be safely
        backed out if the insn does not match.
index 2b4f3d5672c4841865394ed13a6afc3b7307011f..81845ad53eaebba9be37baffe49e6f4dd77aa275 100644 (file)
@@ -1,6 +1,6 @@
 /* tc-hppa.c -- Assemble for the PA
    Copyright 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004 Free Software Foundation, Inc.
+   2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
 
@@ -5937,10 +5937,7 @@ static void
 pa_block (z)
      int z ATTRIBUTE_UNUSED;
 {
-  char *p;
-  long int temp_fill;
   unsigned int temp_size;
-  unsigned int i;
 
 #ifdef OBJ_SOM
   /* We must have a valid space and subspace.  */
@@ -5954,21 +5951,11 @@ pa_block (z)
       as_bad (_("Argument to .BLOCK/.BLOCKZ must be between 0 and 0x3fffffff"));
       temp_size = 0;
     }
-
-  /* Always fill with zeros, that's what the HP assembler does.  */
-  temp_fill = 0;
-
-  p = frag_var (rs_fill, (int) temp_size, (int) temp_size,
-               (relax_substateT) 0, (symbolS *) 0, (offsetT) 1, NULL);
-  memset (p, 0, temp_size);
-
-  /* Convert 2 bytes at a time.  */
-
-  for (i = 0; i < temp_size; i += 2)
+  else
     {
-      md_number_to_chars (p + i,
-                         (valueT) temp_fill,
-                         (int) ((temp_size - i) > 2 ? 2 : (temp_size - i)));
+      /* Always fill with zeros, that's what the HP assembler does.  */
+      char *p = frag_var (rs_fill, 1, 1, 0, NULL, temp_size, NULL);
+      *p = 0;
     }
 
   pa_undefine_label ();