[hppa-linux] gcc-3.3 fails to build using binutils-2.14.90.0.1

H. J. Lu hjl@lucon.org
Mon May 19 07:08:00 GMT 2003


On Sun, May 18, 2003 at 11:47:33PM +0200, Matthias Klose wrote:
Content-Description: message body text
> H. J. Lu writes:
> > On Sun, May 18, 2003 at 07:06:06PM +0200, Matthias Klose wrote:
> > > binutils-2.13.90.0.18 works ok.
> > > 
> > > See http://buildd.debian.org/fetch.php?&pkg=gcc-3.3&ver=1%3A3.3ds9-2&arch=hppa&stamp=1053264270&file=log&as=raw:
> > > 
> > > ./xgcc -B./ -B/usr/hppa-linux/bin/ -isystem /usr/hppa-linux/include -isystem /usr/hppa-linux/sys-include -O2  -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include  -fPIC -DELF=1 -DLINUX=1 -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/config -I../../src/gcc/../include -DL_mulI -xassembler-with-cpp -c ../../src/gcc/config/pa/milli64.S -o libgcc/./_mulI.o
> > > ../../src/gcc/config/pa/milli64.S: Assembler messages:
> > > ../../src/gcc/config/pa/milli64.S:1779: Error: Undefined .EXPORT/.IMPORT argument (ignored): 
> > > ../../src/gcc/config/pa/milli64.S:1779: Error: Undefined .EXPORT/.IMPORT argument (ignored): millicode
> > > make[5]: *** [libgcc/./_mulI.o] Error 1
> > 
> > Please provide a small assembly testcase. It shouldn't be too hard
> > to reproduce.
> 
> attached, although it's only the preprocessed milli64 source.
> 

Could PA maintainer please verify this patch?

BTW, there may be more PA assembler breakages. Please provide a small
assembly testcase when reporting assembler bugs.


H.J.
-------------- next part --------------
gas/

2003-05-18  H.J. Lu <hongjiu.lu@intel.com>

	* config/tc-hppa.c (pa_callinfo): Skip whitespace after
	incrementing input_line_pointer.
	(pa_export): Likewise.
	(pa_import): Likewise.
	(pa_param): Likewise.

gas/testsuite/

2003-05-18  H.J. Lu <hongjiu.lu@intel.com>

	* hppa/parse/parse.exp: Add "space.s".

	* gas/hppa/parse/space.s: New file to test spaces.

--- gas/config/tc-hppa.c.space	2003-04-28 07:17:58.000000000 -0700
+++ gas/config/tc-hppa.c	2003-05-18 22:14:28.000000000 -0700
@@ -6200,6 +6200,7 @@ pa_callinfo (unused)
 	  p = input_line_pointer;
 	  *p = c;
 	  input_line_pointer++;
+	  SKIP_WHITESPACE ();
 	  temp = get_absolute_expression ();
 	  if ((temp & 0x3) != 0)
 	    {
@@ -6217,6 +6218,7 @@ pa_callinfo (unused)
 	  p = input_line_pointer;
 	  *p = c;
 	  input_line_pointer++;
+	  SKIP_WHITESPACE ();
 	  temp = get_absolute_expression ();
 	  /* The HP assembler accepts 19 as the high bound for ENTRY_GR
 	     even though %r19 is caller saved.  I think this is a bug in
@@ -6230,6 +6232,7 @@ pa_callinfo (unused)
 	  p = input_line_pointer;
 	  *p = c;
 	  input_line_pointer++;
+	  SKIP_WHITESPACE ();
 	  temp = get_absolute_expression ();
 	  /* Similarly the HP assembler takes 31 as the high bound even
 	     though %fr21 is the last callee saved floating point register.  */
@@ -6242,6 +6245,7 @@ pa_callinfo (unused)
 	  p = input_line_pointer;
 	  *p = c;
 	  input_line_pointer++;
+	  SKIP_WHITESPACE ();
 	  temp = get_absolute_expression ();
 	  if (temp != 3)
 	    as_bad (_("Value for ENTRY_SR must be 3\n"));
@@ -6304,7 +6308,10 @@ pa_callinfo (unused)
 	  *input_line_pointer = c;
 	}
       if (!is_end_of_statement ())
-	input_line_pointer++;
+	{
+	  input_line_pointer++;
+	  SKIP_WHITESPACE ();
+	}
     }
 
   demand_empty_rest_of_line ();
@@ -6633,6 +6640,7 @@ pa_export (unused)
       if (!is_end_of_statement ())
 	{
 	  input_line_pointer++;
+	  SKIP_WHITESPACE ();
 	  pa_type_args (symbol, 1);
 	}
     }
@@ -6825,6 +6833,7 @@ pa_import (unused)
       if (!is_end_of_statement ())
 	{
 	  input_line_pointer++;
+	  SKIP_WHITESPACE ();
 	  pa_type_args (symbol, 0);
 	}
       else
@@ -6981,6 +6990,7 @@ pa_param (unused)
       if (!is_end_of_statement ())
 	{
 	  input_line_pointer++;
+	  SKIP_WHITESPACE ();
 	  pa_type_args (symbol, 0);
 	}
     }
--- gas/testsuite/gas/hppa/parse/parse.exp.space	2002-09-08 18:54:43.000000000 -0700
+++ gas/testsuite/gas/hppa/parse/parse.exp	2003-05-18 22:24:27.000000000 -0700
@@ -222,5 +222,8 @@ if [istarget hppa*-*-*] then {
     # Check for bogus registers in single precision fmpyadd/fmpysub
     # instructions
     gas_test_error "badfmpyadd.s" "" "Check for error on bad fmpyadd insn"
+
+    # Make sure we grok spaces in directives.
+    gas_test "space.s" "" "" "Test acceptance of spaces in directives"
 }
 
--- gas/testsuite/gas/hppa/parse/space.s.space	2003-05-18 22:24:53.000000000 -0700
+++ gas/testsuite/gas/hppa/parse/space.s	2003-05-18 22:23:12.000000000 -0700
@@ -0,0 +1,24 @@
+	.code
+	.align 4
+	.export $$mulI, millicode
+	.proc
+	.callinfo millicode
+$$mulI:
+	.procend
+
+	.code
+
+	.align 4
+	.PARAM foo, RTNVAL=GR
+foo:
+	.PROC
+	.CALLINFO FRAME=128, NO_CALLS, ENTRY_GR=3,  ENTRY_FR=12
+	.ENTRY
+	bv,n %r0(%r2)
+	.EXIT
+	.PROCEND
+
+	.align 4
+	.import yabba, code
+
+  	ble	R%yabba(%sr4, 	%r0)


More information about the Binutils mailing list