This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: forwarded message from H. J. Lu


> We know exactly what changed.

Alan, thanks for the pointer.

I believe that the enclosed patch will fix the whitespace problem.
I have removed `,' and `!' from hppa_symbol_chars.  `,' is a separator
in the opcode and operand fields.  It should never be followed by
meaningful whitespace.  The same is true for `!'.  When used in
a completor, it is never the last character of the completor.  It
is also used as a statement separator.  When used as a statement
separator, there is never a label field, so there can't be any
meaningful whitespace after it.  So, as I understand it, any
whitespace after a comma or exclamation will now be removed by the
scrubber.  This restores the previous behavior of accepting whitespace
after commas.  For other situations like `=', we don't allow whitespace
removal.  This could have been a problem for various floating point
conditions which end in `='.

I have tested this on hppa-linux, hppa2.0w-hp-hpux11.11 and
hppa64-hp-hpux11.11.  I have a gcc build running on hppa-linux
and so far there are no problems.

Does this look reasonable?

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2003-05-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* tc-hppa.c (hppa_symbol_chars): Remove `,' and `!'.

Index: config/tc-hppa.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-hppa.c,v
retrieving revision 1.104
diff -u -3 -p -r1.104 tc-hppa.c
--- config/tc-hppa.c	21 May 2003 12:07:55 -0000	1.104
+++ config/tc-hppa.c	21 May 2003 15:42:25 -0000
@@ -622,8 +622,10 @@ static struct call_desc last_call_desc;
 /* handle of the OPCODE hash table */
 static struct hash_control *op_hash = NULL;
 
-/* Those characters can be suffixes of opcode names.  */
-const char hppa_symbol_chars[] = ",*!?=<>";
+/* These characters can be suffixes of opcode names and they may be
+   followed by meaningful whitespace.  We don't include `,' and `!'
+   as they never appear followed by meaningful whitespace.  */
+const char hppa_symbol_chars[] = "*?=<>";
 
 /* Table of pseudo ops for the PA.  FIXME -- how many of these
    are now redundant with the overall GAS and the object file


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]