From a91f57fd4b986826f94e76b7c2f3c2c3d229c592 Mon Sep 17 00:00:00 2001
From: Jeff Law <law@redhat.com>
Date: Mon, 30 Aug 1999 21:00:59 +0000
Subject: [PATCH]         * gas/hppa/reloc/*.s: Use .code instead of
 .SPACE/.SUBSPA for         sectioning.         * gas/hppa/parse/parse.exp:
 Disable tests not appropriate for PA64.         Revamp address expressions
 slightly to handle an arbitrary sized         address.

---
 gas/testsuite/ChangeLog                     |   6 ++
 gas/testsuite/gas/hppa/reloc/applybug.s     |  20 +---
 gas/testsuite/gas/hppa/reloc/blebug.s       |  11 +-
 gas/testsuite/gas/hppa/reloc/blebug2.s      |  11 +-
 gas/testsuite/gas/hppa/reloc/blebug3.s      |  11 +-
 gas/testsuite/gas/hppa/reloc/exitbug.s      |  13 +--
 gas/testsuite/gas/hppa/reloc/fixupbug.s     |  12 +--
 gas/testsuite/gas/hppa/reloc/funcrelocbug.s |  19 +---
 gas/testsuite/gas/hppa/reloc/labelopbug.s   |  13 +--
 gas/testsuite/gas/hppa/reloc/longcall.s     |  14 +--
 gas/testsuite/gas/hppa/reloc/picreloc.s     |   8 +-
 gas/testsuite/gas/hppa/reloc/plabelbug.s    |  14 +--
 gas/testsuite/gas/hppa/reloc/r_no_reloc.s   |  16 +--
 gas/testsuite/gas/hppa/reloc/reduce.s       |  13 +--
 gas/testsuite/gas/hppa/reloc/reduce3.s      |  17 +--
 gas/testsuite/gas/hppa/reloc/reloc.exp      | 112 ++++++++++++--------
 gas/testsuite/gas/hppa/reloc/roundmode.s    |  10 +-
 gas/testsuite/gas/hppa/reloc/selectorbug.s  |  14 +--
 18 files changed, 99 insertions(+), 235 deletions(-)

diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 2b8f40b3444..772ed8fed07 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,11 @@
 Mon Aug 30 12:18:40 1999  Jeffrey A Law  (law@cygnus.com)
 
+	* gas/hppa/reloc/*.s: Use .code instead of .SPACE/.SUBSPA for
+	sectioning.
+	* gas/hppa/parse/parse.exp: Disable tests not appropriate for PA64.
+	Revamp address expressions slightly to handle an arbitrary sized
+	address.
+
 	* gas/hppa/parse/*.s: Use .code instead of .SPACE/.SUBSPA for
 	sectioning.
 	* gas/hppa/parse/parse.exp: Disable tests not appropriate for PA64.
diff --git a/gas/testsuite/gas/hppa/reloc/applybug.s b/gas/testsuite/gas/hppa/reloc/applybug.s
index f8ed6e8e20c..d4cb7ca51c7 100644
--- a/gas/testsuite/gas/hppa/reloc/applybug.s
+++ b/gas/testsuite/gas/hppa/reloc/applybug.s
@@ -1,22 +1,14 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$
+	.data
 
 	.align 4
 tab___2
 	.word L$0002
 	.word L$0003
 	.word L$0004
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT execute,CODE
@@ -64,16 +56,13 @@ L$0004
 	.PROCEND
 	.IMPORT __main,CODE
 	.IMPORT strcmp,CODE
-	.SPACE $TEXT$
-	.SUBSPA $LIT$
 
 	.align 4
 L$C0000
 	.STRING "xyxyz\x00"
 	.IMPORT abort,CODE
 	.IMPORT exit,CODE
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT main,CODE
@@ -122,8 +111,7 @@ L$0011
 	nop
 	.EXIT
 	.PROCEND
-	.SPACE $PRIVATE$
-	.SUBSPA $BSS$
+	.data
 
 optab	.comm 10
 buf	.comm 10
diff --git a/gas/testsuite/gas/hppa/reloc/blebug.s b/gas/testsuite/gas/hppa/reloc/blebug.s
index 09307747395..32bde7a7e11 100644
--- a/gas/testsuite/gas/hppa/reloc/blebug.s
+++ b/gas/testsuite/gas/hppa/reloc/blebug.s
@@ -1,13 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	.align 4
 	.IMPORT	$$dyncall,MILLICODE ; Code for dynamic function calls.
 
diff --git a/gas/testsuite/gas/hppa/reloc/blebug2.s b/gas/testsuite/gas/hppa/reloc/blebug2.s
index 9577b53cb84..47d44302a0d 100644
--- a/gas/testsuite/gas/hppa/reloc/blebug2.s
+++ b/gas/testsuite/gas/hppa/reloc/blebug2.s
@@ -1,13 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	.align 4
 
   	ldil	L%0xc0001004,%r1
diff --git a/gas/testsuite/gas/hppa/reloc/blebug3.s b/gas/testsuite/gas/hppa/reloc/blebug3.s
index 5ee9b3b80a8..3d581cef98b 100644
--- a/gas/testsuite/gas/hppa/reloc/blebug3.s
+++ b/gas/testsuite/gas/hppa/reloc/blebug3.s
@@ -1,13 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	.align 4
 	.import yabba,code
 
diff --git a/gas/testsuite/gas/hppa/reloc/exitbug.s b/gas/testsuite/gas/hppa/reloc/exitbug.s
index 8898e358da2..fc4f78a8d11 100644
--- a/gas/testsuite/gas/hppa/reloc/exitbug.s
+++ b/gas/testsuite/gas/hppa/reloc/exitbug.s
@@ -1,15 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-	.IMPORT $global$,DATA
-	.IMPORT $$dyncall,MILLICODE
-; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	.align 4
 	.EXPORT foo,CODE
 	.EXPORT foo,ENTRY,PRIV_LEV=3
diff --git a/gas/testsuite/gas/hppa/reloc/fixupbug.s b/gas/testsuite/gas/hppa/reloc/fixupbug.s
index 8a58d026d7c..d446e436ff4 100644
--- a/gas/testsuite/gas/hppa/reloc/fixupbug.s
+++ b/gas/testsuite/gas/hppa/reloc/fixupbug.s
@@ -1,14 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-	.SUBSPA $MILLICODE$,QUAD=0,ALIGN=8,ACCESS=44,SORT=8
-
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	b,n	$$foo
 	nop
 	nop
diff --git a/gas/testsuite/gas/hppa/reloc/funcrelocbug.s b/gas/testsuite/gas/hppa/reloc/funcrelocbug.s
index 46a43bc62b9..fcfe93b6871 100644
--- a/gas/testsuite/gas/hppa/reloc/funcrelocbug.s
+++ b/gas/testsuite/gas/hppa/reloc/funcrelocbug.s
@@ -1,15 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-	.IMPORT $global$,DATA
-	.IMPORT $$dyncall,MILLICODE
-; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	.align 4
 	.EXPORT g,CODE
 	.EXPORT g,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
@@ -72,8 +61,7 @@ L$0005
 	.EXIT
 	.PROCEND
 	.IMPORT abort,CODE
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$
+	.data
 
 	.align 4
 L$TRAMP0000
@@ -88,8 +76,7 @@ L$TRAMP0000
 	ldw	40(%r22),%r29
 	.word	0
 	.word	0
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT f,CODE
diff --git a/gas/testsuite/gas/hppa/reloc/labelopbug.s b/gas/testsuite/gas/hppa/reloc/labelopbug.s
index 3cdc421b221..7116b87d6d0 100644
--- a/gas/testsuite/gas/hppa/reloc/labelopbug.s
+++ b/gas/testsuite/gas/hppa/reloc/labelopbug.s
@@ -1,15 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-	.IMPORT $global$,DATA
-	.IMPORT $$dyncall,MILLICODE
-; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	.align 4
 s:
 	.PROC
diff --git a/gas/testsuite/gas/hppa/reloc/longcall.s b/gas/testsuite/gas/hppa/reloc/longcall.s
index fc3996f0bef..699138b88e0 100644
--- a/gas/testsuite/gas/hppa/reloc/longcall.s
+++ b/gas/testsuite/gas/hppa/reloc/longcall.s
@@ -1,16 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-	.IMPORT $global$,DATA
-	.IMPORT $$dyncall,MILLICODE
-; gcc_compiled.:
-	.IMPORT bar,CODE
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	.align 4
 	.EXPORT foo,CODE
 	.EXPORT foo,ENTRY,PRIV_LEV=3,RTNVAL=GR
diff --git a/gas/testsuite/gas/hppa/reloc/picreloc.s b/gas/testsuite/gas/hppa/reloc/picreloc.s
index 639a44c3abc..20f3abbfc66 100644
--- a/gas/testsuite/gas/hppa/reloc/picreloc.s
+++ b/gas/testsuite/gas/hppa/reloc/picreloc.s
@@ -1,13 +1,9 @@
 
-	.SPACE	$TEXT$,SORT=8
-	.SUBSPA	$CODE$,QUAD=0,ALIGN=4,ACCESS=0x2c,CODE_ONLY,SORT=24
-	.SPACE	$PRIVATE$,SORT=16
-	.SUBSPA	$DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
+	.data
 bogo
 	.ALIGN	8
 	.WORD  bogo+4	; = 0x4
 	.STRING	"\x00\x00\x00{\x00\x00\x01\xC8\x00\x00\x03\x15"
-	.SPACE	$PRIVATE$
-	.SUBSPA	$DATA$
+	.data
 	.EXPORT	bogo
 	.END
diff --git a/gas/testsuite/gas/hppa/reloc/plabelbug.s b/gas/testsuite/gas/hppa/reloc/plabelbug.s
index ee05b32e1f8..9f4a46538ef 100644
--- a/gas/testsuite/gas/hppa/reloc/plabelbug.s
+++ b/gas/testsuite/gas/hppa/reloc/plabelbug.s
@@ -1,26 +1,16 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
 	.IMPORT abort,CODE
 	.EXPORT f,DATA
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$
-
+	.data
 	.align 4
 f:
 	.word P%abort
 	.word P%abort
 	.IMPORT __main,CODE
 	.IMPORT printf,CODE
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
-
+	.code
 	.align 4
 LC$0000:
 	.STRING "frob\x0a\x00"
diff --git a/gas/testsuite/gas/hppa/reloc/r_no_reloc.s b/gas/testsuite/gas/hppa/reloc/r_no_reloc.s
index 026f2d08230..9e5debdad80 100644
--- a/gas/testsuite/gas/hppa/reloc/r_no_reloc.s
+++ b/gas/testsuite/gas/hppa/reloc/r_no_reloc.s
@@ -1,15 +1,7 @@
 	.COPYRIGHT "MetaWare Incorporated, 1992"
 	.VERSION	"hc2.6a -O1 t3.c\n"
 
-	.SPACE	$PRIVATE$,SORT=16
-	.SUBSPA	$BSS$,QUAD=1,ALIGN=8,ACCESS=0x1F,SORT=80,ZERO
-	.SUBSPA	$DATA$,QUAD=1,ALIGN=8,ACCESS=0x1F,SORT=16
-
-	.SPACE	$TEXT$,SORT=8
-	.SUBSPA	$CODE$,QUAD=0,ALIGN=4,ACCESS=44,CODE_ONLY,SORT=24
-
-	.SPACE	$PRIVATE$
-	.SUBSPA	$DATA$
+	.data
 	.ALIGN	8
 $L00DATA
 	.ALIGN	8
@@ -19,8 +11,7 @@ s
 	.BLOCKZ	786425
 	.BLOCKZ	7
 
-	.SPACE	$TEXT$
-	.SUBSPA	$CODE$
+	.code
 L$001.3
 g	.PROC
 	.CALLINFO FRAME=0,NO_CALLS
@@ -32,8 +23,7 @@ g	.PROC
 	.PROCEND
 
 
-	.SPACE	$PRIVATE$
-	.SUBSPA	$DATA$
+	.data
 	.ALIGN	4
 	.EXPORT	l
 l
diff --git a/gas/testsuite/gas/hppa/reloc/reduce.s b/gas/testsuite/gas/hppa/reloc/reduce.s
index 737752f2112..ad226f8b76a 100644
--- a/gas/testsuite/gas/hppa/reloc/reduce.s
+++ b/gas/testsuite/gas/hppa/reloc/reduce.s
@@ -1,15 +1,8 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
 	.IMPORT $global$,DATA
 	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
 
+	.code
 	.align 4
 	.PARAM foo,RTNVAL=GR
 foo:
@@ -19,14 +12,10 @@ foo:
 	bv,n %r0(%r2)
 	.EXIT
 	.PROCEND
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
 
 	.align 4
 LC$0000:
 	.word P%foo
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
 
 	.align 4
 	.EXPORT bar,CODE
diff --git a/gas/testsuite/gas/hppa/reloc/reduce3.s b/gas/testsuite/gas/hppa/reloc/reduce3.s
index 9671e784c3e..666a79614f7 100644
--- a/gas/testsuite/gas/hppa/reloc/reduce3.s
+++ b/gas/testsuite/gas/hppa/reloc/reduce3.s
@@ -1,16 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-	.IMPORT $global$,DATA
-	.IMPORT $$dyncall,MILLICODE
-; gcc_compiled.:
-	.EXPORT blah,DATA
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$
-
+	.data
 	.align 8
 blah
 	; .double 0e+00
@@ -26,8 +14,7 @@ foo
 	.align 4
 yabba
 	.word 1
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.EXPORT bar,CODE
diff --git a/gas/testsuite/gas/hppa/reloc/reloc.exp b/gas/testsuite/gas/hppa/reloc/reloc.exp
index ccb236cba71..aa81bdd99ea 100644
--- a/gas/testsuite/gas/hppa/reloc/reloc.exp
+++ b/gas/testsuite/gas/hppa/reloc/reloc.exp
@@ -32,7 +32,7 @@ proc do_ble_relocation_test {} {
 	    # a PC-relative relocation for a BLE instruction.
 	    while 1 {
 		expect {
-		    -re "^00000004\[^\n\]*ABS_CALL\[^\n\]*\n"	{ set x 1 }
+		    -re "^0+4\[^\n\]*ABS_CALL\[^\n\]*\n"	{ set x 1 }
 		    -re "\[^\n\]*\n"				{ }
 		    timeout			{ perror "timeout\n"; break }
 		    eof				{ break }
@@ -43,8 +43,8 @@ proc do_ble_relocation_test {} {
 	    # a PC-relative relocation for a BLE instruction.
 	    while 1 {
 		expect {
-		    -re "^00000000\[^\n\]*DIR21L\[^\n\]*\n"	{ set x 1 }
-		    -re "^00000004\[^\n\]*DIR17R\[^\n\]*\n"	{ set x 1 }
+		    -re "^0+\[^\n\]*DIR21L\[^\n\]*\n"	{ set x 1 }
+		    -re "^0+4\[^\n\]*DIR17R\[^\n\]*\n"	{ set x 1 }
 		    -re "\[^\n\]*\n"				{ }
 		    timeout			{ perror "timeout\n"; break }
 		    eof				{ break }
@@ -65,6 +65,10 @@ proc do_relocation_reduction_tests {} {
     set testname "reduce.s: Test relocation reductions (part 2)"
     set x 0
 
+    if [istarget hppa*w-*-*] then {
+      return;
+    }
+
     if [gas_test_old "reduce.s" "" "Relocation reductions (part1)"] then {
 	objdump_start_no_subdir "a.out" "-r"
 
@@ -73,9 +77,9 @@ proc do_relocation_reduction_tests {} {
 	# Doing so makes generating parameter relocation stubs impossible.
 	while 1 {
 	    expect {
-		-re "^00000004\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
+		-re "^0+4\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
 		    { set x [expr $x+1] }
-		-re "^00000014\[^\n\]*PCREL\[^\n\]*foo\[^\n\]*\n"
+		-re "^0+14\[^\n\]*PCREL\[^\n\]*foo\[^\n\]*\n"
 		    { set x [expr $x+1] }
 		-re "\[^\n\]*\n"		{ }
 		timeout				{ perror "timeout\n"; break }
@@ -94,20 +98,20 @@ proc do_relocation_reduction_tests {} {
     set testname "reduce2.s: More relocation reduction tests (part 2)"
     set x 0
 
-    if [gas_test_old "reduce2.s" "" "More relocatoin  reductions (part1)"] then {
+    if [gas_test_old "reduce2.s" "" "More relocation  reductions (part1)"] then {
 	objdump_start_no_subdir "a.out" "-r"
 
 	# Check to make sure DLT relative relocs are not reduced to sym+addend
 	# Doing so doesn't work as one might expect
 	while 1 {
 	    expect {
-		-re "^00000004\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
+		-re "^0+4\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
 		    { set x [expr $x+1] }
-		-re "^0000001c\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
+		-re "^0+1c\[^\n\]*DLT\[^\n\]*L.C0000\[^\n\]*\n"
 		    { set x [expr $x+1] }
-		-re "^00000030\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
+		-re "^0+30\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
 		    { set x [expr $x+1] }
-		-re "^00000048\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
+		-re "^0+48\[^\n\]*DLT\[^\n\]*L.C0001\[^\n\]*\n"
 		    { set x [expr $x+1] }
 		-re "\[^\n\]*\n"		{ }
 		timeout				{ perror "timeout\n"; break }
@@ -134,13 +138,13 @@ proc do_relocation_reduction_tests {} {
 	# Doing so makes generating parameter relocation stubs impossible.
 	while 1 {
 	    expect {
-		-re "^0000000c\[^\n\]*yabba\[^\n\+\]*\n"
+		-re "^0+c\[^\n\]*yabba\[^\n\+\]*\n"
 		    { set x [expr $x+1] }
-		-re "^0000000c\[^\n\]*yabba\+\[^\n\]*\n"
+		-re "^0+c\[^\n\]*yabba\+\[^\n\]*\n"
 		    { set x 0; break }
-		-re "^00000010\[^\n\]*yabba\[^\n\+\]*\n"
+		-re "^0+10\[^\n\]*yabba\[^\n\+\]*\n"
 		    { set x [expr $x+1] }
-		-re "^00000010\[^\n\]*yabba\+\[^\n\]*\n"
+		-re "^0+10\[^\n\]*yabba\+\[^\n\]*\n"
 		    { set x 0; break }
 		-re "\[^\n\]*\n"		{ }
 		timeout				{ perror "timeout\n"; break }
@@ -215,9 +219,9 @@ proc do_plabel_relocation_test {} {
 	# Check that we make PLABEL relocation entries when they're needed.
 	while 1 {
 	    expect {
-		-re "^00000000\[^\n\]*PLABEL\[^\n\]*\n"
+		-re "^0+\[^\n\]*PLABEL\[^\n\]*\n"
 		    { set x [expr $x+1] }
-		-re "^00000004\[^\n\]*PLABEL\[^\n\]*\n"
+		-re "^0+4\[^\n\]*PLABEL\[^\n\]*\n"
 		    { set x [expr $x+1] }
 		-re "\[^\n\]*\n"			{ }
 		timeout				{ perror "timeout\n"; break }
@@ -238,6 +242,10 @@ proc do_selector_scope_test {} {
     set testname "selectorbug.s: Test scope of field selector" 
     set x 0
 
+    if [istarget hppa*w-*-*] then {
+      return;
+    }
+
     if [gas_test_old "selectorbug.s" "" "Test scope of field selector (part 1)"] {
 	objdump_start_no_subdir "a.out" "-r"
 
@@ -247,9 +255,9 @@ proc do_selector_scope_test {} {
         if [istarget hppa*-*-*elf*] then {
 	    while 1 {
 		expect {
-	            -re "^00000014\[^\n\]*DIR32\[^\n\]*\n"
+	            -re "^0+14\[^\n\]*DIR32\[^\n\]*\n"
 			{ set x 1 }
-		    -re "^00000014\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
+		    -re "^0+14\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
 			{ set x 0 }
 	            -re "\[^\n\]*\n"		{ }
 	            timeout			{ perror "timeout\n"; break }
@@ -259,9 +267,9 @@ proc do_selector_scope_test {} {
 	} else {
 	    while 1 {
 		expect {
-	            -re "^00000014\[^\n\]*DATA_ONE\[^\n\]*\n"
+	            -re "^0+14\[^\n\]*DATA_ONE\[^\n\]*\n"
 			{ set x 1 }
-		    -re "^00000014\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
+		    -re "^0+14\[^\n\]*PLABEL\[^\n\]*foo\[^\n\]*\n"
 			{ set x 0 }
 	            -re "\[^\n\]*\n"		{ }
 	            timeout			{ perror "timeout\n"; break }
@@ -290,9 +298,9 @@ proc do_local_label_as_operand_test {} {
 	# to a non-branching instruction correctly.
 	while 1 {
 	    expect {
-	        -re "^0000002c\[^\n\]*0x00000024\[^\n\]*\n" 
+	        -re "^0+2c\[^\n\]*0x0+24\[^\n\]*\n" 
 		    { set x [expr $x+1] }
-	        -re "^00000030\[^\n\]*0x00000024\[^\n\]*\n" 
+	        -re "^0+30\[^\n\]*0x0+24\[^\n\]*\n" 
 		    { set x [expr $x+1] }
 	        -re "\[^\n\]*\n"		{ }
 	        timeout				{ perror "timeout\n"; break }
@@ -327,7 +335,7 @@ proc do_exit_relocation_test {} {
 	# Note that a match here is really a FAILURE!
 	while 1 {
 	    expect {
-	        -re "^00000000\[^\n\]*R_EXIT\[^\n\]*\n" 
+	        -re "^0+\[^\n\]*R_EXIT\[^\n\]*\n" 
 		    { set x [expr $x+1] }
 	        -re "\[^\n\]*\n"		{ }
 	        timeout				{ perror "timeout\n"; break }
@@ -348,6 +356,10 @@ proc do_cross_space_fixup_test_1 {} {
     set testname "fixupbug.s: Test cross space jump/call fixup bug (part 2)"
     set x 0
 
+    if [istarget hppa*w-*-*] then {
+      return;
+    }
+
     # ELF (osf) doesn't really handle extra sections too well...
     if [istarget hppa*-*-*elf*] then {
 	return;
@@ -360,7 +372,7 @@ proc do_cross_space_fixup_test_1 {} {
 	# branch/call
 	while 1 {
 	    expect {
-	        -re "^00000000\[^\n\]*PCREL_CALL\[^\n\]*\n" 
+	        -re "^0+\[^\n\]*PCREL_CALL\[^\n\]*\n" 
 		    { set x [expr $x+1] }
 	        -re "\[^\n\]*\n"		{ }
 	        timeout				{ perror "timeout\n"; break }
@@ -381,6 +393,10 @@ proc do_cross_space_fixup_test_2 {} {
     set testname "fixupbug.s: Test cross space jump/call fixup bug (part 3)"
     set x 0
 
+    if [istarget hppa*w-*-*] then {
+      return;
+    }
+
     # ELF (osf) doesn't really handle extra sections too well...
     if [istarget hppa*-*-*elf*] then {
 	return;
@@ -415,24 +431,24 @@ proc do_round_mode_test {} {
 	# Make sure GAS generated correct relocations to switch rounding modes.
 	# Also make sure (for SOM) that redundant rounding mode relocations
 	# were eliminated.
-	if [istarget hppa*-*-*elf*] then {
+	if { [istarget hppa*-*-*elf*] || [istarget hppa*w-*-*] } then {
 	    while 1 {
 		expect {
-	            -re "^00000000\[^\n\]*DIR21L\[^\n\]*\n"
+	            -re "^0+\[^\n\]*DIR21L\[^\n\]*\n"
 			{ set x [expr $x+1] }
-	            -re "^00000004\[^\n\]*DIR14R\[^\n\]*\n" 
+	            -re "^0+4\[^\n\]*DIR14R\[^\n\]*\n" 
 			{ set x [expr $x+1] }
-	            -re "^00000008\[^\n\]*DIR21L\[^\n\]*\n"
+	            -re "^0+8\[^\n\]*DIR21L\[^\n\]*\n"
 			{ set x [expr $x+1] }
-	            -re "^0000000c\[^\n\]*DIR14R\[^\n\]*\n" 
+	            -re "^0+c\[^\n\]*DIR14R\[^\n\]*\n" 
 			{ set x [expr $x+1] }
-	            -re "^00000010\[^\n\]*DIR21L\[^\n\]*\n"
+	            -re "^0+10\[^\n\]*DIR21L\[^\n\]*\n"
 			{ set x [expr $x+1] }
-	            -re "^00000014\[^\n\]*DIR14R\[^\n\]*\n" 
+	            -re "^0+14\[^\n\]*DIR14R\[^\n\]*\n" 
 			{ set x [expr $x+1] }
-	            -re "^00000018\[^\n\]*DIR21L\[^\n\]*\n"
+	            -re "^0+18\[^\n\]*DIR21L\[^\n\]*\n"
 			{ set x [expr $x+1] }
-	            -re "^0000001c\[^\n\]*DIR14R\[^\n\]*\n" 
+	            -re "^0+1c\[^\n\]*DIR14R\[^\n\]*\n" 
 			{ set x [expr $x+1] }
 	            -re "\[^\n\]*\n"		{ }
 	        timeout				{ perror "timeout\n"; break }
@@ -442,19 +458,19 @@ proc do_round_mode_test {} {
 	} else {
 	    while 1 {
 		expect {
-	            -re "^00000000\[^\n\]*R_R_MODE\[^\n\]*\n"
+	            -re "^0+\[^\n\]*R_R_MODE\[^\n\]*\n"
 			{ set x [expr $x+1] }
-	            -re "^00000004\[^\n\]*R_R_MODE\[^\n\]*\n" 
+	            -re "^0+4\[^\n\]*R_R_MODE\[^\n\]*\n" 
 			{ fail $testname }
-	            -re "^00000008\[^\n\]*R_N_MODE\[^\n\]*\n"
+	            -re "^0+8\[^\n\]*R_N_MODE\[^\n\]*\n"
 			{ set x [expr $x+1] }
-	            -re "^0000000c\[^\n\]*R_N_MODE\[^\n\]*\n" 
+	            -re "^0+c\[^\n\]*R_N_MODE\[^\n\]*\n" 
 			{ fail $testname }
-	            -re "^00000010\[^\n\]*R_R_MODE\[^\n\]*\n"
+	            -re "^0+10\[^\n\]*R_R_MODE\[^\n\]*\n"
 			{ set x [expr $x+1] }
-	            -re "^00000014\[^\n\]*R_R_MODE\[^\n\]*\n" 
+	            -re "^0+14\[^\n\]*R_R_MODE\[^\n\]*\n" 
 			{ fail $testname }
-	            -re "^0000001c\[^\n\]*R_R_MODE\[^\n\]*\n" 
+	            -re "^0+1c\[^\n\]*R_R_MODE\[^\n\]*\n" 
 			{ fail $testname }
 	            -re "\[^\n\]*\n"		{ }
 	        timeout				{ perror "timeout\n"; break }
@@ -468,7 +484,7 @@ proc do_round_mode_test {} {
 	objdump_finish
 
 	# Did we find what we were looking for?  If not, flunk it.
-	if [istarget hppa*-*-*elf*] then {
+	if {[istarget hppa*-*-*elf*] || [istarget hppa*w-*-*] } then {
 	    if [expr $x==8] then { pass $testname } else { fail $testname }
 	} else {
 	    if [expr $x==3] then { pass $testname } else { fail $testname }
@@ -487,9 +503,9 @@ proc do_function_reloc_bug {} {
 	# branch/call
 	while 1 {
 	    expect {
-	        -re "^000000cc\[^\n\]*f2___4\[^\n+\]*\n" 
+	        -re "^0+cc\[^\n\]*f2___4\[^\n+\]*\n" 
 		    { set x [expr $x+1] }
-	        -re "^000000d0\[^\n\]*f2___4\[^\n+\]*\n"  
+	        -re "^0+d0\[^\n\]*f2___4\[^\n+\]*\n"  
 		    { set x [expr $x+1] }
 	        -re "\[^\n\]*\n"		{ }
 	        timeout				{ perror "timeout\n"; break }
@@ -511,9 +527,9 @@ proc do_function_reloc_bug {} {
 	# Make sure we didn't put anything in the instruction itself!
 	while 1 {
 	    expect {
-	        -re "^000000cc\[^\n\]*ldil 0,r20\[^\n\]*\n" 
+	        -re "^0+cc\[^\n\]*ldil 0,r20\[^\n\]*\n" 
 		    { set x [expr $x+1] }
-	        -re "^000000d0\[^\n\]*ldo 0\[\(\]+r20\[\)\]+,r19\[^\n\]*\n" 
+	        -re "^0+d0\[^\n\]*ldo 0\[\(\]+r20\[\)\]+,r19\[^\n\]*\n" 
 		    { set x [expr $x+1] }
 	        -re "\[^\n\]*\n"		{ }
 	        timeout				{ perror "timeout\n"; break }
@@ -541,7 +557,7 @@ proc do_r_no_reloc {} {
 	# Make sure GAS generated a correct relocation for the reference.
 	while 1 {
 	    expect {
-	        -re "^000c0004\[^\n\]*PLABEL\[^\n]*g\[^\n\]*\n" 
+	        -re "^0+c0004\[^\n\]*PLABEL\[^\n]*g\[^\n\]*\n" 
 		    { set x [expr $x+1] }
 	        -re "\[^\n\]*\n"		{ }
 	        timeout				{ perror "timeout\n"; break }
@@ -563,6 +579,10 @@ proc do_pic_relocation_test {} {
     set testname "picreloc.s: Test for proper PIC relocation (part 2)"
     set x 0
 
+    if [istarget hppa*w-*-*] then {
+      return;
+    }
+
     # ELF (osf) doesn't really handle extra sections too well...
     if [istarget hppa*-*-*elf*] then {
 	return;
diff --git a/gas/testsuite/gas/hppa/reloc/roundmode.s b/gas/testsuite/gas/hppa/reloc/roundmode.s
index 5a87e638bca..6b65373504d 100644
--- a/gas/testsuite/gas/hppa/reloc/roundmode.s
+++ b/gas/testsuite/gas/hppa/reloc/roundmode.s
@@ -1,12 +1,4 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
+	.code
 
 	.align 4
 	.IMPORT foo,data
diff --git a/gas/testsuite/gas/hppa/reloc/selectorbug.s b/gas/testsuite/gas/hppa/reloc/selectorbug.s
index 6925d383f51..4962780fbd3 100644
--- a/gas/testsuite/gas/hppa/reloc/selectorbug.s
+++ b/gas/testsuite/gas/hppa/reloc/selectorbug.s
@@ -1,21 +1,11 @@
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
-	.SPACE $TEXT$
-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
-	.IMPORT $global$,DATA
-	.IMPORT $$dyncall,MILLICODE
 ; gcc_compiled.:
 	.EXPORT intVec_error_handler,DATA
-	.SPACE $PRIVATE$
-	.SUBSPA $DATA$
+	.data
 
 intVec_error_handler:
 	.word P%default_intVec_error_handler__FPCc
-	.SPACE $TEXT$
-	.SUBSPA $CODE$
 
+	.code
 	.align 4
 	.EXPORT foo,CODE
 	.EXPORT foo,ENTRY,PRIV_LEV=3