From 6bdb6dec9a4fc0732e8f093b850da4c2da1a26bc Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 10 Jun 2005 05:46:48 +0000 Subject: [PATCH] * config/tc-hppa.c (pa_block): Allocate just one byte for the fill pattern. --- gas/ChangeLog | 7 ++++++- gas/config/tc-hppa.c | 23 +++++------------------ 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 17abc8a..9925526 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2005-06-10 Alan Modra + + * config/tc-hppa.c (pa_block): Allocate just one byte for the + fill pattern. + 2005-06-08 James E Wilson PR 994 @@ -6,7 +11,7 @@ 2005-06-08 Tomas Hurka - 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. diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index 2b4f3d5..81845ad 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -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 (); -- 2.7.4