powerpc-aix5.2 tests

Alan Modra amodra@gmail.com
Wed Jul 8 07:44:13 GMT 2020


git commit bbd0c8e20472 broke many of these tests, and there have been
other changes that caused failures too.

	* testsuite/lib/ld-lib.exp (ar_simple_create): Pass options before
	ar command.
	* testsuite/ld-powerpc/aix52.exp: Run for rs6000-aix5.2.  Update
	match files.
	* testsuite/ld-powerpc/aix-abs-branch-1.dd: Update.
	* testsuite/ld-powerpc/aix-core-sec-1.hd: Update.
	* testsuite/ld-powerpc/aix-gc-1-32.dd: Update.
	* testsuite/ld-powerpc/aix-gc-1-64.dd: Update.
	* testsuite/ld-powerpc/aix-glink-1-32.dd: Update.
	* testsuite/ld-powerpc/aix-glink-1-64.dd: Update.
	* testsuite/ld-powerpc/aix-glink-2-32.dd: Update.
	* testsuite/ld-powerpc/aix-glink-2-64.dd: Update.
	* testsuite/ld-powerpc/aix-no-dup-syms-1-rel.rd: Update.
	* testsuite/ld-powerpc/aix-ref-1-32.od: Update.
	* testsuite/ld-powerpc/aix-ref-1-64.od: Update.
	* testsuite/ld-powerpc/aix-toc-1-32.dd: Update.
	* testsuite/ld-powerpc/aix-toc-1-64.dd: Update.
	* testsuite/ld-powerpc/aix-weak-3-32.dd: Update.
	* testsuite/ld-powerpc/aix-weak-3-64.dd: Update.
	* testsuite/ld-powerpc/aix-abs-branch-1.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-abs-branch-1-32.nd,
	* testsuite/ld-powerpc/aix-abs-branch-1-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-abs-reloc-1.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-abs-reloc-1-32.nd,
	* testsuite/ld-powerpc/aix-abs-reloc-1-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-abs-reloc-1.od: Delete, replace with..
	* testsuite/ld-powerpc/aix-abs-reloc-1-32.od,
	* testsuite/ld-powerpc/aix-abs-reloc-1-64.od: ..these new files.
	* testsuite/ld-powerpc/aix-export-1-all.dd: Delete, replace with..
	* testsuite/ld-powerpc/aix-export-1-all-32.dd,
	* testsuite/ld-powerpc/aix-export-1-all-64.dd: ..these new files.
	* testsuite/ld-powerpc/aix-export-1-full.dd: Delete, replace with..
	* testsuite/ld-powerpc/aix-export-1-full-32.dd,
	* testsuite/ld-powerpc/aix-export-1-full-64.dd: ..these new files.
	* testsuite/ld-powerpc/aix-export-2.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-export-2-32.nd,
	* testsuite/ld-powerpc/aix-export-2-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-gc-1.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-gc-1-32.nd,
	* testsuite/ld-powerpc/aix-gc-1-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-glink-3.dd: Delete, replace with..
	* testsuite/ld-powerpc/aix-glink-3-32.dd,
	* testsuite/ld-powerpc/aix-glink-3-64.dd: ..these new files.
	* testsuite/ld-powerpc/aix-lineno-1a.dd: Delete, replace with..
	* testsuite/ld-powerpc/aix-lineno-1a-32.dd,
	* testsuite/ld-powerpc/aix-lineno-1a-64.dd: ..these new files.
	* testsuite/ld-powerpc/aix-lineno-1a.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-lineno-1a-32.nd,
	* testsuite/ld-powerpc/aix-lineno-1a-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-lineno-1b.dd: Delete, replace with..
	* testsuite/ld-powerpc/aix-lineno-1b-32.dd,
	* testsuite/ld-powerpc/aix-lineno-1b-64.dd: ..these new files.
	* testsuite/ld-powerpc/aix-lineno-1b.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-lineno-1b-32.nd,
	* testsuite/ld-powerpc/aix-lineno-1b-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso.dnd: Delete, replace with..
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.dnd,
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.dnd: ..these new files.
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso.drd: Delete, replace with..
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.drd,
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.drd: ..these new files.
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.nd,
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso.rd: Delete, replace with..
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.rd,
	* testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.rd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-1-dso.dnd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-1-dso-32.dnd,
	* testsuite/ld-powerpc/aix-weak-1-dso-64.dnd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-1-dso.hd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-1-dso-32.hd,
	* testsuite/ld-powerpc/aix-weak-1-dso-64.hd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-1-dso.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-1-dso-32.nd,
	* testsuite/ld-powerpc/aix-weak-1-dso-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-1-gcdso.dnd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-1-gcdso-32.dnd,
	* testsuite/ld-powerpc/aix-weak-1-gcdso-64.dnd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-1-gcdso.hd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-1-gcdso-32.hd,
	* testsuite/ld-powerpc/aix-weak-1-gcdso-64.hd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-1-gcdso.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-1-gcdso-32.nd,
	* testsuite/ld-powerpc/aix-weak-1-gcdso-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-2a.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-2a-32.nd,
	* testsuite/ld-powerpc/aix-weak-2a-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-2b.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-2b-32.nd,
	* testsuite/ld-powerpc/aix-weak-2b-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-2c.nd: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-2c-32.nd,
	* testsuite/ld-powerpc/aix-weak-2c-64.nd: ..these new files.
	* testsuite/ld-powerpc/aix-weak-2c.od: Delete, replace with..
	* testsuite/ld-powerpc/aix-weak-2c-32.od,
	* testsuite/ld-powerpc/aix-weak-2c-64.od: ..these new files.

diff --git a/ld/testsuite/ld-powerpc/aix-abs-branch-1-32.nd b/ld/testsuite/ld-powerpc/aix-abs-branch-1-32.nd
new file mode 100644
index 0000000000..d51e67550d
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-abs-branch-1-32.nd
@@ -0,0 +1,3 @@
+01450000 C bar
+10000100 t foo
+10000100 T foo
diff --git a/ld/testsuite/ld-powerpc/aix-abs-branch-1-64.nd b/ld/testsuite/ld-powerpc/aix-abs-branch-1-64.nd
new file mode 100644
index 0000000000..ce8aa09e11
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-abs-branch-1-64.nd
@@ -0,0 +1,3 @@
+0*01450000 C bar
+0*100001c0 t foo
+0*100001c0 T foo
diff --git a/ld/testsuite/ld-powerpc/aix-abs-branch-1.dd b/ld/testsuite/ld-powerpc/aix-abs-branch-1.dd
index 6bfd13680f..6e85af89d9 100644
--- a/ld/testsuite/ld-powerpc/aix-abs-branch-1.dd
+++ b/ld/testsuite/ld-powerpc/aix-abs-branch-1.dd
@@ -4,11 +4,12 @@
 
 Disassembly of section \.text:
 
-0*10000000 <foo>:
- *10000000:.*	bla * 144d000 <.*>
- *10000004:.*	l(wz|) * r1,80\(r1\)
- *10000008:.*	bla * 1451000 <.*>
- *1000000c:.*	(oril * r0,r0,0|nop)
- *10000010:.*	bla * 1452800 <.*>
- *10000014:.*	(oril * r0,r0,0|nop)
- *10000018:.*	bla * 1450000 <.*>
+.*<foo>:
+.*	bla * 144d000 <.*>
+.*	l(wz|) * r1,80\(r1\)
+.*	bla * 1451000 <.*>
+.*	(oril * r0,r0,0|nop)
+.*	bla * 1452800 <.*>
+.*	(oril * r0,r0,0|nop)
+.*	bla * 1450000 <.*>
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-abs-branch-1.nd b/ld/testsuite/ld-powerpc/aix-abs-branch-1.nd
deleted file mode 100644
index 6c5022a44b..0000000000
--- a/ld/testsuite/ld-powerpc/aix-abs-branch-1.nd
+++ /dev/null
@@ -1,3 +0,0 @@
-0*01450000 C bar
-0*10000000 t foo
-0*10000000 T foo
diff --git a/ld/testsuite/ld-powerpc/aix-abs-reloc-1-32.nd b/ld/testsuite/ld-powerpc/aix-abs-reloc-1-32.nd
new file mode 100644
index 0000000000..eae1fbf79f
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-abs-reloc-1-32.nd
@@ -0,0 +1,3 @@
+deadbeef C bar
+20000100 d foo
+20000100 D foo
diff --git a/ld/testsuite/ld-powerpc/aix-abs-reloc-1.od b/ld/testsuite/ld-powerpc/aix-abs-reloc-1-32.od
similarity index 76%
rename from ld/testsuite/ld-powerpc/aix-abs-reloc-1.od
rename to ld/testsuite/ld-powerpc/aix-abs-reloc-1-32.od
index db65b4b132..8e8de2c0db 100644
--- a/ld/testsuite/ld-powerpc/aix-abs-reloc-1.od
+++ b/ld/testsuite/ld-powerpc/aix-abs-reloc-1-32.od
@@ -4,4 +4,4 @@
 DYNAMIC RELOCATION RECORDS \(none\)
 
 Contents of section \.data:
- 10000000 deadbeef .*
+ 20000100 deadbeef .*
diff --git a/ld/testsuite/ld-powerpc/aix-abs-reloc-1-64.nd b/ld/testsuite/ld-powerpc/aix-abs-reloc-1-64.nd
new file mode 100644
index 0000000000..719e7e955e
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-abs-reloc-1-64.nd
@@ -0,0 +1,3 @@
+0*deadbeef C bar
+0*200001c0 d foo
+0*200001c0 D foo
diff --git a/ld/testsuite/ld-powerpc/aix-abs-reloc-1-64.od b/ld/testsuite/ld-powerpc/aix-abs-reloc-1-64.od
new file mode 100644
index 0000000000..d0902b4c78
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-abs-reloc-1-64.od
@@ -0,0 +1,7 @@
+
+.*
+
+DYNAMIC RELOCATION RECORDS \(none\)
+
+Contents of section \.data:
+ 200001c0 deadbeef .*
diff --git a/ld/testsuite/ld-powerpc/aix-abs-reloc-1.nd b/ld/testsuite/ld-powerpc/aix-abs-reloc-1.nd
deleted file mode 100644
index 003c796458..0000000000
--- a/ld/testsuite/ld-powerpc/aix-abs-reloc-1.nd
+++ /dev/null
@@ -1,3 +0,0 @@
-0*deadbeef C bar
-0*10000000 d foo
-0*10000000 D foo
diff --git a/ld/testsuite/ld-powerpc/aix-core-sec-1.hd b/ld/testsuite/ld-powerpc/aix-core-sec-1.hd
index 8d81e50aa1..bdccc9327c 100644
--- a/ld/testsuite/ld-powerpc/aix-core-sec-1.hd
+++ b/ld/testsuite/ld-powerpc/aix-core-sec-1.hd
@@ -1,7 +1,7 @@
 #...
 Sections:
 .*
- * 0 * \.text * 0+8 .*
+ * 0 * \.text * 0+20 .*
  * CONTENTS, ALLOC, LOAD, CODE
  * 1 * \.data * 0+0 .*
  * ALLOC, LOAD, DATA
diff --git a/ld/testsuite/ld-powerpc/aix-export-1-all-32.dd b/ld/testsuite/ld-powerpc/aix-export-1-all-32.dd
new file mode 100644
index 0000000000..fcb48a9ae6
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-export-1-all-32.dd
@@ -0,0 +1,10 @@
+
+.*
+
+Disassembly of section \.data:
+
+20000100 <main1>:
+20000100:	20 00 01 04 .*
+
+20000104 <lib1>:
+20000104:	11 11 00 01 .*
diff --git a/ld/testsuite/ld-powerpc/aix-export-1-all-64.dd b/ld/testsuite/ld-powerpc/aix-export-1-all-64.dd
new file mode 100644
index 0000000000..be01853ed4
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-export-1-all-64.dd
@@ -0,0 +1,10 @@
+
+.*
+
+Disassembly of section \.data:
+
+0*200001c0 <main1>:
+ *200001c0:	20 00 01 c4 .*
+
+0*200001c4 <lib1>:
+ *200001c4:	11 11 00 01 .*
diff --git a/ld/testsuite/ld-powerpc/aix-export-1-all.dd b/ld/testsuite/ld-powerpc/aix-export-1-all.dd
deleted file mode 100644
index 90eec95e97..0000000000
--- a/ld/testsuite/ld-powerpc/aix-export-1-all.dd
+++ /dev/null
@@ -1,11 +0,0 @@
-
-.*
-
-
-Disassembly of section \.data:
-
-0*10000000 <main1>:
- *10000000:	10 00 00 04 	.*
-
-0*10000004 <lib1>:
- *10000004:	11 11 00 01 	.*
diff --git a/ld/testsuite/ld-powerpc/aix-export-1-full-32.dd b/ld/testsuite/ld-powerpc/aix-export-1-full-32.dd
new file mode 100644
index 0000000000..bf40da2982
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-export-1-full-32.dd
@@ -0,0 +1,20 @@
+
+.*
+
+Disassembly of section .data:
+
+20000100 <main1>:
+20000100:	20 00 01 08 .*
+
+20000104 <_main2>:
+20000104:	20 00 01 0c .*
+
+20000108 <lib1>:
+20000108:	11 11 00 01 .*
+
+2000010c <_lib2>:
+2000010c:	11 11 00 02 .*
+
+20000110 <lib3>:
+20000110:	11 11 00 03 .*
+20000114:	00 00 00 00 .*
diff --git a/ld/testsuite/ld-powerpc/aix-export-1-full-64.dd b/ld/testsuite/ld-powerpc/aix-export-1-full-64.dd
new file mode 100644
index 0000000000..d15810098c
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-export-1-full-64.dd
@@ -0,0 +1,20 @@
+
+.*
+
+Disassembly of section .data:
+
+0*200001c0 <main1>:
+ *200001c0:	20 00 01 c8 .*
+
+0*200001c4 <_main2>:
+ *200001c4:	20 00 01 cc .*
+
+0*200001c8 <lib1>:
+ *200001c8:	11 11 00 01 .*
+
+0*200001cc <_lib2>:
+ *200001cc:	11 11 00 02 .*
+
+0*200001d0 <lib3>:
+ *200001d0:	11 11 00 03 .*
+ *200001d4:	00 00 00 00 .*
diff --git a/ld/testsuite/ld-powerpc/aix-export-1-full.dd b/ld/testsuite/ld-powerpc/aix-export-1-full.dd
deleted file mode 100644
index d300fa2a86..0000000000
--- a/ld/testsuite/ld-powerpc/aix-export-1-full.dd
+++ /dev/null
@@ -1,21 +0,0 @@
-
-.*
-
-
-Disassembly of section .data:
-
-0*10000000 <main1>:
- *10000000:	10 00 00 08 	.*
-
-0*10000004 <_main2>:
- *10000004:	10 00 00 0c 	.*
-
-0*10000008 <lib1>:
- *10000008:	11 11 00 01 	.*
-
-0*1000000c <_lib2>:
- *1000000c:	11 11 00 02 	.*
-
-0*10000010 <lib3>:
- *10000010:	11 11 00 03 	.*
- *10000014:	00 00 00 00 	.*
diff --git a/ld/testsuite/ld-powerpc/aix-export-2-32.nd b/ld/testsuite/ld-powerpc/aix-export-2-32.nd
new file mode 100644
index 0000000000..1ebf820ad0
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-export-2-32.nd
@@ -0,0 +1 @@
+20000100 B x
diff --git a/ld/testsuite/ld-powerpc/aix-export-2-64.nd b/ld/testsuite/ld-powerpc/aix-export-2-64.nd
new file mode 100644
index 0000000000..3474171d9d
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-export-2-64.nd
@@ -0,0 +1 @@
+0*200001c0 B x
diff --git a/ld/testsuite/ld-powerpc/aix-export-2.nd b/ld/testsuite/ld-powerpc/aix-export-2.nd
deleted file mode 100644
index 6f97433167..0000000000
--- a/ld/testsuite/ld-powerpc/aix-export-2.nd
+++ /dev/null
@@ -1 +0,0 @@
-0*10000000 B x
diff --git a/ld/testsuite/ld-powerpc/aix-gc-1-32.dd b/ld/testsuite/ld-powerpc/aix-gc-1-32.dd
index 324b298749..0f6518cc1c 100644
--- a/ld/testsuite/ld-powerpc/aix-gc-1-32.dd
+++ b/ld/testsuite/ld-powerpc/aix-gc-1-32.dd
@@ -4,64 +4,65 @@
 
 Disassembly of section \.text:
 
-10000000 <\.init_function>:
-10000000:	80 22 00 00 	l       r1,0\(r2\)
+10000100 <\.init_function>:
+10000100:	80 22 00 00 	l       r1,0\(r2\)
 
-10000004 <\.fini_function>:
-10000004:	80 22 00 04 	l       r1,4\(r2\)
+10000104 <\.fini_function>:
+10000104:	80 22 00 04 	l       r1,4\(r2\)
 
-10000008 <\.exported_global>:
-10000008:	48 00 00 09 	bl      10000010 <\.indirect2>
+10000108 <\.exported_global>:
+10000108:	48 00 00 09 	bl      .* <\.indirect2>
 
-1000000c <\.indirect1>:
-1000000c:	81 08 00 04 	l       r8,4\(r8\)
+1000010c <\.indirect1>:
+1000010c:	81 08 00 04 	l       r8,4\(r8\)
 
-10000010 <\.indirect2>:
-10000010:	81 08 00 08 	l       r8,8\(r8\)
+10000110 <\.indirect2>:
+10000110:	81 08 00 08 	l       r8,8\(r8\)
 
-10000014 <\.indirect3>:
-10000014:	81 08 00 0c 	l       r8,12\(r8\)
+10000114 <\.indirect3>:
+10000114:	81 08 00 0c 	l       r8,12\(r8\)
+#...
 
 Disassembly of section \.data:
 
-20000000 <block>:
+20000120 <block>:
 # Pointer to indirect3.
-20000000:	20 00 00 98 	.*
-20000004:	11 22 33 44 	.*
+20000120:	20 00 01 b8 	.*
+20000124:	11 22 33 44 	.*
 
-20000008 <__rtinit>:
+20000128 <__rtinit>:
 #...
 
-20000068 <exported_global>:
-20000068:	10 00 00 08 	.*
-2000006c:	20 00 00 a4 	.*
-20000070:	00 00 00 00 	.*
+20000188 <exported_global>:
+20000188:	10 00 01 08 	.*
+2000018c:	20 00 01 c4 	.*
+20000190:	00 00 00 00 	.*
 
-20000074 <init_function>:
-20000074:	10 00 00 00 	.*
-20000078:	20 00 00 a4 	.*
-2000007c:	00 00 00 00 	.*
+20000194 <init_function>:
+20000194:	10 00 01 00 	.*
+20000198:	20 00 01 c4 	.*
+2000019c:	00 00 00 00 	.*
 
-20000080 <indirect1>:
-20000080:	10 00 00 0c 	.*
-20000084:	20 00 00 a4 	.*
-20000088:	00 00 00 00 	.*
+200001a0 <indirect1>:
+200001a0:	10 00 01 0c 	.*
+200001a4:	20 00 01 c4 	.*
+200001a8:	00 00 00 00 	.*
 
-2000008c <fini_function>:
-2000008c:	10 00 00 04 	.*
-20000090:	20 00 00 a4 	.*
-20000094:	00 00 00 00 	.*
+200001ac <fini_function>:
+200001ac:	10 00 01 04 	.*
+200001b0:	20 00 01 c4 	.*
+200001b4:	00 00 00 00 	.*
 
-20000098 <indirect3>:
-20000098:	10 00 00 14 	.*
-2000009c:	20 00 00 a4 	.*
-200000a0:	00 00 00 00 	.*
+200001b8 <indirect3>:
+200001b8:	10 00 01 14 	.*
+200001bc:	20 00 01 c4 	.*
+200001c0:	00 00 00 00 	.*
 
-200000a4 <TOC>:
+200001c4 <TOC>:
 # TOC entry for indirect1.
-200000a4:	20 00 00 80 	.*
+200001c4:	20 00 01 a0 	.*
 
-200000a8 <block>:
+200001c8 <block>:
 # TOC entry for block.
-200000a8:	20 00 00 00 	.*
-200000ac:	00 00 00 00 	.*
+200001c8:	20 00 01 20 	.*
+200001cc:	00 00 00 00 	.*
diff --git a/ld/testsuite/ld-powerpc/aix-gc-1-32.nd b/ld/testsuite/ld-powerpc/aix-gc-1-32.nd
new file mode 100644
index 0000000000..4bc8810d4d
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-gc-1-32.nd
@@ -0,0 +1,3 @@
+#...
+20000128 d __rtinit
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-gc-1-64.dd b/ld/testsuite/ld-powerpc/aix-gc-1-64.dd
index 00e9a8854d..2b25262d66 100644
--- a/ld/testsuite/ld-powerpc/aix-gc-1-64.dd
+++ b/ld/testsuite/ld-powerpc/aix-gc-1-64.dd
@@ -4,78 +4,79 @@
 
 Disassembly of section \.text:
 
-0000000010000000 <\.init_function>:
-    10000000:	e8 22 00 00 	ld      r1,0\(r2\)
+00000000100001c0 <\.init_function>:
+    100001c0:	e8 22 00 00 	ld      r1,0\(r2\)
 
-0000000010000004 <\.fini_function>:
-    10000004:	e8 22 00 08 	ld      r1,8\(r2\)
+00000000100001c4 <\.fini_function>:
+    100001c4:	e8 22 00 08 	ld      r1,8\(r2\)
 
-0000000010000008 <\.exported_global>:
-    10000008:	48 00 00 09 	bl      10000010 <\.indirect2>
+00000000100001c8 <\.exported_global>:
+    100001c8:	48 00 00 09 	bl      .* <\.indirect2>
 
-000000001000000c <\.indirect1>:
-    1000000c:	81 08 00 04 	lwz     r8,4\(r8\)
+00000000100001cc <\.indirect1>:
+    100001cc:	81 08 00 04 	lwz     r8,4\(r8\)
 
-0000000010000010 <\.indirect2>:
-    10000010:	81 08 00 08 	lwz     r8,8\(r8\)
+00000000100001d0 <\.indirect2>:
+    100001d0:	81 08 00 08 	lwz     r8,8\(r8\)
 
-0000000010000014 <\.indirect3>:
-    10000014:	81 08 00 0c 	lwz     r8,12\(r8\)
+00000000100001d4 <\.indirect3>:
+    100001d4:	81 08 00 0c 	lwz     r8,12\(r8\)
+#...
 
 Disassembly of section \.data:
 
-0000000020000000 <block>:
+00000000200001e0 <block>:
 # Pointer to indirect3.
-    20000000:	20 00 00 e0 	.*
-    20000004:	11 22 33 44 	.*
+    200001e0:	20 00 02 c0 	.*
+    200001e4:	11 22 33 44 	.*
 
-0000000020000008 <__rtinit>:
+00000000200001e8 <__rtinit>:
 #...
 
-0000000020000080 <exported_global>:
-    20000080:	00 00 00 00 	.*
-    20000084:	10 00 00 08 	.*
-    20000088:	00 00 00 00 	.*
-    2000008c:	20 00 00 f8 	.*
-    20000090:	00 00 00 00 	.*
-    20000094:	00 00 00 00 	.*
-
-0000000020000098 <init_function>:
-    20000098:	00 00 00 00 	.*
-    2000009c:	10 00 00 00 	.*
-    200000a0:	00 00 00 00 	.*
-    200000a4:	20 00 00 f8 	.*
-    200000a8:	00 00 00 00 	.*
-    200000ac:	00 00 00 00 	.*
-
-00000000200000b0 <indirect1>:
-    200000b0:	00 00 00 00 	.*
-    200000b4:	10 00 00 0c 	.*
-    200000b8:	00 00 00 00 	.*
-    200000bc:	20 00 00 f8 	.*
-    200000c0:	00 00 00 00 	.*
-    200000c4:	00 00 00 00 	.*
-
-00000000200000c8 <fini_function>:
-    200000c8:	00 00 00 00 	.*
-    200000cc:	10 00 00 04 	.*
-    200000d0:	00 00 00 00 	.*
-    200000d4:	20 00 00 f8 	.*
-    200000d8:	00 00 00 00 	.*
-    200000dc:	00 00 00 00 	.*
-
-00000000200000e0 <indirect3>:
-    200000e0:	00 00 00 00 	.*
-    200000e4:	10 00 00 14 	.*
-    200000e8:	00 00 00 00 	.*
-    200000ec:	20 00 00 f8 	.*
-    200000f0:	00 00 00 00 	.*
-    200000f4:	00 00 00 00 	.*
-
-00000000200000f8 <TOC>:
-    200000f8:	00 00 00 00 	.*
-    200000fc:	20 00 00 b0 	.*
-
-0000000020000100 <block>:
-    20000100:	00 00 00 00 	.*
-    20000104:	20 00 00 00 	.*
+0000000020000260 <exported_global>:
+    20000260:	00 00 00 00 	.*
+    20000264:	10 00 01 c8 	.*
+    20000268:	00 00 00 00 	.*
+    2000026c:	20 00 02 d8 	.*
+    20000270:	00 00 00 00 	.*
+    20000274:	00 00 00 00 	.*
+
+0000000020000278 <init_function>:
+    20000278:	00 00 00 00 	.*
+    2000027c:	10 00 01 c0 	.*
+    20000280:	00 00 00 00 	.*
+    20000284:	20 00 02 d8 	.*
+    20000288:	00 00 00 00 	.*
+    2000028c:	00 00 00 00 	.*
+
+0000000020000290 <indirect1>:
+    20000290:	00 00 00 00 	.*
+    20000294:	10 00 01 cc 	.*
+    20000298:	00 00 00 00 	.*
+    2000029c:	20 00 02 d8 	.*
+    200002a0:	00 00 00 00 	.*
+    200002a4:	00 00 00 00 	.*
+
+00000000200002a8 <fini_function>:
+    200002a8:	00 00 00 00 	.*
+    200002ac:	10 00 01 c4 	.*
+    200002b0:	00 00 00 00 	.*
+    200002b4:	20 00 02 d8 	.*
+    200002b8:	00 00 00 00 	.*
+    200002bc:	00 00 00 00 	.*
+
+00000000200002c0 <indirect3>:
+    200002c0:	00 00 00 00 	.*
+    200002c4:	10 00 01 d4 	.*
+    200002c8:	00 00 00 00 	.*
+    200002cc:	20 00 02 d8 	.*
+    200002d0:	00 00 00 00 	.*
+    200002d4:	00 00 00 00 	.*
+
+00000000200002d8 <TOC>:
+    200002d8:	00 00 00 00 	.*
+    200002dc:	20 00 02 90 	.*
+
+00000000200002e0 <block>:
+    200002e0:	00 00 00 00 	.*
+    200002e4:	20 00 01 e0 	.*
diff --git a/ld/testsuite/ld-powerpc/aix-gc-1-64.nd b/ld/testsuite/ld-powerpc/aix-gc-1-64.nd
new file mode 100644
index 0000000000..4888007967
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-gc-1-64.nd
@@ -0,0 +1,3 @@
+#...
+0*200001e8 d __rtinit
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-gc-1.nd b/ld/testsuite/ld-powerpc/aix-gc-1.nd
deleted file mode 100644
index f399646b75..0000000000
--- a/ld/testsuite/ld-powerpc/aix-gc-1.nd
+++ /dev/null
@@ -1,3 +0,0 @@
-#...
-0*20000008 d __rtinit
-#pass
diff --git a/ld/testsuite/ld-powerpc/aix-glink-1-32.dd b/ld/testsuite/ld-powerpc/aix-glink-1-32.dd
index 33cf812156..67f01a2542 100644
--- a/ld/testsuite/ld-powerpc/aix-glink-1-32.dd
+++ b/ld/testsuite/ld-powerpc/aix-glink-1-32.dd
@@ -4,41 +4,41 @@
 
 Disassembly of section \.text:
 
-10000000 <\.f1>:
-10000000:	4e 80 00 20 	br
-
-10000004 <\.f2>:
-10000004:	48 00 00 05 	bl      10000008 <\.f3>
-
-10000008 <\.f3>:
-10000008:	4e 80 00 20 	br
-
-1000000c <\.ext>:
-1000000c:	81 82 00 00 	l       r12,0\(r2\)
-10000010:	90 41 00 14 	st      r2,20\(r1\)
-10000014:	80 0c 00 00 	l       r0,0\(r12\)
-10000018:	80 4c 00 04 	l       r2,4\(r12\)
-1000001c:	7c 09 03 a6 	mtctr   r0
-10000020:	4e 80 04 20 	bctr
-10000024:	00 00 00 00 	\.long 0x0
-10000028:	00 0c 80 00 	\.long 0xc8000
-1000002c:	00 00 00 00 	\.long 0x0
+10000100 <\.f1>:
+10000100:	4e 80 00 20 	br
+
+10000104 <\.f2>:
+10000104:	48 00 00 05 	bl      .* <\.f3>
+
+10000108 <\.f3>:
+10000108:	4e 80 00 20 	br
+
+1000010c <\.ext>:
+1000010c:	81 82 00 00 	l       r12,0\(r2\)
+10000110:	90 41 00 14 	st      r2,20\(r1\)
+10000114:	80 0c 00 00 	l       r0,0\(r12\)
+10000118:	80 4c 00 04 	l       r2,4\(r12\)
+1000011c:	7c 09 03 a6 	mtctr   r0
+10000120:	4e 80 04 20 	bctr
+10000124:	00 00 00 00 	\.long 0x0
+10000128:	00 0c 80 00 	\.long 0xc8000
+#...
 
 Disassembly of section \.data:
 
-20000000 <foo>:
-20000000:	20 00 00 08 	.*
-20000004:	10 00 00 0c 	.*
+20000140 <foo>:
+20000140:	20 00 01 48 	.*
+20000144:	10 00 01 0c 	.*
 
-20000008 <f1>:
-20000008:	10 00 00 00 	.*
-2000000c:	20 00 00 20 	.*
-20000010:	00 00 00 00 	.*
+20000148 <f1>:
+20000148:	10 00 01 00 	.*
+2000014c:	20 00 01 60 	.*
+20000150:	00 00 00 00 	.*
 
-20000014 <f2>:
-20000014:	10 00 00 04 	.*
-20000018:	20 00 00 20 	.*
-2000001c:	00 00 00 00 	.*
+20000154 <f2>:
+20000154:	10 00 01 04 	.*
+20000158:	20 00 01 60 	.*
+2000015c:	00 00 00 00 	.*
 
-20000020 <TOC>:
+20000160 <TOC>:
 	\.\.\.
diff --git a/ld/testsuite/ld-powerpc/aix-glink-1-64.dd b/ld/testsuite/ld-powerpc/aix-glink-1-64.dd
index b5a557c582..0cefb365f8 100644
--- a/ld/testsuite/ld-powerpc/aix-glink-1-64.dd
+++ b/ld/testsuite/ld-powerpc/aix-glink-1-64.dd
@@ -4,46 +4,47 @@
 
 Disassembly of section \.text:
 
-0000000010000000 <\.f1>:
-    10000000:	4e 80 00 20 	blr
-
-0000000010000004 <\.f2>:
-    10000004:	48 00 00 05 	bl      10000008 <\.f3>
-
-0000000010000008 <\.f3>:
-    10000008:	4e 80 00 20 	blr
-
-000000001000000c <\.ext>:
-    1000000c:	e9 82 00 00 	ld      r12,0\(r2\)
-    10000010:	f8 41 00 28 	std     r2,40\(r1\)
-    10000014:	e8 0c 00 00 	ld      r0,0\(r12\)
-    10000018:	e8 4c 00 08 	ld      r2,8\(r12\)
-    1000001c:	7c 09 03 a6 	mtctr   r0
-    10000020:	4e 80 04 20 	bctr
-    10000024:	00 00 00 00 	\.long 0x0
-    10000028:	00 0c a0 00 	\.long 0xca000
-    1000002c:	00 00 00 00 	\.long 0x0
-    10000030:	00 00 00 18 	\.long 0x18
+00000000100001c0 <\.f1>:
+    100001c0:	4e 80 00 20 	blr
+
+00000000100001c4 <\.f2>:
+    100001c4:	48 00 00 05 	bl      .* <\.f3>
+
+00000000100001c8 <\.f3>:
+    100001c8:	4e 80 00 20 	blr
+
+00000000100001cc <\.ext>:
+    100001cc:	e9 82 00 00 	ld      r12,0\(r2\)
+    100001d0:	f8 41 00 28 	std     r2,40\(r1\)
+    100001d4:	e8 0c 00 00 	ld      r0,0\(r12\)
+    100001d8:	e8 4c 00 08 	ld      r2,8\(r12\)
+    100001dc:	7c 09 03 a6 	mtctr   r0
+    100001e0:	4e 80 04 20 	bctr
+    100001e4:	00 00 00 00 	\.long 0x0
+    100001e8:	00 0c a0 00 	\.long 0xca000
+    100001ec:	00 00 00 00 	\.long 0x0
+    100001f0:	00 00 00 18 	\.long 0x18
+#...
 
 Disassembly of section \.data:
 
-0000000020000000 <foo>:
-    20000000:	20 00 00 08 	.*
-    20000004:	10 00 00 0c 	.*
+0000000020000200 <foo>:
+    20000200:	20 00 02 08 	.*
+    20000204:	10 00 01 cc 	.*
 
-0000000020000008 <f1>:
-    20000008:	00 00 00 00 	.*
-    2000000c:	10 00 00 00 	.*
-    20000010:	00 00 00 00 	.*
-    20000014:	20 00 00 38 	.*
+0000000020000208 <f1>:
+    20000208:	00 00 00 00 	.*
+    2000020c:	10 00 01 c0 	.*
+    20000210:	00 00 00 00 	.*
+    20000214:	20 00 02 38 	.*
 	\.\.\.
 
-0000000020000020 <f2>:
-    20000020:	00 00 00 00 	.*
-    20000024:	10 00 00 04 	.*
-    20000028:	00 00 00 00 	.*
-    2000002c:	20 00 00 38 	.*
+0000000020000220 <f2>:
+    20000220:	00 00 00 00 	.*
+    20000224:	10 00 01 c4 	.*
+    20000228:	00 00 00 00 	.*
+    2000022c:	20 00 02 38 	.*
 	\.\.\.
 
-0000000020000038 <TOC>:
+0000000020000238 <TOC>:
 	\.\.\.
diff --git a/ld/testsuite/ld-powerpc/aix-glink-2-32.dd b/ld/testsuite/ld-powerpc/aix-glink-2-32.dd
index 2c91d23379..8a52e9f424 100644
--- a/ld/testsuite/ld-powerpc/aix-glink-2-32.dd
+++ b/ld/testsuite/ld-powerpc/aix-glink-2-32.dd
@@ -4,66 +4,66 @@ tmpdir/aix-glink-2:     file format aixcoff-rs6000
 
 Disassembly of section \.text:
 
-10000000 <\.b1>:
-10000000:	60 00 00 00 	oril    r0,r0,0
+10000100 <\.b1>:
+10000100:	60 00 00 00 	oril    r0,r0,0
 
-10000004 <\.b2>:
-10000004:	60 00 00 00 	oril    r0,r0,0
+10000104 <\.b2>:
+10000104:	60 00 00 00 	oril    r0,r0,0
 
-10000008 <\.b3>:
-10000008:	60 00 00 00 	oril    r0,r0,0
+10000108 <\.b3>:
+10000108:	60 00 00 00 	oril    r0,r0,0
 
-1000000c <\.main>:
-1000000c:	48 00 f1 03 	bla     f100 <.*>
-10000010:	48 00 00 21 	bl      10000030 <\.a2>
-10000014:	48 00 00 41 	bl      10000054 <\.a3>
-10000018:	4b ff ff e9 	bl      10000000 <\.b1>
-1000001c:	4b ff ff e9 	bl      10000004 <\.b2>
-10000020:	4b ff ff e9 	bl      10000008 <\.b3>
-10000024:	48 00 f5 03 	bla     f500 <.*>
-10000028:	48 00 00 51 	bl      10000078 <\.c2>
-1000002c:	48 00 00 71 	bl      1000009c <\.c3>
+1000010c <\.main>:
+1000010c:	48 00 f1 03 	bla     f100 <.*>
+10000110:	48 00 00 21 	bl      .* <\.a2>
+10000114:	48 00 00 41 	bl      .* <\.a3>
+10000118:	4b ff ff e9 	bl      .* <\.b1>
+1000011c:	4b ff ff e9 	bl      .* <\.b2>
+10000120:	4b ff ff e9 	bl      .* <\.b3>
+10000124:	48 00 f5 03 	bla     f500 <.*>
+10000128:	48 00 00 51 	bl      .* <\.c2>
+1000012c:	48 00 00 71 	bl      .* <\.c3>
 
-10000030 <\.a2>:
-10000030:	81 82 00 00 	l       r12,0\(r2\)
-10000034:	90 41 00 14 	st      r2,20\(r1\)
-10000038:	80 0c 00 00 	l       r0,0\(r12\)
-1000003c:	80 4c 00 04 	l       r2,4\(r12\)
-10000040:	7c 09 03 a6 	mtctr   r0
-10000044:	4e 80 04 20 	bctr
-10000048:	00 00 00 00 	\.long 0x0
-1000004c:	00 0c 80 00 	\.long 0xc8000
-10000050:	00 00 00 00 	\.long 0x0
+10000130 <\.a2>:
+10000130:	81 82 00 00 	l       r12,0\(r2\)
+10000134:	90 41 00 14 	st      r2,20\(r1\)
+10000138:	80 0c 00 00 	l       r0,0\(r12\)
+1000013c:	80 4c 00 04 	l       r2,4\(r12\)
+10000140:	7c 09 03 a6 	mtctr   r0
+10000144:	4e 80 04 20 	bctr
+10000148:	00 00 00 00 	\.long 0x0
+1000014c:	00 0c 80 00 	\.long 0xc8000
+10000150:	00 00 00 00 	\.long 0x0
 
-10000054 <\.a3>:
-10000054:	81 82 00 04 	l       r12,4\(r2\)
-10000058:	90 41 00 14 	st      r2,20\(r1\)
-1000005c:	80 0c 00 00 	l       r0,0\(r12\)
-10000060:	80 4c 00 04 	l       r2,4\(r12\)
-10000064:	7c 09 03 a6 	mtctr   r0
-10000068:	4e 80 04 20 	bctr
-1000006c:	00 00 00 00 	\.long 0x0
-10000070:	00 0c 80 00 	\.long 0xc8000
-10000074:	00 00 00 00 	\.long 0x0
+10000154 <\.a3>:
+10000154:	81 82 00 04 	l       r12,4\(r2\)
+10000158:	90 41 00 14 	st      r2,20\(r1\)
+1000015c:	80 0c 00 00 	l       r0,0\(r12\)
+10000160:	80 4c 00 04 	l       r2,4\(r12\)
+10000164:	7c 09 03 a6 	mtctr   r0
+10000168:	4e 80 04 20 	bctr
+1000016c:	00 00 00 00 	\.long 0x0
+10000170:	00 0c 80 00 	\.long 0xc8000
+10000174:	00 00 00 00 	\.long 0x0
 
-10000078 <\.c2>:
-10000078:	81 82 00 08 	l       r12,8\(r2\)
-1000007c:	90 41 00 14 	st      r2,20\(r1\)
-10000080:	80 0c 00 00 	l       r0,0\(r12\)
-10000084:	80 4c 00 04 	l       r2,4\(r12\)
-10000088:	7c 09 03 a6 	mtctr   r0
-1000008c:	4e 80 04 20 	bctr
-10000090:	00 00 00 00 	\.long 0x0
-10000094:	00 0c 80 00 	\.long 0xc8000
-10000098:	00 00 00 00 	\.long 0x0
+10000178 <\.c2>:
+10000178:	81 82 00 08 	l       r12,8\(r2\)
+1000017c:	90 41 00 14 	st      r2,20\(r1\)
+10000180:	80 0c 00 00 	l       r0,0\(r12\)
+10000184:	80 4c 00 04 	l       r2,4\(r12\)
+10000188:	7c 09 03 a6 	mtctr   r0
+1000018c:	4e 80 04 20 	bctr
+10000190:	00 00 00 00 	\.long 0x0
+10000194:	00 0c 80 00 	\.long 0xc8000
+10000198:	00 00 00 00 	\.long 0x0
 
-1000009c <\.c3>:
-1000009c:	81 82 00 0c 	l       r12,12\(r2\)
-100000a0:	90 41 00 14 	st      r2,20\(r1\)
-100000a4:	80 0c 00 00 	l       r0,0\(r12\)
-100000a8:	80 4c 00 04 	l       r2,4\(r12\)
-100000ac:	7c 09 03 a6 	mtctr   r0
-100000b0:	4e 80 04 20 	bctr
-100000b4:	00 00 00 00 	\.long 0x0
-100000b8:	00 0c 80 00 	\.long 0xc8000
-100000bc:	00 00 00 00 	\.long 0x0
+1000019c <\.c3>:
+1000019c:	81 82 00 0c 	l       r12,12\(r2\)
+100001a0:	90 41 00 14 	st      r2,20\(r1\)
+100001a4:	80 0c 00 00 	l       r0,0\(r12\)
+100001a8:	80 4c 00 04 	l       r2,4\(r12\)
+100001ac:	7c 09 03 a6 	mtctr   r0
+100001b0:	4e 80 04 20 	bctr
+100001b4:	00 00 00 00 	\.long 0x0
+100001b8:	00 0c 80 00 	\.long 0xc8000
+100001bc:	00 00 00 00 	\.long 0x0
diff --git a/ld/testsuite/ld-powerpc/aix-glink-2-64.dd b/ld/testsuite/ld-powerpc/aix-glink-2-64.dd
index 5a34f0a802..0428bea781 100644
--- a/ld/testsuite/ld-powerpc/aix-glink-2-64.dd
+++ b/ld/testsuite/ld-powerpc/aix-glink-2-64.dd
@@ -4,70 +4,71 @@ tmpdir/aix64-glink-2:     file format aix5coff64-rs6000
 
 Disassembly of section \.text:
 
-0000000010000000 <\.b1>:
-    10000000:	60 00 00 00 	nop
+00000000100001c0 <\.b1>:
+    100001c0:	60 00 00 00 	nop
 
-0000000010000004 <\.b2>:
-    10000004:	60 00 00 00 	nop
+00000000100001c4 <\.b2>:
+    100001c4:	60 00 00 00 	nop
 
-0000000010000008 <\.b3>:
-    10000008:	60 00 00 00 	nop
+00000000100001c8 <\.b3>:
+    100001c8:	60 00 00 00 	nop
 
-000000001000000c <\.main>:
-    1000000c:	48 00 f1 03 	bla     f100 <.*>
-    10000010:	48 00 00 21 	bl      10000030 <\.a2>
-    10000014:	48 00 00 45 	bl      10000058 <\.a3>
-    10000018:	4b ff ff e9 	bl      10000000 <\.b1>
-    1000001c:	4b ff ff e9 	bl      10000004 <\.b2>
-    10000020:	4b ff ff e9 	bl      10000008 <\.b3>
-    10000024:	48 00 f5 03 	bla     f500 <.*>
-    10000028:	48 00 00 59 	bl      10000080 <\.c2>
-    1000002c:	48 00 00 7d 	bl      100000a8 <\.c3>
+00000000100001cc <\.main>:
+    100001cc:	48 00 f1 03 	bla     f100 <.*>
+    100001d0:	48 00 00 21 	bl      .* <\.a2>
+    100001d4:	48 00 00 45 	bl      .* <\.a3>
+    100001d8:	4b ff ff e9 	bl      .* <\.b1>
+    100001dc:	4b ff ff e9 	bl      .* <\.b2>
+    100001e0:	4b ff ff e9 	bl      .* <\.b3>
+    100001e4:	48 00 f5 03 	bla     f500 <.*>
+    100001e8:	48 00 00 59 	bl      .* <\.c2>
+    100001ec:	48 00 00 7d 	bl      .* <\.c3>
 
-0000000010000030 <\.a2>:
-    10000030:	e9 82 00 00 	ld      r12,0\(r2\)
-    10000034:	f8 41 00 28 	std     r2,40\(r1\)
-    10000038:	e8 0c 00 00 	ld      r0,0\(r12\)
-    1000003c:	e8 4c 00 08 	ld      r2,8\(r12\)
-    10000040:	7c 09 03 a6 	mtctr   r0
-    10000044:	4e 80 04 20 	bctr
-    10000048:	00 00 00 00 	\.long 0x0
-    1000004c:	00 0c a0 00 	\.long 0xca000
-    10000050:	00 00 00 00 	\.long 0x0
-    10000054:	00 00 00 18 	\.long 0x18
+00000000100001f0 <\.a2>:
+    100001f0:	e9 82 00 00 	ld      r12,0\(r2\)
+    100001f4:	f8 41 00 28 	std     r2,40\(r1\)
+    100001f8:	e8 0c 00 00 	ld      r0,0\(r12\)
+    100001fc:	e8 4c 00 08 	ld      r2,8\(r12\)
+    10000200:	7c 09 03 a6 	mtctr   r0
+    10000204:	4e 80 04 20 	bctr
+    10000208:	00 00 00 00 	\.long 0x0
+    1000020c:	00 0c a0 00 	\.long 0xca000
+    10000210:	00 00 00 00 	\.long 0x0
+    10000214:	00 00 00 18 	\.long 0x18
 
-0000000010000058 <\.a3>:
-    10000058:	e9 82 00 08 	ld      r12,8\(r2\)
-    1000005c:	f8 41 00 28 	std     r2,40\(r1\)
-    10000060:	e8 0c 00 00 	ld      r0,0\(r12\)
-    10000064:	e8 4c 00 08 	ld      r2,8\(r12\)
-    10000068:	7c 09 03 a6 	mtctr   r0
-    1000006c:	4e 80 04 20 	bctr
-    10000070:	00 00 00 00 	\.long 0x0
-    10000074:	00 0c a0 00 	\.long 0xca000
-    10000078:	00 00 00 00 	\.long 0x0
-    1000007c:	00 00 00 18 	\.long 0x18
+0000000010000218 <\.a3>:
+    10000218:	e9 82 00 08 	ld      r12,8\(r2\)
+    1000021c:	f8 41 00 28 	std     r2,40\(r1\)
+    10000220:	e8 0c 00 00 	ld      r0,0\(r12\)
+    10000224:	e8 4c 00 08 	ld      r2,8\(r12\)
+    10000228:	7c 09 03 a6 	mtctr   r0
+    1000022c:	4e 80 04 20 	bctr
+    10000230:	00 00 00 00 	\.long 0x0
+    10000234:	00 0c a0 00 	\.long 0xca000
+    10000238:	00 00 00 00 	\.long 0x0
+    1000023c:	00 00 00 18 	\.long 0x18
 
-0000000010000080 <\.c2>:
-    10000080:	e9 82 00 10 	ld      r12,16\(r2\)
-    10000084:	f8 41 00 28 	std     r2,40\(r1\)
-    10000088:	e8 0c 00 00 	ld      r0,0\(r12\)
-    1000008c:	e8 4c 00 08 	ld      r2,8\(r12\)
-    10000090:	7c 09 03 a6 	mtctr   r0
-    10000094:	4e 80 04 20 	bctr
-    10000098:	00 00 00 00 	\.long 0x0
-    1000009c:	00 0c a0 00 	\.long 0xca000
-    100000a0:	00 00 00 00 	\.long 0x0
-    100000a4:	00 00 00 18 	\.long 0x18
+0000000010000240 <\.c2>:
+    10000240:	e9 82 00 10 	ld      r12,16\(r2\)
+    10000244:	f8 41 00 28 	std     r2,40\(r1\)
+    10000248:	e8 0c 00 00 	ld      r0,0\(r12\)
+    1000024c:	e8 4c 00 08 	ld      r2,8\(r12\)
+    10000250:	7c 09 03 a6 	mtctr   r0
+    10000254:	4e 80 04 20 	bctr
+    10000258:	00 00 00 00 	\.long 0x0
+    1000025c:	00 0c a0 00 	\.long 0xca000
+    10000260:	00 00 00 00 	\.long 0x0
+    10000264:	00 00 00 18 	\.long 0x18
 
-00000000100000a8 <\.c3>:
-    100000a8:	e9 82 00 18 	ld      r12,24\(r2\)
-    100000ac:	f8 41 00 28 	std     r2,40\(r1\)
-    100000b0:	e8 0c 00 00 	ld      r0,0\(r12\)
-    100000b4:	e8 4c 00 08 	ld      r2,8\(r12\)
-    100000b8:	7c 09 03 a6 	mtctr   r0
-    100000bc:	4e 80 04 20 	bctr
-    100000c0:	00 00 00 00 	\.long 0x0
-    100000c4:	00 0c a0 00 	\.long 0xca000
-    100000c8:	00 00 00 00 	\.long 0x0
-    100000cc:	00 00 00 18 	\.long 0x18
+0000000010000268 <\.c3>:
+    10000268:	e9 82 00 18 	ld      r12,24\(r2\)
+    1000026c:	f8 41 00 28 	std     r2,40\(r1\)
+    10000270:	e8 0c 00 00 	ld      r0,0\(r12\)
+    10000274:	e8 4c 00 08 	ld      r2,8\(r12\)
+    10000278:	7c 09 03 a6 	mtctr   r0
+    1000027c:	4e 80 04 20 	bctr
+    10000280:	00 00 00 00 	\.long 0x0
+    10000284:	00 0c a0 00 	\.long 0xca000
+    10000288:	00 00 00 00 	\.long 0x0
+    1000028c:	00 00 00 18 	\.long 0x18
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-glink-3-32.dd b/ld/testsuite/ld-powerpc/aix-glink-3-32.dd
new file mode 100644
index 0000000000..f9c1b9ddc3
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-glink-3-32.dd
@@ -0,0 +1,14 @@
+
+.*
+
+Disassembly of section \.text:
+
+10000100 <\.f>:
+10000100:	48 00 00 05 	bl      .* <\.g>
+
+10000104 <\.g>:
+10000104:	4e 80 00 20 	bl?r
+
+10000108 <__start>:
+10000108:	4b ff ff f9 	bl      .* <\.f>
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-glink-3-64.dd b/ld/testsuite/ld-powerpc/aix-glink-3-64.dd
new file mode 100644
index 0000000000..fc7e0c7117
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-glink-3-64.dd
@@ -0,0 +1,14 @@
+
+.*
+
+Disassembly of section \.text:
+
+0*100001c0 <\.f>:
+ *100001c0:	48 00 00 05 	bl      .* <\.g>
+
+0*100001c4 <\.g>:
+ *100001c4:	4e 80 00 20 	bl?r
+
+0*100001c8 <__start>:
+ *100001c8:	4b ff ff f9 	bl      .* <\.f>
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-glink-3.dd b/ld/testsuite/ld-powerpc/aix-glink-3.dd
deleted file mode 100644
index b1549362f1..0000000000
--- a/ld/testsuite/ld-powerpc/aix-glink-3.dd
+++ /dev/null
@@ -1,14 +0,0 @@
-
-.*
-
-
-Disassembly of section \.text:
-
-0*10000000 <\.f>:
- *10000000:	48 00 00 05 	bl      10000004 <\.g>
-
-0*10000004 <\.g>:
- *10000004:	4e 80 00 20 	bl?r
-
-0*10000008 <__start>:
- *10000008:	4b ff ff f9 	bl      10000000 <\.f>
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1a-32.dd b/ld/testsuite/ld-powerpc/aix-lineno-1a-32.dd
new file mode 100644
index 0000000000..6482c6f0a0
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-lineno-1a-32.dd
@@ -0,0 +1,24 @@
+
+.*
+
+Disassembly of section \.text:
+
+10000100 <\.foo>:
+Four
+10000100:	60 00 00 00 	(oril    r0,r0,0|nop)
+and
+10000104:	60 00 00 00 	(oril    r0,r0,0|nop)
+twenty
+10000108:	60 00 00 00 	(oril    r0,r0,0|nop)
+blackbirds
+1000010c:	60 00 00 00 	(oril    r0,r0,0|nop)
+baked
+10000110:	60 00 00 00 	(oril    r0,r0,0|nop)
+
+10000114 <\.main>:
+in
+a
+10000114:	4b ff ff ed 	bl      .* <\.foo>
+pie
+10000118:	60 00 00 00 	(oril    r0,r0,0|nop)
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1a-32.nd b/ld/testsuite/ld-powerpc/aix-lineno-1a-32.nd
new file mode 100644
index 0000000000..1a7501b5d4
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-lineno-1a-32.nd
@@ -0,0 +1,8 @@
+10000100 t \.bf
+10000114 t \.bf
+10000114 t \.ef
+1000011c t \.ef
+10000100 t \.foo
+10000100 t \.foo
+10000114 t \.main
+10000114 T \.main
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1a-64.dd b/ld/testsuite/ld-powerpc/aix-lineno-1a-64.dd
new file mode 100644
index 0000000000..a777c6b966
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-lineno-1a-64.dd
@@ -0,0 +1,24 @@
+
+.*
+
+Disassembly of section \.text:
+
+0*100001c0 <\.foo>:
+Four
+ *100001c0:	60 00 00 00 	(oril    r0,r0,0|nop)
+and
+ *100001c4:	60 00 00 00 	(oril    r0,r0,0|nop)
+twenty
+ *100001c8:	60 00 00 00 	(oril    r0,r0,0|nop)
+blackbirds
+ *100001cc:	60 00 00 00 	(oril    r0,r0,0|nop)
+baked
+ *100001d0:	60 00 00 00 	(oril    r0,r0,0|nop)
+
+0*100001d4 <\.main>:
+in
+a
+ *100001d4:	4b ff ff ed 	bl      .* <\.foo>
+pie
+ *100001d8:	60 00 00 00 	(oril    r0,r0,0|nop)
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1a-64.nd b/ld/testsuite/ld-powerpc/aix-lineno-1a-64.nd
new file mode 100644
index 0000000000..e66d16b5c4
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-lineno-1a-64.nd
@@ -0,0 +1,8 @@
+0*100001c0 t \.bf
+0*100001d4 t \.bf
+0*100001d4 t \.ef
+0*100001dc t \.ef
+0*100001c0 t \.foo
+0*100001c0 t \.foo
+0*100001d4 t \.main
+0*100001d4 T \.main
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1a.dd b/ld/testsuite/ld-powerpc/aix-lineno-1a.dd
deleted file mode 100644
index 72410c9d96..0000000000
--- a/ld/testsuite/ld-powerpc/aix-lineno-1a.dd
+++ /dev/null
@@ -1,24 +0,0 @@
-
-.*
-
-
-Disassembly of section \.text:
-
-0*10000000 <\.foo>:
-Four
- *10000000:	60 00 00 00 	(oril    r0,r0,0|nop)
-and
- *10000004:	60 00 00 00 	(oril    r0,r0,0|nop)
-twenty
- *10000008:	60 00 00 00 	(oril    r0,r0,0|nop)
-blackbirds
- *1000000c:	60 00 00 00 	(oril    r0,r0,0|nop)
-baked
- *10000010:	60 00 00 00 	(oril    r0,r0,0|nop)
-
-0*10000014 <\.main>:
-in
-a
- *10000014:	4b ff ff ed 	bl      10000000 <\.foo>
-pie
- *10000018:	60 00 00 00 	(oril    r0,r0,0|nop)
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1a.nd b/ld/testsuite/ld-powerpc/aix-lineno-1a.nd
deleted file mode 100644
index 5e84188567..0000000000
--- a/ld/testsuite/ld-powerpc/aix-lineno-1a.nd
+++ /dev/null
@@ -1,8 +0,0 @@
-0*10000000 t \.bf
-0*10000014 t \.bf
-0*10000014 t \.ef
-0*1000001c t \.ef
-0*10000000 t \.foo
-0*10000000 t \.foo
-0*10000014 t \.main
-0*10000014 T \.main
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1b-32.dd b/ld/testsuite/ld-powerpc/aix-lineno-1b-32.dd
new file mode 100644
index 0000000000..3022eca6a4
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-lineno-1b-32.dd
@@ -0,0 +1,16 @@
+
+.*
+
+Disassembly of section \.text:
+
+10000100 <\.foo>:
+10000100:	60 00 00 00 	(oril    r0,r0,0|nop)
+10000104:	60 00 00 00 	(oril    r0,r0,0|nop)
+10000108:	60 00 00 00 	(oril    r0,r0,0|nop)
+1000010c:	60 00 00 00 	(oril    r0,r0,0|nop)
+10000110:	60 00 00 00 	(oril    r0,r0,0|nop)
+
+10000114 <\.main>:
+10000114:	4b ff ff ed 	bl      .* <\.foo>
+10000118:	60 00 00 00 	(oril    r0,r0,0|nop)
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1b-32.nd b/ld/testsuite/ld-powerpc/aix-lineno-1b-32.nd
new file mode 100644
index 0000000000..e820bd9265
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-lineno-1b-32.nd
@@ -0,0 +1,3 @@
+10000100 t \.foo
+10000114 t \.main
+10000114 T \.main
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1b-64.dd b/ld/testsuite/ld-powerpc/aix-lineno-1b-64.dd
new file mode 100644
index 0000000000..da9116d4ee
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-lineno-1b-64.dd
@@ -0,0 +1,16 @@
+
+.*
+
+Disassembly of section \.text:
+
+0*100001c0 <\.foo>:
+ *100001c0:	60 00 00 00 	(oril    r0,r0,0|nop)
+ *100001c4:	60 00 00 00 	(oril    r0,r0,0|nop)
+ *100001c8:	60 00 00 00 	(oril    r0,r0,0|nop)
+ *100001cc:	60 00 00 00 	(oril    r0,r0,0|nop)
+ *100001d0:	60 00 00 00 	(oril    r0,r0,0|nop)
+
+0*100001d4 <\.main>:
+ *100001d4:	4b ff ff ed 	bl      .* <\.foo>
+ *100001d8:	60 00 00 00 	(oril    r0,r0,0|nop)
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1b-64.nd b/ld/testsuite/ld-powerpc/aix-lineno-1b-64.nd
new file mode 100644
index 0000000000..7e5e56cccd
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-lineno-1b-64.nd
@@ -0,0 +1,3 @@
+0*100001c0 t \.foo
+0*100001d4 t \.main
+0*100001d4 T \.main
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1b.dd b/ld/testsuite/ld-powerpc/aix-lineno-1b.dd
deleted file mode 100644
index 64c08df568..0000000000
--- a/ld/testsuite/ld-powerpc/aix-lineno-1b.dd
+++ /dev/null
@@ -1,16 +0,0 @@
-
-.*
-
-
-Disassembly of section \.text:
-
-0*10000000 <\.foo>:
- *10000000:	60 00 00 00 	(oril    r0,r0,0|nop)
- *10000004:	60 00 00 00 	(oril    r0,r0,0|nop)
- *10000008:	60 00 00 00 	(oril    r0,r0,0|nop)
- *1000000c:	60 00 00 00 	(oril    r0,r0,0|nop)
- *10000010:	60 00 00 00 	(oril    r0,r0,0|nop)
-
-0*10000014 <\.main>:
- *10000014:	4b ff ff ed 	bl      10000000 <\.foo>
- *10000018:	60 00 00 00 	(oril    r0,r0,0|nop)
diff --git a/ld/testsuite/ld-powerpc/aix-lineno-1b.nd b/ld/testsuite/ld-powerpc/aix-lineno-1b.nd
deleted file mode 100644
index d341470565..0000000000
--- a/ld/testsuite/ld-powerpc/aix-lineno-1b.nd
+++ /dev/null
@@ -1,3 +0,0 @@
-0*10000000 t \.foo
-0*10000014 t \.main
-0*10000014 T \.main
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.dnd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.dnd
new file mode 100644
index 0000000000..21028d0fb3
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.dnd
@@ -0,0 +1,4 @@
+         U foo
+20000100 D x
+20000104 D x1
+20000114 D x2
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.drd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.drd
new file mode 100644
index 0000000000..71709eb719
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.drd
@@ -0,0 +1,9 @@
+
+.*
+
+DYNAMIC RELOCATION RECORDS
+OFFSET * TYPE * VALUE 
+20000104 R_POS(|_32) * \.data
+20000108 R_POS(|_32) * foo
+20000114 R_POS(|_32) * \.data
+20000118 R_POS(|_32) * foo
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.nd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.nd
new file mode 100644
index 0000000000..624fa672ca
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.nd
@@ -0,0 +1,8 @@
+         U foo
+20000100 d x
+20000100 D x
+20000110 d x
+20000104 d x1
+20000104 D x1
+20000114 d x2
+20000114 D x2
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.rd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.rd
similarity index 60%
rename from ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.rd
rename to ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.rd
index d17151ba41..fdd0b158d2 100644
--- a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.rd
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-32.rd
@@ -3,7 +3,7 @@
 
 RELOCATION RECORDS FOR \[\.data\]:
 OFFSET * TYPE * VALUE 
-0+04 R_POS(|_32) * x\+0xf*f0000000
+0+04 R_POS(|_32) * x-0x20000100
 0+08 R_POS(|_32) * foo
-0+14 R_POS(|_32) * x\+0xf*effffff0
+0+14 R_POS(|_32) * x-0x20000110
 0+18 R_POS(|_32) * foo
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.dnd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.dnd
new file mode 100644
index 0000000000..0517a426dc
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.dnd
@@ -0,0 +1,4 @@
+ *         U foo
+0*200001c0 D x
+0*200001c4 D x1
+0*200001d4 D x2
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.drd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.drd
new file mode 100644
index 0000000000..d484de20bd
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.drd
@@ -0,0 +1,9 @@
+
+.*
+
+DYNAMIC RELOCATION RECORDS
+OFFSET * TYPE * VALUE 
+0*200001c4 R_POS(|_32) * \.data
+0*200001c8 R_POS(|_32) * foo
+0*200001d4 R_POS(|_32) * \.data
+0*200001d8 R_POS(|_32) * foo
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.nd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.nd
new file mode 100644
index 0000000000..34bf1c10ba
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.nd
@@ -0,0 +1,8 @@
+ *         U foo
+0*200001c0 d x
+0*200001c0 D x
+0*200001d0 d x
+0*200001c4 d x1
+0*200001c4 D x1
+0*200001d4 d x2
+0*200001d4 D x2
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.rd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.rd
new file mode 100644
index 0000000000..b4e1396ca2
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso-64.rd
@@ -0,0 +1,9 @@
+
+.*
+
+RELOCATION RECORDS FOR \[\.data\]:
+OFFSET * TYPE * VALUE 
+0+04 R_POS(|_32) * x-0x0*200001c0
+0+08 R_POS(|_32) * foo
+0+14 R_POS(|_32) * x-0x0*200001d0
+0+18 R_POS(|_32) * foo
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.dnd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.dnd
deleted file mode 100644
index 1fccdeb839..0000000000
--- a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.dnd
+++ /dev/null
@@ -1,4 +0,0 @@
- *         U foo
-0*10000000 D x
-0*10000004 D x1
-0*10000014 D x2
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.drd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.drd
deleted file mode 100644
index f262febd42..0000000000
--- a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.drd
+++ /dev/null
@@ -1,9 +0,0 @@
-
-.*
-
-DYNAMIC RELOCATION RECORDS
-OFFSET * TYPE * VALUE 
-0*10000004 R_POS(|_32) * \.data
-0*10000008 R_POS(|_32) * foo
-0*10000014 R_POS(|_32) * \.data
-0*10000018 R_POS(|_32) * foo
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.nd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.nd
deleted file mode 100644
index be25ff37c3..0000000000
--- a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-dso.nd
+++ /dev/null
@@ -1,8 +0,0 @@
- *         U foo
-0*10000000 d x
-0*10000000 D x
-0*10000010 d x
-0*10000004 d x1
-0*10000004 D x1
-0*10000014 d x2
-0*10000014 D x2
diff --git a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-rel.rd b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-rel.rd
index 436ad9841d..3e0e54b306 100644
--- a/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-rel.rd
+++ b/ld/testsuite/ld-powerpc/aix-no-dup-syms-1-rel.rd
@@ -5,5 +5,5 @@ RELOCATION RECORDS FOR \[\.data\]:
 OFFSET * TYPE * VALUE 
 0+04 R_POS(|_32) * x
 0+08 R_POS(|_32) * foo
-0+14 R_POS(|_32) * x\+0xf+0
+0+14 R_POS(|_32) * x-0x0+10
 0+18 R_POS(|_32) * foo
diff --git a/ld/testsuite/ld-powerpc/aix-ref-1-32.od b/ld/testsuite/ld-powerpc/aix-ref-1-32.od
index 1ba90ec0a8..0a66ea3ffe 100644
--- a/ld/testsuite/ld-powerpc/aix-ref-1-32.od
+++ b/ld/testsuite/ld-powerpc/aix-ref-1-32.od
@@ -6,25 +6,25 @@ Disassembly of section \.text:
 
 .* <foo1>:
 .*:	60 00 00 00 	oril    r0,r0,0
-			.*: R_REF	foo2\+.*
+			.*: R_REF	foo2-.*
 .*:	80 22 00 00 	l       r1,0\(r2\)
-			.*: R_TOC	stuff\+.*
+			.*: R_TOC	stuff-.*
 .*:	4e 80 00 20 	br
 
 .* <foo2>:
 .*:	60 00 00 00 	oril    r0,r0,0
-			.*: R_REF	foo6\+.*
-			.*: R_REF	foo4\+.*
+			.*: R_REF	foo6-.*
+			.*: R_REF	foo4-.*
 .*:	80 22 00 00 	l       r1,0\(r2\)
-			.*: R_TOC	stuff\+.*
+			.*: R_TOC	stuff-.*
 
 .* <foo4>:
 .*:	60 00 00 00 	oril    r0,r0,0
 .*:	80 22 00 00 	l       r1,0\(r2\)
-			.*: R_TOC	stuff\+.*
+			.*: R_TOC	stuff-.*
 
 .* <foo6>:
 .*:	60 00 00 00 	oril    r0,r0,0
 .*:	80 22 00 00 	l       r1,0\(r2\)
-			.*: R_TOC	stuff\+.*
-	\.\.\.
+			.*: R_TOC	stuff-.*
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-ref-1-64.od b/ld/testsuite/ld-powerpc/aix-ref-1-64.od
index 9cc6e9dc41..20f7d6acef 100644
--- a/ld/testsuite/ld-powerpc/aix-ref-1-64.od
+++ b/ld/testsuite/ld-powerpc/aix-ref-1-64.od
@@ -6,25 +6,25 @@ Disassembly of section \.text:
 
 .* <foo1>:
     .*:	60 00 00 00 	nop
-			.*: R_REF	foo2\+.*
+			.*: R_REF	foo2-.*
     .*:	e8 22 00 00 	ld      r1,0\(r2\)
-			.*: R_TOC	stuff\+.*
+			.*: R_TOC	stuff-.*
     .*:	4e 80 00 20 	blr
 
 .* <foo2>:
     .*:	60 00 00 00 	nop
-			.*: R_REF	foo6\+.*
-			.*: R_REF	foo4\+.*
+			.*: R_REF	foo6-.*
+			.*: R_REF	foo4-.*
     .*:	e8 22 00 00 	ld      r1,0\(r2\)
-			.*: R_TOC	stuff\+.*
+			.*: R_TOC	stuff-.*
 
 .* <foo4>:
     .*:	60 00 00 00 	nop
     .*:	e8 22 00 00 	ld      r1,0\(r2\)
-			.*: R_TOC	stuff\+.*
+			.*: R_TOC	stuff-.*
 
 .* <foo6>:
     .*:	60 00 00 00 	nop
     .*:	e8 22 00 00 	ld      r1,0\(r2\)
-			.*: R_TOC	stuff\+.*
-	\.\.\.
+			.*: R_TOC	stuff-.*
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-toc-1-32.dd b/ld/testsuite/ld-powerpc/aix-toc-1-32.dd
index e129d34a38..bb6a8d070e 100644
--- a/ld/testsuite/ld-powerpc/aix-toc-1-32.dd
+++ b/ld/testsuite/ld-powerpc/aix-toc-1-32.dd
@@ -4,9 +4,10 @@
 
 Disassembly of section \.text:
 
-10000000 <\.f1>:
-10000000:	80 22 80 08 	l       r1,-32760\(r2\)
-			10000002: R_TOC	sym0.*
+10000100 <\.f1>:
+10000100:	80 22 80 08 	l       r1,-32760\(r2\)
+			.*2: R_TOC	sym0-.*
 #...
-1000fff4:	80 22 7f fc 	l       r1,32764\(r2\)
-			1000fff6: R_TOC	asym8190.*
+100100f4:	80 22 7f fc 	l       r1,32764\(r2\)
+			.*6: R_TOC	asym8190-.*
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-toc-1-64.dd b/ld/testsuite/ld-powerpc/aix-toc-1-64.dd
index c169ff60a6..f550496025 100644
--- a/ld/testsuite/ld-powerpc/aix-toc-1-64.dd
+++ b/ld/testsuite/ld-powerpc/aix-toc-1-64.dd
@@ -4,9 +4,10 @@
 
 Disassembly of section \.text:
 
-0000000010000000 <.f1>:
-    10000000:	e8 22 80 10 	ld      r1,-32752\(r2\)
-			10000002: R_TOC	sym0.*
+00000000100001c0 <.f1>:
+    100001c0:	e8 22 80 10 	ld      r1,-32752\(r2\)
+			.*2: R_TOC	sym0-.*
 #...
-    10007ff4:	e8 22 7f f8 	ld      r1,32760\(r2\)
-			10007ff6: R_TOC	asym4094.*
+    100081b4:	e8 22 7f f8 	ld      r1,32760\(r2\)
+			.*6: R_TOC	asym4094-.*
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-dso.dnd b/ld/testsuite/ld-powerpc/aix-weak-1-dso-32.dnd
similarity index 76%
rename from ld/testsuite/ld-powerpc/aix-weak-1-dso.dnd
rename to ld/testsuite/ld-powerpc/aix-weak-1-dso-32.dnd
index 3105fa3286..a5f3fc52fa 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-1-dso.dnd
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-dso-32.dnd
@@ -1,17 +1,17 @@
 # Comments are (aix-weak-1a.s type) wins over/loses to (aix-weak-1b.s type)
 # (strong common) loses to (strong data)
-0*10000010 D a
+20000110 D a
 # (strong common) wins over (weak data)
-0*10000020 B b
+20000120 B b
 # (strong data) wins over (strong common)
-0*10000000 D c
+20000100 D c
 # (weak data) loses to (strong common)
-0*10000028 B d
+20000128 B d
 # (weak common) loses to (strong data)
-0*10000018 D e
+20000118 D e
 # (weak common) wins over (weak data)
-0*10000024 W f
+20000124 W f
 # (strong data) wins over (weak common)
-0*10000008 D g
+20000108 D g
 # (weak data) wins over (weak common)
-0*1000000c W h
+2000010c W h
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-dso-32.hd b/ld/testsuite/ld-powerpc/aix-weak-1-dso-32.hd
new file mode 100644
index 0000000000..9063a29c91
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-dso-32.hd
@@ -0,0 +1,12 @@
+.*
+
+Sections:
+Idx Name * Size * VMA * LMA * File off *Algn
+ *0 \.text * 0+00 * 10000100 * 10000100 * [^ ]+ * 2\*\*2
+ *ALLOC, LOAD, CODE
+ *1 \.data * 0+20 * 20000100 * 20000100 * [^ ]+ * 2\*\*3
+ *CONTENTS, ALLOC, LOAD, DATA
+# Should only have 3 three common symbols.
+ *2 \.bss  * 0+0c * 20000120 * 20000120 * [^ ]+ * 2\*\*3
+ *ALLOC
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-dso.nd b/ld/testsuite/ld-powerpc/aix-weak-1-dso-32.nd
similarity index 62%
rename from ld/testsuite/ld-powerpc/aix-weak-1-dso.nd
rename to ld/testsuite/ld-powerpc/aix-weak-1-dso-32.nd
index 3289e25781..33681b3060 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-1-dso.nd
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-dso-32.nd
@@ -1,25 +1,25 @@
 # Comments are (aix-weak-1a.s type) wins over/loses to (aix-weak-1b.s type)
 # (strong common) loses to (strong data)
-0*10000010 d a
-0*10000010 D a
+20000110 d a
+20000110 D a
 # (strong common) wins over (weak data)
-0*10000020 B b
-0*10000014 d b
+20000120 B b
+20000114 d b
 # (strong data) wins over (strong common)
-0*10000000 d c
-0*10000000 D c
+20000100 d c
+20000100 D c
 # (weak data) loses to (strong common)
-0*10000004 d d
-0*10000028 B d
+20000104 d d
+20000128 B d
 # (weak common) loses to (strong data)
-0*10000018 d e
-0*10000018 D e
+20000118 d e
+20000118 D e
 # (weak common) wins over (weak data)
-0*10000024 W f
-0*1000001c d f
+20000124 W f
+2000011c d f
 # (strong data) wins over (weak common)
-0*10000008 d g
-0*10000008 D g
+20000108 d g
+20000108 D g
 # (weak data) wins over (weak common)
-0*1000000c d h
-0*1000000c W h
+2000010c d h
+2000010c W h
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso.dnd b/ld/testsuite/ld-powerpc/aix-weak-1-dso-64.dnd
similarity index 76%
rename from ld/testsuite/ld-powerpc/aix-weak-1-gcdso.dnd
rename to ld/testsuite/ld-powerpc/aix-weak-1-dso-64.dnd
index ba82e271d1..61f6ce520b 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso.dnd
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-dso-64.dnd
@@ -1,17 +1,17 @@
 # Comments are (aix-weak-1a.s type) wins over/loses to (aix-weak-1b.s type)
 # (strong common) loses to (strong data)
-0*1000000c D a
+0*200001d0 D a
 # (strong common) wins over (weak data)
-0*10000018 B b
+0*200001e0 B b
 # (strong data) wins over (strong common)
-0*10000000 D c
+0*200001c0 D c
 # (weak data) loses to (strong common)
-0*10000020 B d
+0*200001e8 B d
 # (weak common) loses to (strong data)
-0*10000010 D e
+0*200001d8 D e
 # (weak common) wins over (weak data)
-0*1000001c W f
+0*200001e4 W f
 # (strong data) wins over (weak common)
-0*10000004 D g
+0*200001c8 D g
 # (weak data) wins over (weak common)
-0*10000008 W h
+0*200001cc W h
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-dso-64.hd b/ld/testsuite/ld-powerpc/aix-weak-1-dso-64.hd
new file mode 100644
index 0000000000..c2519e72c0
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-dso-64.hd
@@ -0,0 +1,12 @@
+.*
+
+Sections:
+Idx Name * Size * VMA * LMA * File off *Algn
+ *0 \.text * 0+00 * 0*100001c0 * 0*100001c0 * [^ ]+ * 2\*\*2
+ *ALLOC, LOAD, CODE
+ *1 \.data * 0+20 * 0*200001c0 * 0*200001c0 * [^ ]+ * 2\*\*3
+ *CONTENTS, ALLOC, LOAD, DATA
+# Should only have 3 three common symbols.
+ *2 \.bss  * 0+0c * 0*200001e0 * 0*200001e0 * [^ ]+ * 2\*\*3
+ *ALLOC
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-dso-64.nd b/ld/testsuite/ld-powerpc/aix-weak-1-dso-64.nd
new file mode 100644
index 0000000000..f263e1fcb4
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-dso-64.nd
@@ -0,0 +1,25 @@
+# Comments are (aix-weak-1a.s type) wins over/loses to (aix-weak-1b.s type)
+# (strong common) loses to (strong data)
+0*200001d0 d a
+0*200001d0 D a
+# (strong common) wins over (weak data)
+0*200001e0 B b
+0*200001d4 d b
+# (strong data) wins over (strong common)
+0*200001c0 d c
+0*200001c0 D c
+# (weak data) loses to (strong common)
+0*200001c4 d d
+0*200001e8 B d
+# (weak common) loses to (strong data)
+0*200001d8 d e
+0*200001d8 D e
+# (weak common) wins over (weak data)
+0*200001e4 W f
+0*200001dc d f
+# (strong data) wins over (weak common)
+0*200001c8 d g
+0*200001c8 D g
+# (weak data) wins over (weak common)
+0*200001cc d h
+0*200001cc W h
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-dso.hd b/ld/testsuite/ld-powerpc/aix-weak-1-dso.hd
deleted file mode 100644
index 7368a5a2d9..0000000000
--- a/ld/testsuite/ld-powerpc/aix-weak-1-dso.hd
+++ /dev/null
@@ -1,12 +0,0 @@
-.*
-
-Sections:
-Idx Name * Size * VMA * LMA * File off *Algn
- *0 \.text * 0+00 * 0*10000000 * 0*10000000 * [^ ]+ * 2\*\*2
- *ALLOC, LOAD, CODE
- *1 \.data * 0+20 * 0*10000000 * 0*10000000 * [^ ]+ * 2\*\*3
- *CONTENTS, ALLOC, LOAD, DATA
-# Should only have 3 three common symbols.
- *2 \.bss  * 0+0c * 0*10000020 * 0*10000020 * [^ ]+ * 2\*\*3
- *ALLOC
-#pass
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso.nd b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.dnd
similarity index 66%
rename from ld/testsuite/ld-powerpc/aix-weak-1-gcdso.nd
rename to ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.dnd
index d8d9a78681..48ca600361 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso.nd
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.dnd
@@ -1,22 +1,17 @@
 # Comments are (aix-weak-1a.s type) wins over/loses to (aix-weak-1b.s type)
 # (strong common) loses to (strong data)
-0*1000000c d a
-0*1000000c D a
+2000010c D a
 # (strong common) wins over (weak data)
-0*10000018 B b
+20000118 B b
 # (strong data) wins over (strong common)
-0*10000000 d c
-0*10000000 D c
+20000100 D c
 # (weak data) loses to (strong common)
-0*10000020 B d
+20000120 B d
 # (weak common) loses to (strong data)
-0*10000010 d e
-0*10000010 D e
+20000110 D e
 # (weak common) wins over (weak data)
-0*1000001c W f
+2000011c W f
 # (strong data) wins over (weak common)
-0*10000004 d g
-0*10000004 D g
+20000104 D g
 # (weak data) wins over (weak common)
-0*10000008 d h
-0*10000008 W h
+20000108 W h
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.hd b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.hd
new file mode 100644
index 0000000000..3ec3b0129b
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.hd
@@ -0,0 +1,12 @@
+.*
+
+Sections:
+Idx Name * Size * VMA * LMA * File off *Algn
+ *0 \.text * 0+00 * 10000100 * 10000100 * [^ ]+ * 2\*\*2
+ *ALLOC, LOAD, CODE
+ *1 \.data * 0+18 * 20000100 * 20000100 * [^ ]+ * 2\*\*3
+ *CONTENTS, ALLOC, LOAD, DATA
+# Should only have 3 three common symbols.
+ *2 \.bss  * 0+0c * 20000118 * 20000118 * [^ ]+ * 2\*\*3
+ *ALLOC
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.nd b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.nd
new file mode 100644
index 0000000000..7bcace620c
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-32.nd
@@ -0,0 +1,22 @@
+# Comments are (aix-weak-1a.s type) wins over/loses to (aix-weak-1b.s type)
+# (strong common) loses to (strong data)
+2000010c d a
+2000010c D a
+# (strong common) wins over (weak data)
+20000118 B b
+# (strong data) wins over (strong common)
+20000100 d c
+20000100 D c
+# (weak data) loses to (strong common)
+20000120 B d
+# (weak common) loses to (strong data)
+20000110 d e
+20000110 D e
+# (weak common) wins over (weak data)
+2000011c W f
+# (strong data) wins over (weak common)
+20000104 d g
+20000104 D g
+# (weak data) wins over (weak common)
+20000108 d h
+20000108 W h
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.dnd b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.dnd
new file mode 100644
index 0000000000..9d9b5c55e1
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.dnd
@@ -0,0 +1,17 @@
+# Comments are (aix-weak-1a.s type) wins over/loses to (aix-weak-1b.s type)
+# (strong common) loses to (strong data)
+0*200001cc D a
+# (strong common) wins over (weak data)
+0*200001d8 B b
+# (strong data) wins over (strong common)
+0*200001c0 D c
+# (weak data) loses to (strong common)
+0*200001e0 B d
+# (weak common) loses to (strong data)
+0*200001d0 D e
+# (weak common) wins over (weak data)
+0*200001dc W f
+# (strong data) wins over (weak common)
+0*200001c4 D g
+# (weak data) wins over (weak common)
+0*200001c8 W h
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.hd b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.hd
new file mode 100644
index 0000000000..234febff80
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.hd
@@ -0,0 +1,12 @@
+.*
+
+Sections:
+Idx Name * Size * VMA * LMA * File off *Algn
+ *0 \.text * 0+00 * 0*100001c0 * 0*100001c0 * [^ ]+ * 2\*\*2
+ *ALLOC, LOAD, CODE
+ *1 \.data * 0+18 * 0*200001c0 * 0*200001c0 * [^ ]+ * 2\*\*3
+ *CONTENTS, ALLOC, LOAD, DATA
+# Should only have 3 three common symbols.
+ *2 \.bss  * 0+0c * 0*200001d8 * 0*200001d8 * [^ ]+ * 2\*\*3
+ *ALLOC
+#pass
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.nd b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.nd
new file mode 100644
index 0000000000..3f5ad26bf7
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso-64.nd
@@ -0,0 +1,22 @@
+# Comments are (aix-weak-1a.s type) wins over/loses to (aix-weak-1b.s type)
+# (strong common) loses to (strong data)
+0*200001cc d a
+0*200001cc D a
+# (strong common) wins over (weak data)
+0*200001d8 B b
+# (strong data) wins over (strong common)
+0*200001c0 d c
+0*200001c0 D c
+# (weak data) loses to (strong common)
+0*200001e0 B d
+# (weak common) loses to (strong data)
+0*200001d0 d e
+0*200001d0 D e
+# (weak common) wins over (weak data)
+0*200001dc W f
+# (strong data) wins over (weak common)
+0*200001c4 d g
+0*200001c4 D g
+# (weak data) wins over (weak common)
+0*200001c8 d h
+0*200001c8 W h
diff --git a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso.hd b/ld/testsuite/ld-powerpc/aix-weak-1-gcdso.hd
deleted file mode 100644
index 6afe1bef2f..0000000000
--- a/ld/testsuite/ld-powerpc/aix-weak-1-gcdso.hd
+++ /dev/null
@@ -1,12 +0,0 @@
-.*
-
-Sections:
-Idx Name * Size * VMA * LMA * File off *Algn
- *0 \.text * 0+00 * 0*10000000 * 0*10000000 * [^ ]+ * 2\*\*2
- *ALLOC, LOAD, CODE
- *1 \.data * 0+18 * 0*10000000 * 0*10000000 * [^ ]+ * 2\*\*3
- *CONTENTS, ALLOC, LOAD, DATA
-# Should only have 3 three common symbols.
- *2 \.bss  * 0+0c * 0*10000018 * 0*10000018 * [^ ]+ * 2\*\*3
- *ALLOC
-#pass
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2a-32.nd b/ld/testsuite/ld-powerpc/aix-weak-2a-32.nd
new file mode 100644
index 0000000000..8ed5b05abb
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-2a-32.nd
@@ -0,0 +1,8 @@
+cccc1111 W c1
+cccc2222 W c2
+cccc3333 A c3
+cccc4444 A c4
+ffff1111 W d1
+ffff2222 W d2
+20000100 D d3
+20000104 D d4
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2a.nd b/ld/testsuite/ld-powerpc/aix-weak-2a-64.nd
similarity index 75%
rename from ld/testsuite/ld-powerpc/aix-weak-2a.nd
rename to ld/testsuite/ld-powerpc/aix-weak-2a-64.nd
index 2c2ea1c176..f3be6b4048 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-2a.nd
+++ b/ld/testsuite/ld-powerpc/aix-weak-2a-64.nd
@@ -4,5 +4,5 @@
 0*cccc4444 A c4
 0*ffff1111 W d1
 0*ffff2222 W d2
-0*10000000 D d3
-0*10000004 D d4
+0*200001c0 D d3
+0*200001c4 D d4
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2b-32.nd b/ld/testsuite/ld-powerpc/aix-weak-2b-32.nd
new file mode 100644
index 0000000000..0c5eebaeeb
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-2b-32.nd
@@ -0,0 +1,8 @@
+dddd1111 A c1
+dddd2222 W c2
+dddd3333 A c3
+dddd4444 W c4
+20000100 D d1
+eeee2222 W d2
+20000104 D d3
+eeee4444 W d4
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2b.nd b/ld/testsuite/ld-powerpc/aix-weak-2b-64.nd
similarity index 75%
rename from ld/testsuite/ld-powerpc/aix-weak-2b.nd
rename to ld/testsuite/ld-powerpc/aix-weak-2b-64.nd
index d54b35bcfe..7ada0155a3 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-2b.nd
+++ b/ld/testsuite/ld-powerpc/aix-weak-2b-64.nd
@@ -2,7 +2,7 @@
 0*dddd2222 W c2
 0*dddd3333 A c3
 0*dddd4444 W c4
-0*10000000 D d1
+0*200001c0 D d1
 0*eeee2222 W d2
-0*10000004 D d3
+0*200001c4 D d3
 0*eeee4444 W d4
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2c-32.nd b/ld/testsuite/ld-powerpc/aix-weak-2c-32.nd
new file mode 100644
index 0000000000..5a462072aa
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-2c-32.nd
@@ -0,0 +1,10 @@
+dddd1111 C c1
+cccc2222 C c2
+cccc3333 C c3
+cccc4444 C c4
+         U d1
+ffff2222 C d2
+         U d3
+         U d4
+20000100 d foo
+20000100 D foo
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2c-32.od b/ld/testsuite/ld-powerpc/aix-weak-2c-32.od
new file mode 100644
index 0000000000..f05ac6a305
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-2c-32.od
@@ -0,0 +1,13 @@
+
+.*
+
+DYNAMIC RELOCATION RECORDS
+OFFSET * TYPE * VALUE 
+20000110 R_POS * d1
+20000118 R_POS * d3
+2000011c R_POS * d4
+
+
+Contents of section \.data:
+ 20000100 dddd1111 cccc2222 cccc3333 cccc4444  .*
+ 20000110 00000000 ffff2222 00000000 00000000  .*
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2c.nd b/ld/testsuite/ld-powerpc/aix-weak-2c-64.nd
similarity index 79%
rename from ld/testsuite/ld-powerpc/aix-weak-2c.nd
rename to ld/testsuite/ld-powerpc/aix-weak-2c-64.nd
index d42034b351..679eab1d2c 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-2c.nd
+++ b/ld/testsuite/ld-powerpc/aix-weak-2c-64.nd
@@ -6,5 +6,5 @@
 0*ffff2222 C d2
  *         U d3
  *         U d4
-0*10000000 d foo
-0*10000000 D foo
+0*200001c0 d foo
+0*200001c0 D foo
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2c-64.od b/ld/testsuite/ld-powerpc/aix-weak-2c-64.od
new file mode 100644
index 0000000000..40e1c7c972
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/aix-weak-2c-64.od
@@ -0,0 +1,13 @@
+
+.*
+
+DYNAMIC RELOCATION RECORDS
+OFFSET * TYPE * VALUE 
+0*200001d0 R_POS * d1
+0*200001d8 R_POS * d3
+0*200001dc R_POS * d4
+
+
+Contents of section \.data:
+ 0*200001c0 dddd1111 cccc2222 cccc3333 cccc4444  .*
+ 0*200001d0 00000000 ffff2222 00000000 00000000  .*
diff --git a/ld/testsuite/ld-powerpc/aix-weak-2c.od b/ld/testsuite/ld-powerpc/aix-weak-2c.od
deleted file mode 100644
index 272c80e345..0000000000
--- a/ld/testsuite/ld-powerpc/aix-weak-2c.od
+++ /dev/null
@@ -1,13 +0,0 @@
-
-.*
-
-DYNAMIC RELOCATION RECORDS
-OFFSET * TYPE * VALUE 
-0*10000010 R_POS * d1
-0*10000018 R_POS * d3
-0*1000001c R_POS * d4
-
-
-Contents of section \.data:
- 0*10000000 dddd1111 cccc2222 cccc3333 cccc4444  .*
- 0*10000010 00000000 ffff2222 00000000 00000000  .*
diff --git a/ld/testsuite/ld-powerpc/aix-weak-3-32.dd b/ld/testsuite/ld-powerpc/aix-weak-3-32.dd
index c52b735afe..cabc8a2a52 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-3-32.dd
+++ b/ld/testsuite/ld-powerpc/aix-weak-3-32.dd
@@ -4,21 +4,21 @@
 
 Disassembly of section \.data:
 
-20000000 <x1>:
-20000000:	00 00 01 02 	.*
+20000120 <x1>:
+20000120:	00 00 01 02 	.*
 
-20000004 <x2>:
-20000004:	00 00 03 04 	.*
+20000124 <x2>:
+20000124:	00 00 03 04 	.*
 
-20000008 <TOC>:
-20000008:	20 00 00 00 	.*
-			20000008: R_POS	x1\+.*
+20000128 <TOC>:
+20000128:	20 00 01 20 	.*
+			.*: R_POS	x1-.*
 
-2000000c <x2>:
-2000000c:	20 00 00 04 	.*
-			2000000c: R_POS	x2\+.*
+2000012c <x2>:
+2000012c:	20 00 01 24 	.*
+			.*: R_POS	x2-.*
 
-20000010 <x3>:
-20000010:	00 00 00 00 	.*
-			20000010: R_POS	x3
-20000014:	00 00 00 00 	.*
+20000130 <x3>:
+20000130:	00 00 00 00 	.*
+			.*: R_POS	x3
+20000134:	00 00 00 00 	.*
diff --git a/ld/testsuite/ld-powerpc/aix-weak-3-64.dd b/ld/testsuite/ld-powerpc/aix-weak-3-64.dd
index 7c10f6c76b..ba1a109e3f 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-3-64.dd
+++ b/ld/testsuite/ld-powerpc/aix-weak-3-64.dd
@@ -4,23 +4,23 @@
 
 Disassembly of section \.data:
 
-0000000020000000 <x1>:
-    20000000:	00 00 01 02 	.*
-
-0000000020000004 <x2>:
-    20000004:	00 00 03 04 	.*
-
-0000000020000008 <TOC>:
-    20000008:	00 00 00 00 	.*
-			20000008: R_POS_64	x1\+.*
-    2000000c:	20 00 00 00 	.*
-
-0000000020000010 <x2>:
-    20000010:	00 00 00 00 	.*
-			20000010: R_POS_64	x2\+.*
-    20000014:	20 00 00 04 	.*
-
-0000000020000018 <x3>:
-    20000018:	00 00 00 00 	.*
-			20000018: R_POS_64	x3
-    2000001c:	00 00 00 00 	.*
+00000000200001e0 <x1>:
+    200001e0:	00 00 01 02 	.*
+
+00000000200001e4 <x2>:
+    200001e4:	00 00 03 04 	.*
+
+00000000200001e8 <TOC>:
+    200001e8:	00 00 00 00 	.*
+			.*: R_POS_64	x1-.*
+    200001ec:	20 00 01 e0 	.*
+
+00000000200001f0 <x2>:
+    200001f0:	00 00 00 00 	.*
+			.*: R_POS_64	x2-.*
+    200001f4:	20 00 01 e4 	.*
+
+00000000200001f8 <x3>:
+    200001f8:	00 00 00 00 	.*
+			.*: R_POS_64	x3
+    200001fc:	00 00 00 00 	.*
diff --git a/ld/testsuite/ld-powerpc/aix52.exp b/ld/testsuite/ld-powerpc/aix52.exp
index f47da676cb..2c001128a7 100644
--- a/ld/testsuite/ld-powerpc/aix52.exp
+++ b/ld/testsuite/ld-powerpc/aix52.exp
@@ -19,8 +19,8 @@
 # MA 02110-1301, USA.
 #
 
-if { ![istarget "powerpc*-*-aix\[5-9\]*"]
-     || [istarget "powerpc*-*-aix5.\[01\]*"] } {
+if { ![istarget "powerpc*-*-aix\[5-9\]*"] && ![istarget "rs6000-*-aix\[5-9\]*"]
+     || [istarget "*-*-aix5.\[01\]*"] } {
     return
 }
 
@@ -72,13 +72,14 @@ set aix52tests {
     {"Absolute branch test 1"
      "-shared -bI:aix-abs-branch-1.im -bE:aix-abs-branch-1.ex"
      "" {aix-abs-branch-1.s}
-     {{objdump {-dR} aix-abs-branch-1.dd} {nm {} aix-abs-branch-1.nd}}
+     {{objdump {-dR} aix-abs-branch-1.dd} {nm {} aix-abs-branch-1-SIZE.nd}}
      "aix-abs-branch-1.so"}
 
     {"Relocations against absolute symbols 1"
      "-shared -bI:aix-abs-reloc-1.im -bE:aix-abs-reloc-1.ex"
      {} {aix-abs-reloc-1.s}
-     {{objdump -sRj.data aix-abs-reloc-1.od} {nm {} aix-abs-reloc-1.nd}}
+     {{objdump -sRj.data aix-abs-reloc-1-SIZE.od}
+      {nm {} aix-abs-reloc-1-SIZE.nd}}
      "aix-abs-reloc-1.so"}
 
     {"Core sections test 1" "-shared -bE:aix-core-sec-1.ex"
@@ -104,8 +105,10 @@ set aix52tests {
     {"Duplicate symbol check 1 (shared)"
      "-shared --allow-multiple-definition -bI:aix-no-dup-syms-1.im -bE:aix-no-dup-syms-1.ex"
      "" {aix-no-dup-syms-1a.s aix-no-dup-syms-1b.s}
-     {{nm {} aix-no-dup-syms-1-dso.nd} {objdump -r aix-no-dup-syms-1-dso.rd}
-      {nm -D aix-no-dup-syms-1-dso.dnd} {objdump -R aix-no-dup-syms-1-dso.drd}}
+     {{nm {} aix-no-dup-syms-1-dso-SIZE.nd}
+      {objdump -r aix-no-dup-syms-1-dso-SIZE.rd}
+      {nm -D aix-no-dup-syms-1-dso-SIZE.dnd}
+      {objdump -R aix-no-dup-syms-1-dso-SIZE.drd}}
      "aix-no-dup-syms-1.so"}
 
     {"Export test 1 (archive)" ""
@@ -119,24 +122,24 @@ set aix52tests {
     {"Export test 1 (-bexpall)"
      "-shared -bexpall tmpdir/aix-export-1.o -Ltmpdir -laix-export-1"
      "" {}
-     {{objdump -dj.data aix-export-1-all.dd}}
+     {{objdump -dj.data aix-export-1-all-SIZE.dd}}
      "aix-export-1-all.so"}
 
     {"Export test 1 (-bexpfull)"
      "-shared -bexpfull tmpdir/aix-export-1.o -Ltmpdir -laix-export-1"
      "" {}
-     {{objdump -dj.data aix-export-1-full.dd}}
+     {{objdump -dj.data aix-export-1-full-SIZE.dd}}
      "aix-export-1-full.so"}
 
     {"Export test 2" "-shared -bexpall"
      {} {aix-export-2.s}
-     {{nm -D aix-export-2.nd}} "aix-export-2.so"}
+     {{nm -D aix-export-2-SIZE.nd}} "aix-export-2.so"}
 
     {"Garbage collection test 1"
      "-shared -binitfini:init_function:fini_function -bE:aix-gc-1.ex"
      "" {aix-gc-1.s}
      {{objdump {-dz -j.text -j.data} aix-gc-1-SIZE.dd}
-      {nm {} aix-gc-1.nd}}
+      {nm {} aix-gc-1-SIZE.nd}}
      "aix-gc-1.so"}
 
     {"Glink test 1"
@@ -179,17 +182,17 @@ set aix52tests {
     {"Glink test 3 (main test)"
      "-bnoautoimp tmpdir/aix-glink-3b.so tmpdir/aix-glink-3a.so"
      "" {aix-glink-3.s}
-     {{objdump -d aix-glink-3.dd}}
+     {{objdump -d aix-glink-3-SIZE.dd}}
      "aix-glink-3"}
 
     {"Line number test 1 (no discards)" "-e.main"
      "" {aix-lineno-1.s}
-     {{objdump -dS aix-lineno-1a.dd} {nm {} aix-lineno-1a.nd}}
+     {{objdump -dS aix-lineno-1a-SIZE.dd} {nm {} aix-lineno-1a-SIZE.nd}}
      "aix-lineno-1a.exe"}
 
     {"Line number test 1 (discard locals)" "-e.main -x"
      "" {aix-lineno-1.s}
-     {{objdump -dS aix-lineno-1b.dd} {nm {} aix-lineno-1b.nd}}
+     {{objdump -dS aix-lineno-1b-SIZE.dd} {nm {} aix-lineno-1b-SIZE.nd}}
      "aix-lineno-1b.exe"}
 
     {"Relocatable test 1" "-r"
@@ -208,30 +211,30 @@ set aix52tests {
 
     {"Weak test 1 (shared, nogc)" "-shared -bE:aix-weak-1.ex -bnogc"
      "" {aix-weak-1a.s aix-weak-1b.s}
-     {{nm {} aix-weak-1-dso.nd} {objdump -h aix-weak-1-dso.hd}
-      {nm -D aix-weak-1-dso.dnd}}
+     {{nm {} aix-weak-1-dso-SIZE.nd} {objdump -h aix-weak-1-dso-SIZE.hd}
+      {nm -D aix-weak-1-dso-SIZE.dnd}}
      "aix-weak-1-nogc.so"}
 
     {"Weak test 1 (shared, gc)" "-shared -bE:aix-weak-1.ex"
      "" {aix-weak-1a.s aix-weak-1b.s}
-     {{nm {} aix-weak-1-gcdso.nd} {objdump -h aix-weak-1-gcdso.hd}
-      {nm -D aix-weak-1-gcdso.dnd}}
+     {{nm {} aix-weak-1-gcdso-SIZE.nd} {objdump -h aix-weak-1-gcdso-SIZE.hd}
+      {nm -D aix-weak-1-gcdso-SIZE.dnd}}
      "aix-weak-1-gc.so"}
 
     {"Weak test 2 (library 1)" "-shared -bE:aix-weak-2a.ex"
      "" {aix-weak-2a.s}
-     {{nm -D aix-weak-2a.nd}}
+     {{nm -D aix-weak-2a-SIZE.nd}}
      "aix-weak-2a.so"}
 
     {"Weak test 2 (library 2)" "-shared -bE:aix-weak-2a.ex"
      "" {aix-weak-2b.s}
-     {{nm -D aix-weak-2b.nd}}
+     {{nm -D aix-weak-2b-SIZE.nd}}
      "aix-weak-2b.so"}
 
     {"Weak test 2 (main library)"
      "-shared -bE:aix-weak-2c.ex tmpdir/aix-weak-2a.so tmpdir/aix-weak-2b.so"
      "" {aix-weak-2c.s}
-     {{nm {} aix-weak-2c.nd} {objdump {-sj.data -R} aix-weak-2c.od}}
+     {{nm {} aix-weak-2c-SIZE.nd} {objdump {-sj.data -R} aix-weak-2c-SIZE.od}}
      "aix-weak-2c.so"}
 
     {"Weak test 3 (library)" "-shared -bE:aix-weak-3a.ex"
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
index 8d851a94b7..69519af25d 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -411,7 +411,7 @@ proc ld_link_defsyms {} {
 proc ar_simple_create { ar aropts target objects } {
     remote_file host delete $target
 
-    set exec_output [run_host_cmd "$ar" "-rc $aropts $target $objects"]
+    set exec_output [run_host_cmd "$ar" "$aropts rc $target $objects"]
     set exec_output [prune_warnings $exec_output]
 
     if [string match "" $exec_output] then {

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list