public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* fallout from decimal sh_info readelf patch
@ 2004-05-05 13:33 Alan Modra
  2004-05-05 21:51 ` John Paul Wallington
  0 siblings, 1 reply; 19+ messages in thread
From: Alan Modra @ 2004-05-05 13:33 UTC (permalink / raw)
  To: binutils

	* ld-powerpc/tlsexe.r: Update sh_info to decimal.
	* ld-powerpc/tlsexe32.r: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlsso32.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.

Index: ld/testsuite/ld-powerpc/tlsexe.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlsexe.r,v
retrieving revision 1.6
diff -u -p -r1.6 tlsexe.r
--- ld/testsuite/ld-powerpc/tlsexe.r	26 Mar 2004 06:14:18 -0000	1.6
+++ ld/testsuite/ld-powerpc/tlsexe.r	5 May 2004 13:24:45 -0000
@@ -15,7 +15,7 @@ Section Headers:
  +\[ 3\] \.dynsym +DYNSYM +0+100001e8 0+1e8 0+f0 18 +A +4 +1 +8
  +\[ 4\] \.dynstr +STRTAB +0+100002d8 0+2d8 0+50 0+ +A +0 +0 +1
  +\[ 5\] \.rela\.dyn +RELA +0+10000328 0+328 0+48 18 +A +3 +0 +8
- +\[ 6\] \.rela\.plt +RELA +0+10000370 0+370 0+18 18 +A +3 +f +8
+ +\[ 6\] \.rela\.plt +RELA +0+10000370 0+370 0+18 18 +A +3 +15 +8
  +\[ 7\] \.text +PROGBITS +0+10000388 0+388 0+fc 0+ +AX +0 +0 +4
  +\[ 8\] \.data +PROGBITS +0+10010488 0+488 0+ 0+ +WA +0 +0 +1
  +\[ 9\] \.branch_lt +PROGBITS +0+10010488 0+488 0+ 0+ +WA +0 +0 +8
@@ -27,7 +27,7 @@ Section Headers:
  +\[15\] \.plt +NOBITS +0+10010640 0+640 0+30 18 +WA +0 +0 +8
  +\[16\] \.bss +NOBITS +0+10010670 0+640 0+ 0+ +WA +0 +0 +1
  +\[17\] \.shstrtab +STRTAB +0+ 0+640 0+8a 0+ +0 +0 +1
- +\[18\] \.symtab +SYMTAB +0+ 0+bd0 0+408 18 +19 +1b +8
+ +\[18\] \.symtab +SYMTAB +0+ 0+bd0 0+408 18 +19 +27 +8
  +\[19\] \.strtab +STRTAB +0+ 0+fd8 0+86 0+ +0 +0 +1
 #...
 
Index: ld/testsuite/ld-powerpc/tlsexe32.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlsexe32.r,v
retrieving revision 1.1
diff -u -p -r1.1 tlsexe32.r
--- ld/testsuite/ld-powerpc/tlsexe32.r	18 Feb 2003 06:11:32 -0000	1.1
+++ ld/testsuite/ld-powerpc/tlsexe32.r	5 May 2004 13:24:45 -0000
@@ -15,7 +15,7 @@ Section Headers:
  +\[ 3\] \.dynsym +DYNSYM +01800164 000164 0000a0 10 +A +4 +1 +4
  +\[ 4\] \.dynstr +STRTAB +01800204 000204 000064 00 +A +0 +0 +1
  +\[ 5\] \.rela\.dyn +RELA +01800268 000268 000018 0c +A +3 +0 +4
- +\[ 6\] \.rela\.plt +RELA +01800280 000280 00000c 0c +A +3 +10 +4
+ +\[ 6\] \.rela\.plt +RELA +01800280 000280 00000c 0c +A +3 +16 +4
  +\[ 7\] \.text +PROGBITS +0180028c 00028c 000070 00 +AX +0 +0 +1
  +\[ 8\] \.sdata2 +PROGBITS +018002fc 0002fc 000000 00 +A +0 +0 +4
  +\[ 9\] \.data +PROGBITS +018102fc 0002fc 000000 00 +WA +0 +0 +1
@@ -28,7 +28,7 @@ Section Headers:
  +\[16\] \.plt +NOBITS +018103d4 0003d4 000054 00 WAX +0 +0 +4
  +\[17\] \.bss +NOBITS +01810428 0003d4 000000 00 +WA +0 +0 +1
  +\[18\] \.shstrtab +STRTAB +00000000 0003d4 00008e 00 +0 +0 +1
- +\[19\] \.symtab +SYMTAB +00000000 0007ac 0002f0 10 +20 +1c +4
+ +\[19\] \.symtab +SYMTAB +00000000 0007ac 0002f0 10 +20 +28 +4
  +\[20\] \.strtab +STRTAB +00000000 000a9c 0000a9 00 +0 +0 +1
 #...
 
Index: ld/testsuite/ld-powerpc/tlsexetoc.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlsexetoc.r,v
retrieving revision 1.6
diff -u -p -r1.6 tlsexetoc.r
--- ld/testsuite/ld-powerpc/tlsexetoc.r	26 Mar 2004 06:14:18 -0000	1.6
+++ ld/testsuite/ld-powerpc/tlsexetoc.r	5 May 2004 13:24:45 -0000
@@ -15,7 +15,7 @@ Section Headers:
  +\[ 3\] \.dynsym +DYNSYM +0+100001e0 0+1e0 0+d8 18 +A +4 +1 +8
  +\[ 4\] \.dynstr +STRTAB +0+100002b8 0+2b8 0+4c 0+ +A +0 +0 +1
  +\[ 5\] \.rela\.dyn +RELA +0+10000308 0+308 0+30 18 +A +3 +0 +8
- +\[ 6\] \.rela\.plt +RELA +0+10000338 0+338 0+18 18 +A +3 +f +8
+ +\[ 6\] \.rela\.plt +RELA +0+10000338 0+338 0+18 18 +A +3 +15 +8
  +\[ 7\] \.text +PROGBITS +0+10000350 0+350 0+bc 0+ +AX +0 +0 +4
  +\[ 8\] \.data +PROGBITS +0+10010410 0+410 0+ 0+ +WA +0 +0 +1
  +\[ 9\] \.branch_lt +PROGBITS +0+10010410 0+410 0+ 0+ +WA +0 +0 +8
@@ -27,7 +27,7 @@ Section Headers:
  +\[15\] \.plt +NOBITS +0+100105f0 0+5f0 0+30 18 +WA +0 +0 +8
  +\[16\] \.bss +NOBITS +0+10010620 0+5f0 0+ 0+ +WA +0 +0 +1
  +\[17\] \.shstrtab +STRTAB +0+ 0+5f0 0+8a 0+ +0 +0 +1
- +\[18\] \.symtab +SYMTAB +0+ 0+b80 0+420 18 +19 +1c +8
+ +\[18\] \.symtab +SYMTAB +0+ 0+b80 0+420 18 +19 +28 +8
  +\[19\] \.strtab +STRTAB +0+ 0+fa0 0+8c 0+ +0 +0 +1
 #...
 
Index: ld/testsuite/ld-powerpc/tlsso.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlsso.r,v
retrieving revision 1.5
diff -u -p -r1.5 tlsso.r
--- ld/testsuite/ld-powerpc/tlsso.r	29 Jul 2003 06:53:41 -0000	1.5
+++ ld/testsuite/ld-powerpc/tlsso.r	5 May 2004 13:24:45 -0000
@@ -10,10 +10,10 @@ Section Headers:
  +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
  +\[ 1\] \.hash +HASH +0+120 0+120 0+c8 04 +A +2 +0 +8
- +\[ 2\] \.dynsym +DYNSYM +0+1e8 0+1e8 0+2e8 18 +A +3 +10 +8
+ +\[ 2\] \.dynsym +DYNSYM +0+1e8 0+1e8 0+2e8 18 +A +3 +16 +8
  +\[ 3\] \.dynstr +STRTAB +0+4d0 0+4d0 0+53 0+ +A +0 +0 +1
  +\[ 4\] \.rela\.dyn +RELA +0+528 0+528 0+180 18 +A +2 +0 +8
- +\[ 5\] \.rela\.plt +RELA +0+6a8 0+6a8 0+18 18 +A +2 +e +8
+ +\[ 5\] \.rela\.plt +RELA +0+6a8 0+6a8 0+18 18 +A +2 +14 +8
  +\[ 6\] \.text +PROGBITS +0+6c0 0+6c0 0+fc 0+ +AX +0 +0 +4
  +\[ 7\] \.data +PROGBITS +0+107c0 0+7c0 0+ 0+ +WA +0 +0 +1
  +\[ 8\] \.branch_lt +PROGBITS +0+107c0 0+7c0 0+ 0+ +WA +0 +0 +8
@@ -25,7 +25,7 @@ Section Headers:
  +\[14\] \.plt +NOBITS +0+109a8 0+9a8 0+30 18 +WA +0 +0 +8
  +\[15\] \.bss +NOBITS +0+109d8 0+9a8 0+ 0+ +WA +0 +0 +1
  +\[16\] \.shstrtab +STRTAB +0+ 0+9a8 0+82 0+ +0 +0 +1
- +\[17\] \.symtab +SYMTAB +0+ 0+ef0 0+3f0 18 +18 +1b +8
+ +\[17\] \.symtab +SYMTAB +0+ 0+ef0 0+3f0 18 +18 +27 +8
  +\[18\] \.strtab +STRTAB +0+ 0+12e0 0+86 0+ +0 +0 +1
 #...
 
Index: ld/testsuite/ld-powerpc/tlsso32.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlsso32.r,v
retrieving revision 1.2
diff -u -p -r1.2 tlsso32.r
--- ld/testsuite/ld-powerpc/tlsso32.r	10 Mar 2003 23:25:13 -0000	1.2
+++ ld/testsuite/ld-powerpc/tlsso32.r	5 May 2004 13:24:45 -0000
@@ -10,10 +10,10 @@ Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
  +\[ 1\] \.hash +HASH +0+b4 0+b4 0+dc 04 +A +2 +0 +4
- +\[ 2\] \.dynsym +DYNSYM +0+190 0+190 0+240 10 +A +3 +11 +4
+ +\[ 2\] \.dynsym +DYNSYM +0+190 0+190 0+240 10 +A +3 +17 +4
  +\[ 3\] \.dynstr +STRTAB +0+3d0 0+3d0 0+81 0+ +A +0 +0 +1
  +\[ 4\] \.rela\.dyn +RELA +0+454 0+454 0+d8 0c +A +2 +0 +4
- +\[ 5\] \.rela\.plt +RELA +0+52c 0+52c 0+c 0c +A +2 +f +4
+ +\[ 5\] \.rela\.plt +RELA +0+52c 0+52c 0+c 0c +A +2 +15 +4
  +\[ 6\] \.text +PROGBITS +0+538 0+538 0+70 0+ +AX +0 +0 +1
  +\[ 7\] \.data +PROGBITS +0+105a8 0+5a8 0+ 0+ +WA +0 +0 +1
  +\[ 8\] \.tdata +PROGBITS +0+105a8 0+5a8 0+1c 0+ WAT +0 +0 +4
@@ -26,7 +26,7 @@ Section Headers:
  +\[15\] \.plt +NOBITS +0+10698 0+698 0+54 0+ WAX +0 +0 +4
  +\[16\] \.bss +NOBITS +0+106ec 0+698 0+ 0+ +WA +0 +0 +1
  +\[17\] \.shstrtab +STRTAB +0+ 0+698 0+86 0+ +0 +0 +1
- +\[18\] \.symtab +SYMTAB +0+ 0+a40 0+2e0 10 +19 +1b +4
+ +\[18\] \.symtab +SYMTAB +0+ 0+a40 0+2e0 10 +19 +27 +4
  +\[19\] \.strtab +STRTAB +0+ 0+d20 0+a9 0+ +0 +0 +1
 #...
 
Index: ld/testsuite/ld-powerpc/tlstocso.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlstocso.r,v
retrieving revision 1.6
diff -u -p -r1.6 tlstocso.r
--- ld/testsuite/ld-powerpc/tlstocso.r	29 Jul 2003 06:53:41 -0000	1.6
+++ ld/testsuite/ld-powerpc/tlstocso.r	5 May 2004 13:24:45 -0000
@@ -10,10 +10,10 @@ Section Headers:
  +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
  +\[ 1\] \.hash +HASH +0+120 0+120 0+c8 04 +A +2 +0 +8
- +\[ 2\] \.dynsym +DYNSYM +0+1e8 0+1e8 0+2e8 18 +A +3 +10 +8
+ +\[ 2\] \.dynsym +DYNSYM +0+1e8 0+1e8 0+2e8 18 +A +3 +16 +8
  +\[ 3\] \.dynstr +STRTAB +0+4d0 0+4d0 0+53 0+ +A +0 +0 +1
  +\[ 4\] \.rela\.dyn +RELA +0+528 0+528 0+108 18 +A +2 +0 +8
- +\[ 5\] \.rela\.plt +RELA +0+630 0+630 0+18 18 +A +2 +e +8
+ +\[ 5\] \.rela\.plt +RELA +0+630 0+630 0+18 18 +A +2 +14 +8
  +\[ 6\] \.text +PROGBITS +0+648 0+648 0+bc 0+ +AX +0 +0 +4
  +\[ 7\] \.data +PROGBITS +0+10708 0+708 0+ 0+ +WA +0 +0 +1
  +\[ 8\] \.branch_lt +PROGBITS +0+10708 0+708 0+ 0+ +WA +0 +0 +8
@@ -25,7 +25,7 @@ Section Headers:
  +\[14\] \.plt +NOBITS +0+108e8 0+8e8 0+30 18 +WA +0 +0 +8
  +\[15\] \.bss +NOBITS +0+10918 0+8e8 0+ 0+ +WA +0 +0 +1
  +\[16\] \.shstrtab +STRTAB +0+ 0+8e8 0+82 0+ +0 +0 +1
- +\[17\] \.symtab +SYMTAB +0+ 0+e30 0+408 18 +18 +1c +8
+ +\[17\] \.symtab +SYMTAB +0+ 0+e30 0+408 18 +18 +28 +8
  +\[18\] \.strtab +STRTAB +0+ 0+1238 0+8c 0+ +0 +0 +1
 #...
 

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: fallout from decimal sh_info readelf patch
  2004-05-05 13:33 fallout from decimal sh_info readelf patch Alan Modra
@ 2004-05-05 21:51 ` John Paul Wallington
  2004-05-05 22:59   ` Hans-Peter Nilsson
  0 siblings, 1 reply; 19+ messages in thread
From: John Paul Wallington @ 2004-05-05 21:51 UTC (permalink / raw)
  To: binutils

Alan Modra <amodra@bigpond.net.au> writes:

> 	* ld-powerpc/tlsexe.r: Update sh_info to decimal.
> 	* ld-powerpc/tlsexe32.r: Likewise.
> 	* ld-powerpc/tlsexetoc.r: Likewise.
> 	* ld-powerpc/tlsso.r: Likewise.
> 	* ld-powerpc/tlsso32.r: Likewise.
> 	* ld-powerpc/tlstocso.r: Likewise.

The same thing is needed for mmix:

2004-05-05  John Paul Wallington  <jpw@gnu.org>

	* ld-mmix/bspec2.d: Update sh_info to decimal.
	* ld-mmix/local1.d: Likewise.
	* ld-mmix/local3.d: Likewise.
	* ld-mmix/local5.d: Likewise.
	* ld-mmix/local7.d: Likewise.

cvs server: Diffing .
Index: bspec2.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mmix/bspec2.d,v
retrieving revision 1.2
diff -u -r1.2 bspec2.d
--- bspec2.d	19 Mar 2002 22:48:14 -0000	1.2
+++ bspec2.d	5 May 2004 21:29:42 -0000
@@ -28,7 +28,7 @@
   \[ 7\] \.shstrtab         STRTAB           0+  0+c0
        0+56  0+           0     0     1
   \[ 8\] \.symtab           SYMTAB           0+  0+398
-       0+198  0+18           9     a     8
+       0+198  0+18           9    10     8
   \[ 9\] \.strtab           STRTAB           0+  0+530
        0+32  0+           0     0     1
 Key to Flags:
Index: local1.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mmix/local1.d,v
retrieving revision 1.3
diff -u -r1.3 local1.d
--- local1.d	10 Nov 2002 09:29:07 -0000	1.3
+++ local1.d	5 May 2004 21:29:42 -0000
@@ -30,7 +30,7 @@
   \[ 6\] \.shstrtab         STRTAB           0+  0+c8
        0+45  0+           0     0     1
   \[ 7\] \.symtab           SYMTAB           0+  0+350
-       0+198  0+18           8     b     8
+       0+198  0+18           8    11     8
   \[ 8\] \.strtab           STRTAB           0+  0+4e8
        0+32  0+           0     0     1
 Key to Flags:
Index: local3.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mmix/local3.d,v
retrieving revision 1.3
diff -u -r1.3 local3.d
--- local3.d	10 Nov 2002 09:29:07 -0000	1.3
+++ local3.d	5 May 2004 21:29:42 -0000
@@ -28,7 +28,7 @@
   \[ 6\] \.shstrtab         STRTAB           0+  0+c8
        0+45  0+           0     0     1
   \[ 7\] \.symtab           SYMTAB           0+  0+350
-       0+198  0+18           8     b     8
+       0+198  0+18           8    11     8
   \[ 8\] \.strtab           STRTAB           0+  0+4e8
        0+32  0+           0     0     1
 Key to Flags:
Index: local5.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mmix/local5.d,v
retrieving revision 1.3
diff -u -r1.3 local5.d
--- local5.d	10 Nov 2002 09:29:07 -0000	1.3
+++ local5.d	5 May 2004 21:29:42 -0000
@@ -29,7 +29,7 @@
   \[ 6\] \.shstrtab         STRTAB           0+  0+cc
        0+45  0+           0     0     1
   \[ 7\] \.symtab           SYMTAB           0+  0+358
-       0+198  0+18           8     b     8
+       0+198  0+18           8    11     8
   \[ 8\] \.strtab           STRTAB           0+  0+4f0
        0+32  0+           0     0     1
 Key to Flags:
Index: local7.d
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-mmix/local7.d,v
retrieving revision 1.3
diff -u -r1.3 local7.d
--- local7.d	10 Nov 2002 09:29:07 -0000	1.3
+++ local7.d	5 May 2004 21:29:42 -0000
@@ -30,7 +30,7 @@
   \[ 6\] \.shstrtab         STRTAB           0+  0+cc
        0+45  0+           0     0     1
   \[ 7\] \.symtab           SYMTAB           0+  0+358
-       0+198  0+18           8     b     8
+       0+198  0+18           8    11     8
   \[ 8\] \.strtab           STRTAB           0+  0+4f0
        0+32  0+           0     0     1
 Key to Flags:

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: fallout from decimal sh_info readelf patch
  2004-05-05 21:51 ` John Paul Wallington
@ 2004-05-05 22:59   ` Hans-Peter Nilsson
  2004-05-06 11:05     ` Alan Modra
  2004-05-10  1:40     ` John Paul Wallington
  0 siblings, 2 replies; 19+ messages in thread
From: Hans-Peter Nilsson @ 2004-05-05 22:59 UTC (permalink / raw)
  To: John Paul Wallington; +Cc: binutils

On Wed, 5 May 2004, John Paul Wallington wrote:
> 2004-05-05  John Paul Wallington  <jpw@gnu.org>
>
> 	* ld-mmix/bspec2.d: Update sh_info to decimal.
> 	* ld-mmix/local1.d: Likewise.
> 	* ld-mmix/local3.d: Likewise.
> 	* ld-mmix/local5.d: Likewise.
> 	* ld-mmix/local7.d: Likewise.

Thank you!  This is ok (and obvious).

And while I'm here, please people, please avoid changing the
default output or output of common options for binutils
programs.  Make changes depend on some new non-default option.

brgds, H-P

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: fallout from decimal sh_info readelf patch
  2004-05-05 22:59   ` Hans-Peter Nilsson
@ 2004-05-06 11:05     ` Alan Modra
  2004-05-06 12:49       ` [PATCH] -z relro + .dynsym STT_SECTION Jakub Jelinek
  2004-05-06 18:19       ` fallout from decimal sh_info readelf patch Hans-Peter Nilsson
  2004-05-10  1:40     ` John Paul Wallington
  1 sibling, 2 replies; 19+ messages in thread
From: Alan Modra @ 2004-05-06 11:05 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: John Paul Wallington, binutils

On Wed, May 05, 2004 at 06:59:36PM -0400, Hans-Peter Nilsson wrote:
> And while I'm here, please people, please avoid changing the
> default output or output of common options for binutils
> programs.  Make changes depend on some new non-default option.

Sometimes, I think a change to default output is worth the pain of
updating the testsuite.

Incidentally, if we ever implement Roland's suggestion,
http://sources.redhat.com/ml/binutils/2003-04/msg00435.html
to do away with dynamic section symbols, we'll be up for a lot more
pain than HJ's fix..  In fact, it's probably the thought of all the
testsuite changes that has stopped anyone making the change.  Besides
reducing symbols, doing without section symbols would also allow
removal of unused sections at a later stage in the link process.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH] -z relro + .dynsym STT_SECTION
  2004-05-06 11:05     ` Alan Modra
@ 2004-05-06 12:49       ` Jakub Jelinek
  2004-05-11 16:55         ` Alan Modra
  2004-06-15 14:16         ` Eric Botcazou
  2004-05-06 18:19       ` fallout from decimal sh_info readelf patch Hans-Peter Nilsson
  1 sibling, 2 replies; 19+ messages in thread
From: Jakub Jelinek @ 2004-05-06 12:49 UTC (permalink / raw)
  To: binutils

On Thu, May 06, 2004 at 08:35:02PM +0930, Alan Modra wrote:
> On Wed, May 05, 2004 at 06:59:36PM -0400, Hans-Peter Nilsson wrote:
> > And while I'm here, please people, please avoid changing the
> > default output or output of common options for binutils
> > programs.  Make changes depend on some new non-default option.
> 
> Sometimes, I think a change to default output is worth the pain of
> updating the testsuite.
> 
> Incidentally, if we ever implement Roland's suggestion,
> http://sources.redhat.com/ml/binutils/2003-04/msg00435.html
> to do away with dynamic section symbols, we'll be up for a lot more
> pain than HJ's fix..  In fact, it's probably the thought of all the
> testsuite changes that has stopped anyone making the change.  Besides
> reducing symbols, doing without section symbols would also allow
> removal of unused sections at a later stage in the link process.

Well, killing (some) STT_SECTION symbols in .dynsym is what I did some
months ago already together with -z relro.
And yes, testsuite changes was the main showstopper for not trying to
put this into CVS for the last 5-6 months.
As I haven't found spare time to do the conditional .got reshuffling
based on .got/.s* size, I have updated testsuite on a bunch of arches
(i386, x86-64, s390{,x}, ppc{,64}, ia64) for the -z relro patch.
See http://sources.redhat.com/ml/binutils/2004-01/msg00300.html
and previous thread for the older versions of the patch.

Ok to commit?

2004-05-06  Jakub Jelinek  <jakub@redhat.com>

bfd/
	* elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol
	into .dynsym if elf_section_data (sec)->dynindx <= 0.
	Adjust counting of last_local.
	(_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
	other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
	created by the linker nor !SHF_ALLOC.

	* elf32-i386.c (elf_i386_finish_dynamic_sections): Point
	DT_PLTGOT to the start of the .got.plt section instead of the
	.got output section.  Set sh_entsize for .got section in addition
	to .got.plt.
	(elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
	is at sgot->output_section->vma.
	* elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
	DT_PLTGOT to the start of the .got.plt section instead of the
	.got output section.
	(elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
	is at sgot->output_section->vma.  Set sh_entsize for .got section
	in addition to .got.plt.
	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
	(bfd_section_from_phdr): Likewise.
	(map_sections_to_segments): Likewise.
	(assign_file_positions_for_segments): Likewise.
	(get_program_header_size): Likewise.
	* elflink.c (bfd_elf_size_dynamic_sections): Set
	elf_tdata (output_bfd)->relro from info->relro.
	* elf-bfd.h (struct elf_obj_tdata): Add relro field.
include/
	* bfdlink.h (struct bfd_link_info): Add relro, relro_start and
	relro_end fields.
	* elf/common.h (PT_GNU_EH_FRAME, PT_GNU_STACK): Add comments.
	(PT_GNU_RELRO): Define.
binutils/
	* readelf.c (get_segment_type): Handle PT_GNU_RELRO.
ld/
	* genscripts.sh: Generate -z combreloc -z now -z relro scripts
	for binaries, -shared and -pie.
	* emulparams/elf_i386.sh (SEPARATE_GOTPLT): Set.
	* emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Set.
	* emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Rename to...
	(OTHER_RELRO_SECTIONS): ... this.
	* ldlex.l (DATA_SEGMENT_RELRO_END): Add.
	* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
	-z relro and -z norelro.
	(gld${EMULATION_NAME}_list_options): Add it to usage.
	(gld${EMULATION_NAME}_get_script): Return -z combreloc -z now
	-z relro scripts when appropriate.
	* scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
	Create separate .got.plt section if SEPARATE_GOTPLT.
	Move sections which are only written during relocation handling
	to the beginning of RW segment.  If NO_SMALL_DATA, move .got
	before .data.  Add DATA_SEGMENT_RELRO_END directive.
	Include OTHER_RELRO_SECTIONS.
	* ldgram.y (DATA_SEGMENT_RELRO_END): Add.
	* ldexp.c (exp_print_token): Handle DATA_SEGMENT_RELRO_END.
	(fold_unary): Likewise.
	(fold_binary): Handle -z relro.
	* ldexp.h (struct exp_data_seg): Add exp_dataseg_relro_seen and
	exp_dataseg_relro_adjust phases.  Add relro_end field.
	* ldmain.c (main): Initialize link_info.relro to FALSE.
	* ldlang.c (lang_size_sections): Handle -z relro.
ld/testsuite/
	* ld-i386/tlspic.rd: Adjust for section reordering changes
	and removal of unneeded STT_SECTION symbols from .dynsym.
	* ld-i386/tlspic.dd: Likewise.
	* ld-i386/tlspic.sd: Likewise.
	* ld-i386/tlsbin.rd: Likewise.
	* ld-i386/tlsbinpic.s: Likewise.
	* ld-i386/tlsbin.dd: Likewise.
	* ld-i386/tlsbin.sd: Likewise.
	* ld-i386/tlsnopic.rd: Likewise.
	* ld-i386/tlsnopic1.s: Likewise.
	* ld-i386/combreloc.d: Likewise.
	* ld-i386/tlsnopic.dd: Likewise.
	* ld-i386/tlsnopic.sd: Likewise.
	* ld-x86-64/tlspic.rd: Likewise.
	* ld-x86-64/tlspic.dd: Likewise.
	* ld-x86-64/tlsbin.dd: Likewise.
	* ld-x86-64/tlspic.sd: Likewise.
	* ld-x86-64/tlsbin.sd: Likewise.
	* ld-x86-64/tlspic.td: Likewise.
	* ld-x86-64/tlsbin.td: Likewise.
	* ld-x86-64/tlsbin.rd: Likewise.
	* ld-s390/tlspic1.s: Likewise.
	* ld-s390/tlsbinpic.s: Likewise.
	* ld-s390/tlspic.rd: Likewise.
	* ld-s390/tlsbin.rd: Likewise.
	* ld-s390/tlspic.dd: Likewise.
	* ld-s390/tlsbin.dd: Likewise.
	* ld-s390/tlsbin.sd: Likewise.
	* ld-s390/tlsbin.td: Likewise.
	* ld-s390/tlspic.sd: Likewise.
	* ld-s390/tlspic.td: Likewise.
	* ld-s390/tlspic1_64.s: Likewise.
	* ld-s390/tlsbinpic_64.s: Likewise.
	* ld-s390/tlspic_64.rd: Likewise.
	* ld-s390/tlsbin_64.rd: Likewise.
	* ld-s390/tlspic_64.dd: Likewise.
	* ld-s390/tlsbin_64.dd: Likewise.
	* ld-s390/tlspic_64.sd: Likewise.
	* ld-s390/tlspic_64.td: Likewise.
	* ld-s390/tlsbin_64.td: Likewise.
	* ld-s390/tlsbin_64.sd: Likewise.
	* ld-powerpc/tlsexe32.r: Likewise.
	* ld-powerpc/tlsso32.r: Likewise.
	* ld-powerpc/tlsso32.d: Likewise.
	* ld-powerpc/tlsso32.g: Likewise.
	* ld-powerpc/tlsso32.t: Likewise.
	* ld-powerpc/tlsexe.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlsso.g: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
	* ld-powerpc/tlstocso.g: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-ia64/tlspic.dd: Likewise.
	* ld-ia64/tlspic.sd: Likewise.
	* ld-ia64/tlspic.td: Likewise.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlsbin.sd: Likewise.
	* ld-ia64/tlsbin.td: Likewise.
	* ld-elfvsb/elfvsb.exp: XFAIL non-PIC load offset tests on s390x.
	* ld-shared/shared.exp: Likewise.

--- ld/emulparams/elf64_s390.sh.jj	2004-05-05 14:55:02.171237009 +0200
+++ ld/emulparams/elf64_s390.sh	2004-05-06 14:08:34.054898850 +0200
@@ -3,6 +3,7 @@ ELFSIZE=64
 OUTPUT_FORMAT="elf64-s390"
 TEXT_START_ADDR=0x80000000
 MAXPAGESIZE=0x1000
+COMMONPAGESIZE=0x1000
 NONPAGED_TEXT_START_ADDR=0x80000000
 ARCH="s390:64-bit"
 MACHINE=
--- ld/emulparams/elf_x86_64.sh.jj	2004-05-05 14:55:02.167237725 +0200
+++ ld/emulparams/elf_x86_64.sh	2004-05-06 14:08:34.053899029 +0200
@@ -12,6 +12,7 @@ TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
 GENERATE_PIE_SCRIPT=yes
 NO_SMALL_DATA=yes
+SEPARATE_GOTPLT=24
 
 if [ "x${host}" = "x${target}" ]; then
   case " $EMULATION_LIBPATH " in
--- ld/emulparams/elf_s390.sh.jj	2004-05-05 14:55:02.174236471 +0200
+++ ld/emulparams/elf_s390.sh	2004-05-06 14:08:34.054898850 +0200
@@ -2,6 +2,7 @@ SCRIPT_NAME=elf
 OUTPUT_FORMAT="elf32-s390"
 TEXT_START_ADDR=0x00400000
 MAXPAGESIZE=0x1000
+COMMONPAGESIZE=0x1000
 NONPAGED_TEXT_START_ADDR=0x00400000
 ARCH="s390:31-bit"
 MACHINE=
--- ld/emulparams/elf32ppc.sh.jj	2004-05-05 14:55:02.163238442 +0200
+++ ld/emulparams/elf32ppc.sh	2004-05-06 14:08:34.052899209 +0200
@@ -15,7 +15,7 @@ MACHINE=
 BSS_PLT=
 EXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);'
 OTHER_BSS_END_SYMBOLS='__end = .;'
-OTHER_READWRITE_SECTIONS="
+OTHER_RELRO_SECTIONS="
   .fixup        ${RELOCATING-0} : { *(.fixup) }
   .got1         ${RELOCATING-0} : { *(.got1) }
   .got2         ${RELOCATING-0} : { *(.got2) }
--- ld/emulparams/elf_i386.sh.jj	2004-05-05 14:55:02.160238980 +0200
+++ ld/emulparams/elf_i386.sh	2004-05-06 14:08:34.052899209 +0200
@@ -11,3 +11,4 @@ TEMPLATE_NAME=elf32
 GENERATE_SHLIB_SCRIPT=yes
 GENERATE_PIE_SCRIPT=yes
 NO_SMALL_DATA=yes
+SEPARATE_GOTPLT=12
--- ld/ldgram.y.jj	2004-05-05 14:55:02.188233963 +0200
+++ ld/ldgram.y	2004-05-06 14:08:34.057898313 +0200
@@ -128,7 +128,7 @@ static int error_index;
 %token END
 %left <token> '('
 %token <token> ALIGN_K BLOCK BIND QUAD SQUAD LONG SHORT BYTE
-%token SECTIONS PHDRS SORT DATA_SEGMENT_ALIGN DATA_SEGMENT_END
+%token SECTIONS PHDRS SORT DATA_SEGMENT_ALIGN DATA_SEGMENT_RELRO_END DATA_SEGMENT_END
 %token '{' '}'
 %token SIZEOF_HEADERS OUTPUT_FORMAT FORCE_COMMON_ALLOCATION OUTPUT_ARCH
 %token INHIBIT_COMMON_ALLOCATION
@@ -808,6 +808,8 @@ exp	:
 			{ $$ = exp_binop(ALIGN_K,$3,$5); }
 	|	DATA_SEGMENT_ALIGN '(' exp ',' exp ')'
 			{ $$ = exp_binop (DATA_SEGMENT_ALIGN, $3, $5); }
+	|	DATA_SEGMENT_RELRO_END '(' exp ')'
+			{ $$ = exp_unop(DATA_SEGMENT_RELRO_END, $3); }
 	|	DATA_SEGMENT_END '(' exp ')'
 			{ $$ = exp_unop(DATA_SEGMENT_END, $3); }
 	|	BLOCK '(' exp ')'
--- ld/ldlang.c.jj	2004-05-05 14:55:02.192233246 +0200
+++ ld/ldlang.c	2004-05-06 14:08:34.060897775 +0200
@@ -3297,7 +3297,19 @@ lang_size_sections
   exp_data_seg.phase = exp_dataseg_none;
   result = lang_size_sections_1 (s, output_section_statement, prev, fill,
 				 dot, relax, check_regions);
-  if (exp_data_seg.phase == exp_dataseg_end_seen)
+  if (exp_data_seg.phase == exp_dataseg_end_seen
+      && link_info.relro && exp_data_seg.relro_end)
+    {
+      /* If DATA_SEGMENT_ALIGN DATA_SEGMENT_RELRO_END pair was seen, try
+	 to put exp_data_seg.relro on a (common) page boundary.  */
+
+      exp_data_seg.phase = exp_dataseg_relro_adjust;
+      result = lang_size_sections_1 (s, output_section_statement, prev, fill,
+				     dot, relax, check_regions);
+      link_info.relro_start = exp_data_seg.base;
+      link_info.relro_end = exp_data_seg.relro_end;
+    }
+  else if (exp_data_seg.phase == exp_dataseg_end_seen)
     {
       /* If DATA_SEGMENT_ALIGN DATA_SEGMENT_END pair was seen, check whether
 	 a page could be saved in the data segment.  */
--- ld/scripttempl/elf.sc.jj	2004-05-05 14:55:02.178235754 +0200
+++ ld/scripttempl/elf.sc	2004-05-06 14:08:34.055898671 +0200
@@ -10,6 +10,8 @@
 #	OTHER_TEXT_SECTIONS - these get put in .text when relocating
 #	OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ...
 #		(e.g., .PARISC.global)
+#	OTHER_RELRO_SECTIONS - other than .data.rel.ro ...
+#		(e.g. PPC32 .fixup, .got[12])
 #	OTHER_BSS_SECTIONS - other than .bss .sbss ...
 #	OTHER_SECTIONS - at the end
 #	EXECUTABLE_SYMBOLS - symbols that must be defined for an
@@ -37,6 +39,10 @@
 # 	combination of .fini sections.
 #	STACK_ADDR - start of a .stack section.
 #	OTHER_END_SYMBOLS - symbols to place right at the end of the script.
+#	SEPARATE_GOTPLT - if set, .got.plt should be separate output section,
+#		so that .got can be in the RELRO area.  It should be set to
+#		the number of bytes in the beginning of .got.plt which can be
+#		in the RELRO area as well.
 #
 # When adding sections, do note that the names of some sections are used
 # when specifying the start address of the next.
@@ -74,17 +80,33 @@ test -z "${ALIGNMENT}" && ALIGNMENT="${E
 test "$LD_FLAG" = "N" && DATA_ADDR=.
 test -n "$CREATE_SHLIB$CREATE_PIE" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE=""
 test -z "$CREATE_SHLIB$CREATE_PIE" && test -n "$DATA_ADDR" && COMMONPAGESIZE=""
+test -n "$RELRO_NOW" && unset SEPARATE_GOTPLT
 DATA_SEGMENT_ALIGN="ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1))"
+DATA_SEGMENT_RELRO_END=""
+DATA_SEGMENT_RELRO_GOTPLT_END=""
 DATA_SEGMENT_END=""
 if test -n "${COMMONPAGESIZE}"; then
   DATA_SEGMENT_ALIGN="ALIGN (${SEGMENT_SIZE}) - ((${MAXPAGESIZE} - .) & (${MAXPAGESIZE} - 1)); . = DATA_SEGMENT_ALIGN (${MAXPAGESIZE}, ${COMMONPAGESIZE})"
   DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
+  if test -n "${SEPARATE_GOTPLT}"; then
+    DATA_SEGMENT_RELRO_GOTPLT_END=". = DATA_SEGMENT_RELRO_END (. + ${SEPARATE_GOTPLT});"
+  else
+    DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (.);"
+  fi
 fi
 INTERP=".interp       ${RELOCATING-0} : { *(.interp) }"
 PLT=".plt          ${RELOCATING-0} : { *(.plt) }"
-test -z "$GOT" && GOT=".got          ${RELOCATING-0} : { *(.got.plt) *(.got) }"
+if test -z "$GOT"; then
+  if test -z "$SEPARATE_GOTPLT"; then
+    GOT=".got          ${RELOCATING-0} : { *(.got.plt) *(.got) }"
+  else
+    GOT=".got          ${RELOCATING-0} : { *(.got) }"
+    GOTPLT=".got.plt      ${RELOCATING-0} : { ${RELOCATING+${DATA_SEGMENT_RELRO_GOTPLT_END}} *(.got.plt) }"
+  fi
+fi
 DYNAMIC=".dynamic      ${RELOCATING-0} : { *(.dynamic) }"
 RODATA=".rodata       ${RELOCATING-0} : { *(.rodata${RELOCATING+ .rodata.* .gnu.linkonce.r.*}) }"
+DATARELRO=".data.rel.ro : { *(.data.rel.ro.local) *(.data.rel.ro*) }"
 STACKNOTE="/DISCARD/ : { *(.note.GNU-stack) }"
 if test -z "${NO_SMALL_DATA}"; then
   SBSS=".sbss         ${RELOCATING-0} :
@@ -115,7 +137,10 @@ if test -z "${NO_SMALL_DATA}"; then
   .rela.sdata2  ${RELOCATING-0} : { *(.rela.sdata2${RELOCATING+ .rela.sdata2.* .rela.gnu.linkonce.s2.*}) }"
   REL_SBSS2=".rel.sbss2    ${RELOCATING-0} : { *(.rel.sbss2${RELOCATING+ .rel.sbss2.* .rel.gnu.linkonce.sb2.*}) }
   .rela.sbss2   ${RELOCATING-0} : { *(.rela.sbss2${RELOCATING+ .rela.sbss2.* .rela.gnu.linkonce.sb2.*}) }"
+else
+  NO_SMALL_DATA=" "
 fi
+test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" "
 CTOR=".ctors        ${CONSTRUCTING-0} : 
   {
     ${CONSTRUCTING+${CTOR_START}}
@@ -211,6 +236,8 @@ eval $COMBRELOCCAT <<EOF
   .rel.rodata   ${RELOCATING-0} : { *(.rel.rodata${RELOCATING+ .rel.rodata.* .rel.gnu.linkonce.r.*}) }
   .rela.rodata  ${RELOCATING-0} : { *(.rela.rodata${RELOCATING+ .rela.rodata.* .rela.gnu.linkonce.r.*}) }
   ${OTHER_READONLY_RELOC_SECTIONS}
+  .rel.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+*}) }
+  .rela.data.rel.ro ${RELOCATING-0} : { *(.rel.data.rel.ro${RELOCATING+*}) }
   .rel.data     ${RELOCATING-0} : { *(.rel.data${RELOCATING+ .rel.data.* .rel.gnu.linkonce.d.*}) }
   .rela.data    ${RELOCATING-0} : { *(.rela.data${RELOCATING+ .rela.data.* .rela.gnu.linkonce.d.*}) }
   .rel.tdata	${RELOCATING-0} : { *(.rel.tdata${RELOCATING+ .rel.tdata.* .rel.gnu.linkonce.td.*}) }
@@ -291,6 +318,14 @@ cat <<EOF
   ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
   ${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
 
+  /* Exception handling  */
+  .eh_frame     ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
+  .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
+
+  /* Thread Local Storage sections  */
+  .tdata	${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
+  .tbss		${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
+
   /* Ensure the __preinit_array_start label is properly aligned.  We
      could instead move the label definition inside the section, but
      the linker would then create the section even if it turns out to
@@ -308,6 +343,21 @@ cat <<EOF
   .fini_array   ${RELOCATING-0} : { *(.fini_array) }
   ${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_end = .);}}
 
+  ${RELOCATING+${CTOR}}
+  ${RELOCATING+${DTOR}}
+  .jcr          ${RELOCATING-0} : { KEEP (*(.jcr)) }
+
+  ${RELOCATING+${DATARELRO}}
+  ${OTHER_RELRO_SECTIONS}
+  ${TEXT_DYNAMIC-${DYNAMIC}}
+  ${NO_SMALL_DATA+${RELRO_NOW+${GOT}}}
+  ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOT}}}}
+  ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT+${GOTPLT}}}}
+  ${RELOCATING+${DATA_SEGMENT_RELRO_END}}
+  ${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
+
+  ${DATA_PLT+${PLT}}
+
   .data         ${RELOCATING-0} :
   {
     ${RELOCATING+${DATA_START_SYMBOLS}}
@@ -316,19 +366,10 @@ cat <<EOF
     ${CONSTRUCTING+SORT(CONSTRUCTORS)}
   }
   .data1        ${RELOCATING-0} : { *(.data1) }
-  .tdata	${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
-  .tbss		${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
-  .eh_frame     ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
-  .gcc_except_table ${RELOCATING-0} : { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
   ${WRITABLE_RODATA+${RODATA}}
   ${OTHER_READWRITE_SECTIONS}
-  ${TEXT_DYNAMIC-${DYNAMIC}}
-  ${RELOCATING+${CTOR}}
-  ${RELOCATING+${DTOR}}
-  .jcr          ${RELOCATING-0} : { KEEP (*(.jcr)) }
-  ${DATA_PLT+${PLT}}
   ${RELOCATING+${OTHER_GOT_SYMBOLS}}
-  ${GOT}
+  ${NO_SMALL_DATA-${GOT}}
   ${OTHER_GOT_SECTIONS}
   ${CREATE_SHLIB+${SDATA2}}
   ${CREATE_SHLIB+${SBSS2}}
--- ld/ldexp.c.jj	2004-05-05 14:55:02.205230916 +0200
+++ ld/ldexp.c	2004-05-06 14:08:34.063897238 +0200
@@ -101,6 +101,7 @@ exp_print_token (token_code_type code, i
     { MAX_K, "MAX_K" },
     { REL, "relocatable" },
     { DATA_SEGMENT_ALIGN, "DATA_SEGMENT_ALIGN" },
+    { DATA_SEGMENT_RELRO_END, "DATA_SEGMENT_RELRO_END" },
     { DATA_SEGMENT_END, "DATA_SEGMENT_END" }
   };
   unsigned int idx;
@@ -264,14 +265,36 @@ fold_unary (etree_type *tree,
 	    result.valid_p = FALSE;
 	  break;
 
+	case DATA_SEGMENT_RELRO_END:
+	  if (allocation_done != lang_first_phase_enum
+	      && (exp_data_seg.phase == exp_dataseg_align_seen
+		  || exp_data_seg.phase == exp_dataseg_adjust
+		  || exp_data_seg.phase == exp_dataseg_relro_adjust
+		  || allocation_done != lang_allocating_phase_enum))
+	    {
+	      if (exp_data_seg.phase == exp_dataseg_align_seen
+		  || exp_data_seg.phase == exp_dataseg_relro_adjust)
+		exp_data_seg.relro_end
+		  = result.value + current_section->bfd_section->vma;
+	      if (exp_data_seg.phase == exp_dataseg_align_seen)
+		exp_data_seg.phase = exp_dataseg_relro_seen;
+	      result.value = dot - current_section->bfd_section->vma;
+	    }
+	  else
+	    result.valid_p = FALSE;
+	  break;
+
 	case DATA_SEGMENT_END:
 	  if (allocation_done != lang_first_phase_enum
 	      && current_section == abs_output_section
 	      && (exp_data_seg.phase == exp_dataseg_align_seen
+		  || exp_data_seg.phase == exp_dataseg_relro_seen
 		  || exp_data_seg.phase == exp_dataseg_adjust
+		  || exp_data_seg.phase == exp_dataseg_relro_adjust
 		  || allocation_done != lang_allocating_phase_enum))
 	    {
-	      if (exp_data_seg.phase == exp_dataseg_align_seen)
+	      if (exp_data_seg.phase == exp_dataseg_align_seen
+		  || exp_data_seg.phase == exp_dataseg_relro_seen)
 		{
 		  exp_data_seg.phase = exp_dataseg_end_seen;
 		  exp_data_seg.end = result.value;
@@ -392,12 +415,23 @@ fold_binary (etree_type *tree,
 		  && current_section == abs_output_section
 		  && (exp_data_seg.phase == exp_dataseg_none
 		      || exp_data_seg.phase == exp_dataseg_adjust
+		      || exp_data_seg.phase == exp_dataseg_relro_adjust
 		      || allocation_done != lang_allocating_phase_enum))
 		{
 		  bfd_vma maxpage = result.value;
 
 		  result.value = align_n (dot, maxpage);
-		  if (exp_data_seg.phase != exp_dataseg_adjust)
+		  if (exp_data_seg.phase == exp_dataseg_relro_adjust)
+		    {
+		      /* Attempt to align DATA_SEGMENT_RELRO_END at
+			 a common page boundary.  */
+		      bfd_vma relro;
+
+		      relro = exp_data_seg.relro_end - exp_data_seg.base;
+		      result.value += -relro & (other.value - 1);
+		      exp_data_seg.base = result.value;
+		    }
+		  else if (exp_data_seg.phase != exp_dataseg_adjust)
 		    {
 		      result.value += dot & (maxpage - 1);
 		      if (allocation_done == lang_allocating_phase_enum)
@@ -405,6 +439,7 @@ fold_binary (etree_type *tree,
 			  exp_data_seg.phase = exp_dataseg_align_seen;
 			  exp_data_seg.base = result.value;
 			  exp_data_seg.pagesize = other.value;
+			  exp_data_seg.relro_end = 0;
 			}
 		    }
 		  else if (other.value < maxpage)
--- ld/ldlex.l.jj	2004-05-05 14:55:02.198232171 +0200
+++ ld/ldlex.l	2004-05-06 14:08:34.061897596 +0200
@@ -249,6 +249,7 @@ V_IDENTIFIER [*?.$_a-zA-Z\[\]\-\!\^\\]([
 <BOTH,SCRIPT>"LENGTH"		{ RTOKEN(LENGTH);}
 <EXPRESSION,BOTH,SCRIPT>"ALIGN"			{ RTOKEN(ALIGN_K);}
 <EXPRESSION,BOTH,SCRIPT>"DATA_SEGMENT_ALIGN"	{ RTOKEN(DATA_SEGMENT_ALIGN);}
+<EXPRESSION,BOTH,SCRIPT>"DATA_SEGMENT_RELRO_END"	{ RTOKEN(DATA_SEGMENT_RELRO_END);}
 <EXPRESSION,BOTH,SCRIPT>"DATA_SEGMENT_END"	{ RTOKEN(DATA_SEGMENT_END);}
 <EXPRESSION,BOTH,SCRIPT>"ADDR"			{ RTOKEN(ADDR);}
 <EXPRESSION,BOTH,SCRIPT>"LOADADDR"		{ RTOKEN(LOADADDR);}
--- ld/ldexp.h.jj	2004-05-05 14:55:02.195232708 +0200
+++ ld/ldexp.h	2004-05-06 14:08:34.060897775 +0200
@@ -95,10 +95,12 @@ extern struct exp_data_seg {
   enum {
     exp_dataseg_none,
     exp_dataseg_align_seen,
+    exp_dataseg_relro_seen,
     exp_dataseg_end_seen,
+    exp_dataseg_relro_adjust,
     exp_dataseg_adjust
   } phase;
-  bfd_vma base, end, pagesize;
+  bfd_vma base, relro_end, end, pagesize;
 } exp_data_seg;
 
 typedef struct _fill_type fill_type;
--- ld/genscripts.sh.jj	2004-05-05 14:55:02.181235217 +0200
+++ ld/genscripts.sh	2004-05-06 14:08:34.056898492 +0200
@@ -283,7 +283,16 @@ if test -n "$GENERATE_COMBRELOC_SCRIPT";
     . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
   ) | sed -e '/^ *$/d;s/[ 	]*$//' > ldscripts/${EMULATION_NAME}.xc
   rm -f ${COMBRELOC}
+  LD_FLAG=w
+  RELRO_NOW=" "
+  COMBRELOC=ldscripts/${EMULATION_NAME}.xw.tmp
+  ( echo "/* Script for -z combreloc -z now -z relro: combine and sort reloc sections */"
+    . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
+    . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+  ) | sed -e '/^ *$/d;s/[ 	]*$//' > ldscripts/${EMULATION_NAME}.xw
+  rm -f ${COMBRELOC}
   COMBRELOC=
+  unset RELRO_NOW
 fi
 
 if test -n "$GENERATE_SHLIB_SCRIPT"; then
@@ -299,13 +308,22 @@ if test -n "$GENERATE_SHLIB_SCRIPT"; the
   if test -n "$GENERATE_COMBRELOC_SCRIPT"; then
     LD_FLAG=cshared
     DATA_ALIGNMENT=${DATA_ALIGNMENT_sc-${DATA_ALIGNMENT}}
-    COMBRELOC=ldscripts/${EMULATION_NAME}.xc.tmp
+    COMBRELOC=ldscripts/${EMULATION_NAME}.xsc.tmp
     ( echo "/* Script for --shared -z combreloc: shared library, combine & sort relocs */"
       . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
       . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
     ) | sed -e '/^ *$/d;s/[ 	]*$//' > ldscripts/${EMULATION_NAME}.xsc
     rm -f ${COMBRELOC}
+    LD_FLAG=wshared
+    RELRO_NOW=" "
+    COMBRELOC=ldscripts/${EMULATION_NAME}.xsw.tmp
+    ( echo "/* Script for --shared -z combreloc -z now -z relro: shared library, combine & sort relocs */"
+      . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
+      . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+    ) | sed -e '/^ *$/d;s/[ 	]*$//' > ldscripts/${EMULATION_NAME}.xsw
+    rm -f ${COMBRELOC}
     COMBRELOC=
+    unset RELRO_NOW
   fi
   unset CREATE_SHLIB
 fi
@@ -323,13 +341,22 @@ if test -n "$GENERATE_PIE_SCRIPT"; then
   if test -n "$GENERATE_COMBRELOC_SCRIPT"; then
     LD_FLAG=cpie
     DATA_ALIGNMENT=${DATA_ALIGNMENT_sc-${DATA_ALIGNMENT}}
-    COMBRELOC=ldscripts/${EMULATION_NAME}.xc.tmp
+    COMBRELOC=ldscripts/${EMULATION_NAME}.xdc.tmp
     ( echo "/* Script for -pie -z combreloc: position independent executable, combine & sort relocs */"
       . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
       . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
     ) | sed -e '/^ *$/d;s/[ 	]*$//' > ldscripts/${EMULATION_NAME}.xdc
     rm -f ${COMBRELOC}
+    LD_FLAG=wpie
+    RELRO_NOW=" "
+    COMBRELOC=ldscripts/${EMULATION_NAME}.xdw.tmp
+    ( echo "/* Script for -pie -z combreloc -z now -z relro: position independent executable, combine & sort relocs */"
+      . ${CUSTOMIZER_SCRIPT} ${EMULATION_NAME}
+      . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc
+    ) | sed -e '/^ *$/d;s/[ 	]*$//' > ldscripts/${EMULATION_NAME}.xdw
+    rm -f ${COMBRELOC}
     COMBRELOC=
+    unset RELRO_NOW
   fi
   unset CREATE_PIE
 fi
--- ld/ldmain.c.jj	2004-05-05 14:55:02.184234679 +0200
+++ ld/ldmain.c	2004-05-06 14:08:34.057898313 +0200
@@ -303,6 +303,7 @@ main (int argc, char **argv)
   link_info.new_dtags = FALSE;
   link_info.combreloc = TRUE;
   link_info.eh_frame_hdr = FALSE;
+  link_info.relro = FALSE;
   link_info.strip_discarded = TRUE;
   link_info.strip = strip_none;
   link_info.discard = discard_sec_merge;
--- ld/emultempl/elf32.em.jj	2004-05-05 14:55:02.202231454 +0200
+++ ld/emultempl/elf32.em	2004-05-06 14:08:34.062897417 +0200
@@ -1458,6 +1458,10 @@ sed $sc ldscripts/${EMULATION_NAME}.xn  
 fi
 if test -n "$GENERATE_PIE_SCRIPT" ; then
 if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then
+echo '  ; else if (link_info.pie && link_info.combreloc' >> e${EMULATION_NAME}.c
+echo '             && link_info.relro' >> e${EMULATION_NAME}.c
+echo '             && (link_info.flags & DT_BIND_NOW)) return' >> e${EMULATION_NAME}.c
+sed $sc ldscripts/${EMULATION_NAME}.xdw                >> e${EMULATION_NAME}.c
 echo '  ; else if (link_info.pie && link_info.combreloc) return' >> e${EMULATION_NAME}.c
 sed $sc ldscripts/${EMULATION_NAME}.xdc                >> e${EMULATION_NAME}.c
 fi
@@ -1466,6 +1470,10 @@ sed $sc ldscripts/${EMULATION_NAME}.xd  
 fi
 if test -n "$GENERATE_SHLIB_SCRIPT" ; then
 if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then
+echo '  ; else if (link_info.shared && link_info.combreloc' >> e${EMULATION_NAME}.c
+echo '             && link_info.relro' >> e${EMULATION_NAME}.c
+echo '             && (link_info.flags & DT_BIND_NOW)) return' >> e${EMULATION_NAME}.c
+sed $sc ldscripts/${EMULATION_NAME}.xsw                >> e${EMULATION_NAME}.c
 echo '  ; else if (link_info.shared && link_info.combreloc) return' >> e${EMULATION_NAME}.c
 sed $sc ldscripts/${EMULATION_NAME}.xsc                >> e${EMULATION_NAME}.c
 fi
@@ -1473,6 +1481,9 @@ echo '  ; else if (link_info.shared) ret
 sed $sc ldscripts/${EMULATION_NAME}.xs                 >> e${EMULATION_NAME}.c
 fi
 if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then
+echo '  ; else if (link_info.combreloc && link_info.relro' >> e${EMULATION_NAME}.c
+echo '             && (link_info.flags & DT_BIND_NOW)) return' >> e${EMULATION_NAME}.c
+sed $sc ldscripts/${EMULATION_NAME}.xw                 >> e${EMULATION_NAME}.c
 echo '  ; else if (link_info.combreloc) return'        >> e${EMULATION_NAME}.c
 sed $sc ldscripts/${EMULATION_NAME}.xc                 >> e${EMULATION_NAME}.c
 fi
@@ -1504,6 +1515,9 @@ fi
 if test -n "$GENERATE_PIE_SCRIPT" ; then
 if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then
 cat >>e${EMULATION_NAME}.c <<EOF
+  else if (link_info.pie && link_info.combreloc
+	   && link_info.relro && (link_info.flags & DT_BIND_NOW))
+    return "ldscripts/${EMULATION_NAME}.xdw";
   else if (link_info.pie && link_info.combreloc)
     return "ldscripts/${EMULATION_NAME}.xdc";
 EOF
@@ -1516,6 +1530,9 @@ fi
 if test -n "$GENERATE_SHLIB_SCRIPT" ; then
 if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then
 cat >>e${EMULATION_NAME}.c <<EOF
+  else if (link_info.shared && link_info.combreloc
+	   && link_info.relro && (link_info.flags & DT_BIND_NOW))
+    return "ldscripts/${EMULATION_NAME}.xsw";
   else if (link_info.shared && link_info.combreloc)
     return "ldscripts/${EMULATION_NAME}.xsc";
 EOF
@@ -1527,6 +1544,9 @@ EOF
 fi
 if test -n "$GENERATE_COMBRELOC_SCRIPT" ; then
 cat >>e${EMULATION_NAME}.c <<EOF
+  else if (link_info.combreloc && link_info.relro
+	   && (link_info.flags & DT_BIND_NOW))
+    return "ldscripts/${EMULATION_NAME}.xw";
   else if (link_info.combreloc)
     return "ldscripts/${EMULATION_NAME}.xc";
 EOF
@@ -1666,6 +1686,10 @@ cat >>e${EMULATION_NAME}.c <<EOF
 	  link_info.noexecstack = TRUE;
 	  link_info.execstack = FALSE;
 	}
+      else if (strcmp (optarg, "relro") == 0)
+	link_info.relro = TRUE;
+      else if (strcmp (optarg, "norelro") == 0)
+	link_info.relro = FALSE;
       /* What about the other Solaris -z options? FIXME.  */
       break;
 EOF
@@ -1713,8 +1737,10 @@ cat >>e${EMULATION_NAME}.c <<EOF
   fprintf (file, _("  -z nodlopen\t\tMark DSO not available to dlopen\n"));
   fprintf (file, _("  -z nodump\t\tMark DSO not available to dldump\n"));
   fprintf (file, _("  -z noexecstack\tMark executable as not requiring executable stack\n"));
+  fprintf (file, _("  -z norelro\t\tDon't create RELRO program header\n"));
   fprintf (file, _("  -z now\t\tMark object non-lazy runtime binding\n"));
   fprintf (file, _("  -z origin\t\tMark object requiring immediate \$ORIGIN processing\n\t\t\t  at runtime\n"));
+  fprintf (file, _("  -z relro\t\tCreate RELRO program header\n"));
   fprintf (file, _("  -z KEYWORD\t\tIgnored for Solaris compatibility\n"));
 EOF
 fi
--- ld/testsuite/ld-s390/tlsbinpic.s.jj	2004-05-05 14:55:02.226227154 +0200
+++ ld/testsuite/ld-s390/tlsbinpic.s	2004-05-06 14:08:34.066896700 +0200
@@ -1,4 +1,5 @@
 	.section ".tdata", "awT", @progbits
+	.balign 32
 	.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
 	.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
 	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
@@ -30,6 +31,7 @@ sh8:	.long 264
 	.text
 	.globl	fn2
 	.type	fn2,@function
+	.balign	64
 fn2:
 	/* Function prolog */
 	stm	%r6,%r14,24(%r15)
--- ld/testsuite/ld-s390/tlsbin_64.sd.jj	2004-05-05 14:55:02.247223391 +0200
+++ ld/testsuite/ld-s390/tlsbin_64.sd	2004-05-06 14:08:34.070895983 +0200
@@ -8,11 +8,11 @@
 .*:     file format elf64-s390
 
 Contents of section .got:
- 80001888 [0-9a-f]+ [0-9a-f]+ 00000000 00000000  .*
- 80001898 00000000 00000000 [0-9a-f]+ [0-9a-f]+  .*
- 800018a8 ffffffff ffffff88 00000000 00000000  .*
- 800018b8 00000000 00000000 ffffffff ffffff68  .*
- 800018c8 ffffffff ffffffa8 00000000 00000000  .*
- 800018d8 00000000 00000000 00000000 00000000  .*
- 800018e8 00000000 00000000 00000000 00000000  .*
- 800018f8 00000000 00000000                    .*
+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 [0-9a-f]+ [0-9a-f]+  .*
+ [0-9a-f]+ ffffffff ffffff88 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 ffffffff ffffff68  .*
+ [0-9a-f]+ ffffffff ffffffa8 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000                    .*
--- ld/testsuite/ld-s390/tlspic_64.rd.jj	2004-05-05 14:55:02.213229483 +0200
+++ ld/testsuite/ld-s390/tlspic_64.rd	2004-05-06 14:08:34.064897058 +0200
@@ -5,7 +5,7 @@
 #readelf: -WSsrl
 #target: s390x-*-*
 
-There are 18 section headers, starting at offset 0x[0-9a-f]+:
+There are 17 section headers, starting at offset 0x[0-9a-f]+:
 
 Section Headers:
   \[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
@@ -16,32 +16,31 @@ Section Headers:
   \[ 4\] .rela.dyn +.*
   \[ 5\] .rela.plt +.*
   \[ 6\] .plt +.*
-  \[ 7\] .text +PROGBITS +0+790 0+790 0+270 00 +AX +0 +0 +4
-  \[ 8\] .data +.*
-  \[ 9\] .tdata +PROGBITS +0+1a00 0+a00 0+60 00 WAT +0 +0 +1
-  \[10\] .tbss +NOBITS +0+1a60 0+a60 0+20 00 WAT +0 +0 +1
-  \[11\] .dynamic +DYNAMIC +0+1a60 0+a60 0+130 10 +WA +3 +0 +8
-  \[12\] .got +PROGBITS +0+1b90 0+b90 0+b0 08 +WA +0 +0 +8
-  \[13\] .sbss +.*
-  \[14\] .bss +.*
-  \[15\] .shstrtab +.*
-  \[16\] .symtab +.*
-  \[17\] .strtab +.*
+  \[ 7\] .text +PROGBITS +.*
+  \[ 8\] .tdata +PROGBITS +0+1900 0+900 0+60 00 WAT +0 +0 +32
+  \[ 9\] .tbss +NOBITS +0+1960 0+960 0+20 00 WAT +0 +0 +1
+  \[10\] .dynamic +DYNAMIC +0+1960 0+960 0+130 10 +WA +3 +0 +8
+  \[11\] .got +PROGBITS +0+1a90 0+a90 0+b0 08 +WA +0 +0 +8
+  \[12\] .data +.*
+  \[13\] .bss +.*
+  \[14\] .shstrtab +.*
+  \[15\] .symtab +.*
+  \[16\] .strtab +.*
 Key to Flags:
 .*
 .*
 .*
 
 Elf file type is DYN \(Shared object file\)
-Entry point 0x790
+Entry point 0x[0-9a-f]+
 There are 4 program headers, starting at offset [0-9]+
 
 Program Headers:
   Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
   LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x1000
-  LOAD +0x0+a00 0x0+1a00 0x0+1a00 0x0+240 0x0+240 RW +0x1000
-  DYNAMIC +0x0+a60 0x0+1a60 0x0+1a60 0x0+130 0x0+130 RW +0x8
-  TLS +0x0+a00 0x0+1a00 0x0+1a00 0x0+60 0x0+80 R +0x1
+  LOAD +0x0+900 0x0+1900 0x0+1900 0x0+240 0x0+240 RW +0x1000
+  DYNAMIC +0x0+960 0x0+1960 0x0+1960 0x0+130 0x0+130 RW +0x8
+  TLS +0x0+900 0x0+1900 0x0+1900 0x0+60 0x0+80 R +0x20
 
  Section to Segment mapping:
   Segment Sections...
@@ -52,114 +51,104 @@ Program Headers:
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
  +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
-[0-9a-z]+  0+36 R_390_TLS_DTPMOD +0+
-[0-9a-z]+  0+38 R_390_TLS_TPOFF +0+24
-[0-9a-z]+  0+38 R_390_TLS_TPOFF +0+30
-[0-9a-z]+  0+36 R_390_TLS_DTPMOD +0+
-[0-9a-z]+  0+36 R_390_TLS_DTPMOD +0+
-[0-9a-z]+  0+38 R_390_TLS_TPOFF +0+64
-[0-9a-z]+  0+38 R_390_TLS_TPOFF +0+50
-[0-9a-z]+  0+38 R_390_TLS_TPOFF +0+70
-[0-9a-z]+  0+36 R_390_TLS_DTPMOD +0+
-[0-9a-z]+  0+38 R_390_TLS_TPOFF +0+44
-[0-9a-z]+  0+130+38 R_390_TLS_TPOFF +0+10 sg5 \+ 0
-[0-9a-z]+  0+150+36 R_390_TLS_DTPMOD +0+ sg1 \+ 0
-[0-9a-z]+  0+150+37 R_390_TLS_DTPOFF +0+ sg1 \+ 0
-[0-9a-z]+  0+180+38 R_390_TLS_TPOFF +0+4 sg2 \+ 0
+[0-9a-f]+  0+36 R_390_TLS_DTPMOD +0+
+[0-9a-f]+  0+38 R_390_TLS_TPOFF +0+24
+[0-9a-f]+  0+38 R_390_TLS_TPOFF +0+30
+[0-9a-f]+  0+36 R_390_TLS_DTPMOD +0+
+[0-9a-f]+  0+36 R_390_TLS_DTPMOD +0+
+[0-9a-f]+  0+38 R_390_TLS_TPOFF +0+64
+[0-9a-f]+  0+38 R_390_TLS_TPOFF +0+50
+[0-9a-f]+  0+38 R_390_TLS_TPOFF +0+70
+[0-9a-f]+  0+36 R_390_TLS_DTPMOD +0+
+[0-9a-f]+  0+38 R_390_TLS_TPOFF +0+44
+[0-9a-f]+  0+a0+38 R_390_TLS_TPOFF +0+10 sg5 \+ 0
+[0-9a-f]+  0+c0+36 R_390_TLS_DTPMOD +0+ sg1 \+ 0
+[0-9a-f]+  0+c0+37 R_390_TLS_DTPOFF +0+ sg1 \+ 0
+[0-9a-f]+  0+f0+38 R_390_TLS_TPOFF +0+4 sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x738 contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
  +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
-0+1ba8  0+140+b R_390_JMP_SLOT +0+ __tls_get_offset \+ 0
+[0-9a-f]+  0+b0+b R_390_JMP_SLOT +0+ __tls_get_offset \+ 0
 
-Symbol table '.dynsym' contains 30 entries:
+Symbol table '.dynsym' contains 21 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
- +1: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +1 
- +2: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +2 
- +3: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +3 
- +4: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +4 
- +5: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +5 
- +6: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +6 
- +7: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +7 
- +8: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +8 
- +9: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +9 
- +10: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +10 
- +11: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +11 
- +12: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +12 
- +13: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +13 
- +14: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +14 
- +15: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +16: [0-9a-z]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +17: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +18: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +19: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +20: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_offset
- +21: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +22: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
- +23: [0-9a-z]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +24: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +25: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +26: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +27: [0-9a-z]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +28: [0-9a-z]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +29: 0+1c40 +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5
+ +[0-9]+: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_offset
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
 
-Symbol table '.symtab' contains 57 entries:
+Symbol table '.symtab' contains 56 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
- +1: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +1 
- +2: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +2 
- +3: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +3 
- +4: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +4 
- +5: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +5 
- +6: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +6 
- +7: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +7 
- +8: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +8 
- +9: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +9 
- +10: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +10 
- +11: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +11 
- +12: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +12 
- +13: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +13 
- +14: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +14 
- +15: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +15 
- +16: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +16 
- +17: [0-9a-z]+ +0 SECTION LOCAL  DEFAULT +17 
- +18: 0+20 +0 TLS +LOCAL  DEFAULT +9 sl1
- +19: 0+24 +0 TLS +LOCAL  DEFAULT +9 sl2
- +20: 0+28 +0 TLS +LOCAL  DEFAULT +9 sl3
- +21: 0+2c +0 TLS +LOCAL  DEFAULT +9 sl4
- +22: 0+30 +0 TLS +LOCAL  DEFAULT +9 sl5
- +23: 0+34 +0 TLS +LOCAL  DEFAULT +9 sl6
- +24: 0+38 +0 TLS +LOCAL  DEFAULT +9 sl7
- +25: 0+3c +0 TLS +LOCAL  DEFAULT +9 sl8
- +26: 0+60 +0 TLS +LOCAL  HIDDEN +10 sH1
- +27: 0+48 +0 TLS +LOCAL  HIDDEN +9 sh3
- +28: 0+64 +0 TLS +LOCAL  HIDDEN +10 sH2
- +29: 0+78 +0 TLS +LOCAL  HIDDEN +10 sH7
- +30: 0+58 +0 TLS +LOCAL  HIDDEN +9 sh7
- +31: 0+5c +0 TLS +LOCAL  HIDDEN +9 sh8
- +32: 0+6c +0 TLS +LOCAL  HIDDEN +10 sH4
- +33: 0+4c +0 TLS +LOCAL  HIDDEN +9 sh4
- +34: 0+68 +0 TLS +LOCAL  HIDDEN +10 sH3
- +35: 0+50 +0 TLS +LOCAL  HIDDEN +9 sh5
- +36: 0+70 +0 TLS +LOCAL  HIDDEN +10 sH5
- +37: 0+74 +0 TLS +LOCAL  HIDDEN +10 sH6
- +38: 0+7c +0 TLS +LOCAL  HIDDEN +10 sH8
- +39: 0+40 +0 TLS +LOCAL  HIDDEN +9 sh1
- +40: 0+44 +0 TLS +LOCAL  HIDDEN +9 sh2
- +41: 0+54 +0 TLS +LOCAL  HIDDEN +9 sh6
- +42: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +43: [0-9a-z]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +44: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +45: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +46: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +47: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_offset
- +48: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +49: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
- +50: [0-9a-z]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +51: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +52: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +53: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +54: [0-9a-z]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +55: [0-9a-z]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +56: [0-9a-z]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 
+ +[0-9]+: 0+20 +0 TLS +LOCAL  DEFAULT +8 sl1
+ +[0-9]+: 0+24 +0 TLS +LOCAL  DEFAULT +8 sl2
+ +[0-9]+: 0+28 +0 TLS +LOCAL  DEFAULT +8 sl3
+ +[0-9]+: 0+2c +0 TLS +LOCAL  DEFAULT +8 sl4
+ +[0-9]+: 0+30 +0 TLS +LOCAL  DEFAULT +8 sl5
+ +[0-9]+: 0+34 +0 TLS +LOCAL  DEFAULT +8 sl6
+ +[0-9]+: 0+38 +0 TLS +LOCAL  DEFAULT +8 sl7
+ +[0-9]+: 0+3c +0 TLS +LOCAL  DEFAULT +8 sl8
+ +[0-9]+: 0+60 +0 TLS +LOCAL  HIDDEN +9 sH1
+ +[0-9]+: 0+48 +0 TLS +LOCAL  HIDDEN +8 sh3
+ +[0-9]+: 0+64 +0 TLS +LOCAL  HIDDEN +9 sH2
+ +[0-9]+: 0+78 +0 TLS +LOCAL  HIDDEN +9 sH7
+ +[0-9]+: 0+58 +0 TLS +LOCAL  HIDDEN +8 sh7
+ +[0-9]+: 0+5c +0 TLS +LOCAL  HIDDEN +8 sh8
+ +[0-9]+: 0+6c +0 TLS +LOCAL  HIDDEN +9 sH4
+ +[0-9]+: 0+4c +0 TLS +LOCAL  HIDDEN +8 sh4
+ +[0-9]+: 0+68 +0 TLS +LOCAL  HIDDEN +9 sH3
+ +[0-9]+: 0+50 +0 TLS +LOCAL  HIDDEN +8 sh5
+ +[0-9]+: 0+70 +0 TLS +LOCAL  HIDDEN +9 sH5
+ +[0-9]+: 0+74 +0 TLS +LOCAL  HIDDEN +9 sH6
+ +[0-9]+: 0+7c +0 TLS +LOCAL  HIDDEN +9 sH8
+ +[0-9]+: 0+40 +0 TLS +LOCAL  HIDDEN +8 sh1
+ +[0-9]+: 0+44 +0 TLS +LOCAL  HIDDEN +8 sh2
+ +[0-9]+: 0+54 +0 TLS +LOCAL  HIDDEN +8 sh6
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5
+ +[0-9]+: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_offset
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
--- ld/testsuite/ld-s390/tlsbin_64.rd.jj	2004-05-05 14:55:02.271219091 +0200
+++ ld/testsuite/ld-s390/tlsbin_64.rd	2004-05-06 14:08:34.074895267 +0200
@@ -5,7 +5,7 @@
 #readelf: -Ssrl
 #target: s390x-*-*
 
-There are 19 section headers, starting at offset 0x[0-9a-f]+:
+There are 18 section headers, starting at offset 0x[0-9a-f]+:
 
 Section Headers:
   \[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
@@ -17,24 +17,23 @@ Section Headers:
   \[ 5\] .rela.dyn +.*
   \[ 6\] .rela.plt +.*
   \[ 7\] .plt +.*
-  \[ 8\] .text +PROGBITS +0+80000458 0+458 0+28c 00 +AX +0 +0 +4
-  \[ 9\] .data +.*
-  \[10\] .tdata +PROGBITS +0+800016e8 0+6e8 0+60 00 WAT +0 +0 +1
-  \[11\] .tbss +NOBITS +0+80001748 0+748 0+40 00 WAT +0 +0 +1
-  \[12\] .dynamic +DYNAMIC +0+80001748 0+748 0+140 10 +WA +4 +0 +8
-  \[13\] .got +PROGBITS +0+80001888 0+888 0+78 08 +WA +0 +0 +8
-  \[14\] .sbss +.*
-  \[15\] .bss +.*
-  \[16\] .shstrtab +.*
-  \[17\] .symtab +.*
-  \[18\] .strtab +.*
+  \[ 8\] .text +PROGBITS +.*
+  \[ 9\] .tdata +PROGBITS +0+80001720 0+720 0+60 00 WAT +0 +0 +32
+  \[10\] .tbss +NOBITS +0+80001780 0+780 0+40 00 WAT +0 +0 +1
+  \[11\] .dynamic +DYNAMIC +0+80001780 0+780 0+140 10 +WA +4 +0 +8
+  \[12\] .got +PROGBITS +0+800018c0 0+8c0 0+78 08 +WA +0 +0 +8
+  \[13\] .data +.*
+  \[14\] .bss +.*
+  \[15\] .shstrtab +.*
+  \[16\] .symtab +.*
+  \[17\] .strtab +.*
 Key to Flags:
 .*
 .*
 .*
 
 Elf file type is EXEC \(Executable file\)
-Entry point 0x80000644
+Entry point 0x[0-9a-f]+
 There are 6 program headers, starting at offset [0-9]+
 
 Program Headers:
@@ -42,10 +41,10 @@ Program Headers:
   PHDR +0x0+40 0x0+80000040 0x0+80000040 0x0+150 0x0+150 R E 0x8
   INTERP +0x0+190 0x0+80000190 0x0+80000190 0x0+11 0x0+11 R +0x1
 .*Requesting program interpreter.*
-  LOAD +0x0+ 0x0+80000000 0x0+80000000 0x0+6e4 0x0+6e4 R E 0x1000
-  LOAD +0x0+6e8 0x0+800016e8 0x0+800016e8 0x0+218 0x0+218 RW  0x1000
-  DYNAMIC +0x0+748 0x0+80001748 0x0+80001748 0x0+140 0x0+140 RW  0x8
-  TLS +0x0+6e8 0x0+800016e8 0x0+800016e8 0x0+60 0x0+a0 R +0x1
+  LOAD +0x0+ 0x0+80000000 0x0+80000000 0x0+720 0x0+720 R E 0x1000
+  LOAD +0x0+720 0x0+80001720 0x0+80001720 0x0+218 0x0+218 RW  0x1000
+  DYNAMIC +0x0+780 0x0+80001780 0x0+80001780 0x0+140 0x0+140 RW  0x8
+  TLS +0x0+720 0x0+80001720 0x0+80001720 0x0+60 0x0+a0 R +0x20
 
  Section to Segment mapping:
   Segment Sections...
@@ -56,101 +55,100 @@ Program Headers:
    04 +.tbss .dynamic *
    05 +.tdata .tbss *
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-z]+ contains 4 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-[0-9a-z]+ +0+10+38 R_390_TLS_TPOFF +0+ sG3 \+ 0
-[0-9a-z]+ +0+30+38 R_390_TLS_TPOFF +0+ sG2 \+ 0
-[0-9a-z]+ +0+60+38 R_390_TLS_TPOFF +0+ sG6 \+ 0
-[0-9a-z]+ +0+70+38 R_390_TLS_TPOFF +0+ sG1 \+ 0
+[0-9a-f]+ +0+10+38 R_390_TLS_TPOFF +0+ sG3 \+ 0
+[0-9a-f]+ +0+30+38 R_390_TLS_TPOFF +0+ sG2 \+ 0
+[0-9a-f]+ +0+60+38 R_390_TLS_TPOFF +0+ sG6 \+ 0
+[0-9a-f]+ +0+70+38 R_390_TLS_TPOFF +0+ sG1 \+ 0
 
 Relocation section '.rela.plt' at offset 0x40+ contains 1 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-[0-9a-z]+ +0+40+b R_390_JMP_SLOT +0+80+438 __tls_get_offset \+ 0
+[0-9a-f]+ +0+40+b R_390_JMP_SLOT +0+80+438 __tls_get_offset \+ 0
 
 Symbol table '.dynsym' contains 11 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+ +0 TLS +GLOBAL DEFAULT +UND sG3
- +2: [0-9a-z]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +3: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2
- +4: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_offset
- +5: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +6: 0+ +0 TLS +GLOBAL DEFAULT +UND sG6
- +7: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1
- +8: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +9: [0-9a-z]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
- +10: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG3
+ +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_offset
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
 
-Symbol table '.symtab' contains 71 entries:
+Symbol table '.symtab' contains 70 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +1 
- +2: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +2 
- +3: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +3 
- +4: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +4 
- +5: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +5 
- +6: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +6 
- +7: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +7 
- +8: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +8 
- +9: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +9 
- +10: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +10 
- +11: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +11 
- +12: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +12 
- +13: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +13 
- +14: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +14 
- +15: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +15 
- +16: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +16 
- +17: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +17 
- +18: [0-9a-z]+ +0 SECTION LOCAL +DEFAULT +18 
- +19: 0+20 +0 TLS +LOCAL +DEFAULT +10 sl1
- +20: 0+24 +0 TLS +LOCAL +DEFAULT +10 sl2
- +21: 0+28 +0 TLS +LOCAL +DEFAULT +10 sl3
- +22: 0+2c +0 TLS +LOCAL +DEFAULT +10 sl4
- +23: 0+30 +0 TLS +LOCAL +DEFAULT +10 sl5
- +24: 0+34 +0 TLS +LOCAL +DEFAULT +10 sl6
- +25: 0+38 +0 TLS +LOCAL +DEFAULT +10 sl7
- +26: 0+3c +0 TLS +LOCAL +DEFAULT +10 sl8
- +27: 0+80 +0 TLS +LOCAL +DEFAULT +11 bl1
- +28: 0+84 +0 TLS +LOCAL +DEFAULT +11 bl2
- +29: 0+88 +0 TLS +LOCAL +DEFAULT +11 bl3
- +30: 0+8c +0 TLS +LOCAL +DEFAULT +11 bl4
- +31: 0+90 +0 TLS +LOCAL +DEFAULT +11 bl5
- +32: 0+94 +0 TLS +LOCAL +DEFAULT +11 bl6
- +33: 0+98 +0 TLS +LOCAL +DEFAULT +11 bl7
- +34: 0+9c +0 TLS +LOCAL +DEFAULT +11 bl8
- +35: 0+ +0 TLS +GLOBAL DEFAULT +UND sG3
- +36: 0+1c +0 TLS +GLOBAL DEFAULT +10 sg8
- +37: 0+7c +0 TLS +GLOBAL DEFAULT +11 bg8
- +38: 0+74 +0 TLS +GLOBAL DEFAULT +11 bg6
- +39: 0+68 +0 TLS +GLOBAL DEFAULT +11 bg3
- +40: [0-9a-z]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +41: 0+8 +0 TLS +GLOBAL DEFAULT +10 sg3
- +42: 0+48 +0 TLS +GLOBAL HIDDEN +10 sh3
- +43: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2
- +44: 0+c +0 TLS +GLOBAL DEFAULT +10 sg4
- +45: 0+10 +0 TLS +GLOBAL DEFAULT +10 sg5
- +46: 0+70 +0 TLS +GLOBAL DEFAULT +11 bg5
- +47: 0+58 +0 TLS +GLOBAL HIDDEN +10 sh7
- +48: 0+5c +0 TLS +GLOBAL HIDDEN +10 sh8
- +49: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_offset
- +50: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1
- +51: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +8 _start
- +52: 0+4c +0 TLS +GLOBAL HIDDEN +10 sh4
- +53: 0+78 +0 TLS +GLOBAL DEFAULT +11 bg7
- +54: 0+50 +0 TLS +GLOBAL HIDDEN +10 sh5
- +55: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +56: 0+ +0 TLS +GLOBAL DEFAULT +UND sG6
- +57: [0-9a-z]+ +0 FUNC +GLOBAL DEFAULT +8 fn2
- +58: 0+4 +0 TLS +GLOBAL DEFAULT +10 sg2
- +59: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1
- +60: 0+40 +0 TLS +GLOBAL HIDDEN +10 sh1
- +61: 0+14 +0 TLS +GLOBAL DEFAULT +10 sg6
- +62: 0+18 +0 TLS +GLOBAL DEFAULT +10 sg7
- +63: [0-9a-z]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +64: [0-9a-z]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
- +65: 0+80+190+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +66: 0+44 +0 TLS +GLOBAL HIDDEN +10 sh2
- +67: 0+54 +0 TLS +GLOBAL HIDDEN +10 sh6
- +68: 0+64 +0 TLS +GLOBAL DEFAULT +11 bg2
- +69: 0+60 +0 TLS +GLOBAL DEFAULT +11 bg1
- +70: 0+6c +0 TLS +GLOBAL DEFAULT +11 bg4
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +17 
+ +[0-9]+: 0+20 +0 TLS +LOCAL +DEFAULT +9 sl1
+ +[0-9]+: 0+24 +0 TLS +LOCAL +DEFAULT +9 sl2
+ +[0-9]+: 0+28 +0 TLS +LOCAL +DEFAULT +9 sl3
+ +[0-9]+: 0+2c +0 TLS +LOCAL +DEFAULT +9 sl4
+ +[0-9]+: 0+30 +0 TLS +LOCAL +DEFAULT +9 sl5
+ +[0-9]+: 0+34 +0 TLS +LOCAL +DEFAULT +9 sl6
+ +[0-9]+: 0+38 +0 TLS +LOCAL +DEFAULT +9 sl7
+ +[0-9]+: 0+3c +0 TLS +LOCAL +DEFAULT +9 sl8
+ +[0-9]+: 0+80 +0 TLS +LOCAL +DEFAULT +10 bl1
+ +[0-9]+: 0+84 +0 TLS +LOCAL +DEFAULT +10 bl2
+ +[0-9]+: 0+88 +0 TLS +LOCAL +DEFAULT +10 bl3
+ +[0-9]+: 0+8c +0 TLS +LOCAL +DEFAULT +10 bl4
+ +[0-9]+: 0+90 +0 TLS +LOCAL +DEFAULT +10 bl5
+ +[0-9]+: 0+94 +0 TLS +LOCAL +DEFAULT +10 bl6
+ +[0-9]+: 0+98 +0 TLS +LOCAL +DEFAULT +10 bl7
+ +[0-9]+: 0+9c +0 TLS +LOCAL +DEFAULT +10 bl8
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG3
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
+ +[0-9]+: 0+7c +0 TLS +GLOBAL DEFAULT +10 bg8
+ +[0-9]+: 0+74 +0 TLS +GLOBAL DEFAULT +10 bg6
+ +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +10 bg3
+ +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
+ +[0-9]+: 0+48 +0 TLS +GLOBAL HIDDEN +9 sh3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
+ +[0-9]+: 0+70 +0 TLS +GLOBAL DEFAULT +10 bg5
+ +[0-9]+: 0+58 +0 TLS +GLOBAL HIDDEN +9 sh7
+ +[0-9]+: 0+5c +0 TLS +GLOBAL HIDDEN +9 sh8
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_offset
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 _start
+ +[0-9]+: 0+4c +0 TLS +GLOBAL HIDDEN +9 sh4
+ +[0-9]+: 0+78 +0 TLS +GLOBAL DEFAULT +10 bg7
+ +[0-9]+: 0+50 +0 TLS +GLOBAL HIDDEN +9 sh5
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG6
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 fn2
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1
+ +[0-9]+: 0+40 +0 TLS +GLOBAL HIDDEN +9 sh1
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+44 +0 TLS +GLOBAL HIDDEN +9 sh2
+ +[0-9]+: 0+54 +0 TLS +GLOBAL HIDDEN +9 sh6
+ +[0-9]+: 0+64 +0 TLS +GLOBAL DEFAULT +10 bg2
+ +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +10 bg1
+ +[0-9]+: 0+6c +0 TLS +GLOBAL DEFAULT +10 bg4
--- ld/testsuite/ld-s390/tlspic1_64.s.jj	2004-05-05 14:55:02.264220345 +0200
+++ ld/testsuite/ld-s390/tlspic1_64.s	2004-05-06 14:08:34.072895625 +0200
@@ -1,4 +1,5 @@
 	.section ".tdata", "awT", @progbits
+	.balign 32
 	.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
 	.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
 	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
@@ -29,6 +30,7 @@ sh8:	.long 264
 	.text
 	.globl	fn1
 	.type	fn1,@function
+	.balign	64
 fn1:
 	/* Funtion prolog */
 	stmg	%r6,%r14,48(%r15)
--- ld/testsuite/ld-s390/tlspic.dd.jj	2004-05-05 14:55:02.244223928 +0200
+++ ld/testsuite/ld-s390/tlspic.dd	2004-05-06 14:08:34.069896162 +0200
@@ -9,153 +9,181 @@
 
 Disassembly of section .text:
 
-0+4bc <fn1>:
+0+[0-9a-f]+ <fn1>:
 # function prolog
- +4bc:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
- +4c0:	a7 d5 00 30       	bras	%r13,520 <fn1\+0x64>
+ +[0-9a-f]+:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
+ +[0-9a-f]+:	a7 d5 00 30       	bras	%r13,[0-9a-f]+ <fn1\+0x64>
 # _GLOBAL_OFFSET_TABLE_-.LT1
- +4c4:	00 00 12 78       	.long	0x00001278
+ +[0-9a-f]+:	[0-9a-f ]+       	.long	0x[0-9a-f]+
 # __tls_get_addr@plt-.LT1
- +4c8:	ff ff ff d8       	.long	0xffffffd8
+ +[0-9a-f]+:	[0-9a-f ]+       	.long	0x[0-9a-f]+
 # sg1@tlsgd
- +4cc:	00 00 00 38       	.long	0x00000038
+ +[0-9a-f]+:	00 00 00 38       	.long	0x00000038
 # sg2@tlsgd
- +4d0:	00 00 00 48       	.long	0x00000048
+ +[0-9a-f]+:	00 00 00 48       	.long	0x00000048
 # sl1@tlsgd
- +4d4:	00 00 00 10       	.long	0x00000010
+ +[0-9a-f]+:	00 00 00 10       	.long	0x00000010
 # sl2@tlsgd
- +4d8:	00 00 00 18       	.long	0x00000018
+ +[0-9a-f]+:	00 00 00 18       	.long	0x00000018
 # sh1@tlsgd
- +4dc:	00 00 00 4c       	.long	0x0000004c
+ +[0-9a-f]+:	00 00 00 4c       	.long	0x0000004c
 # sh2@tlsgd
- +4e0:	00 00 00 54       	.long	0x00000054
+ +[0-9a-f]+:	00 00 00 54       	.long	0x00000054
 # sH1@tlsgd
- +4e4:	00 00 00 28       	.long	0x00000028
+ +[0-9a-f]+:	00 00 00 28       	.long	0x00000028
 # sH2@tlsgd
- +4e8:	00 00 00 30       	.long	0x00000030
+ +[0-9a-f]+:	00 00 00 30       	.long	0x00000030
 # sl1@tlsldm
- +4ec:	00 00 00 20       	.long	0x00000020
+ +[0-9a-f]+:	00 00 00 20       	.long	0x00000020
 # sl1@dtpoff
- +4f0:	00 00 00 20       	.long	0x00000020
+ +[0-9a-f]+:	00 00 00 20       	.long	0x00000020
 # sl2@dtpoff
- +4f4:	00 00 00 24       	.long	0x00000024
+ +[0-9a-f]+:	00 00 00 24       	.long	0x00000024
 # sh1@tlsldm
- +4f8:	00 00 00 20       	.long	0x00000020
+ +[0-9a-f]+:	00 00 00 20       	.long	0x00000020
 # sh1@dtpoff
- +4fc:	00 00 00 40       	.long	0x00000040
+ +[0-9a-f]+:	00 00 00 40       	.long	0x00000040
 # sh2@dtpoff
- +500:	00 00 00 44       	.long	0x00000044
+ +[0-9a-f]+:	00 00 00 44       	.long	0x00000044
 # sH1@tlsldm
- +504:	00 00 00 20       	.long	0x00000020
+ +[0-9a-f]+:	00 00 00 20       	.long	0x00000020
 # sH1@dtpoff
- +508:	00 00 00 60       	.long	0x00000060
+ +[0-9a-f]+:	00 00 00 60       	.long	0x00000060
 # sH2@dtpoff
- +50c:	00 00 00 64       	.long	0x00000064
+ +[0-9a-f]+:	00 00 00 64       	.long	0x00000064
 # sg2@gotntpoff
- +510:	00 00 00 48       	.long	0x00000048
+ +[0-9a-f]+:	00 00 00 48       	.long	0x00000048
 # sl2@gotntpoff
- +514:	00 00 00 18       	.long	0x00000018
+ +[0-9a-f]+:	00 00 00 18       	.long	0x00000018
 # sh2@gotntpoff
- +518:	00 00 00 54       	.long	0x00000054
+ +[0-9a-f]+:	00 00 00 54       	.long	0x00000054
 # sH2@gotntpoff
- +51c:	00 00 00 30       	.long	0x00000030
+ +[0-9a-f]+:	00 00 00 30       	.long	0x00000030
 # function prolog
- +520:	18 ef             	lr	%r14,%r15
- +522:	58 c0 d0 00       	l	%r12,0\(%r13\)
- +526:	a7 fa ff a0       	ahi	%r15,-96
- +52a:	41 cc d0 00       	la	%r12,0\(%r12,%r13\)
- +52e:	50 e0 e0 00       	st	%r14,0\(%r14\)
+ +[0-9a-f]+:	18 ef             	lr	%r14,%r15
+ +[0-9a-f]+:	58 c0 d0 00       	l	%r12,0\(%r13\)
+ +[0-9a-f]+:	a7 fa ff a0       	ahi	%r15,-96
+ +[0-9a-f]+:	41 cc d0 00       	la	%r12,0\(%r12,%r13\)
+ +[0-9a-f]+:	50 e0 e0 00       	st	%r14,0\(%r14\)
 # Extract TCB and load branch offset
- +532:	b2 4f 00 90       	ear	%r9,%a0
- +536:	58 70 d0 04       	l	%r7,4\(%r13\)
+ +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
+ +[0-9a-f]+:	58 70 d0 04       	l	%r7,4\(%r13\)
 # GD
- +53a:	58 20 d0 08       	l	%r2,8\(%r13\)
- +53e:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
- +542:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 20 d0 08       	l	%r2,8\(%r13\)
+ +[0-9a-f]+:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE because variable is referenced through IE too
- +546:	58 20 d0 0c       	l	%r2,12\(%r13\)
- +54a:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
- +54e:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 20 d0 0c       	l	%r2,12\(%r13\)
+ +[0-9a-f]+:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD against local variable
- +552:	58 20 d0 10       	l	%r2,16\(%r13\)
- +556:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
- +55a:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 20 d0 10       	l	%r2,16\(%r13\)
+ +[0-9a-f]+:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE against local variable referenced through IE too
- +55e:	58 20 d0 14       	l	%r2,20\(%r13\)
- +562:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
- +566:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 20 d0 14       	l	%r2,20\(%r13\)
+ +[0-9a-f]+:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD against hidden and local variable
- +56a:	58 20 d0 18       	l	%r2,24\(%r13\)
- +56e:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
- +572:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 20 d0 18       	l	%r2,24\(%r13\)
+ +[0-9a-f]+:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE against hidden and local variable referenced through
 # IE too
- +576:	58 20 d0 1c       	l	%r2,28\(%r13\)
- +57a:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
- +57e:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 20 d0 1c       	l	%r2,28\(%r13\)
+ +[0-9a-f]+:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD against hidden but not local variable
- +582:	58 20 d0 20       	l	%r2,32\(%r13\)
- +586:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
- +58a:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 20 d0 20       	l	%r2,32\(%r13\)
+ +[0-9a-f]+:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE against hidden but not local variable referenced through
 # IE too
- +58e:	58 20 d0 24       	l	%r2,36\(%r13\)
- +592:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
- +596:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 20 d0 24       	l	%r2,36\(%r13\)
+ +[0-9a-f]+:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # LD
- +59a:	58 20 d0 28       	l	%r2,40\(%r13\)
- +59e:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
- +5a2:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +5a6:	58 40 d0 2c       	l	%r4,44\(%r13\)
- +5aa:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +5ae:	58 40 d0 30       	l	%r4,48\(%r13\)
- +5b2:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	58 20 d0 28       	l	%r2,40\(%r13\)
+ +[0-9a-f]+:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
+ +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 40 d0 2c       	l	%r4,44\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	58 40 d0 30       	l	%r4,48\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # LD against hidden and local variables
- +5b6:	58 20 d0 34       	l	%r2,52\(%r13\)
- +5ba:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
- +5be:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +5c2:	58 40 d0 38       	l	%r4,56\(%r13\)
- +5c6:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +5ca:	58 40 d0 34       	l	%r4,52\(%r13\)
- +5ce:	41 55 30 00       	la	%r5,0\(%r5,%r3\)
+ +[0-9a-f]+:	58 20 d0 34       	l	%r2,52\(%r13\)
+ +[0-9a-f]+:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
+ +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 40 d0 38       	l	%r4,56\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	58 40 d0 34       	l	%r4,52\(%r13\)
+ +[0-9a-f]+:	41 55 30 00       	la	%r5,0\(%r5,%r3\)
 # LD against hidden but not local variables
- +5d2:	58 20 d0 40       	l	%r2,64\(%r13\)
- +5d6:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
- +5da:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +5de:	58 30 d0 44       	l	%r3,68\(%r13\)
- +5e2:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +5e6:	58 40 d0 48       	l	%r4,72\(%r13\)
- +5ea:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	58 20 d0 40       	l	%r2,64\(%r13\)
+ +[0-9a-f]+:	4d e7 d0 00       	bas	%r14,0\(%r7,%r13\)
+ +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+ +[0-9a-f]+:	58 30 d0 44       	l	%r3,68\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	58 40 d0 48       	l	%r4,72\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # IE against global var
- +5ee:	58 30 d0 4c       	l	%r3,76\(%r13\)
- +5f2:	58 33 c0 00       	l	%r3,0\(%r3,%r12\)
- +5f6:	41 33 30 00       	la	%r3,0\(%r3,%r3\)
+ +[0-9a-f]+:	58 30 d0 4c       	l	%r3,76\(%r13\)
+ +[0-9a-f]+:	58 33 c0 00       	l	%r3,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 33 30 00       	la	%r3,0\(%r3,%r3\)
 # IE against local var
- +5fa:	58 30 d0 50       	l	%r3,80\(%r13\)
- +5fe:	58 43 c0 00       	l	%r4,0\(%r3,%r12\)
- +602:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	58 30 d0 50       	l	%r3,80\(%r13\)
+ +[0-9a-f]+:	58 43 c0 00       	l	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # IE against hidden and local var
- +606:	58 30 d0 54       	l	%r3,84\(%r13\)
- +60a:	58 43 c0 00       	l	%r4,0\(%r3,%r12\)
- +60e:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	58 30 d0 54       	l	%r3,84\(%r13\)
+ +[0-9a-f]+:	58 43 c0 00       	l	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # IE against hidden but not local var
- +612:	58 30 d0 58       	l	%r3,88\(%r13\)
- +616:	58 43 c0 00       	l	%r4,0\(%r3,%r12\)
- +61a:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	58 30 d0 58       	l	%r3,88\(%r13\)
+ +[0-9a-f]+:	58 43 c0 00       	l	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # IE against global var with small got access (no optimization)
- +61e:	58 30 c0 34       	l	%r3,52\(%r12\)
- +622:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	58 30 c0 34       	l	%r3,52\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against local var with small got access (no optimization)
- +626:	58 30 c0 1c       	l	%r3,28\(%r12\)
- +62a:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	58 30 c0 1c       	l	%r3,28\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against hidden and local var with small got access
 # (no optimization)
- +62e:	58 30 c0 40       	l	%r3,64\(%r12\)
- +632:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	58 30 c0 40       	l	%r3,64\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against hidden but not local var with small got access
 # (no optimization)
- +636:	58 30 c0 44       	l	%r3,68\(%r12\)
- +63a:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	58 30 c0 44       	l	%r3,68\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # function prolog
- +63e:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
- +642:	07 fe             	br	%r14
+ +[0-9a-f]+:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
+ +[0-9a-f]+:	07 fe             	br	%r14
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
--- ld/testsuite/ld-s390/tlspic1.s.jj	2004-05-05 14:55:02.258221420 +0200
+++ ld/testsuite/ld-s390/tlspic1.s	2004-05-06 14:08:34.071895804 +0200
@@ -1,4 +1,5 @@
 	.section ".tdata", "awT", @progbits
+	.balign 32
 	.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
 	.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
 	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
@@ -29,6 +30,7 @@ sh8:	.long 264
 	.text
 	.globl	fn1
 	.type	fn1,@function
+	.balign 64
 fn1:
 	/* Funtion prolog */
 	stm	%r6,%r14,24(%r15)
--- ld/testsuite/ld-s390/tlspic_64.sd.jj	2004-05-05 14:55:02.230226437 +0200
+++ ld/testsuite/ld-s390/tlspic_64.sd	2004-05-06 14:08:34.066896700 +0200
@@ -8,14 +8,14 @@
 .*: +file format elf64-s390
 
 Contents of section .got:
- 1b90 [0-9a-f]+ [0-9a-f]+ 00000000 00000000  .*
- 1ba0 00000000 00000000 [0-9a-f]+ [0-9a-f]+  .*
- 1bb0 00000000 00000000 00000000 00000020  .*
- 1bc0 00000000 00000000 00000000 00000000  .*
- 1bd0 00000000 00000000 00000000 00000000  .*
- 1be0 00000000 00000000 00000000 00000060  .*
- 1bf0 00000000 00000000 00000000 00000000  .*
- 1c00 00000000 00000000 00000000 00000000  .*
- 1c10 00000000 00000000 00000000 00000000  .*
- 1c20 00000000 00000000 00000000 00000000  .*
- 1c30 00000000 00000040 00000000 00000000  .*
+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 [0-9a-f]+ [0-9a-f]+  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000020  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000060  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000040 00000000 00000000  .*
--- ld/testsuite/ld-s390/tlspic.rd.jj	2004-05-05 14:55:02.251222674 +0200
+++ ld/testsuite/ld-s390/tlspic.rd	2004-05-06 14:08:34.071895804 +0200
@@ -5,7 +5,7 @@
 #readelf: -Ssrl
 #target: s390-*-*
 
-There are 18 section headers, starting at offset 0x[0-9a-f]+:
+There are 17 section headers, starting at offset 0x[0-9a-f]+:
 
 Section Headers:
   \[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -16,32 +16,31 @@ Section Headers:
   \[ 4\] .rela.dyn +.*
   \[ 5\] .rela.plt +.*
   \[ 6\] .plt +.*
-  \[ 7\] .text +PROGBITS +0+4bc 0+4bc 0+188 00  AX  0 +0  4
-  \[ 8\] .data +.*
-  \[ 9\] .tdata +PROGBITS +0+1644 0+644 0+60 00 WAT  0 +0  1
-  \[10\] .tbss +NOBITS +0+16a4 0+6a4 0+20 00 WAT  0 +0  1
-  \[11\] .dynamic +DYNAMIC +0+16a4 0+6a4 0+98 08  WA  3 +0  4
-  \[12\] .got +PROGBITS +0+173c 0+73c 0+58 04  WA  0 +0  4
-  \[13\] .sbss +.*
-  \[14\] .bss +.*
-  \[15\] .shstrtab +.*
-  \[16\] .symtab +.*
-  \[17\] .strtab +.*
+  \[ 7\] .text +PROGBITS +.*
+  \[ 8\] .tdata +PROGBITS +0+1600 0+600 0+60 00 WAT  0 +0 32
+  \[ 9\] .tbss +NOBITS +0+1660 0+660 0+20 00 WAT  0 +0  1
+  \[10\] .dynamic +DYNAMIC +0+1660 0+660 0+98 08  WA  3 +0  4
+  \[11\] .got +PROGBITS +0+16f8 0+6f8 0+58 04  WA  0 +0  4
+  \[12\] .data +.*
+  \[13\] .bss +.*
+  \[14\] .shstrtab +.*
+  \[15\] .symtab +.*
+  \[16\] .strtab +.*
 Key to Flags:
 .*
 .*
 .*
 
 Elf file type is DYN \(Shared object file\)
-Entry point 0x4bc
+Entry point 0x[0-9a-f]+
 There are 4 program headers, starting at offset [0-9]+
 
 Program Headers:
   Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz  Flg Align
   LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x1000
-  LOAD +0x0+644 0x0+1644 0x0+1644 0x00150 0x00150 RW  0x1000
-  DYNAMIC +0x0+6a4 0x0+16a4 0x0+16a4 0x0+98 0x0+98 RW  0x4
-  TLS +0x0+644 0x0+1644 0x0+1644 0x0+60 0x0+80 R +0x1
+  LOAD +0x0+600 0x0+1600 0x0+1600 0x00150 0x00150 RW  0x1000
+  DYNAMIC +0x0+660 0x0+1660 0x0+1660 0x0+98 0x0+98 RW  0x4
+  TLS +0x0+600 0x0+1600 0x0+1600 0x0+60 0x0+80 R +0x20
 
  Section to Segment mapping:
   Segment Sections...
@@ -50,7 +49,7 @@ Program Headers:
  +02 +.tbss .dynamic 
  +03 +.tdata .tbss 
 
-Relocation section '.rela.dyn' at offset 0x3c8 contains 14 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
  Offset +Info +Type +Sym.Value  Sym. Name \+ Addend
 [0-9a-f]+  0+36 R_390_TLS_DTPMOD +0+
 [0-9a-f]+  0+38 R_390_TLS_TPOFF +0+24
@@ -62,104 +61,94 @@ Relocation section '.rela.dyn' at offset
 [0-9a-f]+  0+38 R_390_TLS_TPOFF +0+70
 [0-9a-f]+  0+36 R_390_TLS_DTPMOD +0+
 [0-9a-f]+  0+38 R_390_TLS_TPOFF +0+44
-[0-9a-f]+  0+1338 R_390_TLS_TPOFF +0+10 +sg5 \+ 0
-[0-9a-f]+  0+1536 R_390_TLS_DTPMOD  0+ +sg1 \+ 0
-[0-9a-f]+  0+1537 R_390_TLS_DTPOFF  0+ +sg1 \+ 0
-[0-9a-f]+  0+1838 R_390_TLS_TPOFF +0+4 +sg2 \+ 0
+[0-9a-f]+  0+a38 R_390_TLS_TPOFF +0+10 +sg5 \+ 0
+[0-9a-f]+  0+c36 R_390_TLS_DTPMOD  0+ +sg1 \+ 0
+[0-9a-f]+  0+c37 R_390_TLS_DTPOFF  0+ +sg1 \+ 0
+[0-9a-f]+  0+f38 R_390_TLS_TPOFF +0+4 +sg2 \+ 0
 
 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
  Offset +Info +Type +Sym.Value  Sym. Name \+ Addend
-[0-9a-f]+  0+140b R_390_JMP_SLOT +0+ +__tls_get_offset \+ 0
+[0-9a-f]+  0+b0b R_390_JMP_SLOT +0+ +__tls_get_offset \+ 0
 
-Symbol table '.dynsym' contains 30 entries:
+Symbol table '.dynsym' contains 21 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 
- +14: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 
- +15: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +16: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +17: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +18: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +19: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +20: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_offset
- +21: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +22: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
- +23: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +24: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +25: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +26: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +27: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +28: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +29: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5
+ +[0-9]+: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_offset
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
 
-Symbol table '.symtab' contains 57 entries:
+Symbol table '.symtab' contains 56 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 
- +14: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 
- +15: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 
- +16: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 
- +17: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 
- +18: 0+20 +0 TLS +LOCAL  DEFAULT +9 sl1
- +19: 0+24 +0 TLS +LOCAL  DEFAULT +9 sl2
- +20: 0+28 +0 TLS +LOCAL  DEFAULT +9 sl3
- +21: 0+2c +0 TLS +LOCAL  DEFAULT +9 sl4
- +22: 0+30 +0 TLS +LOCAL  DEFAULT +9 sl5
- +23: 0+34 +0 TLS +LOCAL  DEFAULT +9 sl6
- +24: 0+38 +0 TLS +LOCAL  DEFAULT +9 sl7
- +25: 0+3c +0 TLS +LOCAL  DEFAULT +9 sl8
- +26: 0+60 +0 TLS +LOCAL  HIDDEN +10 sH1
- +27: 0+48 +0 TLS +LOCAL  HIDDEN +9 sh3
- +28: 0+64 +0 TLS +LOCAL  HIDDEN +10 sH2
- +29: 0+78 +0 TLS +LOCAL  HIDDEN +10 sH7
- +30: 0+58 +0 TLS +LOCAL  HIDDEN +9 sh7
- +31: 0+5c +0 TLS +LOCAL  HIDDEN +9 sh8
- +32: 0+6c +0 TLS +LOCAL  HIDDEN +10 sH4
- +33: 0+4c +0 TLS +LOCAL  HIDDEN +9 sh4
- +34: 0+68 +0 TLS +LOCAL  HIDDEN +10 sH3
- +35: 0+50 +0 TLS +LOCAL  HIDDEN +9 sh5
- +36: 0+70 +0 TLS +LOCAL  HIDDEN +10 sH5
- +37: 0+74 +0 TLS +LOCAL  HIDDEN +10 sH6
- +38: 0+7c +0 TLS +LOCAL  HIDDEN +10 sH8
- +39: 0+40 +0 TLS +LOCAL  HIDDEN +9 sh1
- +40: 0+44 +0 TLS +LOCAL  HIDDEN +9 sh2
- +41: 0+54 +0 TLS +LOCAL  HIDDEN +9 sh6
- +42: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +43: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +44: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +45: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +46: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +47: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_offset
- +48: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +49: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
- +50: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +51: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +52: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +53: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +54: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +55: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +56: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 
+ +[0-9]+: 0+20 +0 TLS +LOCAL  DEFAULT +8 sl1
+ +[0-9]+: 0+24 +0 TLS +LOCAL  DEFAULT +8 sl2
+ +[0-9]+: 0+28 +0 TLS +LOCAL  DEFAULT +8 sl3
+ +[0-9]+: 0+2c +0 TLS +LOCAL  DEFAULT +8 sl4
+ +[0-9]+: 0+30 +0 TLS +LOCAL  DEFAULT +8 sl5
+ +[0-9]+: 0+34 +0 TLS +LOCAL  DEFAULT +8 sl6
+ +[0-9]+: 0+38 +0 TLS +LOCAL  DEFAULT +8 sl7
+ +[0-9]+: 0+3c +0 TLS +LOCAL  DEFAULT +8 sl8
+ +[0-9]+: 0+60 +0 TLS +LOCAL  HIDDEN +9 sH1
+ +[0-9]+: 0+48 +0 TLS +LOCAL  HIDDEN +8 sh3
+ +[0-9]+: 0+64 +0 TLS +LOCAL  HIDDEN +9 sH2
+ +[0-9]+: 0+78 +0 TLS +LOCAL  HIDDEN +9 sH7
+ +[0-9]+: 0+58 +0 TLS +LOCAL  HIDDEN +8 sh7
+ +[0-9]+: 0+5c +0 TLS +LOCAL  HIDDEN +8 sh8
+ +[0-9]+: 0+6c +0 TLS +LOCAL  HIDDEN +9 sH4
+ +[0-9]+: 0+4c +0 TLS +LOCAL  HIDDEN +8 sh4
+ +[0-9]+: 0+68 +0 TLS +LOCAL  HIDDEN +9 sH3
+ +[0-9]+: 0+50 +0 TLS +LOCAL  HIDDEN +8 sh5
+ +[0-9]+: 0+70 +0 TLS +LOCAL  HIDDEN +9 sH5
+ +[0-9]+: 0+74 +0 TLS +LOCAL  HIDDEN +9 sH6
+ +[0-9]+: 0+7c +0 TLS +LOCAL  HIDDEN +9 sH8
+ +[0-9]+: 0+40 +0 TLS +LOCAL  HIDDEN +8 sh1
+ +[0-9]+: 0+44 +0 TLS +LOCAL  HIDDEN +8 sh2
+ +[0-9]+: 0+54 +0 TLS +LOCAL  HIDDEN +8 sh6
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5
+ +[0-9]+: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_offset
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
--- ld/testsuite/ld-s390/tlsbin_64.dd.jj	2004-05-05 14:55:02.268219628 +0200
+++ ld/testsuite/ld-s390/tlsbin_64.dd	2004-05-06 14:08:34.073895446 +0200
@@ -18,196 +18,206 @@
 
 Disassembly of section .text:
 
-0+80000458 <fn2>:
+0+[0-9a-f]+ <fn2>:
 # function prolog
- +80000458:	eb 6e f0 30 00 24 	stmg	%r6,%r14,48\(%r15\)
- +8000045e:	a7 d5 00 3e       	bras	%r13,800004da <fn2\+0x82>
+ +[0-9a-f]+:	eb 6e f0 30 00 24 	stmg	%r6,%r14,48\(%r15\)
+ +[0-9a-f]+:	a7 d5 00 3e       	bras	%r13,[0-9a-f]+ <fn2\+0x82>
 # sG1@tlsgd
- +80000462:	00 00 00 00       	.long	0x00000000
- +80000466:	00 00 00 60       	.long	0x00000060
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 60       	.long	0x00000060
 # sG2@tlsgd
- +8000046a:	00 00 00 00       	.long	0x00000000
- +8000046e:	00 00 00 48       	.long	0x00000048
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 48       	.long	0x00000048
 # sg1@tlsgd
- +80000472:	ff ff ff ff       	.long	0xffffffff
- +80000476:	ff ff ff 60       	.long	0xffffff60
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff 60       	.long	0xffffff60
 # sl1@tlsgd
- +8000047a:	ff ff ff ff       	.long	0xffffffff
- +8000047e:	ff ff ff 80       	.long	0xffffff80
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff 80       	.long	0xffffff80
 # sh1@tlsgd
- +80000482:	ff ff ff ff       	.long	0xffffffff
- +80000486:	ff ff ff a0       	.long	0xffffffa0
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff a0       	.long	0xffffffa0
 # sl1@tlsldm
- +8000048a:	00 00 00 00       	.long	0x00000000
- +8000048e:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
 # sl1@dtpoff
- +80000492:	ff ff ff ff       	.long	0xffffffff
- +80000496:	ff ff ff 80       	.long	0xffffff80
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff 80       	.long	0xffffff80
 # sl2@dtpoff
- +8000049a:	ff ff ff ff       	.long	0xffffffff
- +8000049e:	ff ff ff 84       	.long	0xffffff84
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff 84       	.long	0xffffff84
 # sh1@tlsldm
- +800004a2:	00 00 00 00       	.long	0x00000000
- +800004a6:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
 # sh1@dtpoff
- +800004aa:	ff ff ff ff       	.long	0xffffffff
- +800004ae:	ff ff ff a0       	.long	0xffffffa0
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff a0       	.long	0xffffffa0
 # sh2@dtpoff
- +800004b2:	ff ff ff ff       	.long	0xffffffff
- +800004b6:	ff ff ff a4       	.long	0xffffffa4
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff a4       	.long	0xffffffa4
 # sG2@gotntpoff
- +800004ba:	00 00 00 00       	.long	0x00000000
- +800004be:	00 00 00 48       	.long	0x00000048
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 48       	.long	0x00000048
 # sg1@gotntpoff
- +800004c2:	ff ff ff ff       	.long	0xffffffff
- +800004c6:	ff ff ff 60       	.long	0xffffff60
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff 60       	.long	0xffffff60
 # sl1@gotntpoff
- +800004ca:	ff ff ff ff       	.long	0xffffffff
- +800004ce:	ff ff ff 80       	.long	0xffffff80
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff 80       	.long	0xffffff80
 # sh1@gotntpoff
- +800004d2:	ff ff ff ff       	.long	0xffffffff
- +800004d6:	ff ff ff a0       	.long	0xffffffa0
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff a0       	.long	0xffffffa0
 # function prolog
- +800004da:	b9 04 00 ef       	lgr	%r14,%r15
- +800004de:	a7 fb ff 60       	aghi	%r15,-160
- +800004e2:	c0 c0 00 00 09 d3 	larl	%r12,80001888 <_GLOBAL_OFFSET_TABLE_>
- +800004e8:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
+ +[0-9a-f]+:	b9 04 00 ef       	lgr	%r14,%r15
+ +[0-9a-f]+:	a7 fb ff 60       	aghi	%r15,-160
+ +[0-9a-f]+:	c0 c0 [0-9a-f ]+ 	larl	%r12,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_>
+ +[0-9a-f]+:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
 # extract TCB
- +800004ee:	b2 4f 00 90       	ear	%r9,%a0
- +800004f2:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
- +800004f8:	b2 4f 00 91       	ear	%r9,%a1
+ +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
+ +[0-9a-f]+:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
+ +[0-9a-f]+:	b2 4f 00 91       	ear	%r9,%a1
 # GD -> IE because variable is not defined in executable
- +800004fc:	e3 c0 d0 00 00 04 	lg	%r12,0\(%r13\)
- +80000502:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
- +80000508:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 c0 d0 00 00 04 	lg	%r12,0\(%r13\)
+ +[0-9a-f]+:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE because variable is not defined in executable where
 # the variable is referenced through IE too
- +8000050c:	e3 20 d0 08 00 04 	lg	%r2,8\(%r13\)
- +80000512:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
- +80000518:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 08 00 04 	lg	%r2,8\(%r13\)
+ +[0-9a-f]+:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> LE with global variable defined in executable
- +8000051c:	e3 20 d0 10 00 04 	lg	%r2,16\(%r13\)
- +80000522:	c0 04 00 00 00 00 	brcl	0,80000522 <fn2\+0xca>
- +80000528:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 10 00 04 	lg	%r2,16\(%r13\)
+ +[0-9a-f]+:	c0 04 00 00 00 00 	brcl	0,[0-9a-f]+ <fn2\+0xca>
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> LE with local variable defined in executable
- +8000052c:	e3 20 d0 18 00 04 	lg	%r2,24\(%r13\)
- +80000532:	c0 04 00 00 00 00 	brcl	0,80000532 <fn2\+0xda>
- +80000538:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 18 00 04 	lg	%r2,24\(%r13\)
+ +[0-9a-f]+:	c0 04 00 00 00 00 	brcl	0,[0-9a-f]+ <fn2\+0xda>
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> LE with hidden variable defined in executable
- +8000053c:	e3 20 d0 20 00 04 	lg	%r2,32\(%r13\)
- +80000542:	c0 04 00 00 00 00 	brcl	0,80000542 <fn2\+0xea>
- +80000548:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 20 00 04 	lg	%r2,32\(%r13\)
+ +[0-9a-f]+:	c0 04 00 00 00 00 	brcl	0,[0-9a-f]+ <fn2\+0xea>
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # LD -> LE
- +8000054c:	e3 20 d0 28 00 04 	lg	%r2,40\(%r13\)
- +80000552:	c0 04 00 00 00 00 	brcl	0,80000552 <fn2\+0xfa>
- +80000558:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +8000055c:	e3 40 d0 30 00 04 	lg	%r4,48\(%r13\)
- +80000562:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +80000566:	e3 40 d0 38 00 04 	lg	%r4,56\(%r13\)
- +8000056c:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +80000570:	e3 20 d0 40 00 04 	lg	%r2,64\(%r13\)
- +80000576:	c0 04 00 00 00 00 	brcl	0,80000576 <fn2\+0x11e>
- +8000057c:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +80000580:	e3 40 d0 48 00 04 	lg	%r4,72\(%r13\)
- +80000586:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +8000058a:	e3 40 d0 50 00 04 	lg	%r4,80\(%r13\)
- +80000590:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 20 d0 28 00 04 	lg	%r2,40\(%r13\)
+ +[0-9a-f]+:	c0 04 00 00 00 00 	brcl	0,[0-9a-f]+ <fn2\+0xfa>
+ +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 40 d0 30 00 04 	lg	%r4,48\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 40 d0 38 00 04 	lg	%r4,56\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 20 d0 40 00 04 	lg	%r2,64\(%r13\)
+ +[0-9a-f]+:	c0 04 00 00 00 00 	brcl	0,[0-9a-f]+ <fn2\+0x11e>
+ +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 40 d0 48 00 04 	lg	%r4,72\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 40 d0 50 00 04 	lg	%r4,80\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # IE against global var
- +80000594:	e3 30 d0 58 00 04 	lg	%r3,88\(%r13\)
- +8000059a:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
- +800005a0:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 d0 58 00 04 	lg	%r3,88\(%r13\)
+ +[0-9a-f]+:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE -> LE against global var defined in exec
- +800005a4:	e3 30 d0 60 00 04 	lg	%r3,96\(%r13\)
- +800005aa:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +800005b0:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 60 00 04 	lg	%r3,96\(%r13\)
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE -> LE against local var
- +800005b4:	e3 30 d0 68 00 04 	lg	%r3,104\(%r13\)
- +800005ba:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +800005c0:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 68 00 04 	lg	%r3,104\(%r13\)
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE -> LE against hidden var
- +800005c4:	e3 30 d0 70 00 04 	lg	%r3,112\(%r13\)
- +800005ca:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +800005d0:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 70 00 04 	lg	%r3,112\(%r13\)
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against global var with larl got access
- +800005d4:	c0 30 00 00 09 6e 	larl	%r3,800018b0 <\_GLOBAL\_OFFSET\_TABLE\_\+0x28>
- +800005da:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
- +800005e0:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	c0 30 [0-9a-f ]+ 	larl	%r3,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x28>
+ +[0-9a-f]+:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against global var defined in exec with larl got access
- +800005e4:	c0 30 00 00 09 6e 	larl	%r3,800018c0 <\_GLOBAL\_OFFSET\_TABLE\_\+0x38>
- +800005ea:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +800005f0:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	c0 30 [0-9a-f ]+ 	larl	%r3,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x38>
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against local var with larl got access
- +800005f4:	c0 30 00 00 09 5a 	larl	%r3,800018a8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x20>
- +800005fa:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +80000600:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	c0 30 [0-9a-f ]+ 	larl	%r3,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x20>
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against hidden var with larl got access
- +80000604:	c0 30 00 00 09 62 	larl	%r3,800018c8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x40>
- +8000060a:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +80000610:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	c0 30 [0-9a-f ]+ 	larl	%r3,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x40>
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against global var with small got access (no optimization)
- +80000614:	e3 30 c0 28 00 04 	lg	%r3,40\(%r12\)
- +8000061a:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 c0 28 00 04 	lg	%r3,40\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against global var defined in exec with small got access
 # (no optimization)
- +8000061e:	e3 30 c0 38 00 04 	lg	%r3,56\(%r12\)
- +80000624:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 c0 38 00 04 	lg	%r3,56\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against local var with small got access (no optimization)
- +80000628:	e3 30 c0 20 00 04 	lg	%r3,32\(%r12\)
- +8000062e:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 c0 20 00 04 	lg	%r3,32\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against hidden var with small got access (no optimization)
- +80000632:	e3 30 c0 40 00 04 	lg	%r3,64\(%r12\)
- +80000638:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 c0 40 00 04 	lg	%r3,64\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # function epilog
- +8000063c:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
- +80000642:	07 fe             	br	%r14
+ +[0-9a-f]+:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
+ +[0-9a-f]+:	07 fe             	br	%r14
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
 
-0+80000644 <_start>:
+0+[0-9a-f]+ <_start>:
 # function prolog
- +80000644:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
- +80000648:	a7 d5 00 16       	bras	%r13,80000674 <_start\+0x30>
+ +[0-9a-f]+:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
+ +[0-9a-f]+:	a7 d5 00 16       	bras	%r13,[0-9a-f]+ <_start\+0x30>
 # sG6@indntpoff
- +8000064c:	00 00 00 00       	.long	0x00000000
- +80000650:	80 00 18 e0       	ssm	2272\(%r1\)
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	80 00 [0-9a-f ]+       	ssm	[0-9]+\(%r1\)
 # bg6@indntpoff
- +80000654:	ff ff ff ff       	.long	0xffffffff
- +80000658:	ff ff ff d4       	.long	0xffffffd4
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff d4       	.long	0xffffffd4
 # bl6@indntpoff
- +8000065c:	ff ff ff ff       	.long	0xffffffff
- +80000660:	ff ff ff f4       	.long	0xfffffff4
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff f4       	.long	0xfffffff4
 # sh6@indntpoff
- +80000664:	ff ff ff ff       	.long	0xffffffff
- +80000668:	ff ff ff b4       	.long	0xffffffb4
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff b4       	.long	0xffffffb4
 # sg3@indntpoff
- +8000066c:	ff ff ff ff       	.long	0xffffffff
- +80000670:	ff ff ff 68       	.long	0xffffff68
+ +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
+ +[0-9a-f]+:	ff ff ff 68       	.long	0xffffff68
 # function prolog
- +80000674:	b9 04 00 ef       	lgr	%r14,%r15
- +80000678:	a7 fb ff 60       	aghi	%r15,-160
- +8000067c:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
+ +[0-9a-f]+:	b9 04 00 ef       	lgr	%r14,%r15
+ +[0-9a-f]+:	a7 fb ff 60       	aghi	%r15,-160
+ +[0-9a-f]+:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
 # extract TCB
- +80000682:	b2 4f 00 90       	ear	%r9,%a0
- +80000686:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
- +8000068c:	b2 4f 00 91       	ear	%r9,%a1
+ +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
+ +[0-9a-f]+:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
+ +[0-9a-f]+:	b2 4f 00 91       	ear	%r9,%a1
 # IE against global var
- +80000690:	e3 30 d0 00 00 04 	lg	%r3,0\(%r13\)
- +80000696:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
- +8000069c:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 d0 00 00 04 	lg	%r3,0\(%r13\)
+ +[0-9a-f]+:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE -> LE against global var defined in exec
- +800006a0:	e3 30 d0 08 00 04 	lg	%r3,8\(%r13\)
- +800006a6:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +800006ac:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 08 00 04 	lg	%r3,8\(%r13\)
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE -> LE against local var
- +800006b0:	e3 30 d0 10 00 04 	lg	%r3,16\(%r13\)
- +800006b6:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +800006bc:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 10 00 04 	lg	%r3,16\(%r13\)
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE -> LE against hidden but not local var
- +800006c0:	e3 30 d0 18 00 04 	lg	%r3,24\(%r13\)
- +800006c6:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
- +800006cc:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 18 00 04 	lg	%r3,24\(%r13\)
+ +[0-9a-f]+:	eb 43 00 00 00 0d 	sllg	%r4,%r3,0
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # LE, global var defined in exec
- +800006d0:	e3 40 d0 20 00 04 	lg	%r4,32\(%r13\)
- +800006d6:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 40 d0 20 00 04 	lg	%r4,32\(%r13\)
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # function epilog
- +800006da:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
- +800006e0:	07 fe             	br	%r14
- +800006e2:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
+ +[0-9a-f]+:	07 fe             	br	%r14
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
--- ld/testsuite/ld-s390/tlspic_64.dd.jj	2004-05-05 14:55:02.240224645 +0200
+++ ld/testsuite/ld-s390/tlspic_64.dd	2004-05-06 14:08:34.069896162 +0200
@@ -9,186 +9,194 @@
 
 Disassembly of section .text:
 
-0+790 <fn1>:
+0+[0-9a-f]+ <fn1>:
 # function prolog
- +790:	eb 6e f0 30 00 24 	stmg	%r6,%r14,48\(%r15\)
- +796:	a7 d5 00 56       	bras	%r13,842 <fn1\+0xb2>
+ +[0-9a-f]+:	eb 6e f0 30 00 24 	stmg	%r6,%r14,48\(%r15\)
+ +[0-9a-f]+:	a7 d5 00 56       	bras	%r13,[0-9a-f]+ <fn1\+0xb2>
 # sg1@tlsgd
- +79a:	00 00 00 00       	.long	0x00000000
- +79e:	00 00 00 70       	.long	0x00000070
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 70       	.long	0x00000070
 # sg2@tlsgd
- +7a2:	00 00 00 00       	.long	0x00000000
- +7a6:	00 00 00 90       	.long	0x00000090
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 90       	.long	0x00000090
 # sl1@tlsgd
- +7aa:	00 00 00 00       	.long	0x00000000
- +7ae:	00 00 00 20       	.long	0x00000020
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 20       	.long	0x00000020
 # sl2@tlsgd
- +7b2:	00 00 00 00       	.long	0x00000000
- +7b6:	00 00 00 30       	.long	0x00000030
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 30       	.long	0x00000030
 # sh1@tlsgd
- +7ba:	00 00 00 00       	.long	0x00000000
- +7be:	00 00 00 98       	.long	0x00000098
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 98       	.long	0x00000098
 # sh2@tlsgd
- +7c2:	00 00 00 00       	.long	0x00000000
- +7c6:	00 00 00 a8       	.long	0x000000a8
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 a8       	.long	0x000000a8
 # sH1@tlsgd
- +7ca:	00 00 00 00       	.long	0x00000000
- +7ce:	00 00 00 50       	.long	0x00000050
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 50       	.long	0x00000050
 # sH2@tlsgd
- +7d2:	00 00 00 00       	.long	0x00000000
- +7d6:	00 00 00 60       	.long	0x00000060
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 60       	.long	0x00000060
 # sl1@tlsldm
- +7da:	00 00 00 00       	.long	0x00000000
- +7de:	00 00 00 40       	.long	0x00000040
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 40       	.long	0x00000040
 # sl1@dtpoff
- +7e2:	00 00 00 00       	.long	0x00000000
- +7e6:	00 00 00 20       	.long	0x00000020
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 20       	.long	0x00000020
 # sl2@dtpoff
- +7ea:	00 00 00 00       	.long	0x00000000
- +7ee:	00 00 00 24       	.long	0x00000024
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 24       	.long	0x00000024
 # sh1@tlsldm
- +7f2:	00 00 00 00       	.long	0x00000000
- +7f6:	00 00 00 40       	.long	0x00000040
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 40       	.long	0x00000040
 # sh1@dtpoff
- +7fa:	00 00 00 00       	.long	0x00000000
- +7fe:	00 00 00 40       	.long	0x00000040
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 40       	.long	0x00000040
 # sh2@dtpoff
- +802:	00 00 00 00       	.long	0x00000000
- +806:	00 00 00 44       	.long	0x00000044
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 44       	.long	0x00000044
 # sH1@tlsldm
- +80a:	00 00 00 00       	.long	0x00000000
- +80e:	00 00 00 40       	.long	0x00000040
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 40       	.long	0x00000040
 # sH1@dtpoff
- +812:	00 00 00 00       	.long	0x00000000
- +816:	00 00 00 60       	.long	0x00000060
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 60       	.long	0x00000060
 # sH2@dtpoff
- +81a:	00 00 00 00       	.long	0x00000000
- +81e:	00 00 00 64       	.long	0x00000064
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 64       	.long	0x00000064
 # sg2@gotntpoff
- +822:	00 00 00 00       	.long	0x00000000
- +826:	00 00 00 90       	.long	0x00000090
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 90       	.long	0x00000090
 # sl2@gotntpoff
- +82a:	00 00 00 00       	.long	0x00000000
- +82e:	00 00 00 30       	.long	0x00000030
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 30       	.long	0x00000030
 # sh2@gotntpoff
- +832:	00 00 00 00       	.long	0x00000000
- +836:	00 00 00 a8       	.long	0x000000a8
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 a8       	.long	0x000000a8
 # sH2@gotntpoff
- +83a:	00 00 00 00       	.long	0x00000000
- +83e:	00 00 00 60       	.long	0x00000060
+ +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
+ +[0-9a-f]+:	00 00 00 60       	.long	0x00000060
 # function prolog
- +842:	b9 04 00 ef       	lgr	%r14,%r15
- +846:	c0 c0 00 00 09 a5 	larl	%r12,1b90 <_GLOBAL_OFFSET_TABLE_>
- +84c:	a7 fb ff 60       	aghi	%r15,-160
- +850:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
+ +[0-9a-f]+:	b9 04 00 ef       	lgr	%r14,%r15
+ +[0-9a-f]+:	c0 c0 [0-9a-f ]+ 	larl	%r12,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_>
+ +[0-9a-f]+:	a7 fb ff 60       	aghi	%r15,-160
+ +[0-9a-f]+:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
 # extract TCB
- +856:	b2 4f 00 90       	ear	%r9,%a0
- +85a:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
- +860:	b2 4f 00 91       	ear	%r9,%a1
+ +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
+ +[0-9a-f]+:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
+ +[0-9a-f]+:	b2 4f 00 91       	ear	%r9,%a1
 # GD
- +864:	e3 20 d0 00 00 04 	lg	%r2,0\(%r13\)
- +86a:	c0 e5 ff ff ff 83 	brasl	%r14,770 <sH8\+0x6f4>
- +870:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 00 00 04 	lg	%r2,0\(%r13\)
+ +[0-9a-f]+:	c0 e5 [0-9a-f ]+ 	brasl	%r14,[0-9a-f]+ <.*>
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE because variable is referenced through IE too
- +874:	e3 20 d0 08 00 04 	lg	%r2,8\(%r13\)
- +87a:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
- +880:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 08 00 04 	lg	%r2,8\(%r13\)
+ +[0-9a-f]+:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD against local variable
- +884:	e3 20 d0 10 00 04 	lg	%r2,16\(%r13\)
- +88a:	c0 e5 ff ff ff 73 	brasl	%r14,770 <sH8\+0x6f4>
- +890:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 10 00 04 	lg	%r2,16\(%r13\)
+ +[0-9a-f]+:	c0 e5 [0-9a-f ]+ 	brasl	%r14,[0-9a-f]+ <.*>
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE against local variable referenced through IE too
- +894:	e3 20 d0 18 00 04 	lg	%r2,24\(%r13\)
- +89a:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
- +8a0:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 18 00 04 	lg	%r2,24\(%r13\)
+ +[0-9a-f]+:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD against hidden and local variable
- +8a4:	e3 20 d0 20 00 04 	lg	%r2,32\(%r13\)
- +8aa:	c0 e5 ff ff ff 63 	brasl	%r14,770 <sH8\+0x6f4>
- +8b0:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 20 00 04 	lg	%r2,32\(%r13\)
+ +[0-9a-f]+:	c0 e5 [0-9a-f ]+ 	brasl	%r14,[0-9a-f]+ <.*>
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE against hidden and local variable referenced through
 # IE too
- +8b4:	e3 20 d0 28 00 04 	lg	%r2,40\(%r13\)
- +8ba:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
- +8c0:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 28 00 04 	lg	%r2,40\(%r13\)
+ +[0-9a-f]+:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD against hidden but not local variable
- +8c4:	e3 20 d0 30 00 04 	lg	%r2,48\(%r13\)
- +8ca:	c0 e5 ff ff ff 53 	brasl	%r14,770 <sH8\+0x6f4>
- +8d0:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 30 00 04 	lg	%r2,48\(%r13\)
+ +[0-9a-f]+:	c0 e5 [0-9a-f ]+ 	brasl	%r14,[0-9a-f]+ <.*>
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE against hidden but not local variable referenced through
 # IE too
- +8d4:	e3 20 d0 38 00 04 	lg	%r2,56\(%r13\)
- +8da:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
- +8e0:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 20 d0 38 00 04 	lg	%r2,56\(%r13\)
+ +[0-9a-f]+:	e3 22 c0 00 00 04 	lg	%r2,0\(%r2,%r12\)
+ +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # LD
- +8e4:	e3 20 d0 40 00 04 	lg	%r2,64\(%r13\)
- +8ea:	c0 e5 ff ff ff 43 	brasl	%r14,770 <sH8\+0x6f4>
- +8f0:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +8f4:	e3 40 d0 48 00 04 	lg	%r4,72\(%r13\)
- +8fa:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +8fe:	e3 40 d0 50 00 04 	lg	%r4,80\(%r13\)
- +904:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 20 d0 40 00 04 	lg	%r2,64\(%r13\)
+ +[0-9a-f]+:	c0 e5 [0-9a-f ]+ 	brasl	%r14,[0-9a-f]+ <.*>
+ +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 40 d0 48 00 04 	lg	%r4,72\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 40 d0 50 00 04 	lg	%r4,80\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # LD against hidden and local variables
- +908:	e3 20 d0 58 00 04 	lg	%r2,88\(%r13\)
- +90e:	c0 e5 ff ff ff 31 	brasl	%r14,770 <sH8\+0x6f4>
- +914:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +918:	e3 40 d0 60 00 04 	lg	%r4,96\(%r13\)
- +91e:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +922:	e3 40 d0 68 00 04 	lg	%r4,104\(%r13\)
- +928:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 20 d0 58 00 04 	lg	%r2,88\(%r13\)
+ +[0-9a-f]+:	c0 e5 [0-9a-f ]+ 	brasl	%r14,[0-9a-f]+ <.*>
+ +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 40 d0 60 00 04 	lg	%r4,96\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 40 d0 68 00 04 	lg	%r4,104\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # LD against hidden but not local variables
- +92c:	e3 20 d0 70 00 04 	lg	%r2,112\(%r13\)
- +932:	c0 e5 ff ff ff 1f 	brasl	%r14,770 <sH8\+0x6f4>
- +938:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +93c:	e3 40 d0 78 00 04 	lg	%r4,120\(%r13\)
- +942:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +946:	e3 40 d0 80 00 04 	lg	%r4,128\(%r13\)
- +94c:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 20 d0 70 00 04 	lg	%r2,112\(%r13\)
+ +[0-9a-f]+:	c0 e5 [0-9a-f ]+ 	brasl	%r14,[0-9a-f]+ <.*>
+ +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+ +[0-9a-f]+:	e3 40 d0 78 00 04 	lg	%r4,120\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+ +[0-9a-f]+:	e3 40 d0 80 00 04 	lg	%r4,128\(%r13\)
+ +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # IE against global var
- +950:	e3 30 d0 88 00 04 	lg	%r3,136\(%r13\)
- +956:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
- +95c:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 d0 88 00 04 	lg	%r3,136\(%r13\)
+ +[0-9a-f]+:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against local var
- +960:	e3 30 d0 90 00 04 	lg	%r3,144\(%r13\)
- +966:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
- +96c:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 90 00 04 	lg	%r3,144\(%r13\)
+ +[0-9a-f]+:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against hidden and local var
- +970:	e3 30 d0 98 00 04 	lg	%r3,152\(%r13\)
- +976:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
- +97c:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 98 00 04 	lg	%r3,152\(%r13\)
+ +[0-9a-f]+:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against hidden but not local var
- +980:	e3 30 d0 a0 00 04 	lg	%r3,160\(%r13\)
- +986:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
- +98c:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	e3 30 d0 a0 00 04 	lg	%r3,160\(%r13\)
+ +[0-9a-f]+:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against global var with larl got access
- +990:	c0 30 00 00 09 34 	larl	%r3,1bf8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x68>
- +996:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
- +99c:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	c0 30 [0-9a-f ]+ 	larl	%r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x68>
+ +[0-9a-f]+:	e3 33 c0 00 00 04 	lg	%r3,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against local var with larl got access
- +9a0:	c0 30 00 00 09 14 	larl	%r3,1bc8 <\_GLOBAL\_OFFSET\_TABLE\_\+0x38>
- +9a6:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
- +9ac:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	c0 30 [0-9a-f ]+ 	larl	%r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x38>
+ +[0-9a-f]+:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against hidden and local var with larl got access
- +9b0:	c0 30 00 00 09 30 	larl	%r3,1c10 <\_GLOBAL\_OFFSET\_TABLE\_\+0x80>
- +9b6:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
- +9bc:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	c0 30 [0-9a-f ]+ 	larl	%r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x80>
+ +[0-9a-f]+:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against hidden but not local var with larl got access
- +9c0:	c0 30 00 00 09 2c 	larl	%r3,1c18 <\_GLOBAL\_OFFSET\_TABLE\_\+0x88>
- +9c6:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
- +9cc:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+ +[0-9a-f]+:	c0 30 [0-9a-f ]+ 	larl	%r3,[0-9a-f]+ <\_GLOBAL\_OFFSET\_TABLE\_\+0x88>
+ +[0-9a-f]+:	e3 43 c0 00 00 04 	lg	%r4,0\(%r3,%r12\)
+ +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against global var with small got access (no optimization)
- +9d0:	e3 30 c0 68 00 04 	lg	%r3,104\(%r12\)
- +9d6:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 c0 68 00 04 	lg	%r3,104\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against local var with small got access (no optimization)
- +9da:	e3 30 c0 38 00 04 	lg	%r3,56\(%r12\)
- +9e0:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 c0 38 00 04 	lg	%r3,56\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against hidden and local var with small got access
 # (no optimization)
- +9e4:	e3 30 c0 80 00 04 	lg	%r3,128\(%r12\)
- +9ea:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 c0 80 00 04 	lg	%r3,128\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against hidden but not local var with small got access
 # (no optimization)
- +9ee:	e3 30 c0 88 00 04 	lg	%r3,136\(%r12\)
- +9f4:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+ +[0-9a-f]+:	e3 30 c0 88 00 04 	lg	%r3,136\(%r12\)
+ +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # function epilog
- +9f8:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
- +9fe:	07 fe             	br	%r14
+ +[0-9a-f]+:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
+ +[0-9a-f]+:	07 fe             	br	%r14
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
+ +[0-9a-f]+:	07 07             	bcr	0,%r7
--- ld/testsuite/ld-s390/tlsbin.dd.jj	2004-05-05 14:55:02.233225899 +0200
+++ ld/testsuite/ld-s390/tlsbin.dd	2004-05-06 14:08:34.067896521 +0200
@@ -18,168 +18,176 @@
 
 Disassembly of section .text:
 
-0+4002e4 <fn2>:
+0+[0-9a-f]+ <fn2>:
 # function prolog
- +4002e4:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
- +4002e8:	a7 d5 00 24       	bras	%r13,400330 <fn2\+0x4c>
+  +[0-9a-f]+:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
+  +[0-9a-f]+:	a7 d5 00 24       	bras	%r13,[0-9a-f]+ <fn2\+0x4c>
 # _GLOBAL_OFFSET_TABLE_
- +4002ec:	00 00 12 90       	.long	0x00001290
+  +[0-9a-f]+:	[0-9a-f ]+       	.long	0x[0-9a-f]+
 # __tls_get_addr@plt-.LT1
- +4002f0:	ff ff ff d8       	.long	0xffffffd8
+  +[0-9a-f]+:	[0-9a-f ]+       	.long	0x[0-9a-f]+
 # sG1@tlsgd
- +4002f4:	00 00 00 28       	.long	0x00000028
+  +[0-9a-f]+:	00 00 00 28       	.long	0x00000028
 # sG2@tlsgd
- +4002f8:	00 00 00 20       	.long	0x00000020
+  +[0-9a-f]+:	00 00 00 20       	.long	0x00000020
 # sg1@tlsgd
- +4002fc:	ff ff ff 60       	.long	0xffffff60
+  +[0-9a-f]+:	ff ff ff 60       	.long	0xffffff60
 # sl1@tlsgd
- +400300:	ff ff ff 80       	.long	0xffffff80
+  +[0-9a-f]+:	ff ff ff 80       	.long	0xffffff80
 # sh1@tlsgd
- +400304:	ff ff ff a0       	.long	0xffffffa0
+  +[0-9a-f]+:	ff ff ff a0       	.long	0xffffffa0
 # sl1@tlsldm
- +400308:	00 00 00 00       	.long	0x00000000
+  +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
 # sl1@dtpoff
- +40030c:	ff ff ff 80       	.long	0xffffff80
+  +[0-9a-f]+:	ff ff ff 80       	.long	0xffffff80
 # sl2@dtpoff
- +400310:	ff ff ff 84       	.long	0xffffff84
+  +[0-9a-f]+:	ff ff ff 84       	.long	0xffffff84
 # sh1@tlsldm
- +400314:	00 00 00 00       	.long	0x00000000
+  +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
 # sh1@dtpoff
- +400318:	ff ff ff a0       	.long	0xffffffa0
+  +[0-9a-f]+:	ff ff ff a0       	.long	0xffffffa0
 # sh2@dtpoff
- +40031c:	ff ff ff a4       	.long	0xffffffa4
+  +[0-9a-f]+:	ff ff ff a4       	.long	0xffffffa4
 # sG2@gotntpoff
- +400320:	00 00 00 20       	.long	0x00000020
+  +[0-9a-f]+:	00 00 00 20       	.long	0x00000020
 # sg1@gotntpoff
- +400324:	ff ff ff 60       	.long	0xffffff60
+  +[0-9a-f]+:	ff ff ff 60       	.long	0xffffff60
 # sl1@gotntpoff
- +400328:	ff ff ff 80       	.long	0xffffff80
+  +[0-9a-f]+:	ff ff ff 80       	.long	0xffffff80
 # sh1@gotntpoff
- +40032c:	ff ff ff a0       	.long	0xffffffa0
+  +[0-9a-f]+:	ff ff ff a0       	.long	0xffffffa0
 # function prolog
- +400330:	18 ef             	lr	%r14,%r15
- +400332:	58 c0 d0 00       	l	%r12,0\(%r13\)
- +400336:	a7 fa ff a0       	ahi	%r15,-96
- +40033a:	41 cc d0 00       	la	%r12,0\(%r12,%r13\)
- +40033e:	50 e0 e0 00       	st	%r14,0\(%r14\)
+  +[0-9a-f]+:	18 ef             	lr	%r14,%r15
+  +[0-9a-f]+:	58 c0 d0 00       	l	%r12,0\(%r13\)
+  +[0-9a-f]+:	a7 fa ff a0       	ahi	%r15,-96
+  +[0-9a-f]+:	41 cc d0 00       	la	%r12,0\(%r12,%r13\)
+  +[0-9a-f]+:	50 e0 e0 00       	st	%r14,0\(%r14\)
 # Extract TCB and load branch offset
- +400342:	b2 4f 00 90       	ear	%r9,%a0
- +400346:	58 70 d0 04       	l	%r7,4\(%r13\)
+  +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
+  +[0-9a-f]+:	58 70 d0 04       	l	%r7,4\(%r13\)
 # GD -> IE because variable is not defined in executable
- +40034a:	58 20 d0 08       	l	%r2,8\(%r13\)
- +40034e:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
- +400352:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+  +[0-9a-f]+:	58 20 d0 08       	l	%r2,8\(%r13\)
+  +[0-9a-f]+:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
+  +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> IE because variable is not defined in executable where
 # the variable is referenced through IE too
- +400356:	58 20 d0 0c       	l	%r2,12\(%r13\)
- +40035a:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
- +40035e:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+  +[0-9a-f]+:	58 20 d0 0c       	l	%r2,12\(%r13\)
+  +[0-9a-f]+:	58 22 c0 00       	l	%r2,0\(%r2,%r12\)
+  +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> LE with global variable defined in executable
- +400362:	58 20 d0 10       	l	%r2,16\(%r13\)
- +400366:	47 00 00 00       	bc	0,0
- +40036a:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+  +[0-9a-f]+:	58 20 d0 10       	l	%r2,16\(%r13\)
+  +[0-9a-f]+:	47 00 00 00       	bc	0,0
+  +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> LE with local variable defined in executable
- +40036e:	58 20 d0 14       	l	%r2,20\(%r13\)
- +400372:	47 00 00 00       	bc	0,0
- +400376:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+  +[0-9a-f]+:	58 20 d0 14       	l	%r2,20\(%r13\)
+  +[0-9a-f]+:	47 00 00 00       	bc	0,0
+  +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # GD -> LE with hidden variable defined in executable
- +40037a:	58 20 d0 18       	l	%r2,24\(%r13\)
- +40037e:	47 00 00 00       	bc	0,0
- +400382:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
+  +[0-9a-f]+:	58 20 d0 18       	l	%r2,24\(%r13\)
+  +[0-9a-f]+:	47 00 00 00       	bc	0,0
+  +[0-9a-f]+:	41 22 90 00       	la	%r2,0\(%r2,%r9\)
 # LD -> LE
- +400386:	58 20 d0 1c       	l	%r2,28\(%r13\)
- +40038a:	47 00 00 00       	bc	0,0
- +40038e:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +400392:	58 40 d0 20       	l	%r4,32\(%r13\)
- +400396:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +40039a:	58 40 d0 24       	l	%r4,36\(%r13\)
- +40039e:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+  +[0-9a-f]+:	58 20 d0 1c       	l	%r2,28\(%r13\)
+  +[0-9a-f]+:	47 00 00 00       	bc	0,0
+  +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+  +[0-9a-f]+:	58 40 d0 20       	l	%r4,32\(%r13\)
+  +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+  +[0-9a-f]+:	58 40 d0 24       	l	%r4,36\(%r13\)
+  +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # LD -> LE against hidden variables
- +4003a2:	58 20 d0 28       	l	%r2,40\(%r13\)
- +4003a6:	47 00 00 00       	bc	0,0
- +4003aa:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
- +4003ae:	58 40 d0 2c       	l	%r4,44\(%r13\)
- +4003b2:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
- +4003b6:	58 40 d0 30       	l	%r4,48\(%r13\)
- +4003ba:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+  +[0-9a-f]+:	58 20 d0 28       	l	%r2,40\(%r13\)
+  +[0-9a-f]+:	47 00 00 00       	bc	0,0
+  +[0-9a-f]+:	41 32 90 00       	la	%r3,0\(%r2,%r9\)
+  +[0-9a-f]+:	58 40 d0 2c       	l	%r4,44\(%r13\)
+  +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
+  +[0-9a-f]+:	58 40 d0 30       	l	%r4,48\(%r13\)
+  +[0-9a-f]+:	41 54 30 00       	la	%r5,0\(%r4,%r3\)
 # IE against global var
- +4003be:	58 30 d0 34       	l	%r3,52\(%r13\)
- +4003c2:	58 33 c0 00       	l	%r3,0\(%r3,%r12\)
- +4003c6:	58 33 90 00       	l	%r3,0\(%r3,%r9\)
+  +[0-9a-f]+:	58 30 d0 34       	l	%r3,52\(%r13\)
+  +[0-9a-f]+:	58 33 c0 00       	l	%r3,0\(%r3,%r12\)
+  +[0-9a-f]+:	58 33 90 00       	l	%r3,0\(%r3,%r9\)
 # IE -> LE against global var defined in exec
- +4003ca:	58 30 d0 38       	l	%r3,56\(%r13\)
- +4003ce:	18 43             	lr	%r4,%r3
- +4003d0:	07 00             	bcr	0,%r0
- +4003d2:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+  +[0-9a-f]+:	58 30 d0 38       	l	%r3,56\(%r13\)
+  +[0-9a-f]+:	18 43             	lr	%r4,%r3
+  +[0-9a-f]+:	07 00             	bcr	0,%r0
+  +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE -> LE against local var
- +4003d6:	58 30 d0 3c       	l	%r3,60\(%r13\)
- +4003da:	18 43             	lr	%r4,%r3
- +4003dc:	07 00             	bcr	0,%r0
- +4003de:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+  +[0-9a-f]+:	58 30 d0 3c       	l	%r3,60\(%r13\)
+  +[0-9a-f]+:	18 43             	lr	%r4,%r3
+  +[0-9a-f]+:	07 00             	bcr	0,%r0
+  +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE -> LE against hidden var
- +4003e2:	58 30 d0 40       	l	%r3,64\(%r13\)
- +4003e6:	18 43             	lr	%r4,%r3
- +4003e8:	07 00             	bcr	0,%r0
- +4003ea:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+  +[0-9a-f]+:	58 30 d0 40       	l	%r3,64\(%r13\)
+  +[0-9a-f]+:	18 43             	lr	%r4,%r3
+  +[0-9a-f]+:	07 00             	bcr	0,%r0
+  +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE against global var with small got access (no optimization)
- +4003ee:	58 30 c0 14       	l	%r3,20\(%r12\)
- +4003f2:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+  +[0-9a-f]+:	58 30 c0 14       	l	%r3,20\(%r12\)
+  +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against global var defined in exec with small got access
 # (no optimization)
- +4003f6:	58 30 c0 18       	l	%r3,24\(%r12\)
- +4003fa:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+  +[0-9a-f]+:	58 30 c0 18       	l	%r3,24\(%r12\)
+  +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against local var with small got access (no optimization)
- +4003fe:	58 30 c0 10       	l	%r3,16\(%r12\)
- +400402:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+  +[0-9a-f]+:	58 30 c0 10       	l	%r3,16\(%r12\)
+  +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE against hidden var with small got access (no optimization)
- +400406:	58 30 c0 1c       	l	%r3,28\(%r12\)
- +40040a:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+  +[0-9a-f]+:	58 30 c0 1c       	l	%r3,28\(%r12\)
+  +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # function epilog
- +40040e:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
- +400412:	07 fe             	br	%r14
+  +[0-9a-f]+:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
+  +[0-9a-f]+:	07 fe             	br	%r14
+  +[0-9a-f]+:	07 07             	bcr	0,%r7
+  +[0-9a-f]+:	07 07             	bcr	0,%r7
+  +[0-9a-f]+:	07 07             	bcr	0,%r7
+  +[0-9a-f]+:	07 07             	bcr	0,%r7
+  +[0-9a-f]+:	07 07             	bcr	0,%r7
+  +[0-9a-f]+:	07 07             	bcr	0,%r7
+  +[0-9a-f]+:	07 07             	bcr	0,%r7
+  +[0-9a-f]+:	07 07             	bcr	0,%r7
 
-0+400414 <_start>:
+0+[0-9a-f]+ <_start>:
 # function prolog
- +400414:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
- +400418:	a7 d5 00 0c       	bras	%r13,400430 <_start\+0x1c>
+  +[0-9a-f]+:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
+  +[0-9a-f]+:	a7 d5 00 0c       	bras	%r13,[0-9a-f]+ <_start\+0x1c>
 # sG6@indntpoff
- +40041c:	00 40 15 a0       	.long	0x004015a0
+  +[0-9a-f]+:	00 40 15 e4       	.long	0x004015e4
 # bg6@indntpoff
- +400420:	ff ff ff d4       	.long	0xffffffd4
+  +[0-9a-f]+:	ff ff ff d4       	.long	0xffffffd4
 # bl6@indntpoff
- +400424:	ff ff ff f4       	.long	0xfffffff4
+  +[0-9a-f]+:	ff ff ff f4       	.long	0xfffffff4
 # sh6@indntpoff
- +400428:	ff ff ff b4       	.long	0xffffffb4
+  +[0-9a-f]+:	ff ff ff b4       	.long	0xffffffb4
 # sg3@indntpoff
- +40042c:	ff ff ff 68       	.long	0xffffff68
+  +[0-9a-f]+:	ff ff ff 68       	.long	0xffffff68
 # function prolog
- +400430:	18 ef             	lr	%r14,%r15
- +400432:	a7 fa ff a0       	ahi	%r15,-96
- +400436:	50 e0 e0 00       	st	%r14,0\(%r14\)
+  +[0-9a-f]+:	18 ef             	lr	%r14,%r15
+  +[0-9a-f]+:	a7 fa ff a0       	ahi	%r15,-96
+  +[0-9a-f]+:	50 e0 e0 00       	st	%r14,0\(%r14\)
 # Extract TCB
- +40043a:	b2 4f 00 90       	ear	%r9,%a0
+  +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
 # IE against global var
- +40043e:	58 30 d0 00       	l	%r3,0\(%r13\)
- +400442:	58 33 c0 00       	l	%r3,0\(%r3,%r12\)
- +400446:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
+  +[0-9a-f]+:	58 30 d0 00       	l	%r3,0\(%r13\)
+  +[0-9a-f]+:	58 33 c0 00       	l	%r3,0\(%r3,%r12\)
+  +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
 # IE -> LE against global var defined in exec
- +40044a:	58 30 d0 04       	l	%r3,4\(%r13\)
- +40044e:	18 43             	lr	%r4,%r3
- +400450:	07 00             	bcr	0,%r0
- +400452:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+  +[0-9a-f]+:	58 30 d0 04       	l	%r3,4\(%r13\)
+  +[0-9a-f]+:	18 43             	lr	%r4,%r3
+  +[0-9a-f]+:	07 00             	bcr	0,%r0
+  +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE -> LE against local var
- +400456:	58 30 d0 08       	l	%r3,8\(%r13\)
- +40045a:	18 43             	lr	%r4,%r3
- +40045c:	07 00             	bcr	0,%r0
- +40045e:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+  +[0-9a-f]+:	58 30 d0 08       	l	%r3,8\(%r13\)
+  +[0-9a-f]+:	18 43             	lr	%r4,%r3
+  +[0-9a-f]+:	07 00             	bcr	0,%r0
+  +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # IE -> LE against hidden but not local var
- +400462:	58 30 d0 0c       	l	%r3,12\(%r13\)
- +400466:	18 43             	lr	%r4,%r3
- +400468:	07 00             	bcr	0,%r0
- +40046a:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+  +[0-9a-f]+:	58 30 d0 0c       	l	%r3,12\(%r13\)
+  +[0-9a-f]+:	18 43             	lr	%r4,%r3
+  +[0-9a-f]+:	07 00             	bcr	0,%r0
+  +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # LE, global var defined in exec
- +40046e:	58 40 d0 10       	l	%r4,16\(%r13\)
- +400472:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
+  +[0-9a-f]+:	58 40 d0 10       	l	%r4,16\(%r13\)
+  +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
 # function epilog
- +400476:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
- +40047a:	07 fe             	br	%r14
+  +[0-9a-f]+:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
+  +[0-9a-f]+:	07 fe             	br	%r14
--- ld/testsuite/ld-s390/tlsbin.sd.jj	2004-05-05 14:55:02.219228408 +0200
+++ ld/testsuite/ld-s390/tlsbin.sd	2004-05-06 14:08:34.065896879 +0200
@@ -8,6 +8,6 @@
 .*:     file format elf32-s390
 
 Contents of section .got:
- 40157c [0-9a-f]+ 00000000 00000000 [0-9a-f]+  .@...........@..
- 40158c ffffff88 00000000 ffffff68 ffffffa8  ...........h....
- 40159c 00000000 00000000 00000000           ............    
+ [0-9a-f]+ [0-9a-f]+ 00000000 00000000 [0-9a-f]+  .@...........@..
+ [0-9a-f]+ ffffff88 00000000 ffffff68 ffffffa8  ...........h....
+ [0-9a-f]+ 00000000 00000000 00000000           ............    
--- ld/testsuite/ld-s390/tlsbin_64.td.jj	2004-05-05 14:55:02.223227691 +0200
+++ ld/testsuite/ld-s390/tlsbin_64.td	2004-05-06 14:08:34.065896879 +0200
@@ -8,9 +8,9 @@
 .*:     file format elf64-s390
 
 Contents of section .tdata:
- 800016e8 00000011 00000012 00000013 00000014  .*
- 800016f8 00000015 00000016 00000017 00000018  .*
- 80001708 00000041 00000042 00000043 00000044  .*
- 80001718 00000045 00000046 00000047 00000048  .*
- 80001728 00000101 00000102 00000103 00000104  .*
- 80001738 00000105 00000106 00000107 00000108  .*
+ [0-9a-f]+ 00000011 00000012 00000013 00000014  .*
+ [0-9a-f]+ 00000015 00000016 00000017 00000018  .*
+ [0-9a-f]+ 00000041 00000042 00000043 00000044  .*
+ [0-9a-f]+ 00000045 00000046 00000047 00000048  .*
+ [0-9a-f]+ 00000101 00000102 00000103 00000104  .*
+ [0-9a-f]+ 00000105 00000106 00000107 00000108  .*
--- ld/testsuite/ld-s390/tlspic.sd.jj	2004-05-05 14:55:02.275218374 +0200
+++ ld/testsuite/ld-s390/tlspic.sd	2004-05-06 14:08:34.074895267 +0200
@@ -8,9 +8,9 @@
 .*: +file format elf32-s390
 
 Contents of section .got:
- 173c [0-9a-f]+ 00000000 00000000 [0-9a-f]+  .*
- 174c 00000000 00000020 00000000 00000000  .*
- 175c 00000000 00000000 00000000 00000060  .*
- 176c 00000000 00000000 00000000 00000000  .*
- 177c 00000000 00000000 00000000 00000000  .*
- 178c 00000040 00000000  +.*
+ [0-9a-f]+ [0-9a-f]+ 00000000 00000000 [0-9a-f]+  .*
+ [0-9a-f]+ 00000000 00000020 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000060  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000000 00000000 00000000 00000000  .*
+ [0-9a-f]+ 00000040 00000000  +.*
--- ld/testsuite/ld-s390/tlsbin.rd.jj	2004-05-05 14:55:02.237225183 +0200
+++ ld/testsuite/ld-s390/tlsbin.rd	2004-05-06 14:08:34.068896342 +0200
@@ -5,7 +5,7 @@
 #readelf: -Ssrl
 #target: s390-*-*
 
-There are 19 section headers, starting at offset 0x[0-9a-f]+:
+There are 18 section headers, starting at offset 0x[0-9a-f]+:
 
 Section Headers:
   \[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -17,24 +17,23 @@ Section Headers:
   \[ 5\] .rela.dyn +.*
   \[ 6\] .rela.plt +.*
   \[ 7\] .plt +.*
-  \[ 8\] .text +PROGBITS +0+4002e4 0+2e4 0+198 00 +AX +0 +0 +4
-  \[ 9\] .data +.*
-  \[10\] .tdata +PROGBITS +0+40147c 0+47c 0+60 00 WAT +0 +0 +1
-  \[11\] .tbss +NOBITS +0+4014dc 0+4dc 0+40 00 WAT +0 +0 +1
-  \[12\] .dynamic +DYNAMIC +0+4014dc 0+4dc 0+a0 08 +WA +4 +0 +4
-  \[13\] .got +PROGBITS +0+40157c 0+57c 0+2c 04 +WA +0 +0 +4
-  \[14\] .sbss +.*
-  \[15\] .bss +.*
-  \[16\] .shstrtab +.*
-  \[17\] .symtab +.*
-  \[18\] .strtab +.*
+  \[ 8\] .text +PROGBITS +.*
+  \[ 9\] .tdata +PROGBITS +0+4014c0 0+4c0 0+60 00 WAT +0 +0 +32
+  \[10\] .tbss +NOBITS +0+401520 0+520 0+40 00 WAT +0 +0 +1
+  \[11\] .dynamic +DYNAMIC +0+401520 0+520 0+a0 08 +WA +4 +0 +4
+  \[12\] .got +PROGBITS +0+4015c0 0+5c0 0+2c 04 +WA +0 +0 +4
+  \[13\] .data +.*
+  \[14\] .bss +.*
+  \[15\] .shstrtab +.*
+  \[16\] .symtab +.*
+  \[17\] .strtab +.*
 Key to Flags:
 .*
 .*
 .*
 
 Elf file type is EXEC \(Executable file\)
-Entry point 0x400414
+Entry point 0x[0-9a-f]+
 There are 6 program headers, starting at offset [0-9]+
 
 Program Headers:
@@ -42,10 +41,10 @@ Program Headers:
   PHDR +0x0+34 0x0+400034 0x0+400034 0x0+c0 0x0+c0 R E 0x4
   INTERP +0x0+f4 0x0+4000f4 0x0+4000f4 0x0+11 0x0+11 R +0x1
 .*Requesting program interpreter.*
-  LOAD +0x0+ 0x0+400000 0x0+400000 0x0+47c 0x0+47c R E 0x1000
-  LOAD +0x0+47c 0x0+40147c 0x0+40147c 0x0+12c 0x0+12c RW  0x1000
-  DYNAMIC +0x0+4dc 0x0+4014dc 0x0+4014dc 0x0+a0 0x0+a0 RW  0x4
-  TLS +0x0+47c 0x0+40147c 0x0+40147c 0x0+60 0x0+a0 R +0x1
+  LOAD +0x0+ 0x0+400000 0x0+400000 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x1000
+  LOAD +0x0+4c0 0x0+4014c0 0x0+4014c0 0x0+12c 0x0+12c RW  0x1000
+  DYNAMIC +0x0+520 0x0+401520 0x0+401520 0x0+a0 0x0+a0 RW  0x4
+  TLS +0x0+4c0 0x0+4014c0 0x0+4014c0 0x0+60 0x0+a0 R +0x20
 
  Section to Segment mapping:
   Segment Sections...
@@ -69,88 +68,87 @@ Relocation section '.rela.plt' at offset
 
 Symbol table '.dynsym' contains 11 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
- +1: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
- +2: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +3: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
- +4: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_offset
- +5: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +6: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
- +7: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
- +8: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +9: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +10: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_offset
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
 
-Symbol table '.symtab' contains 71 entries:
+Symbol table '.symtab' contains 70 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 
- +14: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 
- +15: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 
- +16: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 
- +17: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 
- +18: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +18 
- +19: 0+20 +0 TLS +LOCAL  DEFAULT +10 sl1
- +20: 0+24 +0 TLS +LOCAL  DEFAULT +10 sl2
- +21: 0+28 +0 TLS +LOCAL  DEFAULT +10 sl3
- +22: 0+2c +0 TLS +LOCAL  DEFAULT +10 sl4
- +23: 0+30 +0 TLS +LOCAL  DEFAULT +10 sl5
- +24: 0+34 +0 TLS +LOCAL  DEFAULT +10 sl6
- +25: 0+38 +0 TLS +LOCAL  DEFAULT +10 sl7
- +26: 0+3c +0 TLS +LOCAL  DEFAULT +10 sl8
- +27: 0+80 +0 TLS +LOCAL  DEFAULT +11 bl1
- +28: 0+84 +0 TLS +LOCAL  DEFAULT +11 bl2
- +29: 0+88 +0 TLS +LOCAL  DEFAULT +11 bl3
- +30: 0+8c +0 TLS +LOCAL  DEFAULT +11 bl4
- +31: 0+90 +0 TLS +LOCAL  DEFAULT +11 bl5
- +32: 0+94 +0 TLS +LOCAL  DEFAULT +11 bl6
- +33: 0+98 +0 TLS +LOCAL  DEFAULT +11 bl7
- +34: 0+9c +0 TLS +LOCAL  DEFAULT +11 bl8
- +35: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
- +36: 0+1c +0 TLS +GLOBAL DEFAULT +10 sg8
- +37: 0+7c +0 TLS +GLOBAL DEFAULT +11 bg8
- +38: 0+74 +0 TLS +GLOBAL DEFAULT +11 bg6
- +39: 0+68 +0 TLS +GLOBAL DEFAULT +11 bg3
- +40: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +41: 0+8 +0 TLS +GLOBAL DEFAULT +10 sg3
- +42: 0+48 +0 TLS +GLOBAL HIDDEN +10 sh3
- +43: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
- +44: 0+c +0 TLS +GLOBAL DEFAULT +10 sg4
- +45: 0+10 +0 TLS +GLOBAL DEFAULT +10 sg5
- +46: 0+70 +0 TLS +GLOBAL DEFAULT +11 bg5
- +47: 0+58 +0 TLS +GLOBAL HIDDEN +10 sh7
- +48: 0+5c +0 TLS +GLOBAL HIDDEN +10 sh8
- +49: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_offset
- +50: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1
- +51: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 _start
- +52: 0+4c +0 TLS +GLOBAL HIDDEN +10 sh4
- +53: 0+78 +0 TLS +GLOBAL DEFAULT +11 bg7
- +54: 0+50 +0 TLS +GLOBAL HIDDEN +10 sh5
- +55: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +56: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
- +57: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 fn2
- +58: 0+4 +0 TLS +GLOBAL DEFAULT +10 sg2
- +59: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
- +60: 0+40 +0 TLS +GLOBAL HIDDEN +10 sh1
- +61: 0+14 +0 TLS +GLOBAL DEFAULT +10 sg6
- +62: 0+18 +0 TLS +GLOBAL DEFAULT +10 sg7
- +63: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +64: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +65: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
- +66: 0+44 +0 TLS +GLOBAL HIDDEN +10 sh2
- +67: 0+54 +0 TLS +GLOBAL HIDDEN +10 sh6
- +68: 0+64 +0 TLS +GLOBAL DEFAULT +11 bg2
- +69: 0+60 +0 TLS +GLOBAL DEFAULT +11 bg1
- +70: 0+6c +0 TLS +GLOBAL DEFAULT +11 bg4
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 
+ +[0-9]+: 0+20 +0 TLS +LOCAL  DEFAULT +9 sl1
+ +[0-9]+: 0+24 +0 TLS +LOCAL  DEFAULT +9 sl2
+ +[0-9]+: 0+28 +0 TLS +LOCAL  DEFAULT +9 sl3
+ +[0-9]+: 0+2c +0 TLS +LOCAL  DEFAULT +9 sl4
+ +[0-9]+: 0+30 +0 TLS +LOCAL  DEFAULT +9 sl5
+ +[0-9]+: 0+34 +0 TLS +LOCAL  DEFAULT +9 sl6
+ +[0-9]+: 0+38 +0 TLS +LOCAL  DEFAULT +9 sl7
+ +[0-9]+: 0+3c +0 TLS +LOCAL  DEFAULT +9 sl8
+ +[0-9]+: 0+80 +0 TLS +LOCAL  DEFAULT +10 bl1
+ +[0-9]+: 0+84 +0 TLS +LOCAL  DEFAULT +10 bl2
+ +[0-9]+: 0+88 +0 TLS +LOCAL  DEFAULT +10 bl3
+ +[0-9]+: 0+8c +0 TLS +LOCAL  DEFAULT +10 bl4
+ +[0-9]+: 0+90 +0 TLS +LOCAL  DEFAULT +10 bl5
+ +[0-9]+: 0+94 +0 TLS +LOCAL  DEFAULT +10 bl6
+ +[0-9]+: 0+98 +0 TLS +LOCAL  DEFAULT +10 bl7
+ +[0-9]+: 0+9c +0 TLS +LOCAL  DEFAULT +10 bl8
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
+ +[0-9]+: 0+7c +0 TLS +GLOBAL DEFAULT +10 bg8
+ +[0-9]+: 0+74 +0 TLS +GLOBAL DEFAULT +10 bg6
+ +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +10 bg3
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
+ +[0-9]+: 0+48 +0 TLS +GLOBAL HIDDEN +9 sh3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
+ +[0-9]+: 0+70 +0 TLS +GLOBAL DEFAULT +10 bg5
+ +[0-9]+: 0+58 +0 TLS +GLOBAL HIDDEN +9 sh7
+ +[0-9]+: 0+5c +0 TLS +GLOBAL HIDDEN +9 sh8
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_offset
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 _start
+ +[0-9]+: 0+4c +0 TLS +GLOBAL HIDDEN +9 sh4
+ +[0-9]+: 0+78 +0 TLS +GLOBAL DEFAULT +10 bg7
+ +[0-9]+: 0+50 +0 TLS +GLOBAL HIDDEN +9 sh5
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +8 fn2
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
+ +[0-9]+: 0+40 +0 TLS +GLOBAL HIDDEN +9 sh1
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+44 +0 TLS +GLOBAL HIDDEN +9 sh2
+ +[0-9]+: 0+54 +0 TLS +GLOBAL HIDDEN +9 sh6
+ +[0-9]+: 0+64 +0 TLS +GLOBAL DEFAULT +10 bg2
+ +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +10 bg1
+ +[0-9]+: 0+6c +0 TLS +GLOBAL DEFAULT +10 bg4
--- ld/testsuite/ld-s390/tlsbin.td.jj	2004-05-05 14:55:02.209230200 +0200
+++ ld/testsuite/ld-s390/tlsbin.td	2004-05-06 14:08:34.063897238 +0200
@@ -8,9 +8,9 @@
 .*:     file format elf32-s390
 
 Contents of section .tdata:
- 40147c 00000011 00000012 00000013 00000014  .*
- 40148c 00000015 00000016 00000017 00000018  .*
- 40149c 00000041 00000042 00000043 00000044  .*
- 4014ac 00000045 00000046 00000047 00000048  .*
- 4014bc 00000101 00000102 00000103 00000104  .*
- 4014cc 00000105 00000106 00000107 00000108  .*
+ [0-9a-f]+ 00000011 00000012 00000013 00000014  .*
+ [0-9a-f]+ 00000015 00000016 00000017 00000018  .*
+ [0-9a-f]+ 00000041 00000042 00000043 00000044  .*
+ [0-9a-f]+ 00000045 00000046 00000047 00000048  .*
+ [0-9a-f]+ 00000101 00000102 00000103 00000104  .*
+ [0-9a-f]+ 00000105 00000106 00000107 00000108  .*
--- ld/testsuite/ld-s390/tlspic_64.td.jj	2004-05-05 14:55:02.216228945 +0200
+++ ld/testsuite/ld-s390/tlspic_64.td	2004-05-06 14:08:34.065896879 +0200
@@ -8,9 +8,9 @@
 .*: +file format elf64-s390
 
 Contents of section .tdata:
- 1a00 00000011 00000012 00000013 00000014  .*
- 1a10 00000015 00000016 00000017 00000018  .*
- 1a20 00000041 00000042 00000043 00000044  .*
- 1a30 00000045 00000046 00000047 00000048  .*
- 1a40 00000101 00000102 00000103 00000104  .*
- 1a50 00000105 00000106 00000107 00000108  .*
+ [0-9a-f]+ 00000011 00000012 00000013 00000014  .*
+ [0-9a-f]+ 00000015 00000016 00000017 00000018  .*
+ [0-9a-f]+ 00000041 00000042 00000043 00000044  .*
+ [0-9a-f]+ 00000045 00000046 00000047 00000048  .*
+ [0-9a-f]+ 00000101 00000102 00000103 00000104  .*
+ [0-9a-f]+ 00000105 00000106 00000107 00000108  .*
--- ld/testsuite/ld-s390/tlspic.td.jj	2004-05-05 14:55:02.254222137 +0200
+++ ld/testsuite/ld-s390/tlspic.td	2004-05-06 14:08:34.071895804 +0200
@@ -8,9 +8,9 @@
 .*: +file format elf32-s390
 
 Contents of section .tdata:
- 1644 00000011 00000012 00000013 00000014  .*
- 1654 00000015 00000016 00000017 00000018  .*
- 1664 00000041 00000042 00000043 00000044  .*
- 1674 00000045 00000046 00000047 00000048  .*
- 1684 00000101 00000102 00000103 00000104  .*
- 1694 00000105 00000106 00000107 00000108  .*
+ [0-9a-f]+ 00000011 00000012 00000013 00000014  .*
+ [0-9a-f]+ 00000015 00000016 00000017 00000018  .*
+ [0-9a-f]+ 00000041 00000042 00000043 00000044  .*
+ [0-9a-f]+ 00000045 00000046 00000047 00000048  .*
+ [0-9a-f]+ 00000101 00000102 00000103 00000104  .*
+ [0-9a-f]+ 00000105 00000106 00000107 00000108  .*
--- ld/testsuite/ld-s390/tlsbinpic_64.s.jj	2004-05-05 14:55:02.261220882 +0200
+++ ld/testsuite/ld-s390/tlsbinpic_64.s	2004-05-06 14:08:34.072895625 +0200
@@ -1,4 +1,5 @@
 	.section ".tdata", "awT", @progbits
+	.balign 32
 	.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
 	.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
 	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
@@ -30,6 +31,7 @@ sh8:	.long 264
 	.text
 	.globl	fn2
 	.type	fn2,@function
+	.balign	64
 fn2:
 	/* Function prolog */
 	stmg	%r6,%r14,48(%r15)
--- ld/testsuite/ld-shared/shared.exp.jj	2004-05-05 14:55:02.278217836 +0200
+++ ld/testsuite/ld-shared/shared.exp	2004-05-06 14:08:34.075895087 +0200
@@ -227,6 +227,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $
 	    setup_xfail "sparc*-*-linux*"
 	}
 	setup_xfail "x86_64-*-linux*"
+	setup_xfail "s390x-*-linux*"
 	shared_test shnp "shared (non PIC, load offset)" \
 		mainnp.o sh1np.o sh2np.o shared \
 		"-T $srcdir/$subdir/elf-offset.ld"
--- ld/testsuite/ld-x86-64/tlspic.dd.jj	2004-05-05 14:55:02.296214611 +0200
+++ ld/testsuite/ld-x86-64/tlspic.dd	2004-05-06 14:08:34.077894729 +0200
@@ -17,12 +17,12 @@ Disassembly of section .text:
  +1006:	90[ 	]+nop *
  +1007:	90[ 	]+nop *
 #  GD
- +1008:	66 48 8d 3d f0 11 10[ 	]+lea    1053168\(%rip\),%rdi +# 102200 <_GLOBAL_OFFSET_TABLE_\+0x70>
+ +1008:	66 48 8d 3d 80 03 10[ 	]+lea    1049472\(%rip\),%rdi +# 101390 <.*>
  +100f:	00 *
 #				-> R_X86_64_DTPMOD64	sg1
  +1010:	66[ 	]+data16
  +1011:	66[ 	]+data16
- +1012:	48 e8 68 f6 ff ff[ 	]+rex64 callq  [0-9a-f]+ <.*>
+ +1012:	48 e8 88 f5 ff ff[ 	]+rex64 callq  [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +1018:	90[ 	]+nop *
  +1019:	90[ 	]+nop *
@@ -31,19 +31,19 @@ Disassembly of section .text:
 #  GD -> IE because variable is referenced through IE too
  +101c:	64 48 8b 04 25 00 00[ 	]+mov    %fs:0x0,%rax
  +1023:	00 00 *
- +1025:	48 03 05 f4 11 10 00[ 	]+add    1053172\(%rip\),%rax +# 102220 <_GLOBAL_OFFSET_TABLE_\+0x90>
+ +1025:	48 03 05 84 03 10 00[ 	]+add    1049476\(%rip\),%rax +# 1013b0 <.*>
 #				-> R_X86_64_TPOFF64	sg2
  +102c:	90[ 	]+nop *
  +102d:	90[ 	]+nop *
  +102e:	90[ 	]+nop *
  +102f:	90[ 	]+nop *
 #  GD against local variable
- +1030:	66 48 8d 3d 78 11 10[ 	]+lea    1053048\(%rip\),%rdi +# 1021b0 <_GLOBAL_OFFSET_TABLE_\+0x20>
+ +1030:	66 48 8d 3d 08 03 10[ 	]+lea    1049352\(%rip\),%rdi +# 101340 <.*>
  +1037:	00 *
 #				-> R_X86_64_DTPMOD64	[0 0x2000000000000000]
  +1038:	66[ 	]+data16
  +1039:	66[ 	]+data16
- +103a:	48 e8 40 f6 ff ff[ 	]+rex64 callq  [0-9a-f]+ <.*>
+ +103a:	48 e8 60 f5 ff ff[ 	]+rex64 callq  [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +1040:	90[ 	]+nop *
  +1041:	90[ 	]+nop *
@@ -52,19 +52,19 @@ Disassembly of section .text:
 #  GD -> IE against local variable referenced through IE too
  +1044:	64 48 8b 04 25 00 00[ 	]+mov    %fs:0x0,%rax
  +104b:	00 00 *
- +104d:	48 03 05 6c 11 10 00[ 	]+add    1053036\(%rip\),%rax +# 1021c0 <_GLOBAL_OFFSET_TABLE_\+0x30>
+ +104d:	48 03 05 fc 02 10 00[ 	]+add    1049340\(%rip\),%rax +# 101350 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x24
  +1054:	90[ 	]+nop *
  +1055:	90[ 	]+nop *
  +1056:	90[ 	]+nop *
  +1057:	90[ 	]+nop *
 #  GD against hidden and local variable
- +1058:	66 48 8d 3d c8 11 10[ 	]+lea    1053128\(%rip\),%rdi +# 102228 <_GLOBAL_OFFSET_TABLE_\+0x98>
+ +1058:	66 48 8d 3d 58 03 10[ 	]+lea    1049432\(%rip\),%rdi +# 1013b8 <.*>
  +105f:	00 *
 #				-> R_X86_64_DTPMOD64	[0 0x4000000000000000]
  +1060:	66[ 	]+data16
  +1061:	66[ 	]+data16
- +1062:	48 e8 18 f6 ff ff[ 	]+rex64 callq  [0-9a-f]+ <.*>
+ +1062:	48 e8 38 f5 ff ff[ 	]+rex64 callq  [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +1068:	90[ 	]+nop *
  +1069:	90[ 	]+nop *
@@ -73,19 +73,19 @@ Disassembly of section .text:
 #  GD -> IE against hidden and local variable referenced through IE too
  +106c:	64 48 8b 04 25 00 00[ 	]+mov    %fs:0x0,%rax
  +1073:	00 00 *
- +1075:	48 03 05 bc 11 10 00[ 	]+add    1053116\(%rip\),%rax +# 102238 <_GLOBAL_OFFSET_TABLE_\+0xa8>
+ +1075:	48 03 05 4c 03 10 00[ 	]+add    1049420\(%rip\),%rax +# 1013c8 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x44
  +107c:	90[ 	]+nop *
  +107d:	90[ 	]+nop *
  +107e:	90[ 	]+nop *
  +107f:	90[ 	]+nop *
 #  GD against hidden but not local variable
- +1080:	66 48 8d 3d 58 11 10[ 	]+lea    1053016\(%rip\),%rdi +# 1021e0 <_GLOBAL_OFFSET_TABLE_\+0x50>
+ +1080:	66 48 8d 3d e8 02 10[ 	]+lea    1049320\(%rip\),%rdi +# 101370 <.*>
  +1087:	00 *
 #				-> R_X86_64_DTPMOD64	[0 0x6000000000000000]
  +1088:	66[ 	]+data16
  +1089:	66[ 	]+data16
- +108a:	48 e8 f0 f5 ff ff[ 	]+rex64 callq  [0-9a-f]+ <.*>
+ +108a:	48 e8 10 f5 ff ff[ 	]+rex64 callq  [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +1090:	90[ 	]+nop *
  +1091:	90[ 	]+nop *
@@ -94,16 +94,16 @@ Disassembly of section .text:
 #  GD -> IE against hidden but not local variable referenced through IE too
  +1094:	64 48 8b 04 25 00 00[ 	]+mov    %fs:0x0,%rax
  +109b:	00 00 *
- +109d:	48 03 05 4c 11 10 00[ 	]+add    1053004\(%rip\),%rax +# 1021f0 <_GLOBAL_OFFSET_TABLE_\+0x60>
+ +109d:	48 03 05 dc 02 10 00[ 	]+add    1049308\(%rip\),%rax +# 101380 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x64
  +10a4:	90[ 	]+nop *
  +10a5:	90[ 	]+nop *
  +10a6:	90[ 	]+nop *
  +10a7:	90[ 	]+nop *
 #  LD
- +10a8:	48 8d 3d 21 11 10 00[ 	]+lea    1052961\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40>
+ +10a8:	48 8d 3d b1 02 10 00[ 	]+lea    1049265\(%rip\),%rdi +# 101360 <.*>
 #				-> R_X86_64_DTPMOD64	[0 0x000000000000000]
- +10af:	e8 cc f5 ff ff[ 	]+callq  [0-9a-f]+ <.*>
+ +10af:	e8 ec f4 ff ff[ 	]+callq  [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +10b4:	90[ 	]+nop *
  +10b5:	90[ 	]+nop *
@@ -116,9 +116,9 @@ Disassembly of section .text:
  +10c8:	90[ 	]+nop *
  +10c9:	90[ 	]+nop *
 #  LD against hidden and local variables
- +10ca:	48 8d 3d ff 10 10 00[ 	]+lea    1052927\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40>
+ +10ca:	48 8d 3d 8f 02 10 00[ 	]+lea    1049231\(%rip\),%rdi +# 101360 <.*>
 #				-> R_X86_64_DTPMOD64	[0 0x000000000000000]
- +10d1:	e8 aa f5 ff ff[ 	]+callq  [0-9a-f]+ <.*>
+ +10d1:	e8 ca f4 ff ff[ 	]+callq  [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +10d6:	90[ 	]+nop *
  +10d7:	90[ 	]+nop *
@@ -131,9 +131,9 @@ Disassembly of section .text:
  +10ea:	90[ 	]+nop *
  +10eb:	90[ 	]+nop *
 #  LD against hidden but not local variables
- +10ec:	48 8d 3d dd 10 10 00[ 	]+lea    1052893\(%rip\),%rdi +# 1021d0 <_GLOBAL_OFFSET_TABLE_\+0x40>
+ +10ec:	48 8d 3d 6d 02 10 00[ 	]+lea    1049197\(%rip\),%rdi +# 101360 <.*>
 #				-> R_X86_64_DTPMOD64	[0 0x000000000000000]
- +10f3:	e8 88 f5 ff ff[ 	]+callq  [0-9a-f]+ <.*>
+ +10f3:	e8 a8 f4 ff ff[ 	]+callq  [0-9a-f]+ <.*>
 #				-> R_X86_64_JUMP_SLOT	__tls_get_addr
  +10f8:	90[ 	]+nop *
  +10f9:	90[ 	]+nop *
@@ -148,7 +148,7 @@ Disassembly of section .text:
  +1113:	00 00 *
  +1115:	90[ 	]+nop *
  +1116:	90[ 	]+nop *
- +1117:	48 03 0d 02 11 10 00[ 	]+add    1052930\(%rip\),%rcx +# 102220 <_GLOBAL_OFFSET_TABLE_\+0x90>
+ +1117:	48 03 0d 92 02 10 00[ 	]+add    1049234\(%rip\),%rcx +# 1013b0 <.*>
 #				-> R_X86_64_TPOFF64	sg2
  +111e:	90[ 	]+nop *
  +111f:	90[ 	]+nop *
@@ -159,7 +159,7 @@ Disassembly of section .text:
  +1129:	00 00 *
  +112b:	90[ 	]+nop *
  +112c:	90[ 	]+nop *
- +112d:	4c 03 35 8c 10 10 00[ 	]+add    1052812\(%rip\),%r14 +# 1021c0 <_GLOBAL_OFFSET_TABLE_\+0x30>
+ +112d:	4c 03 35 1c 02 10 00[ 	]+add    1049116\(%rip\),%r14 +# 101350 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x24
  +1134:	90[ 	]+nop *
  +1135:	90[ 	]+nop *
@@ -170,7 +170,7 @@ Disassembly of section .text:
  +113f:	00 00 *
  +1141:	90[ 	]+nop *
  +1142:	90[ 	]+nop *
- +1143:	48 03 0d ee 10 10 00[ 	]+add    1052910\(%rip\),%rcx +# 102238 <_GLOBAL_OFFSET_TABLE_\+0xa8>
+ +1143:	48 03 0d 7e 02 10 00[ 	]+add    1049214\(%rip\),%rcx +# 1013c8 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x44
  +114a:	90[ 	]+nop *
  +114b:	90[ 	]+nop *
@@ -181,7 +181,7 @@ Disassembly of section .text:
  +1155:	00 00 *
  +1157:	90[ 	]+nop *
  +1158:	90[ 	]+nop *
- +1159:	48 03 0d 90 10 10 00[ 	]+add    1052816\(%rip\),%rcx +# 1021f0 <_GLOBAL_OFFSET_TABLE_\+0x60>
+ +1159:	48 03 0d 20 02 10 00[ 	]+add    1049120\(%rip\),%rcx +# 101380 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x64
  +1160:	90[ 	]+nop *
  +1161:	90[ 	]+nop *
@@ -189,7 +189,7 @@ Disassembly of section .text:
  +1163:	90[ 	]+nop *
 #  Direct access through %fs
 #  IE against global var
- +1164:	48 8b 0d 8d 10 10 00[ 	]+mov    1052813\(%rip\),%rcx +# 1021f8 <_GLOBAL_OFFSET_TABLE_\+0x68>
+ +1164:	48 8b 0d 1d 02 10 00[ 	]+mov    1049117\(%rip\),%rcx +# 101388 <.*>
 #				-> R_X86_64_TPOFF64	sg5
  +116b:	90[ 	]+nop *
  +116c:	90[ 	]+nop *
@@ -199,7 +199,7 @@ Disassembly of section .text:
  +1173:	90[ 	]+nop *
  +1174:	90[ 	]+nop *
 #  IE against local var
- +1175:	4c 8b 15 4c 10 10 00[ 	]+mov    1052748\(%rip\),%r10 +# 1021c8 <_GLOBAL_OFFSET_TABLE_\+0x38>
+ +1175:	4c 8b 15 dc 01 10 00[ 	]+mov    1049052\(%rip\),%r10 +# 101358 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x30
  +117c:	90[ 	]+nop *
  +117d:	90[ 	]+nop *
@@ -209,7 +209,7 @@ Disassembly of section .text:
  +1184:	90[ 	]+nop *
  +1185:	90[ 	]+nop *
 #  IE against hidden and local var
- +1186:	48 8b 15 83 10 10 00[ 	]+mov    1052803\(%rip\),%rdx +# 102210 <_GLOBAL_OFFSET_TABLE_\+0x80>
+ +1186:	48 8b 15 13 02 10 00[ 	]+mov    1049107\(%rip\),%rdx +# 1013a0 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x50
  +118d:	90[ 	]+nop *
  +118e:	90[ 	]+nop *
@@ -219,7 +219,7 @@ Disassembly of section .text:
  +1195:	90[ 	]+nop *
  +1196:	90[ 	]+nop *
 #  IE against hidden but not local var
- +1197:	48 8b 0d 7a 10 10 00[ 	]+mov    1052794\(%rip\),%rcx +# 102218 <_GLOBAL_OFFSET_TABLE_\+0x88>
+ +1197:	48 8b 0d 0a 02 10 00[ 	]+mov    1049098\(%rip\),%rcx +# 1013a8 <.*>
 #				-> R_X86_64_TPOFF64	*ABS*+0x70
  +119e:	90[ 	]+nop *
  +119f:	90[ 	]+nop *
--- ld/testsuite/ld-x86-64/tlspic.rd.jj	2004-05-05 14:55:02.299214073 +0200
+++ ld/testsuite/ld-x86-64/tlspic.rd	2004-05-06 14:08:34.078894550 +0200
@@ -5,7 +5,7 @@
 #readelf: -WSsrl
 #target: x86_64-*-*
 
-There are 17 section headers, starting at offset 0x[0-9a-f]+:
+There are 18 section headers, starting at offset 0x[0-9a-f]+:
 
 Section Headers:
   \[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
@@ -17,15 +17,16 @@ Section Headers:
   \[ 5\] .rela.plt +.*
   \[ 6\] .plt +.*
   \[ 7\] .text +PROGBITS +0+1000 0+1000 0+1ac 00 +AX +0 +0 4096
-  \[ 8\] .data +.*
-  \[ 9\] .tdata +PROGBITS +0+102000 0+2000 0+60 00 WAT +0 +0 +1
-  \[10\] .tbss +NOBITS +0+102060 0+2060 0+20 00 WAT +0 +0 +1
-  \[11\] .dynamic +DYNAMIC +0+102060 0+2060 0+130 10 +WA +3 +0 +8
-  \[12\] .got +PROGBITS +0+102190 0+2190 0+b0 08 +WA +0 +0 +8
-  \[13\] .bss +.*
-  \[14\] .shstrtab +.*
-  \[15\] .symtab +.*
-  \[16\] .strtab +.*
+  \[ 8\] .tdata +PROGBITS +0+1011ac 0+11ac 0+60 00 WAT +0 +0 +1
+  \[ 9\] .tbss +NOBITS +0+10120c 0+120c 0+20 00 WAT +0 +0 +1
+  \[10\] .dynamic +DYNAMIC +0+101210 0+1210 0+130 10 +WA +3 +0 +8
+  \[11\] .got +PROGBITS +0+101340 0+1340 0+90 08 +WA +0 +0 +8
+  \[12\] .got.plt +PROGBITS +0+1013d0 0+13d0 0+20 08 +WA +0 +0 +8
+  \[13\] .data +.*
+  \[14\] .bss +.*
+  \[15\] .shstrtab +.*
+  \[16\] .symtab +.*
+  \[17\] .strtab +.*
 Key to Flags:
 .*
 .*
@@ -38,125 +39,118 @@ There are 4 program headers, starting at
 Program Headers:
   Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
   LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x100000
-  LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+240 0x0+240 RW +0x100000
-  DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
-  TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x1
+  LOAD +0x0+11ac 0x0+1011ac 0x0+1011ac 0x0+e54 0x0+e54 RW +0x100000
+  DYNAMIC +0x0+1210 0x0+101210 0x0+101210 0x0+130 0x0+130 RW +0x8
+  TLS +0x0+11ac 0x0+1011ac 0x0+1011ac 0x0+60 0x0+80 R +0x1
 
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   01 +.tdata .tbss .dynamic .got *
-   02 +.tbss .dynamic *
+   01 +.tdata .tbss .dynamic .got .got.plt *
+   02 +.dynamic *
    03 +.tdata .tbss *
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+1021b0  0+10 R_X86_64_DTPMOD64 +0+
-0+1021c0  0+12 R_X86_64_TPOFF64 +0+24
-0+1021c8  0+12 R_X86_64_TPOFF64 +0+30
-0+1021d0  0+10 R_X86_64_DTPMOD64 +0+
-0+1021e0  0+10 R_X86_64_DTPMOD64 +0+
-0+1021f0  0+12 R_X86_64_TPOFF64 +0+64
-0+102210  0+12 R_X86_64_TPOFF64 +0+50
-0+102218  0+12 R_X86_64_TPOFF64 +0+70
-0+102228  0+10 R_X86_64_DTPMOD64 +0+
-0+102238  0+12 R_X86_64_TPOFF64 +0+44
-0+1021f8  0+1200000012 R_X86_64_TPOFF64 +0+10 sg5 \+ 0
-0+102200  0+1400000010 R_X86_64_DTPMOD64 +0+ sg1 \+ 0
-0+102208  0+1400000011 R_X86_64_DTPOFF64 +0+ sg1 \+ 0
-0+102220  0+1700000012 R_X86_64_TPOFF64 +0+4 sg2 \+ 0
+0+101340  0+10 R_X86_64_DTPMOD64 +0+
+0+101350  0+12 R_X86_64_TPOFF64 +0+24
+0+101358  0+12 R_X86_64_TPOFF64 +0+30
+0+101360  0+10 R_X86_64_DTPMOD64 +0+
+0+101370  0+10 R_X86_64_DTPMOD64 +0+
+0+101380  0+12 R_X86_64_TPOFF64 +0+64
+0+1013a0  0+12 R_X86_64_TPOFF64 +0+50
+0+1013a8  0+12 R_X86_64_TPOFF64 +0+70
+0+1013b8  0+10 R_X86_64_DTPMOD64 +0+
+0+1013c8  0+12 R_X86_64_TPOFF64 +0+44
+0+101388  0+a00000012 R_X86_64_TPOFF64 +0+10 sg5 \+ 0
+0+101390  0+c00000010 R_X86_64_DTPMOD64 +0+ sg1 \+ 0
+0+101398  0+c00000011 R_X86_64_DTPOFF64 +0+ sg1 \+ 0
+0+1013b0  0+f00000012 R_X86_64_TPOFF64 +0+4 sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x658 contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
  +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
-0+[0-9a-f]+  0+1300000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
+0+[0-9a-f]+  0+b00000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
 
-Symbol table '.dynsym' contains 29 entries:
+Symbol table '.dynsym' contains 21 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
- +14: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +15: 0+102060 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +16: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +17: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +18: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +19: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_addr
- +20: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +21: 0+1000 +0 FUNC +GLOBAL DEFAULT +7 fn1
- +22: 0+102240 +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +23: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +24: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +25: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +26: 0+102240 +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +27: 0+102190 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +28: 0+102240 +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: 0+101210 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5
+ +[0-9]+: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_addr
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: 0+1000 +0 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: 0+1013d0 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
 
-Symbol table '.symtab' contains 56 entries:
+Symbol table '.symtab' contains 57 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
- +14: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
- +15: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
- +16: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 *
- +17: 0+20 +0 TLS +LOCAL  DEFAULT +9 sl1
- +18: 0+24 +0 TLS +LOCAL  DEFAULT +9 sl2
- +19: 0+28 +0 TLS +LOCAL  DEFAULT +9 sl3
- +20: 0+2c +0 TLS +LOCAL  DEFAULT +9 sl4
- +21: 0+30 +0 TLS +LOCAL  DEFAULT +9 sl5
- +22: 0+34 +0 TLS +LOCAL  DEFAULT +9 sl6
- +23: 0+38 +0 TLS +LOCAL  DEFAULT +9 sl7
- +24: 0+3c +0 TLS +LOCAL  DEFAULT +9 sl8
- +25: 0+60 +0 TLS +LOCAL  HIDDEN +10 sH1
- +26: 0+48 +0 TLS +LOCAL  HIDDEN +9 sh3
- +27: 0+64 +0 TLS +LOCAL  HIDDEN +10 sH2
- +28: 0+78 +0 TLS +LOCAL  HIDDEN +10 sH7
- +29: 0+58 +0 TLS +LOCAL  HIDDEN +9 sh7
- +30: 0+5c +0 TLS +LOCAL  HIDDEN +9 sh8
- +31: 0+6c +0 TLS +LOCAL  HIDDEN +10 sH4
- +32: 0+4c +0 TLS +LOCAL  HIDDEN +9 sh4
- +33: 0+68 +0 TLS +LOCAL  HIDDEN +10 sH3
- +34: 0+50 +0 TLS +LOCAL  HIDDEN +9 sh5
- +35: 0+70 +0 TLS +LOCAL  HIDDEN +10 sH5
- +36: 0+74 +0 TLS +LOCAL  HIDDEN +10 sH6
- +37: 0+7c +0 TLS +LOCAL  HIDDEN +10 sH8
- +38: 0+40 +0 TLS +LOCAL  HIDDEN +9 sh1
- +39: 0+44 +0 TLS +LOCAL  HIDDEN +9 sh2
- +40: 0+54 +0 TLS +LOCAL  HIDDEN +9 sh6
- +41: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +42: 0+102060 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +43: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +44: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +45: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +46: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_addr
- +47: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +48: 0+1000 +0 FUNC +GLOBAL DEFAULT +7 fn1
- +49: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +50: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +51: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +52: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +53: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +54: 0+102190 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +55: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 *
+ +[0-9]+: 0+20 +0 TLS +LOCAL  DEFAULT +8 sl1
+ +[0-9]+: 0+24 +0 TLS +LOCAL  DEFAULT +8 sl2
+ +[0-9]+: 0+28 +0 TLS +LOCAL  DEFAULT +8 sl3
+ +[0-9]+: 0+2c +0 TLS +LOCAL  DEFAULT +8 sl4
+ +[0-9]+: 0+30 +0 TLS +LOCAL  DEFAULT +8 sl5
+ +[0-9]+: 0+34 +0 TLS +LOCAL  DEFAULT +8 sl6
+ +[0-9]+: 0+38 +0 TLS +LOCAL  DEFAULT +8 sl7
+ +[0-9]+: 0+3c +0 TLS +LOCAL  DEFAULT +8 sl8
+ +[0-9]+: 0+60 +0 TLS +LOCAL  HIDDEN +9 sH1
+ +[0-9]+: 0+48 +0 TLS +LOCAL  HIDDEN +8 sh3
+ +[0-9]+: 0+64 +0 TLS +LOCAL  HIDDEN +9 sH2
+ +[0-9]+: 0+78 +0 TLS +LOCAL  HIDDEN +9 sH7
+ +[0-9]+: 0+58 +0 TLS +LOCAL  HIDDEN +8 sh7
+ +[0-9]+: 0+5c +0 TLS +LOCAL  HIDDEN +8 sh8
+ +[0-9]+: 0+6c +0 TLS +LOCAL  HIDDEN +9 sH4
+ +[0-9]+: 0+4c +0 TLS +LOCAL  HIDDEN +8 sh4
+ +[0-9]+: 0+68 +0 TLS +LOCAL  HIDDEN +9 sH3
+ +[0-9]+: 0+50 +0 TLS +LOCAL  HIDDEN +8 sh5
+ +[0-9]+: 0+70 +0 TLS +LOCAL  HIDDEN +9 sH5
+ +[0-9]+: 0+74 +0 TLS +LOCAL  HIDDEN +9 sH6
+ +[0-9]+: 0+7c +0 TLS +LOCAL  HIDDEN +9 sH8
+ +[0-9]+: 0+40 +0 TLS +LOCAL  HIDDEN +8 sh1
+ +[0-9]+: 0+44 +0 TLS +LOCAL  HIDDEN +8 sh2
+ +[0-9]+: 0+54 +0 TLS +LOCAL  HIDDEN +8 sh6
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: 0+101210 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5
+ +[0-9]+: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND __tls_get_addr
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: 0+1000 +0 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: 0+1013d0 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
--- ld/testsuite/ld-x86-64/tlsbin.dd.jj	2004-05-05 14:55:02.289215865 +0200
+++ ld/testsuite/ld-x86-64/tlsbin.dd	2004-05-06 14:08:34.076894908 +0200
@@ -24,7 +24,7 @@ Disassembly of section .text:
 #  GD -> IE because variable is not defined in executable
   401004:	64 48 8b 04 25 00 00[ 	]+mov    %fs:0x0,%rax
   40100b:	00 00 *
-  40100d:	48 03 05 c4 11 10 00[ 	]+add    1053124\(%rip\),%rax +# 5021d8 <_GLOBAL_OFFSET_TABLE_\+0x38>
+  40100d:	48 03 05 d4 03 10 00[ 	]+add    1049556\(%rip\),%rax +# 5013e8 <.*>
 #				-> R_X86_64_TPOFF64	sG1
   401014:	90[ 	]+nop *
   401015:	90[ 	]+nop *
@@ -34,7 +34,7 @@ Disassembly of section .text:
 #  the variable is referenced through IE too
   401018:	64 48 8b 04 25 00 00[ 	]+mov    %fs:0x0,%rax
   40101f:	00 00 *
-  401021:	48 03 05 a0 11 10 00[ 	]+add    1053088\(%rip\),%rax +# 5021c8 <_GLOBAL_OFFSET_TABLE_\+0x28>
+  401021:	48 03 05 b0 03 10 00[ 	]+add    1049520\(%rip\),%rax +# 5013d8 <.*>
 #				-> R_X86_64_TPOFF64	sG2
   401028:	90[ 	]+nop *
   401029:	90[ 	]+nop *
@@ -102,7 +102,7 @@ Disassembly of section .text:
   4010b3:	00 00 *
   4010b5:	90[ 	]+nop *
   4010b6:	90[ 	]+nop *
-  4010b7:	4c 03 0d 0a 11 10 00[ 	]+add    1052938\(%rip\),%r9 +# 5021c8 <_GLOBAL_OFFSET_TABLE_\+0x28>
+  4010b7:	4c 03 0d 1a 03 10 00[ 	]+add    1049370\(%rip\),%r9 +# 5013d8 <.*>
 #				-> R_X86_64_TPOFF64	sG2
   4010be:	90[ 	]+nop *
   4010bf:	90[ 	]+nop *
@@ -143,7 +143,7 @@ Disassembly of section .text:
   401103:	90[ 	]+nop *
 #  Direct access through %fs
 #  IE against global var
-  401104:	48 8b 0d b5 10 10 00[ 	]+mov    1052853\(%rip\),%rcx +# 5021c0 <_GLOBAL_OFFSET_TABLE_\+0x20>
+  401104:	48 8b 0d c5 02 10 00[ 	]+mov    1049285\(%rip\),%rcx +# 5013d0 <.*>
 #				-> R_X86_64_TPOFF64	sG5
   40110b:	90[ 	]+nop *
   40110c:	90[ 	]+nop *
@@ -186,7 +186,7 @@ Disassembly of section .text:
   401147:	00 00 *
   401149:	90[ 	]+nop *
   40114a:	90[ 	]+nop *
-  40114b:	4c 03 1d 7e 10 10 00[ 	]+add    1052798\(%rip\),%r11 +# 5021d0 <_GLOBAL_OFFSET_TABLE_\+0x30>
+  40114b:	4c 03 1d 8e 02 10 00[ 	]+add    1049230\(%rip\),%r11 +# 5013e0 <.*>
 #				-> R_X86_64_TPOFF64	sG6
   401152:	90[ 	]+nop *
   401153:	90[ 	]+nop *
--- ld/testsuite/ld-x86-64/tlsbin.sd.jj	2004-05-05 14:55:02.285216582 +0200
+++ ld/testsuite/ld-x86-64/tlsbin.sd	2004-05-06 14:08:34.075895087 +0200
@@ -8,7 +8,5 @@
 .*: +file format elf64-x86-64
 
 Contents of section .got:
- 5021a0 [0-9a-f]+ [0-9a-f]+ 00000000 00000000  .*
- 5021b0 00000000 00000000 [0-9a-f]+ [0-9a-f]+  .*
- 5021c0 00000000 00000000 00000000 00000000  .*
- 5021d0 00000000 00000000 00000000 00000000  .*
+ 5013d0 00000000 00000000 00000000 00000000  .*
+ 5013e0 00000000 00000000 00000000 00000000  .*
--- ld/testsuite/ld-x86-64/tlspic.sd.jj	2004-05-05 14:55:02.306212819 +0200
+++ ld/testsuite/ld-x86-64/tlspic.sd	2004-05-06 14:08:34.079894371 +0200
@@ -8,14 +8,12 @@
 .*: +file format elf64-x86-64
 
 Contents of section .got:
- 102190 [0-9a-f]+ [0-9a-f]+ 00000000 00000000  .*
- 1021a0 00000000 00000000 [0-9a-f]+ [0-9a-f]+  .*
- 1021b0 00000000 00000000 20000000 00000000  .*
- 1021c0 00000000 00000000 00000000 00000000  .*
- 1021d0 00000000 00000000 00000000 00000000  .*
- 1021e0 00000000 00000000 60000000 00000000  .*
- 1021f0 00000000 00000000 00000000 00000000  .*
- 102200 00000000 00000000 00000000 00000000  .*
- 102210 00000000 00000000 00000000 00000000  .*
- 102220 00000000 00000000 00000000 00000000  .*
- 102230 40000000 00000000 00000000 00000000  .*
+ 101340 00000000 00000000 20000000 00000000  .*
+ 101350 00000000 00000000 00000000 00000000  .*
+ 101360 00000000 00000000 00000000 00000000  .*
+ 101370 00000000 00000000 60000000 00000000  .*
+ 101380 00000000 00000000 00000000 00000000  .*
+ 101390 00000000 00000000 00000000 00000000  .*
+ 1013a0 00000000 00000000 00000000 00000000  .*
+ 1013b0 00000000 00000000 00000000 00000000  .*
+ 1013c0 40000000 00000000 00000000 00000000  .*
--- ld/testsuite/ld-x86-64/tlsbin.rd.jj	2004-05-05 14:55:02.292215328 +0200
+++ ld/testsuite/ld-x86-64/tlsbin.rd	2004-05-06 14:08:34.077894729 +0200
@@ -5,7 +5,7 @@
 #readelf: -WSsrl
 #target: x86_64-*-*
 
-There are 18 section headers, starting at offset 0x[0-9a-f]+:
+There are 19 section headers, starting at offset 0x[0-9a-f]+:
 
 Section Headers:
   \[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
@@ -18,15 +18,16 @@ Section Headers:
   \[ 6\] .rela.plt +.*
   \[ 7\] .plt +.*
   \[ 8\] .text +PROGBITS +0+401000 0+1000 0+22a 00 +AX +0 +0 +4096
-  \[ 9\] .data +.*
-  \[10\] .tdata +PROGBITS +0+502000 0+2000 0+60 00 WAT +0 +0 +1
-  \[11\] .tbss +NOBITS +0+502060 0+2060 0+40 00 WAT +0 +0 +1
-  \[12\] .dynamic +DYNAMIC +0+502060 0+2060 0+140 10 +WA +4 +0 +8
-  \[13\] .got +PROGBITS +0+5021a0 0+21a0 0+40 08 +WA +0 +0 +8
-  \[14\] .bss +.*
-  \[15\] .shstrtab +.*
-  \[16\] .symtab +.*
-  \[17\] .strtab +.*
+  \[ 9\] .tdata +PROGBITS +0+50122a 0+122a 0+60 00 WAT +0 +0 +1
+  \[10\] .tbss +NOBITS +0+50128a 0+128a 0+40 00 WAT +0 +0 +1
+  \[11\] .dynamic +DYNAMIC +0+501290 0+1290 0+140 10 +WA +4 +0 +8
+  \[12\] .got +PROGBITS +0+5013d0 0+13d0 0+20 08 +WA +0 +0 +8
+  \[13\] .got.plt +PROGBITS +0+5013f0 0+13f0 0+20 08 +WA +0 +0 +8
+  \[14\] .data +.*
+  \[15\] .bss +.*
+  \[16\] .shstrtab +.*
+  \[17\] .symtab +.*
+  \[18\] .strtab +.*
 Key to Flags:
 .*
 .*
@@ -42,25 +43,25 @@ Program Headers:
   INTERP +0x0+190 0x0+400190 0x0+400190 0x0+f 0x0+f R +0x1
 .*Requesting program interpreter.*
   LOAD +0x0+ 0x0+400000 0x0+400000 0x0+122a 0x0+122a R E 0x100000
-  LOAD +0x0+2000 0x0+502000 0x0+502000 0x0+1e0 0x0+1e0 RW  0x100000
-  DYNAMIC +0x0+2060 0x0+502060 0x0+502060 0x0+140 0x0+140 RW  0x8
-  TLS +0x0+2000 0x0+502000 0x0+502000 0x0+60 0x0+a0 R +0x1
+  LOAD +0x0+122a 0x0+50122a 0x0+50122a 0x0+dd6 0x0+dd6 RW  0x100000
+  DYNAMIC +0x0+1290 0x0+501290 0x0+501290 0x0+140 0x0+140 RW  0x8
+  TLS +0x0+122a 0x0+50122a 0x0+50122a 0x0+60 0x0+a0 R +0x1
 
  Section to Segment mapping:
   Segment Sections...
    00 *
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-   03 +.tdata .tbss .dynamic .got *
-   04 +.tbss .dynamic *
+   03 +.tdata .tbss .dynamic .got .got.plt *
+   04 +.dynamic *
    05 +.tdata .tbss *
 
 Relocation section '.rela.dyn' at offset 0x358 contains 4 entries:
  +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
-0+5021c0  0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
-0+5021c8  0+300000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
-0+5021d0  0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
-0+5021d8  0+700000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
+0+5013d0  0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0
+0+5013d8  0+300000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0
+0+5013e0  0+600000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0
+0+5013e8  0+700000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0
 
 Relocation section '.rela.plt' at offset 0x3b8 contains 1 entries:
  +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
@@ -68,87 +69,88 @@ Relocation section '.rela.plt' at offset
 
 Symbol table '.dynsym' contains 11 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: 0+ +0 TLS +GLOBAL DEFAULT  UND sG5
- +2: 0+502060 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +3: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
- +4: 0+[0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_addr
- +5: 0+[0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +6: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
- +7: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
- +8: 0+[0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +9: 0+5021a0 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +10: 0+[0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG5
+ +[0-9]+: 0+501290 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
+ +[0-9]+: 0+[0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_addr
+ +[0-9]+: 0+[0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
+ +[0-9]+: 0+[0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: 0+5013f0 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: 0+[0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
 
-Symbol table '.symtab' contains 70 entries:
+Symbol table '.symtab' contains 71 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
- +14: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
- +15: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
- +16: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 *
- +17: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 *
- +18: 0+20 +0 TLS +LOCAL  DEFAULT +10 sl1
- +19: 0+24 +0 TLS +LOCAL  DEFAULT +10 sl2
- +20: 0+28 +0 TLS +LOCAL  DEFAULT +10 sl3
- +21: 0+2c +0 TLS +LOCAL  DEFAULT +10 sl4
- +22: 0+30 +0 TLS +LOCAL  DEFAULT +10 sl5
- +23: 0+34 +0 TLS +LOCAL  DEFAULT +10 sl6
- +24: 0+38 +0 TLS +LOCAL  DEFAULT +10 sl7
- +25: 0+3c +0 TLS +LOCAL  DEFAULT +10 sl8
- +26: 0+80 +0 TLS +LOCAL  DEFAULT +11 bl1
- +27: 0+84 +0 TLS +LOCAL  DEFAULT +11 bl2
- +28: 0+88 +0 TLS +LOCAL  DEFAULT +11 bl3
- +29: 0+8c +0 TLS +LOCAL  DEFAULT +11 bl4
- +30: 0+90 +0 TLS +LOCAL  DEFAULT +11 bl5
- +31: 0+94 +0 TLS +LOCAL  DEFAULT +11 bl6
- +32: 0+98 +0 TLS +LOCAL  DEFAULT +11 bl7
- +33: 0+9c +0 TLS +LOCAL  DEFAULT +11 bl8
- +34: 0+1c +0 TLS +GLOBAL DEFAULT +10 sg8
- +35: 0+7c +0 TLS +GLOBAL DEFAULT +11 bg8
- +36: 0+74 +0 TLS +GLOBAL DEFAULT +11 bg6
- +37: 0+ +0 TLS +GLOBAL DEFAULT  UND sG5
- +38: 0+68 +0 TLS +GLOBAL DEFAULT +11 bg3
- +39: 0+502060 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +40: 0+8 +0 TLS +GLOBAL DEFAULT +10 sg3
- +41: 0+48 +0 TLS +GLOBAL HIDDEN +10 sh3
- +42: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
- +43: 0+c +0 TLS +GLOBAL DEFAULT +10 sg4
- +44: 0+10 +0 TLS +GLOBAL DEFAULT +10 sg5
- +45: 0+70 +0 TLS +GLOBAL DEFAULT +11 bg5
- +46: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_addr
- +47: 0+58 +0 TLS +GLOBAL HIDDEN +10 sh7
- +48: 0+5c +0 TLS +GLOBAL HIDDEN +10 sh8
- +49: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1
- +50: 0+40113c +0 FUNC +GLOBAL DEFAULT +8 _start
- +51: 0+4c +0 TLS +GLOBAL HIDDEN +10 sh4
- +52: 0+78 +0 TLS +GLOBAL DEFAULT +11 bg7
- +53: 0+50 +0 TLS +GLOBAL HIDDEN +10 sh5
- +54: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +55: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
- +56: 0+401000 +0 FUNC +GLOBAL DEFAULT +8 fn2
- +57: 0+4 +0 TLS +GLOBAL DEFAULT +10 sg2
- +58: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
- +59: 0+40 +0 TLS +GLOBAL HIDDEN +10 sh1
- +60: 0+14 +0 TLS +GLOBAL DEFAULT +10 sg6
- +61: 0+18 +0 TLS +GLOBAL DEFAULT +10 sg7
- +62: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +63: 0+5021a0 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +64: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
- +65: 0+44 +0 TLS +GLOBAL HIDDEN +10 sh2
- +66: 0+54 +0 TLS +GLOBAL HIDDEN +10 sh6
- +67: 0+64 +0 TLS +GLOBAL DEFAULT +11 bg2
- +68: 0+60 +0 TLS +GLOBAL DEFAULT +11 bg1
- +69: 0+6c +0 TLS +GLOBAL DEFAULT +11 bg4
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +18 *
+ +[0-9]+: 0+20 +0 TLS +LOCAL  DEFAULT +9 sl1
+ +[0-9]+: 0+24 +0 TLS +LOCAL  DEFAULT +9 sl2
+ +[0-9]+: 0+28 +0 TLS +LOCAL  DEFAULT +9 sl3
+ +[0-9]+: 0+2c +0 TLS +LOCAL  DEFAULT +9 sl4
+ +[0-9]+: 0+30 +0 TLS +LOCAL  DEFAULT +9 sl5
+ +[0-9]+: 0+34 +0 TLS +LOCAL  DEFAULT +9 sl6
+ +[0-9]+: 0+38 +0 TLS +LOCAL  DEFAULT +9 sl7
+ +[0-9]+: 0+3c +0 TLS +LOCAL  DEFAULT +9 sl8
+ +[0-9]+: 0+80 +0 TLS +LOCAL  DEFAULT +10 bl1
+ +[0-9]+: 0+84 +0 TLS +LOCAL  DEFAULT +10 bl2
+ +[0-9]+: 0+88 +0 TLS +LOCAL  DEFAULT +10 bl3
+ +[0-9]+: 0+8c +0 TLS +LOCAL  DEFAULT +10 bl4
+ +[0-9]+: 0+90 +0 TLS +LOCAL  DEFAULT +10 bl5
+ +[0-9]+: 0+94 +0 TLS +LOCAL  DEFAULT +10 bl6
+ +[0-9]+: 0+98 +0 TLS +LOCAL  DEFAULT +10 bl7
+ +[0-9]+: 0+9c +0 TLS +LOCAL  DEFAULT +10 bl8
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
+ +[0-9]+: 0+7c +0 TLS +GLOBAL DEFAULT +10 bg8
+ +[0-9]+: 0+74 +0 TLS +GLOBAL DEFAULT +10 bg6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG5
+ +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +10 bg3
+ +[0-9]+: 0+501290 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
+ +[0-9]+: 0+48 +0 TLS +GLOBAL HIDDEN +9 sh3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
+ +[0-9]+: 0+70 +0 TLS +GLOBAL DEFAULT +10 bg5
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND __tls_get_addr
+ +[0-9]+: 0+58 +0 TLS +GLOBAL HIDDEN +9 sh7
+ +[0-9]+: 0+5c +0 TLS +GLOBAL HIDDEN +9 sh8
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
+ +[0-9]+: 0+40113c +0 FUNC +GLOBAL DEFAULT +8 _start
+ +[0-9]+: 0+4c +0 TLS +GLOBAL HIDDEN +9 sh4
+ +[0-9]+: 0+78 +0 TLS +GLOBAL DEFAULT +10 bg7
+ +[0-9]+: 0+50 +0 TLS +GLOBAL HIDDEN +9 sh5
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
+ +[0-9]+: 0+401000 +0 FUNC +GLOBAL DEFAULT +8 fn2
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
+ +[0-9]+: 0+40 +0 TLS +GLOBAL HIDDEN +9 sh1
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: 0+5013f0 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+44 +0 TLS +GLOBAL HIDDEN +9 sh2
+ +[0-9]+: 0+54 +0 TLS +GLOBAL HIDDEN +9 sh6
+ +[0-9]+: 0+64 +0 TLS +GLOBAL DEFAULT +10 bg2
+ +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +10 bg1
+ +[0-9]+: 0+6c +0 TLS +GLOBAL DEFAULT +10 bg4
--- ld/testsuite/ld-x86-64/tlsbin.td.jj	2004-05-05 14:55:02.282217120 +0200
+++ ld/testsuite/ld-x86-64/tlsbin.td	2004-05-06 14:08:34.075895087 +0200
@@ -8,9 +8,9 @@
 .*: +file format elf64-x86-64
 
 Contents of section .tdata:
- 502000 11000000 12000000 13000000 14000000  .*
- 502010 15000000 16000000 17000000 18000000  .*
- 502020 41000000 42000000 43000000 44000000  .*
- 502030 45000000 46000000 47000000 48000000  .*
- 502040 01010000 02010000 03010000 04010000  .*
- 502050 05010000 06010000 07010000 08010000  .*
+ 50122a 11000000 12000000 13000000 14000000  .*
+ 50123a 15000000 16000000 17000000 18000000  .*
+ 50124a 41000000 42000000 43000000 44000000  .*
+ 50125a 45000000 46000000 47000000 48000000  .*
+ 50126a 01010000 02010000 03010000 04010000  .*
+ 50127a 05010000 06010000 07010000 08010000  .*
--- ld/testsuite/ld-x86-64/tlspic.td.jj	2004-05-05 14:55:02.303213357 +0200
+++ ld/testsuite/ld-x86-64/tlspic.td	2004-05-06 14:08:34.078894550 +0200
@@ -8,9 +8,9 @@
 .*: +file format elf64-x86-64
 
 Contents of section .tdata:
- 102000 11000000 12000000 13000000 14000000  .*
- 102010 15000000 16000000 17000000 18000000  .*
- 102020 41000000 42000000 43000000 44000000  .*
- 102030 45000000 46000000 47000000 48000000  .*
- 102040 01010000 02010000 03010000 04010000  .*
- 102050 05010000 06010000 07010000 08010000  .*
+ 1011ac 11000000 12000000 13000000 14000000  .*
+ 1011bc 15000000 16000000 17000000 18000000  .*
+ 1011cc 41000000 42000000 43000000 44000000  .*
+ 1011dc 45000000 46000000 47000000 48000000  .*
+ 1011ec 01010000 02010000 03010000 04010000  .*
+ 1011fc 05010000 06010000 07010000 08010000  .*
--- ld/testsuite/ld-ia64/tlspic.dd.jj	2004-05-05 14:55:02.320210311 +0200
+++ ld/testsuite/ld-ia64/tlspic.dd	2004-05-06 14:08:34.080894191 +0200
@@ -18,25 +18,25 @@ Disassembly of section .text:
  +101c:	01 0a 00 90[ 	]+addl r15=32,r1;;
  +1020:	19 18 01 1c 18 10[ 	]+\[MMB\] +ld8 r35=\[r14\]
  +1026:	40 02 3c 30 20 00[ 	]+ld8 r36=\[r15\]
- +102c:	88 f6 ff 58[ 	]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
+ +102c:	88 f5 ff 58[ 	]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
  +1030:	0d 70 c0 02 00 24[ 	]+\[MFI\] +addl r14=48,r1
  +1036:	00 00 00 02 00 e0[ 	]+nop.f 0x0
  +103c:	01 0c 00 90[ 	]+addl r15=64,r1;;
  +1040:	19 18 01 1c 18 10[ 	]+\[MMB\] +ld8 r35=\[r14\]
  +1046:	40 02 3c 30 20 00[ 	]+ld8 r36=\[r15\]
- +104c:	68 f6 ff 58[ 	]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
+ +104c:	68 f5 ff 58[ 	]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
  +1050:	0d 70 c0 02 00 24[ 	]+\[MFI\] +addl r14=48,r1
  +1056:	00 00 00 02 00 80[ 	]+nop.f 0x0
  +105c:	14 02 00 90[ 	]+mov r36=33;;
  +1060:	1d 18 01 1c 18 10[ 	]+\[MFB\] +ld8 r35=\[r14\]
  +1066:	00 00 00 02 00 00[ 	]+nop.f 0x0
- +106c:	48 f6 ff 58[ 	]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
+ +106c:	48 f5 ff 58[ 	]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
  +1070:	0d 70 c0 02 00 24[ 	]+\[MFI\] +addl r14=48,r1
  +1076:	00 00 00 02 00 80[ 	]+nop.f 0x0
  +107c:	04 00 00 84[ 	]+mov r36=r0;;
  +1080:	1d 18 01 1c 18 10[ 	]+\[MFB\] +ld8 r35=\[r14\]
  +1086:	00 00 00 02 00 00[ 	]+nop.f 0x0
- +108c:	28 f6 ff 58[ 	]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
+ +108c:	28 f5 ff 58[ 	]+br.call.sptk.many b0=[0-9a-f]+ <.*>;;
  +1090:	0b 10 00 10 00 21[ 	]+\[MMI\] +mov r2=r8;;
  +1096:	e0 00 0a 00 48 e0[ 	]+addl r14=64,r2
  +109c:	21 16 00 90[ 	]+addl r15=98,r2;;
--- ld/testsuite/ld-ia64/tlspic.rd.jj	2004-05-05 14:55:02.323209773 +0200
+++ ld/testsuite/ld-ia64/tlspic.rd	2004-05-06 14:08:34.081894012 +0200
@@ -19,11 +19,11 @@ Section Headers:
   \[ 7\] .text +PROGBITS +0+1000 0+1000 0+110 00 +AX +0 +0 4096
   \[ 8\] .IA_64.unwind_inf +.*
   \[ 9\] .IA_64.unwind +.*
-  \[10\] .data +.*
-  \[11\] .tdata +PROGBITS +0+12000 0+2000 0+60 00 WAT +0 +0 +4
-  \[12\] .tbss +NOBITS +0+12060 0+2060 0+20 00 WAT +0 +0 +1
-  \[13\] .dynamic +DYNAMIC +0+12060 0+2060 0+140 10 +WA +3 +0 +8
-  \[14\] .got +PROGBITS +0+121a0 0+21a0 0+50 00 WAp +0 +0 +8
+  \[10\] .tdata +PROGBITS +0+11140 0+1140 0+60 00 WAT +0 +0 +4
+  \[11\] .tbss +NOBITS +0+111a0 0+11a0 0+20 00 WAT +0 +0 +1
+  \[12\] .dynamic +DYNAMIC +0+111a0 0+11a0 0+140 10 +WA +3 +0 +8
+  \[13\] .data +.*
+  \[14\] .got +PROGBITS +0+12000 0+2000 0+50 00 WAp +0 +0 +8
   \[15\] .IA_64.pltoff +.*
   \[16\] .sbss +.*
   \[17\] .bss +.*
@@ -40,120 +40,111 @@ There are 5 program headers, starting at
 Program Headers:
   Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
   LOAD +0x0+ 0x0+ 0x0+ 0x0+1140 0x0+1140 R E 0x10000
-  LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+200 0x0+200 RW +0x10000
-  DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+140 0x0+140 RW +0x8
-  TLS +0x0+2000 0x0+12000 0x0+12000 0x0+60 0x0+80 R +0x4
+  LOAD +0x0+1140 0x0+11140 0x0+11140 0x0+f20 0x0+f20 RW +0x10000
+  DYNAMIC +0x0+11a0 0x0+111a0 0x0+111a0 0x0+140 0x0+140 RW +0x8
+  TLS +0x0+1140 0x0+11140 0x0+11140 0x0+60 0x0+80 R +0x4
   IA_64_UNWIND +0x0+1128 0x0+1128 0x0+1128 0x0+18 0x0+18 R +0x8
 #...
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 6 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+121b8 +0+18000000a7 R_IA64_DTPMOD64LSB +0+ sg1 \+ 0
-0+121c0 +0+18000000b7 R_IA64_DTPREL64LSB +0+ sg1 \+ 0
-0+121c8 +0+1b00000097 R_IA64_TPREL64LSB +0+4 sg2 \+ 0
-0+121d0 +0+a7 R_IA64_DTPMOD64LSB +0+
-0+121d8 +0+97 R_IA64_TPREL64LSB +0+44
-0+121e8 +0+97 R_IA64_TPREL64LSB +0+24
+0+12018 +0+f000000a7 R_IA64_DTPMOD64LSB +0+ sg1 \+ 0
+0+12020 +0+f000000b7 R_IA64_DTPREL64LSB +0+ sg1 \+ 0
+0+12028 +0+1200000097 R_IA64_TPREL64LSB +0+4 sg2 \+ 0
+0+12030 +0+a7 R_IA64_DTPMOD64LSB +0+
+0+12038 +0+97 R_IA64_TPREL64LSB +0+44
+0+12048 +0+97 R_IA64_TPREL64LSB +0+24
 
 Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+[0-9a-f]+ +0+1700000081 R_IA64_IPLTLSB +0+ __tls_get_addr \+ 0
+0+[0-9a-f]+ +0+e00000081 R_IA64_IPLTLSB +0+ __tls_get_addr \+ 0
 
-Symbol table '.dynsym' contains 33 entries:
+Symbol table '.dynsym' contains 24 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 *
- +14: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 *
- +15: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 *
- +16: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 *
- +17: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +17 *
- +18: 0+1c +0 TLS +GLOBAL DEFAULT +11 sg8
- +19: 0+12060 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +20: 0+8 +0 TLS +GLOBAL DEFAULT +11 sg3
- +21: 0+c +0 TLS +GLOBAL DEFAULT +11 sg4
- +22: 0+10 +0 TLS +GLOBAL DEFAULT +11 sg5
- +23: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
- +24: 0+ +0 TLS +GLOBAL DEFAULT +11 sg1
- +25: 0+1000 +272 FUNC +GLOBAL DEFAULT +7 fn1
- +26: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +27: 0+4 +0 TLS +GLOBAL DEFAULT +11 sg2
- +28: 0+14 +0 TLS +GLOBAL DEFAULT +11 sg6
- +29: 0+18 +0 TLS +GLOBAL DEFAULT +11 sg7
- +30: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +31: 0+121a0 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
- +32: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +10 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +17 *
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +10 sg8
+ +[0-9]+: 0+111a0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +10 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +10 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +10 sg5
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1
+ +[0-9]+: 0+1000 +272 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +10 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +10 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +10 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: 0+12000 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
 
 Symbol table '.symtab' contains 60 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 *
- +14: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 *
- +15: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 *
- +16: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 *
- +17: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +17 *
- +18: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +18 *
- +19: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +19 *
- +20: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +20 *
- +21: 0+20 +0 TLS +LOCAL +DEFAULT +11 sl1
- +22: 0+24 +0 TLS +LOCAL +DEFAULT +11 sl2
- +23: 0+28 +0 TLS +LOCAL +DEFAULT +11 sl3
- +24: 0+2c +0 TLS +LOCAL +DEFAULT +11 sl4
- +25: 0+30 +0 TLS +LOCAL +DEFAULT +11 sl5
- +26: 0+34 +0 TLS +LOCAL +DEFAULT +11 sl6
- +27: 0+38 +0 TLS +LOCAL +DEFAULT +11 sl7
- +28: 0+3c +0 TLS +LOCAL +DEFAULT +11 sl8
- +29: 0+60 +0 TLS +LOCAL +HIDDEN +12 sH1
- +30: 0+48 +0 TLS +LOCAL +HIDDEN +11 sh3
- +31: 0+64 +0 TLS +LOCAL +HIDDEN +12 sH2
- +32: 0+78 +0 TLS +LOCAL +HIDDEN +12 sH7
- +33: 0+58 +0 TLS +LOCAL +HIDDEN +11 sh7
- +34: 0+5c +0 TLS +LOCAL +HIDDEN +11 sh8
- +35: 0+6c +0 TLS +LOCAL +HIDDEN +12 sH4
- +36: 0+4c +0 TLS +LOCAL +HIDDEN +11 sh4
- +37: 0+68 +0 TLS +LOCAL +HIDDEN +12 sH3
- +38: 0+50 +0 TLS +LOCAL +HIDDEN +11 sh5
- +39: 0+70 +0 TLS +LOCAL +HIDDEN +12 sH5
- +40: 0+74 +0 TLS +LOCAL +HIDDEN +12 sH6
- +41: 0+7c +0 TLS +LOCAL +HIDDEN +12 sH8
- +42: 0+40 +0 TLS +LOCAL +HIDDEN +11 sh1
- +43: 0+44 +0 TLS +LOCAL +HIDDEN +11 sh2
- +44: 0+54 +0 TLS +LOCAL +HIDDEN +11 sh6
- +45: 0+1c +0 TLS +GLOBAL DEFAULT +11 sg8
- +46: 0+12060 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +47: 0+8 +0 TLS +GLOBAL DEFAULT +11 sg3
- +48: 0+c +0 TLS +GLOBAL DEFAULT +11 sg4
- +49: 0+10 +0 TLS +GLOBAL DEFAULT +11 sg5
- +50: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
- +51: 0+ +0 TLS +GLOBAL DEFAULT +11 sg1
- +52: 0+1000 +272 FUNC +GLOBAL DEFAULT +7 fn1
- +53: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +54: 0+4 +0 TLS +GLOBAL DEFAULT +11 sg2
- +55: 0+14 +0 TLS +GLOBAL DEFAULT +11 sg6
- +56: 0+18 +0 TLS +GLOBAL DEFAULT +11 sg7
- +57: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +58: 0+121a0 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
- +59: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +10 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +17 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +18 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +19 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +20 *
+ +[0-9]+: 0+20 +0 TLS +LOCAL +DEFAULT +10 sl1
+ +[0-9]+: 0+24 +0 TLS +LOCAL +DEFAULT +10 sl2
+ +[0-9]+: 0+28 +0 TLS +LOCAL +DEFAULT +10 sl3
+ +[0-9]+: 0+2c +0 TLS +LOCAL +DEFAULT +10 sl4
+ +[0-9]+: 0+30 +0 TLS +LOCAL +DEFAULT +10 sl5
+ +[0-9]+: 0+34 +0 TLS +LOCAL +DEFAULT +10 sl6
+ +[0-9]+: 0+38 +0 TLS +LOCAL +DEFAULT +10 sl7
+ +[0-9]+: 0+3c +0 TLS +LOCAL +DEFAULT +10 sl8
+ +[0-9]+: 0+60 +0 TLS +LOCAL +HIDDEN +11 sH1
+ +[0-9]+: 0+48 +0 TLS +LOCAL +HIDDEN +10 sh3
+ +[0-9]+: 0+64 +0 TLS +LOCAL +HIDDEN +11 sH2
+ +[0-9]+: 0+78 +0 TLS +LOCAL +HIDDEN +11 sH7
+ +[0-9]+: 0+58 +0 TLS +LOCAL +HIDDEN +10 sh7
+ +[0-9]+: 0+5c +0 TLS +LOCAL +HIDDEN +10 sh8
+ +[0-9]+: 0+6c +0 TLS +LOCAL +HIDDEN +11 sH4
+ +[0-9]+: 0+4c +0 TLS +LOCAL +HIDDEN +10 sh4
+ +[0-9]+: 0+68 +0 TLS +LOCAL +HIDDEN +11 sH3
+ +[0-9]+: 0+50 +0 TLS +LOCAL +HIDDEN +10 sh5
+ +[0-9]+: 0+70 +0 TLS +LOCAL +HIDDEN +11 sH5
+ +[0-9]+: 0+74 +0 TLS +LOCAL +HIDDEN +11 sH6
+ +[0-9]+: 0+7c +0 TLS +LOCAL +HIDDEN +11 sH8
+ +[0-9]+: 0+40 +0 TLS +LOCAL +HIDDEN +10 sh1
+ +[0-9]+: 0+44 +0 TLS +LOCAL +HIDDEN +10 sh2
+ +[0-9]+: 0+54 +0 TLS +LOCAL +HIDDEN +10 sh6
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +10 sg8
+ +[0-9]+: 0+111a0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +10 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +10 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +10 sg5
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1
+ +[0-9]+: 0+1000 +272 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +10 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +10 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +10 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: 0+12000 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
--- ld/testsuite/ld-ia64/tlsbin.sd.jj	2004-05-05 14:55:02.313211565 +0200
+++ ld/testsuite/ld-ia64/tlsbin.sd	2004-05-06 14:08:34.079894371 +0200
@@ -8,8 +8,8 @@
 .*: +file format elf..-ia64-.*
 
 Contents of section .got:
- (60+)?21b0 0+ 0+ 0+ 0+  .*
- (60+)?21c0 0+ 0+ 0+ 0+  .*
- (60+)?21d0 0+ 0+ 0+ 0+  .*
- (60+)?21e0 01000000 0+ 90000000 0+  .*
- (60+)?21f0 24000000 0+  .*
+ (60+)?2000 0+ 0+ 0+ 0+  .*
+ (60+)?2010 0+ 0+ 0+ 0+  .*
+ (60+)?2020 0+ 0+ 0+ 0+  .*
+ (60+)?2030 01000000 0+ 90000000 0+  .*
+ (60+)?2040 24000000 0+  .*
--- ld/testsuite/ld-ia64/tlspic.sd.jj	2004-05-05 14:55:02.330208519 +0200
+++ ld/testsuite/ld-ia64/tlspic.sd	2004-05-06 14:08:34.081894012 +0200
@@ -8,8 +8,8 @@
 .*: +file format elf..-ia64-.*
 
 Contents of section .got:
- 121a0 0+ 0+ 0+ 0+  .*
- 121b0 0+ 0+ [0-9a-f]+ [0-9a-f]+  .*
- 121c0 [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+  .*
- 121d0 [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+  .*
- 121e0 440+ 0+ [0-9a-f]+ [0-9a-f]+  .*
+ 12000 0+ 0+ 0+ 0+  .*
+ 12010 0+ 0+ [0-9a-f]+ [0-9a-f]+  .*
+ 12020 [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+  .*
+ 12030 [0-9a-f]+ [0-9a-f]+ [0-9a-f]+ [0-9a-f]+  .*
+ 12040 440+ 0+ [0-9a-f]+ [0-9a-f]+  .*
--- ld/testsuite/ld-ia64/tlsbin.rd.jj	2004-05-05 14:55:02.317210848 +0200
+++ ld/testsuite/ld-ia64/tlsbin.rd	2004-05-06 14:08:34.080894191 +0200
@@ -20,11 +20,11 @@ Section Headers:
   \[ 8\] .text +PROGBITS +40+1000 0+1000 0+140 00 +AX +0 +0 4096
   \[ 9\] .IA_64.unwind_inf +.*
   \[10\] .IA_64.unwind +.*
-  \[11\] .data +.*
-  \[12\] .tdata +PROGBITS +60+2000 0+2000 0+60 00 WAT +0 +0 +4
-  \[13\] .tbss +NOBITS +60+2060 0+2060 0+40 00 WAT +0 +0 +1
-  \[14\] .dynamic +DYNAMIC +60+2060 0+2060 0+150 10 +WA +4 +0 +8
-  \[15\] .got +PROGBITS +60+21b0 0+21b0 0+48 00 WAp +0 +0 +8
+  \[11\] .tdata +PROGBITS +60+1170 0+1170 0+60 00 WAT +0 +0 +4
+  \[12\] .tbss +NOBITS +60+11d0 0+11d0 0+40 00 WAT +0 +0 +1
+  \[13\] .dynamic +DYNAMIC +60+11d0 0+11d0 0+150 10 +WA +4 +0 +8
+  \[14\] .data +.*
+  \[15\] .got +PROGBITS +60+2000 0+2000 0+48 00 WAp +0 +0 +8
   \[16\] .IA_64.pltoff +.*
   \[17\] .sbss +.*
   \[18\] .bss +.*
@@ -43,32 +43,32 @@ Program Headers:
   INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
 .*Requesting program interpreter.*
   LOAD +0x0+ 0x40+ 0x40+ 0x0+1170 0x0+1170 R E 0x10000
-  LOAD +0x0+2000 0x60+2000 0x60+2000 0x0+210 0x0+210 RW +0x10000
-  DYNAMIC +0x0+2060 0x60+2060 0x60+2060 0x0+150 0x0+150 RW +0x8
-  TLS +0x0+2000 0x60+2000 0x60+2000 0x0+60 0x0+a0 R +0x4
+  LOAD +0x0+1170 0x60+1170 0x60+1170 0x0+ef0 0x0+ef0 RW +0x10000
+  DYNAMIC +0x0+11d0 0x60+11d0 0x60+11d0 0x0+150 0x0+150 RW +0x8
+  TLS +0x0+1170 0x60+1170 0x60+1170 0x0+60 0x0+a0 R +0x4
   IA_64_UNWIND .* R +0x8
 #...
 
 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
  +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
-60+21c8  0+200000097 R_IA64_TPREL64LSB +0+ sG2 \+ 0
-60+21d0  0+5000000a7 R_IA64_DTPMOD64LSB +0+ sG1 \+ 0
-60+21d8  0+5000000b7 R_IA64_DTPREL64LSB +0+ sG1 \+ 0
+60+2018  0+200000097 R_IA64_TPREL64LSB +0+ sG2 \+ 0
+60+2020  0+5000000a7 R_IA64_DTPMOD64LSB +0+ sG1 \+ 0
+60+2028  0+5000000b7 R_IA64_DTPREL64LSB +0+ sG1 \+ 0
 
 Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entries:
  +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
-60+2200  0+300000081 R_IA64_IPLTLSB +0+ __tls_get_addr \+ 0
+60+2050  0+300000081 R_IA64_IPLTLSB +0+ __tls_get_addr \+ 0
 
 Symbol table '.dynsym' contains 9 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND *
- +1: 60+2060 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +1: 60+11d0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
  +2: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2
  +3: 0+ +16 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
  +4: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
  +5: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1
  +6: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +7: 60+21b0 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
+ +7: 60+2000 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
  +8: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
 
 Symbol table '.symtab' contains 72 entries:
@@ -95,53 +95,53 @@ Symbol table '.symtab' contains 72 entri
  +19: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +19 *
  +20: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +20 *
  +21: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +21 *
- +22: 0+20 +0 TLS +LOCAL +DEFAULT +12 sl1
- +23: 0+24 +0 TLS +LOCAL +DEFAULT +12 sl2
- +24: 0+28 +0 TLS +LOCAL +DEFAULT +12 sl3
- +25: 0+2c +0 TLS +LOCAL +DEFAULT +12 sl4
- +26: 0+30 +0 TLS +LOCAL +DEFAULT +12 sl5
- +27: 0+34 +0 TLS +LOCAL +DEFAULT +12 sl6
- +28: 0+38 +0 TLS +LOCAL +DEFAULT +12 sl7
- +29: 0+3c +0 TLS +LOCAL +DEFAULT +12 sl8
- +30: 0+80 +0 TLS +LOCAL +DEFAULT +13 bl1
- +31: 0+84 +0 TLS +LOCAL +DEFAULT +13 bl2
- +32: 0+88 +0 TLS +LOCAL +DEFAULT +13 bl3
- +33: 0+8c +0 TLS +LOCAL +DEFAULT +13 bl4
- +34: 0+90 +0 TLS +LOCAL +DEFAULT +13 bl5
- +35: 0+94 +0 TLS +LOCAL +DEFAULT +13 bl6
- +36: 0+98 +0 TLS +LOCAL +DEFAULT +13 bl7
- +37: 0+9c +0 TLS +LOCAL +DEFAULT +13 bl8
- +38: 0+1c +0 TLS +GLOBAL DEFAULT +12 sg8
- +39: 0+7c +0 TLS +GLOBAL DEFAULT +13 bg8
- +40: 0+74 +0 TLS +GLOBAL DEFAULT +13 bg6
- +41: 0+68 +0 TLS +GLOBAL DEFAULT +13 bg3
- +42: 60+2060 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +43: 0+8 +0 TLS +GLOBAL DEFAULT +12 sg3
- +44: 0+48 +0 TLS +GLOBAL HIDDEN +12 sh3
+ +22: 0+20 +0 TLS +LOCAL +DEFAULT +11 sl1
+ +23: 0+24 +0 TLS +LOCAL +DEFAULT +11 sl2
+ +24: 0+28 +0 TLS +LOCAL +DEFAULT +11 sl3
+ +25: 0+2c +0 TLS +LOCAL +DEFAULT +11 sl4
+ +26: 0+30 +0 TLS +LOCAL +DEFAULT +11 sl5
+ +27: 0+34 +0 TLS +LOCAL +DEFAULT +11 sl6
+ +28: 0+38 +0 TLS +LOCAL +DEFAULT +11 sl7
+ +29: 0+3c +0 TLS +LOCAL +DEFAULT +11 sl8
+ +30: 0+80 +0 TLS +LOCAL +DEFAULT +12 bl1
+ +31: 0+84 +0 TLS +LOCAL +DEFAULT +12 bl2
+ +32: 0+88 +0 TLS +LOCAL +DEFAULT +12 bl3
+ +33: 0+8c +0 TLS +LOCAL +DEFAULT +12 bl4
+ +34: 0+90 +0 TLS +LOCAL +DEFAULT +12 bl5
+ +35: 0+94 +0 TLS +LOCAL +DEFAULT +12 bl6
+ +36: 0+98 +0 TLS +LOCAL +DEFAULT +12 bl7
+ +37: 0+9c +0 TLS +LOCAL +DEFAULT +12 bl8
+ +38: 0+1c +0 TLS +GLOBAL DEFAULT +11 sg8
+ +39: 0+7c +0 TLS +GLOBAL DEFAULT +12 bg8
+ +40: 0+74 +0 TLS +GLOBAL DEFAULT +12 bg6
+ +41: 0+68 +0 TLS +GLOBAL DEFAULT +12 bg3
+ +42: 60+11d0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +43: 0+8 +0 TLS +GLOBAL DEFAULT +11 sg3
+ +44: 0+48 +0 TLS +GLOBAL HIDDEN +11 sh3
  +45: 0+ +0 TLS +GLOBAL DEFAULT +UND sG2
- +46: 0+c +0 TLS +GLOBAL DEFAULT +12 sg4
- +47: 0+10 +0 TLS +GLOBAL DEFAULT +12 sg5
- +48: 0+70 +0 TLS +GLOBAL DEFAULT +13 bg5
+ +46: 0+c +0 TLS +GLOBAL DEFAULT +11 sg4
+ +47: 0+10 +0 TLS +GLOBAL DEFAULT +11 sg5
+ +48: 0+70 +0 TLS +GLOBAL DEFAULT +12 bg5
  +49: 0+ +16 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
- +50: 0+58 +0 TLS +GLOBAL HIDDEN +12 sh7
- +51: 0+5c +0 TLS +GLOBAL HIDDEN +12 sh8
- +52: 0+ +0 TLS +GLOBAL DEFAULT +12 sg1
+ +50: 0+58 +0 TLS +GLOBAL HIDDEN +11 sh7
+ +51: 0+5c +0 TLS +GLOBAL HIDDEN +11 sh8
+ +52: 0+ +0 TLS +GLOBAL DEFAULT +11 sg1
  +53: 40+10d0 +112 FUNC +GLOBAL DEFAULT +8 _start
- +54: 0+4c +0 TLS +GLOBAL HIDDEN +12 sh4
- +55: 0+78 +0 TLS +GLOBAL DEFAULT +13 bg7
- +56: 0+50 +0 TLS +GLOBAL HIDDEN +12 sh5
+ +54: 0+4c +0 TLS +GLOBAL HIDDEN +11 sh4
+ +55: 0+78 +0 TLS +GLOBAL DEFAULT +12 bg7
+ +56: 0+50 +0 TLS +GLOBAL HIDDEN +11 sh5
  +57: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
  +58: 40+1000 +208 FUNC +GLOBAL DEFAULT +8 fn2
- +59: 0+4 +0 TLS +GLOBAL DEFAULT +12 sg2
+ +59: 0+4 +0 TLS +GLOBAL DEFAULT +11 sg2
  +60: 0+ +0 TLS +GLOBAL DEFAULT +UND sG1
- +61: 0+40 +0 TLS +GLOBAL HIDDEN +12 sh1
- +62: 0+14 +0 TLS +GLOBAL DEFAULT +12 sg6
- +63: 0+18 +0 TLS +GLOBAL DEFAULT +12 sg7
+ +61: 0+40 +0 TLS +GLOBAL HIDDEN +11 sh1
+ +62: 0+14 +0 TLS +GLOBAL DEFAULT +11 sg6
+ +63: 0+18 +0 TLS +GLOBAL DEFAULT +11 sg7
  +64: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
  +65: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
  +66: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +67: 0+44 +0 TLS +GLOBAL HIDDEN +12 sh2
- +68: 0+54 +0 TLS +GLOBAL HIDDEN +12 sh6
- +69: 0+64 +0 TLS +GLOBAL DEFAULT +13 bg2
- +70: 0+60 +0 TLS +GLOBAL DEFAULT +13 bg1
- +71: 0+6c +0 TLS +GLOBAL DEFAULT +13 bg4
+ +67: 0+44 +0 TLS +GLOBAL HIDDEN +11 sh2
+ +68: 0+54 +0 TLS +GLOBAL HIDDEN +11 sh6
+ +69: 0+64 +0 TLS +GLOBAL DEFAULT +12 bg2
+ +70: 0+60 +0 TLS +GLOBAL DEFAULT +12 bg1
+ +71: 0+6c +0 TLS +GLOBAL DEFAULT +12 bg4
--- ld/testsuite/ld-ia64/tlsbin.td.jj	2004-05-05 14:55:02.310212102 +0200
+++ ld/testsuite/ld-ia64/tlsbin.td	2004-05-06 14:08:34.079894371 +0200
@@ -8,9 +8,9 @@
 .*: +file format elf..-ia64-.*
 
 Contents of section .tdata:
- (60+)?2000 11000000 12000000 13000000 14000000  .*
- (60+)?2010 15000000 16000000 17000000 18000000  .*
- (60+)?2020 41000000 42000000 43000000 44000000  .*
- (60+)?2030 45000000 46000000 47000000 48000000  .*
- (60+)?2040 01010000 02010000 03010000 04010000  .*
- (60+)?2050 05010000 06010000 07010000 08010000  .*
+ (60+)?1170 11000000 12000000 13000000 14000000  .*
+ (60+)?1180 15000000 16000000 17000000 18000000  .*
+ (60+)?1190 41000000 42000000 43000000 44000000  .*
+ (60+)?11a0 45000000 46000000 47000000 48000000  .*
+ (60+)?11b0 01010000 02010000 03010000 04010000  .*
+ (60+)?11c0 05010000 06010000 07010000 08010000  .*
--- ld/testsuite/ld-ia64/tlspic.td.jj	2004-05-05 14:55:02.327209056 +0200
+++ ld/testsuite/ld-ia64/tlspic.td	2004-05-06 14:08:34.081894012 +0200
@@ -8,9 +8,9 @@
 .*: +file format elf..-ia64-.*
 
 Contents of section .tdata:
- 12000 11000000 12000000 13000000 14000000  .*
- 12010 15000000 16000000 17000000 18000000  .*
- 12020 41000000 42000000 43000000 44000000  .*
- 12030 45000000 46000000 47000000 48000000  .*
- 12040 01010000 02010000 03010000 04010000  .*
- 12050 05010000 06010000 07010000 08010000  .*
+ 11140 11000000 12000000 13000000 14000000  .*
+ 11150 15000000 16000000 17000000 18000000  .*
+ 11160 41000000 42000000 43000000 44000000  .*
+ 11170 45000000 46000000 47000000 48000000  .*
+ 11180 01010000 02010000 03010000 04010000  .*
+ 11190 05010000 06010000 07010000 08010000  .*
--- ld/testsuite/ld-powerpc/tlsso.r.jj	2004-05-06 13:53:29.403024244 +0200
+++ ld/testsuite/ld-powerpc/tlsso.r	2004-05-06 14:12:16.724993470 +0200
@@ -9,36 +9,36 @@ There are 19 section headers.*
 Section Headers:
  +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
- +\[ 1\] \.hash +HASH +0+120 0+120 0+c8 04 +A +2 +0 +8
- +\[ 2\] \.dynsym +DYNSYM +0+1e8 0+1e8 0+2e8 18 +A +3 +16 +8
- +\[ 3\] \.dynstr +STRTAB +0+4d0 0+4d0 0+53 0+ +A +0 +0 +1
- +\[ 4\] \.rela\.dyn +RELA +0+528 0+528 0+180 18 +A +2 +0 +8
- +\[ 5\] \.rela\.plt +RELA +0+6a8 0+6a8 0+18 18 +A +2 +14 +8
- +\[ 6\] \.text +PROGBITS +0+6c0 0+6c0 0+fc 0+ +AX +0 +0 +4
- +\[ 7\] \.data +PROGBITS +0+107c0 0+7c0 0+ 0+ +WA +0 +0 +1
- +\[ 8\] \.branch_lt +PROGBITS +0+107c0 0+7c0 0+ 0+ +WA +0 +0 +8
- +\[ 9\] \.tdata +PROGBITS +0+107c0 0+7c0 0+38 0+ WAT +0 +0 +8
- +\[10\] \.tbss +NOBITS +0+107f8 0+7f8 0+38 0+ WAT +0 +0 +8
- +\[11\] \.dynamic +DYNAMIC +0+107f8 0+7f8 0+150 10 +WA +3 +0 +8
- +\[12\] \.got +PROGBITS +0+10948 0+948 0+60 08 +WA +0 +0 +8
- +\[13\] \.sbss +NOBITS +0+109a8 0+9a8 0+ 0+ +W +0 +0 +1
- +\[14\] \.plt +NOBITS +0+109a8 0+9a8 0+30 18 +WA +0 +0 +8
- +\[15\] \.bss +NOBITS +0+109d8 0+9a8 0+ 0+ +WA +0 +0 +1
- +\[16\] \.shstrtab +STRTAB +0+ 0+9a8 0+82 0+ +0 +0 +1
- +\[17\] \.symtab +SYMTAB +0+ 0+ef0 0+3f0 18 +18 +27 +8
- +\[18\] \.strtab +STRTAB +0+ 0+12e0 0+86 0+ +0 +0 +1
+ +\[ 1\] \.hash +.*
+ +\[ 2\] \.dynsym +.*
+ +\[ 3\] \.dynstr +.*
+ +\[ 4\] \.rela\.dyn +.*
+ +\[ 5\] \.rela\.plt +.*
+ +\[ 6\] \.text +PROGBITS +0+5c8 0+5c8 0+fc 0+ +AX +0 +0 +4
+ +\[ 7\] \.tdata +PROGBITS +0+106c8 0+6c8 0+38 0+ WAT +0 +0 +8
+ +\[ 8\] \.tbss +NOBITS +0+10700 0+700 0+38 0+ WAT +0 +0 +8
+ +\[ 9\] \.dynamic +DYNAMIC +0+10700 0+700 0+150 10 +WA +3 +0 +8
+ +\[10\] \.data +PROGBITS +0+10850 0+850 0+ 0+ +WA +0 +0 +1
+ +\[11\] \.branch_lt +.*
+ +\[12\] \.got +PROGBITS +0+10850 0+850 0+60 08 +WA +0 +0 +8
+ +\[13\] \.sbss +.*
+ +\[14\] \.plt +.*
+ +\[15\] \.bss +.*
+ +\[16\] \.shstrtab +.*
+ +\[17\] \.symtab +.*
+ +\[18\] \.strtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
-Entry point 0x6dc
+Entry point 0x[0-9a-f]+
 There are 4 program headers.*
 
 Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
- +LOAD +0x0+ 0x0+ 0x0+ 0x0+7bc 0x0+7bc R E 0x10000
- +LOAD +0x0+7c0 0x0+107c0 0x0+107c0 0x0+1e8 0x0+218 RW +0x10000
- +DYNAMIC +0x0+7f8 0x0+107f8 0x0+107f8 0x0+150 0x0+150 RW +0x8
- +TLS +0x0+7c0 0x0+107c0 0x0+107c0 0x0+38 0x0+70 R +0x8
+ +LOAD +0x0+ 0x0+ 0x0+ 0x0+6c4 0x0+6c4 R E 0x10000
+ +LOAD +0x0+6c8 0x0+106c8 0x0+106c8 0x0+1e8 0x0+218 RW +0x10000
+ +DYNAMIC +0x0+700 0x0+10700 0x0+10700 0x0+150 0x0+150 RW +0x8
+ +TLS +0x0+6c8 0x0+106c8 0x0+106c8 0x0+38 0x0+70 R +0x8
 
  Section to Segment mapping:
  +Segment Sections\.\.\.
@@ -49,102 +49,93 @@ Program Headers:
 
 Relocation section '\.rela\.dyn' at offset .* contains 16 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+72a +0+1200000045 R_PPC64_TPREL16 +0+60 le0 \+ 0
-0+72e +0+1500000048 R_PPC64_TPREL16_HA +0+68 le1 \+ 0
-0+732 +0+1500000046 R_PPC64_TPREL16_LO +0+68 le1 \+ 0
-0+76a +0+90000005f R_PPC64_TPREL16_DS +0+107c0 \.tdata \+ 28
-0+76e +0+900000048 R_PPC64_TPREL16_HA +0+107c0 \.tdata \+ 30
-0+772 +0+900000046 R_PPC64_TPREL16_LO +0+107c0 \.tdata \+ 30
-0+10950 +0+44 R_PPC64_DTPMOD64 +0+
-0+10960 +0+44 R_PPC64_DTPMOD64 +0+
-0+10968 +0+4e R_PPC64_DTPREL64 +0+
-0+10970 +0+4e R_PPC64_DTPREL64 +0+18
-0+10978 +0+1100000044 R_PPC64_DTPMOD64 +0+ gd \+ 0
-0+10980 +0+110000004e R_PPC64_DTPREL64 +0+ gd \+ 0
-0+10988 +0+180000004e R_PPC64_DTPREL64 +0+50 ld2 \+ 0
-0+10990 +0+1d00000044 R_PPC64_DTPMOD64 +0+38 gd0 \+ 0
-0+10998 +0+1d0000004e R_PPC64_DTPREL64 +0+38 gd0 \+ 0
-0+109a0 +0+1e00000049 R_PPC64_TPREL64 +0+58 ie0 \+ 0
+0+632 +0+90+45 R_PPC64_TPREL16 +0+60 le0 \+ 0
+0+636 +0+c0+48 R_PPC64_TPREL16_HA +0+68 le1 \+ 0
+0+63a +0+c0+46 R_PPC64_TPREL16_LO +0+68 le1 \+ 0
+0+672 +0+20+5f R_PPC64_TPREL16_DS +0+106c8 \.tdata \+ 28
+0+676 +0+20+48 R_PPC64_TPREL16_HA +0+106c8 \.tdata \+ 30
+0+67a +0+20+46 R_PPC64_TPREL16_LO +0+106c8 \.tdata \+ 30
+0+10858 +0+44 R_PPC64_DTPMOD64 +0+
+0+10868 +0+44 R_PPC64_DTPMOD64 +0+
+0+10870 +0+4e R_PPC64_DTPREL64 +0+
+0+10878 +0+4e R_PPC64_DTPREL64 +0+18
+0+10880 +0+80+44 R_PPC64_DTPMOD64 +0+ gd \+ 0
+0+10888 +0+80+4e R_PPC64_DTPREL64 +0+ gd \+ 0
+0+10890 +0+f0+4e R_PPC64_DTPREL64 +0+50 ld2 \+ 0
+0+10898 +0+140+44 R_PPC64_DTPMOD64 +0+38 gd0 \+ 0
+0+108a0 +0+140+4e R_PPC64_DTPREL64 +0+38 gd0 \+ 0
+0+108a8 +0+150+49 R_PPC64_TPREL64 +0+58 ie0 \+ 0
 
 Relocation section '\.rela\.plt' at offset .* contains 1 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+109c0 +0+1300000015 R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0
+0+108c8 +0+a0+15 R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0
 
-Symbol table '\.dynsym' contains 31 entries:
+Symbol table '\.dynsym' contains 22 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+120 +0 SECTION LOCAL +DEFAULT +1 
- +2: 0+1e8 +0 SECTION LOCAL +DEFAULT +2 
- +3: 0+4d0 +0 SECTION LOCAL +DEFAULT +3 
- +4: 0+528 +0 SECTION LOCAL +DEFAULT +4 
- +5: 0+6a8 +0 SECTION LOCAL +DEFAULT +5 
- +6: 0+6c0 +0 SECTION LOCAL +DEFAULT +6 
- +7: 0+107c0 +0 SECTION LOCAL +DEFAULT +7 
- +8: 0+107c0 +0 SECTION LOCAL +DEFAULT +8 
- +9: 0+107c0 +0 SECTION LOCAL +DEFAULT +9 
- +10: 0+107f8 +0 SECTION LOCAL +DEFAULT +10 
- +11: 0+107f8 +0 SECTION LOCAL +DEFAULT +11 
- +12: 0+10948 +0 SECTION LOCAL +DEFAULT +12 
- +13: 0+109a8 +0 SECTION LOCAL +DEFAULT +13 
- +14: 0+109a8 +0 SECTION LOCAL +DEFAULT +14 
- +15: 0+109d8 +0 SECTION LOCAL +DEFAULT +15 
- +16: 0+107f8 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +17: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
- +18: 0+60 +0 TLS +GLOBAL DEFAULT +10 le0
- +19: 0+ +24 OBJECT +GLOBAL DEFAULT +UND __tls_get_addr
- +20: 0+40 +0 TLS +GLOBAL DEFAULT +10 ld0
- +21: 0+68 +0 TLS +GLOBAL DEFAULT +10 le1
- +22: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
- +23: 0+6dc +0 NOTYPE +GLOBAL DEFAULT +6 _start
- +24: 0+50 +0 TLS +GLOBAL DEFAULT +10 ld2
- +25: 0+48 +0 TLS +GLOBAL DEFAULT +10 ld1
- +26: 0+109a8 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +27: 0+109a8 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +28: 0+109d8 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +29: 0+38 +0 TLS +GLOBAL DEFAULT +10 gd0
- +30: 0+58 +0 TLS +GLOBAL DEFAULT +10 ie0
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: 0+5c8 +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: 0+106c8 +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: 0+10700 +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: 0+10850 +0 SECTION LOCAL +DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+ +[0-9]+: 0+10700 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
+ +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +8 le0
+ +[0-9]+: 0+ +24 OBJECT +GLOBAL DEFAULT +UND __tls_get_addr
+ +[0-9]+: 0+40 +0 TLS +GLOBAL DEFAULT +8 ld0
+ +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +8 le1
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +6 _start
+ +[0-9]+: 0+50 +0 TLS +GLOBAL DEFAULT +8 ld2
+ +[0-9]+: 0+48 +0 TLS +GLOBAL DEFAULT +8 ld1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+38 +0 TLS +GLOBAL DEFAULT +8 gd0
+ +[0-9]+: 0+58 +0 TLS +GLOBAL DEFAULT +8 ie0
 
 Symbol table '\.symtab' contains 42 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+120 +0 SECTION LOCAL +DEFAULT +1 
- +2: 0+1e8 +0 SECTION LOCAL +DEFAULT +2 
- +3: 0+4d0 +0 SECTION LOCAL +DEFAULT +3 
- +4: 0+528 +0 SECTION LOCAL +DEFAULT +4 
- +5: 0+6a8 +0 SECTION LOCAL +DEFAULT +5 
- +6: 0+6c0 +0 SECTION LOCAL +DEFAULT +6 
- +7: 0+107c0 +0 SECTION LOCAL +DEFAULT +7 
- +8: 0+107c0 +0 SECTION LOCAL +DEFAULT +8 
- +9: 0+107c0 +0 SECTION LOCAL +DEFAULT +9 
- +10: 0+107f8 +0 SECTION LOCAL +DEFAULT +10 
- +11: 0+107f8 +0 SECTION LOCAL +DEFAULT +11 
- +12: 0+10948 +0 SECTION LOCAL +DEFAULT +12 
- +13: 0+109a8 +0 SECTION LOCAL +DEFAULT +13 
- +14: 0+109a8 +0 SECTION LOCAL +DEFAULT +14 
- +15: 0+109d8 +0 SECTION LOCAL +DEFAULT +15 
- +16: 0+ +0 SECTION LOCAL +DEFAULT +16 
- +17: 0+ +0 SECTION LOCAL +DEFAULT +17 
- +18: 0+ +0 SECTION LOCAL +DEFAULT +18 
- +19: 0+ +0 TLS +LOCAL +DEFAULT +9 gd4
- +20: 0+8 +0 TLS +LOCAL +DEFAULT +9 ld4
- +21: 0+10 +0 TLS +LOCAL +DEFAULT +9 ld5
- +22: 0+18 +0 TLS +LOCAL +DEFAULT +9 ld6
- +23: 0+20 +0 TLS +LOCAL +DEFAULT +9 ie4
- +24: 0+28 +0 TLS +LOCAL +DEFAULT +9 le4
- +25: 0+30 +0 TLS +LOCAL +DEFAULT +9 le5
- +26: 0+6c0 +0 NOTYPE +LOCAL +DEFAULT +6 \.__tls_get_addr
- +27: 0+107f8 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +28: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
- +29: 0+60 +0 TLS +GLOBAL DEFAULT +10 le0
- +30: 0+ +24 OBJECT +GLOBAL DEFAULT +UND __tls_get_addr
- +31: 0+40 +0 TLS +GLOBAL DEFAULT +10 ld0
- +32: 0+68 +0 TLS +GLOBAL DEFAULT +10 le1
- +33: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
- +34: 0+6dc +0 NOTYPE +GLOBAL DEFAULT +6 _start
- +35: 0+50 +0 TLS +GLOBAL DEFAULT +10 ld2
- +36: 0+48 +0 TLS +GLOBAL DEFAULT +10 ld1
- +37: 0+109a8 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +38: 0+109a8 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +39: 0+109d8 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +40: 0+38 +0 TLS +GLOBAL DEFAULT +10 gd0
- +41: 0+58 +0 TLS +GLOBAL DEFAULT +10 ie0
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
+ +[0-9]+: 0+5c8 +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: 0+106c8 +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: 0+10700 +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: 0+10700 +0 SECTION LOCAL +DEFAULT +9 
+ +[0-9]+: 0+10850 +0 SECTION LOCAL +DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +16 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +17 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +18 
+ +[0-9]+: 0+ +0 TLS +LOCAL +DEFAULT +7 gd4
+ +[0-9]+: 0+8 +0 TLS +LOCAL +DEFAULT +7 ld4
+ +[0-9]+: 0+10 +0 TLS +LOCAL +DEFAULT +7 ld5
+ +[0-9]+: 0+18 +0 TLS +LOCAL +DEFAULT +7 ld6
+ +[0-9]+: 0+20 +0 TLS +LOCAL +DEFAULT +7 ie4
+ +[0-9]+: 0+28 +0 TLS +LOCAL +DEFAULT +7 le4
+ +[0-9]+: 0+30 +0 TLS +LOCAL +DEFAULT +7 le5
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +LOCAL +DEFAULT +6 \.__tls_get_addr
+ +[0-9]+: 0+10700 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
+ +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +8 le0
+ +[0-9]+: 0+ +24 OBJECT +GLOBAL DEFAULT +UND __tls_get_addr
+ +[0-9]+: 0+40 +0 TLS +GLOBAL DEFAULT +8 ld0
+ +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +8 le1
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +6 _start
+ +[0-9]+: 0+50 +0 TLS +GLOBAL DEFAULT +8 ld2
+ +[0-9]+: 0+48 +0 TLS +GLOBAL DEFAULT +8 ld1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+38 +0 TLS +GLOBAL DEFAULT +8 gd0
+ +[0-9]+: 0+58 +0 TLS +GLOBAL DEFAULT +8 ie0
--- ld/testsuite/ld-powerpc/tlstocso.g.jj	2004-05-05 14:55:02.344206010 +0200
+++ ld/testsuite/ld-powerpc/tlstocso.g	2004-05-06 14:08:34.083893654 +0200
@@ -7,9 +7,9 @@
 .*: +file format elf64-powerpc
 
 Contents of section \.got:
- 10890 00000000 00018890 00000000 00000000  .*
- 108a0 00000000 00000000 00000000 00000000  .*
- 108b0 00000000 00000000 00000000 00000000  .*
- 108c0 00000000 00000000 00000000 00000000  .*
- 108d0 00000000 00000000 00000000 00000000  .*
- 108e0 00000000 00000000                    .*
+ 10798 00000000 00018798 00000000 00000000  .*
+ 107a8 00000000 00000000 00000000 00000000  .*
+ 107b8 00000000 00000000 00000000 00000000  .*
+ 107c8 00000000 00000000 00000000 00000000  .*
+ 107d8 00000000 00000000 00000000 00000000  .*
+ 107e8 00000000 00000000                    .*
--- ld/testsuite/ld-powerpc/tlsexetoc.r.jj	2004-05-06 13:53:29.402024424 +0200
+++ ld/testsuite/ld-powerpc/tlsexetoc.r	2004-05-06 14:11:22.702674973 +0200
@@ -10,25 +10,25 @@ There are 20 section headers.*
 Section Headers:
  +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
- +\[ 1\] \.interp +PROGBITS +0+10000190 0+190 0+11 0+ +A +0 +0 +1
- +\[ 2\] \.hash +HASH +0+100001a8 0+1a8 0+38 04 +A +3 +0 +8
- +\[ 3\] \.dynsym +DYNSYM +0+100001e0 0+1e0 0+d8 18 +A +4 +1 +8
- +\[ 4\] \.dynstr +STRTAB +0+100002b8 0+2b8 0+4c 0+ +A +0 +0 +1
- +\[ 5\] \.rela\.dyn +RELA +0+10000308 0+308 0+30 18 +A +3 +0 +8
- +\[ 6\] \.rela\.plt +RELA +0+10000338 0+338 0+18 18 +A +3 +15 +8
+ +\[ 1\] \.interp +.*
+ +\[ 2\] \.hash +.*
+ +\[ 3\] \.dynsym +.*
+ +\[ 4\] \.dynstr +.*
+ +\[ 5\] \.rela\.dyn +.*
+ +\[ 6\] \.rela\.plt +.*
  +\[ 7\] \.text +PROGBITS +0+10000350 0+350 0+bc 0+ +AX +0 +0 +4
- +\[ 8\] \.data +PROGBITS +0+10010410 0+410 0+ 0+ +WA +0 +0 +1
- +\[ 9\] \.branch_lt +PROGBITS +0+10010410 0+410 0+ 0+ +WA +0 +0 +8
- +\[10\] \.tdata +PROGBITS +0+10010410 0+410 0+38 0+ WAT +0 +0 +8
- +\[11\] \.tbss +NOBITS +0+10010448 0+448 0+38 0+ WAT +0 +0 +8
- +\[12\] \.dynamic +DYNAMIC +0+10010448 0+448 0+150 10 +WA +4 +0 +8
+ +\[ 8\] \.tdata +PROGBITS +0+10010410 0+410 0+38 0+ WAT +0 +0 +8
+ +\[ 9\] \.tbss +NOBITS +0+10010448 0+448 0+38 0+ WAT +0 +0 +8
+ +\[10\] \.dynamic +DYNAMIC +0+10010448 0+448 0+150 10 +WA +4 +0 +8
+ +\[11\] \.data +PROGBITS +0+10010598 0+598 0+ 0+ +WA +0 +0 +1
+ +\[12\] \.branch_lt +.*
  +\[13\] \.got +PROGBITS +0+10010598 0+598 0+58 08 +WA +0 +0 +8
- +\[14\] \.sbss +NOBITS +0+100105f0 0+5f0 0+ 0+ +W +0 +0 +1
- +\[15\] \.plt +NOBITS +0+100105f0 0+5f0 0+30 18 +WA +0 +0 +8
- +\[16\] \.bss +NOBITS +0+10010620 0+5f0 0+ 0+ +WA +0 +0 +1
- +\[17\] \.shstrtab +STRTAB +0+ 0+5f0 0+8a 0+ +0 +0 +1
- +\[18\] \.symtab +SYMTAB +0+ 0+b80 0+420 18 +19 +28 +8
- +\[19\] \.strtab +STRTAB +0+ 0+fa0 0+8c 0+ +0 +0 +1
+ +\[14\] \.sbss +.*
+ +\[15\] \.plt +.*
+ +\[16\] \.bss +.*
+ +\[17\] \.shstrtab +.*
+ +\[18\] \.symtab +.*
+ +\[19\] \.strtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
@@ -71,53 +71,53 @@ Symbol table '\.dynsym' contains 9 entri
  +3: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
  +4: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
  +5: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
- +6: 0+100105f0 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +7: 0+100105f0 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +8: 0+10010620 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +6: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +7: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +8: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
 
 Symbol table '\.symtab' contains 44 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+10000190 +0 SECTION LOCAL +DEFAULT +1 
- +2: 0+100001a8 +0 SECTION LOCAL +DEFAULT +2 
- +3: 0+100001e0 +0 SECTION LOCAL +DEFAULT +3 
- +4: 0+100002b8 +0 SECTION LOCAL +DEFAULT +4 
- +5: 0+10000308 +0 SECTION LOCAL +DEFAULT +5 
- +6: 0+10000338 +0 SECTION LOCAL +DEFAULT +6 
+ +1: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
+ +2: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
+ +3: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
+ +4: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
+ +5: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
+ +6: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 
  +7: 0+10000350 +0 SECTION LOCAL +DEFAULT +7 
  +8: 0+10010410 +0 SECTION LOCAL +DEFAULT +8 
- +9: 0+10010410 +0 SECTION LOCAL +DEFAULT +9 
- +10: 0+10010410 +0 SECTION LOCAL +DEFAULT +10 
- +11: 0+10010448 +0 SECTION LOCAL +DEFAULT +11 
- +12: 0+10010448 +0 SECTION LOCAL +DEFAULT +12 
+ +9: 0+10010448 +0 SECTION LOCAL +DEFAULT +9 
+ +10: 0+10010448 +0 SECTION LOCAL +DEFAULT +10 
+ +11: 0+10010598 +0 SECTION LOCAL +DEFAULT +11 
+ +12: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 
  +13: 0+10010598 +0 SECTION LOCAL +DEFAULT +13 
- +14: 0+100105f0 +0 SECTION LOCAL +DEFAULT +14 
- +15: 0+100105f0 +0 SECTION LOCAL +DEFAULT +15 
- +16: 0+10010620 +0 SECTION LOCAL +DEFAULT +16 
+ +14: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 
+ +15: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+ +16: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 
  +17: 0+ +0 SECTION LOCAL +DEFAULT +17 
  +18: 0+ +0 SECTION LOCAL +DEFAULT +18 
  +19: 0+ +0 SECTION LOCAL +DEFAULT +19 
- +20: 0+ +0 TLS +LOCAL +DEFAULT +10 gd4
- +21: 0+8 +0 TLS +LOCAL +DEFAULT +10 ld4
- +22: 0+10 +0 TLS +LOCAL +DEFAULT +10 ld5
- +23: 0+18 +0 TLS +LOCAL +DEFAULT +10 ld6
- +24: 0+20 +0 TLS +LOCAL +DEFAULT +10 ie4
- +25: 0+28 +0 TLS +LOCAL +DEFAULT +10 le4
- +26: 0+30 +0 TLS +LOCAL +DEFAULT +10 le5
+ +20: 0+ +0 TLS +LOCAL +DEFAULT +8 gd4
+ +21: 0+8 +0 TLS +LOCAL +DEFAULT +8 ld4
+ +22: 0+10 +0 TLS +LOCAL +DEFAULT +8 ld5
+ +23: 0+18 +0 TLS +LOCAL +DEFAULT +8 ld6
+ +24: 0+20 +0 TLS +LOCAL +DEFAULT +8 ie4
+ +25: 0+28 +0 TLS +LOCAL +DEFAULT +8 le4
+ +26: 0+30 +0 TLS +LOCAL +DEFAULT +8 le5
  +27: 0+100105e8 +0 NOTYPE +LOCAL +DEFAULT +13 \.Lie0
  +28: 0+10010448 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
  +29: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
- +30: 0+60 +0 TLS +GLOBAL DEFAULT +11 le0
+ +30: 0+60 +0 TLS +GLOBAL DEFAULT +9 le0
  +31: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
  +32: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
- +33: 0+40 +0 TLS +GLOBAL DEFAULT +11 ld0
- +34: 0+68 +0 TLS +GLOBAL DEFAULT +11 le1
+ +33: 0+40 +0 TLS +GLOBAL DEFAULT +9 ld0
+ +34: 0+68 +0 TLS +GLOBAL DEFAULT +9 le1
  +35: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
  +36: 0+1000036c +0 NOTYPE +GLOBAL DEFAULT +7 _start
- +37: 0+50 +0 TLS +GLOBAL DEFAULT +11 ld2
- +38: 0+48 +0 TLS +GLOBAL DEFAULT +11 ld1
+ +37: 0+50 +0 TLS +GLOBAL DEFAULT +9 ld2
+ +38: 0+48 +0 TLS +GLOBAL DEFAULT +9 ld1
  +39: 0+100105f0 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
  +40: 0+100105f0 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
  +41: 0+10010620 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +42: 0+38 +0 TLS +GLOBAL DEFAULT +11 gd0
- +43: 0+58 +0 TLS +GLOBAL DEFAULT +11 ie0
+ +42: 0+38 +0 TLS +GLOBAL DEFAULT +9 gd0
+ +43: 0+58 +0 TLS +GLOBAL DEFAULT +9 ie0
--- ld/testsuite/ld-powerpc/tlsso32.g.jj	2004-05-05 14:55:02.365202247 +0200
+++ ld/testsuite/ld-powerpc/tlsso32.g	2004-05-06 14:08:34.088892758 +0200
@@ -7,7 +7,7 @@
 .*: +file format elf32-powerpc
 
 Contents of section \.got:
- 10664 4e800021 000105c4 00000000 00000000  .*
- 10674 00000000 00000000 00000000 00000000  .*
- 10684 00000000 00000000 00000000 00000000  .*
- 10694 00000000                             .*
+ 105c4 4e800021 00010524 00000000 00000000  .*
+ 105d4 00000000 00000000 00000000 00000000  .*
+ 105e4 00000000 00000000 00000000 00000000  .*
+ 105f4 00000000                             .*
--- ld/testsuite/ld-powerpc/tlsso32.r.jj	2004-05-06 13:53:29.404024065 +0200
+++ ld/testsuite/ld-powerpc/tlsso32.r	2004-05-06 14:21:34.078108535 +0200
@@ -9,37 +9,37 @@ There are 20 section headers.*
 Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
- +\[ 1\] \.hash +HASH +0+b4 0+b4 0+dc 04 +A +2 +0 +4
- +\[ 2\] \.dynsym +DYNSYM +0+190 0+190 0+240 10 +A +3 +17 +4
- +\[ 3\] \.dynstr +STRTAB +0+3d0 0+3d0 0+81 0+ +A +0 +0 +1
- +\[ 4\] \.rela\.dyn +RELA +0+454 0+454 0+d8 0c +A +2 +0 +4
- +\[ 5\] \.rela\.plt +RELA +0+52c 0+52c 0+c 0c +A +2 +15 +4
- +\[ 6\] \.text +PROGBITS +0+538 0+538 0+70 0+ +AX +0 +0 +1
- +\[ 7\] \.data +PROGBITS +0+105a8 0+5a8 0+ 0+ +WA +0 +0 +1
- +\[ 8\] \.tdata +PROGBITS +0+105a8 0+5a8 0+1c 0+ WAT +0 +0 +4
- +\[ 9\] \.tbss +NOBITS +0+105c4 0+5c4 0+1c 0+ WAT +0 +0 +4
- +\[10\] \.dynamic +DYNAMIC +0+105c4 0+5c4 0+a0 08 +WA +3 +0 +4
- +\[11\] \.got +PROGBITS +0+10664 0+664 0+34 04 WAX +0 +0 +4
- +\[12\] \.sdata2 +PROGBITS +0+10698 0+698 0+ 0+ +A +0 +0 +4
- +\[13\] \.sdata +PROGBITS +0+10698 0+698 0+ 0+ +WA +0 +0 +4
- +\[14\] \.sbss +NOBITS +0+10698 0+698 0+ 0+ +WA +0 +0 +1
- +\[15\] \.plt +NOBITS +0+10698 0+698 0+54 0+ WAX +0 +0 +4
- +\[16\] \.bss +NOBITS +0+106ec 0+698 0+ 0+ +WA +0 +0 +1
- +\[17\] \.shstrtab +STRTAB +0+ 0+698 0+86 0+ +0 +0 +1
- +\[18\] \.symtab +SYMTAB +0+ 0+a40 0+2e0 10 +19 +27 +4
- +\[19\] \.strtab +STRTAB +0+ 0+d20 0+a9 0+ +0 +0 +1
+ +\[ 1\] \.hash +.*
+ +\[ 2\] \.dynsym +.*
+ +\[ 3\] \.dynstr +.*
+ +\[ 4\] \.rela\.dyn +.*
+ +\[ 5\] \.rela\.plt +.*
+ +\[ 6\] \.text +PROGBITS +0+498 0+498 0+70 0+ +AX +0 +0 +1
+ +\[ 7\] \.tdata +PROGBITS +0+10508 0+508 0+1c 0+ WAT +0 +0 +4
+ +\[ 8\] \.tbss +NOBITS +0+10524 0+524 0+1c 0+ WAT +0 +0 +4
+ +\[ 9\] \.dynamic +DYNAMIC +0+10524 0+524 0+a0 08 +WA +3 +0 +4
+ +\[10\] \.data +PROGBITS +0+105c4 0+5c4 0+ 0+ +WA +0 +0 +1
+ +\[11\] \.got +PROGBITS +0+105c4 0+5c4 0+34 04 WAX +0 +0 +4
+ +\[12\] \.sdata2 +.*
+ +\[13\] \.sdata +.*
+ +\[14\] \.sbss +.*
+ +\[15\] \.plt +.*
+ +\[16\] \.bss +.*
+ +\[17\] \.shstrtab +.*
+ +\[18\] \.symtab +.*
+ +\[19\] \.strtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
-Entry point 0x538
+Entry point 0x[0-9a-f]+
 There are 4 program headers.*
 
 Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
- +LOAD +0x0+ 0x0+ 0x0+ 0x0+5a8 0x0+5a8 R E 0x10000
- +LOAD +0x0+5a8 0x0+105a8 0x0+105a8 0x0+f0 0x0+144 RWE 0x10000
- +DYNAMIC +0x0+5c4 0x0+105c4 0x0+105c4 0x0+a0 0x0+a0 RW +0x4
- +TLS +0x0+5a8 0x0+105a8 0x0+105a8 0x0+1c 0x0+38 R +0x4
+ +LOAD +0x0+ 0x0+ 0x0+ 0x0+508 0x0+508 R E 0x10000
+ +LOAD +0x0+508 0x0+10508 0x0+10508 0x0+f0 0x0+144 RWE 0x10000
+ +DYNAMIC +0x0+524 0x0+10524 0x0+10524 0x0+a0 0x0+a0 RW +0x4
+ +TLS +0x0+508 0x0+10508 0x0+10508 0x0+1c 0x0+38 R +0x4
 
  Section to Segment mapping:
  +Segment Sections\.\.\.
@@ -48,115 +48,107 @@ Program Headers:
  +02 +\.tbss \.dynamic 
  +03 +\.tdata \.tbss 
 
-Relocation section '\.rela\.dyn' at offset 0x454 contains 18 entries:
+Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
-0+53c +0+140a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
-0+544 +0+140a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
-0+57c +0+140a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
-0+584 +0+140a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
-0+56e +0+1345 R_PPC_TPREL16 +0+30 +le0 \+ 0
-0+572 +0+1648 R_PPC_TPREL16_HA +0+34 +le1 \+ 0
-0+576 +0+1646 R_PPC_TPREL16_LO +0+34 +le1 \+ 0
-0+59e +0+845 R_PPC_TPREL16 +0+105a8 +\.tdata \+ 105bc
-0+5a2 +0+848 R_PPC_TPREL16_HA +0+105a8 +\.tdata \+ 105c0
-0+5a6 +0+846 R_PPC_TPREL16_LO +0+105a8 +\.tdata \+ 105c0
-0+10674 +0+44 R_PPC_DTPMOD32 +0+
-0+1067c +0+44 R_PPC_DTPMOD32 +0+
-0+10680 +0+4e R_PPC_DTPREL32 +0+
-0+10684 +0+1244 R_PPC_DTPMOD32 +0+ +gd \+ 0
-0+10688 +0+124e R_PPC_DTPREL32 +0+ +gd \+ 0
-0+1068c +0+2144 R_PPC_DTPMOD32 +0+1c +gd0 \+ 0
-0+10690 +0+214e R_PPC_DTPREL32 +0+1c +gd0 \+ 0
-0+10694 +0+2249 R_PPC_TPREL32 +0+2c +ie0 \+ 0
+0+49c +0+c0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
+0+4a4 +0+c0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
+0+4dc +0+c0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
+0+4e4 +0+c0a R_PPC_REL24 +0+ +__tls_get_addr \+ 0
+0+4ce +0+b45 R_PPC_TPREL16 +0+30 +le0 \+ 0
+0+4d2 +0+e48 R_PPC_TPREL16_HA +0+34 +le1 \+ 0
+0+4d6 +0+e46 R_PPC_TPREL16_LO +0+34 +le1 \+ 0
+0+4fe +0+245 R_PPC_TPREL16 +0+10508 +\.tdata \+ 1051c
+0+502 +0+248 R_PPC_TPREL16_HA +0+10508 +\.tdata \+ 10520
+0+506 +0+246 R_PPC_TPREL16_LO +0+10508 +\.tdata \+ 10520
+0+105d4 +0+44 R_PPC_DTPMOD32 +0+
+0+105dc +0+44 R_PPC_DTPMOD32 +0+
+0+105e0 +0+4e R_PPC_DTPREL32 +0+
+0+105e4 +0+a44 R_PPC_DTPMOD32 +0+ +gd \+ 0
+0+105e8 +0+a4e R_PPC_DTPREL32 +0+ +gd \+ 0
+0+105ec +0+1944 R_PPC_DTPMOD32 +0+1c +gd0 \+ 0
+0+105f0 +0+194e R_PPC_DTPREL32 +0+1c +gd0 \+ 0
+0+105f4 +0+1a49 R_PPC_TPREL32 +0+2c +ie0 \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x52c contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
-0+106e0 +0+1415 R_PPC_JMP_SLOT +0+ +__tls_get_addr \+ 0
+0+10640 +0+c15 R_PPC_JMP_SLOT +0+ +__tls_get_addr \+ 0
 
-Symbol table '\.dynsym' contains 36 entries:
+Symbol table '\.dynsym' contains 28 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+b4 +0 SECTION LOCAL +DEFAULT +1 
- +2: 0+190 +0 SECTION LOCAL +DEFAULT +2 
- +3: 0+3d0 +0 SECTION LOCAL +DEFAULT +3 
- +4: 0+454 +0 SECTION LOCAL +DEFAULT +4 
- +5: 0+52c +0 SECTION LOCAL +DEFAULT +5 
- +6: 0+538 +0 SECTION LOCAL +DEFAULT +6 
- +7: 0+105a8 +0 SECTION LOCAL +DEFAULT +7 
- +8: 0+105a8 +0 SECTION LOCAL +DEFAULT +8 
- +9: 0+105c4 +0 SECTION LOCAL +DEFAULT +9 
- +10: 0+105c4 +0 SECTION LOCAL +DEFAULT +10 
- +11: 0+10664 +0 SECTION LOCAL +DEFAULT +11 
- +12: 0+10698 +0 SECTION LOCAL +DEFAULT +12 
- +13: 0+10698 +0 SECTION LOCAL +DEFAULT +13 
- +14: 0+10698 +0 SECTION LOCAL +DEFAULT +14 
- +15: 0+10698 +0 SECTION LOCAL +DEFAULT +15 
- +16: 0+106ec +0 SECTION LOCAL +DEFAULT +16 
- +17: 0+105c4 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +18: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
- +19: 0+30 +0 TLS +GLOBAL DEFAULT +9 le0
- +20: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
- +21: 0+20 +0 TLS +GLOBAL DEFAULT +9 ld0
- +22: 0+34 +0 TLS +GLOBAL DEFAULT +9 le1
- +23: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
- +24: 0+538 +0 NOTYPE +GLOBAL DEFAULT +6 _start
- +25: 0+106ec +0 NOTYPE +GLOBAL DEFAULT +ABS __end
- +26: 0+18698 +0 OBJECT +GLOBAL DEFAULT +13 _SDA_BASE_
- +27: 0+28 +0 TLS +GLOBAL DEFAULT +9 ld2
- +28: 0+24 +0 TLS +GLOBAL DEFAULT +9 ld1
- +29: 0+10698 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +30: 0+10698 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +31: 0+10668 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
- +32: 0+106ec +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +33: 0+1c +0 TLS +GLOBAL DEFAULT +9 gd0
- +34: 0+2c +0 TLS +GLOBAL DEFAULT +9 ie0
- +35: 0+18698 +0 OBJECT +GLOBAL DEFAULT +12 _SDA2_BASE_
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: 0+498 +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: 0+10508 +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: 0+10524 +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: 0+105c4 +0 SECTION LOCAL +DEFAULT +10 
+ +[0-9]+: 0+105f8 +0 SECTION LOCAL +DEFAULT +12 
+ +[0-9]+: 0+105f8 +0 SECTION LOCAL +DEFAULT +13 
+ +[0-9]+: 0+105f8 +0 SECTION LOCAL +DEFAULT +14 
+ +[0-9]+: 0+1064c +0 SECTION LOCAL +DEFAULT +16 
+ +[0-9]+: 0+10524 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
+ +[0-9]+: 0+30 +0 TLS +GLOBAL DEFAULT +8 le0
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +[0-9]+: 0+20 +0 TLS +GLOBAL DEFAULT +8 ld0
+ +[0-9]+: 0+34 +0 TLS +GLOBAL DEFAULT +8 le1
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +6 _start
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __end
+ +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +13 _SDA_BASE_
+ +[0-9]+: 0+28 +0 TLS +GLOBAL DEFAULT +8 ld2
+ +[0-9]+: 0+24 +0 TLS +GLOBAL DEFAULT +8 ld1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: 0+105c8 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 gd0
+ +[0-9]+: 0+2c +0 TLS +GLOBAL DEFAULT +8 ie0
+ +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +12 _SDA2_BASE_
 
 Symbol table '\.symtab' contains 46 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+b4 +0 SECTION LOCAL +DEFAULT +1 
- +2: 0+190 +0 SECTION LOCAL +DEFAULT +2 
- +3: 0+3d0 +0 SECTION LOCAL +DEFAULT +3 
- +4: 0+454 +0 SECTION LOCAL +DEFAULT +4 
- +5: 0+52c +0 SECTION LOCAL +DEFAULT +5 
- +6: 0+538 +0 SECTION LOCAL +DEFAULT +6 
- +7: 0+105a8 +0 SECTION LOCAL +DEFAULT +7 
- +8: 0+105a8 +0 SECTION LOCAL +DEFAULT +8 
- +9: 0+105c4 +0 SECTION LOCAL +DEFAULT +9 
- +10: 0+105c4 +0 SECTION LOCAL +DEFAULT +10 
- +11: 0+10664 +0 SECTION LOCAL +DEFAULT +11 
- +12: 0+10698 +0 SECTION LOCAL +DEFAULT +12 
- +13: 0+10698 +0 SECTION LOCAL +DEFAULT +13 
- +14: 0+10698 +0 SECTION LOCAL +DEFAULT +14 
- +15: 0+10698 +0 SECTION LOCAL +DEFAULT +15 
- +16: 0+106ec +0 SECTION LOCAL +DEFAULT +16 
- +17: 0+ +0 SECTION LOCAL +DEFAULT +17 
- +18: 0+ +0 SECTION LOCAL +DEFAULT +18 
- +19: 0+ +0 SECTION LOCAL +DEFAULT +19 
- +20: 0+ +0 TLS +LOCAL +DEFAULT +8 gd4
- +21: 0+4 +0 TLS +LOCAL +DEFAULT +8 ld4
- +22: 0+8 +0 TLS +LOCAL +DEFAULT +8 ld5
- +23: 0+c +0 TLS +LOCAL +DEFAULT +8 ld6
- +24: 0+10 +0 TLS +LOCAL +DEFAULT +8 ie4
- +25: 0+14 +0 TLS +LOCAL +DEFAULT +8 le4
- +26: 0+18 +0 TLS +LOCAL +DEFAULT +8 le5
- +27: 0+105c4 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +28: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
- +29: 0+30 +0 TLS +GLOBAL DEFAULT +9 le0
- +30: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
- +31: 0+20 +0 TLS +GLOBAL DEFAULT +9 ld0
- +32: 0+34 +0 TLS +GLOBAL DEFAULT +9 le1
- +33: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
- +34: 0+538 +0 NOTYPE +GLOBAL DEFAULT +6 _start
- +35: 0+106ec +0 NOTYPE +GLOBAL DEFAULT +ABS __end
- +36: 0+18698 +0 OBJECT +GLOBAL DEFAULT +13 _SDA_BASE_
- +37: 0+28 +0 TLS +GLOBAL DEFAULT +9 ld2
- +38: 0+24 +0 TLS +GLOBAL DEFAULT +9 ld1
- +39: 0+10698 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +40: 0+10698 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +41: 0+10668 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
- +42: 0+106ec +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +43: 0+1c +0 TLS +GLOBAL DEFAULT +9 gd0
- +44: 0+2c +0 TLS +GLOBAL DEFAULT +9 ie0
- +45: 0+18698 +0 OBJECT +GLOBAL DEFAULT +12 _SDA2_BASE_
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
+ +[0-9]+: 0+498 +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: 0+10508 +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: 0+10524 +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 
+ +[0-9]+: 0+105c4 +0 SECTION LOCAL +DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 
+ +[0-9]+: 0+105f8 +0 SECTION LOCAL +DEFAULT +12 
+ +[0-9]+: 0+105f8 +0 SECTION LOCAL +DEFAULT +13 
+ +[0-9]+: 0+105f8 +0 SECTION LOCAL +DEFAULT +14 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+ +[0-9]+: 0+1064c +0 SECTION LOCAL +DEFAULT +16 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +17 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +18 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +19 
+ +[0-9]+: 0+ +0 TLS +LOCAL +DEFAULT +7 gd4
+ +[0-9]+: 0+4 +0 TLS +LOCAL +DEFAULT +7 ld4
+ +[0-9]+: 0+8 +0 TLS +LOCAL +DEFAULT +7 ld5
+ +[0-9]+: 0+c +0 TLS +LOCAL +DEFAULT +7 ld6
+ +[0-9]+: 0+10 +0 TLS +LOCAL +DEFAULT +7 ie4
+ +[0-9]+: 0+14 +0 TLS +LOCAL +DEFAULT +7 le4
+ +[0-9]+: 0+18 +0 TLS +LOCAL +DEFAULT +7 le5
+ +[0-9]+: 0+10524 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
+ +[0-9]+: 0+30 +0 TLS +GLOBAL DEFAULT +8 le0
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND __tls_get_addr
+ +[0-9]+: 0+20 +0 TLS +GLOBAL DEFAULT +8 ld0
+ +[0-9]+: 0+34 +0 TLS +GLOBAL DEFAULT +8 le1
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +6 _start
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __end
+ +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +13 _SDA_BASE_
+ +[0-9]+: 0+28 +0 TLS +GLOBAL DEFAULT +8 ld2
+ +[0-9]+: 0+24 +0 TLS +GLOBAL DEFAULT +8 ld1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: 0+105c8 +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 gd0
+ +[0-9]+: 0+2c +0 TLS +GLOBAL DEFAULT +8 ie0
+ +[0-9]+: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +12 _SDA2_BASE_
--- ld/testsuite/ld-powerpc/tlsso32.d.jj	2004-05-05 14:55:02.337207265 +0200
+++ ld/testsuite/ld-powerpc/tlsso32.d	2004-05-06 14:08:34.082893833 +0200
@@ -8,38 +8,38 @@
 
 Disassembly of section \.text:
 
-0+538 <_start>:
- 538:	38 7f 00 1c 	addi    r3,r31,28
- 53c:	48 00 00 01 	bl      53c .*
- 540:	38 7f 00 0c 	addi    r3,r31,12
- 544:	48 00 00 01 	bl      544 .*
- 548:	38 7f 00 24 	addi    r3,r31,36
- 54c:	48 01 01 95 	bl      106e0 .*
- 550:	38 7f 00 0c 	addi    r3,r31,12
- 554:	48 01 01 8d 	bl      106e0 .*
- 558:	39 23 80 20 	addi    r9,r3,-32736
- 55c:	3d 23 00 00 	addis   r9,r3,0
- 560:	81 49 80 24 	lwz     r10,-32732\(r9\)
- 564:	81 3f 00 2c 	lwz     r9,44\(r31\)
- 568:	7d 49 12 2e 	lhzx    r10,r9,r2
- 56c:	89 42 00 00 	lbz     r10,0\(r2\)
- 570:	3d 22 00 00 	addis   r9,r2,0
- 574:	99 49 00 00 	stb     r10,0\(r9\)
- 578:	38 7e 00 14 	addi    r3,r30,20
- 57c:	48 00 00 01 	bl      57c .*
- 580:	38 7e 00 0c 	addi    r3,r30,12
- 584:	48 00 00 01 	bl      584 .*
- 588:	91 43 80 04 	stw     r10,-32764\(r3\)
- 58c:	3d 23 00 00 	addis   r9,r3,0
- 590:	91 49 80 08 	stw     r10,-32760\(r9\)
- 594:	81 3e 00 2c 	lwz     r9,44\(r30\)
- 598:	7d 49 13 2e 	sthx    r10,r9,r2
- 59c:	a1 42 00 00 	lhz     r10,0\(r2\)
- 5a0:	3d 22 00 00 	addis   r9,r2,0
- 5a4:	a9 49 00 00 	lha     r10,0\(r9\)
+0+498 <_start>:
+ 498:	38 7f 00 1c 	addi    r3,r31,28
+ 49c:	48 00 00 01 	bl      49c .*
+ 4a0:	38 7f 00 0c 	addi    r3,r31,12
+ 4a4:	48 00 00 01 	bl      4a4 .*
+ 4a8:	38 7f 00 24 	addi    r3,r31,36
+ 4ac:	48 01 01 95 	bl      10640 .*
+ 4b0:	38 7f 00 0c 	addi    r3,r31,12
+ 4b4:	48 01 01 8d 	bl      10640 .*
+ 4b8:	39 23 80 20 	addi    r9,r3,-32736
+ 4bc:	3d 23 00 00 	addis   r9,r3,0
+ 4c0:	81 49 80 24 	lwz     r10,-32732\(r9\)
+ 4c4:	81 3f 00 2c 	lwz     r9,44\(r31\)
+ 4c8:	7d 49 12 2e 	lhzx    r10,r9,r2
+ 4cc:	89 42 00 00 	lbz     r10,0\(r2\)
+ 4d0:	3d 22 00 00 	addis   r9,r2,0
+ 4d4:	99 49 00 00 	stb     r10,0\(r9\)
+ 4d8:	38 7e 00 14 	addi    r3,r30,20
+ 4dc:	48 00 00 01 	bl      4dc .*
+ 4e0:	38 7e 00 0c 	addi    r3,r30,12
+ 4e4:	48 00 00 01 	bl      4e4 .*
+ 4e8:	91 43 80 04 	stw     r10,-32764\(r3\)
+ 4ec:	3d 23 00 00 	addis   r9,r3,0
+ 4f0:	91 49 80 08 	stw     r10,-32760\(r9\)
+ 4f4:	81 3e 00 2c 	lwz     r9,44\(r30\)
+ 4f8:	7d 49 13 2e 	sthx    r10,r9,r2
+ 4fc:	a1 42 00 00 	lhz     r10,0\(r2\)
+ 500:	3d 22 00 00 	addis   r9,r2,0
+ 504:	a9 49 00 00 	lha     r10,0\(r9\)
 Disassembly of section \.got:
 
-00010664 <\.got>:
-   10664:	4e 80 00 21 	blrl
-   10668:	00 01 05 c4 	\.long 0x105c4
+000105c4 <\.got>:
+   105c4:	4e 80 00 21 	blrl
+   105c8:	00 01 05 24 	\.long 0x10524
 	\.\.\.
--- ld/testsuite/ld-powerpc/tlsexe32.r.jj	2004-05-06 13:53:29.402024424 +0200
+++ ld/testsuite/ld-powerpc/tlsexe32.r	2004-05-06 14:10:43.951619667 +0200
@@ -10,26 +10,26 @@ There are 21 section headers.*
 Section Headers:
  +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +00000000 000000 000000 00 +0 +0 +0
- +\[ 1\] \.interp +PROGBITS +01800114 000114 000011 00 +A +0 +0 +1
- +\[ 2\] \.hash +HASH +01800128 000128 00003c 04 +A +3 +0 +4
- +\[ 3\] \.dynsym +DYNSYM +01800164 000164 0000a0 10 +A +4 +1 +4
- +\[ 4\] \.dynstr +STRTAB +01800204 000204 000064 00 +A +0 +0 +1
- +\[ 5\] \.rela\.dyn +RELA +01800268 000268 000018 0c +A +3 +0 +4
- +\[ 6\] \.rela\.plt +RELA +01800280 000280 00000c 0c +A +3 +16 +4
+ +\[ 1\] \.interp +.*
+ +\[ 2\] \.hash +.*
+ +\[ 3\] \.dynsym +.*
+ +\[ 4\] \.dynstr +.*
+ +\[ 5\] \.rela\.dyn +.*
+ +\[ 6\] \.rela\.plt +.*
  +\[ 7\] \.text +PROGBITS +0180028c 00028c 000070 00 +AX +0 +0 +1
- +\[ 8\] \.sdata2 +PROGBITS +018002fc 0002fc 000000 00 +A +0 +0 +4
- +\[ 9\] \.data +PROGBITS +018102fc 0002fc 000000 00 +WA +0 +0 +1
- +\[10\] \.tdata +PROGBITS +018102fc 0002fc 00001c 00 WAT +0 +0 +4
- +\[11\] \.tbss +NOBITS +01810318 000318 00001c 00 WAT +0 +0 +4
- +\[12\] \.dynamic +DYNAMIC +01810318 000318 0000a0 08 +WA +4 +0 +4
+ +\[ 8\] \.sdata2 +PROGBITS +.*
+ +\[ 9\] \.tdata +PROGBITS +018102fc 0002fc 00001c 00 WAT +0 +0 +4
+ +\[10\] \.tbss +NOBITS +01810318 000318 00001c 00 WAT +0 +0 +4
+ +\[11\] \.dynamic +DYNAMIC +01810318 000318 0000a0 08 +WA +4 +0 +4
+ +\[12\] \.data +PROGBITS +018103b8 0003b8 000000 00 +WA +0 +0 +1
  +\[13\] \.got +PROGBITS +018103b8 0003b8 00001c 04 WAX +0 +0 +4
  +\[14\] \.sdata +PROGBITS +018103d4 0003d4 000000 00 +WA +0 +0 +4
  +\[15\] \.sbss +NOBITS +018103d4 0003d4 000000 00 +WA +0 +0 +1
- +\[16\] \.plt +NOBITS +018103d4 0003d4 000054 00 WAX +0 +0 +4
- +\[17\] \.bss +NOBITS +01810428 0003d4 000000 00 +WA +0 +0 +1
- +\[18\] \.shstrtab +STRTAB +00000000 0003d4 00008e 00 +0 +0 +1
- +\[19\] \.symtab +SYMTAB +00000000 0007ac 0002f0 10 +20 +28 +4
- +\[20\] \.strtab +STRTAB +00000000 000a9c 0000a9 00 +0 +0 +1
+ +\[16\] \.plt +NOBITS +.*
+ +\[17\] \.bss +NOBITS +.*
+ +\[18\] \.shstrtab +STRTAB +.*
+ +\[19\] \.symtab +SYMTAB +.*
+ +\[20\] \.strtab +STRTAB +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
@@ -80,49 +80,49 @@ Symbol table '\.dynsym' contains 10 entr
 Symbol table '\.symtab' contains 47 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 00000000 +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 01800114 +0 SECTION LOCAL +DEFAULT +1 
- +2: 01800128 +0 SECTION LOCAL +DEFAULT +2 
- +3: 01800164 +0 SECTION LOCAL +DEFAULT +3 
- +4: 01800204 +0 SECTION LOCAL +DEFAULT +4 
- +5: 01800268 +0 SECTION LOCAL +DEFAULT +5 
- +6: 01800280 +0 SECTION LOCAL +DEFAULT +6 
+ +1: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
+ +2: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
+ +3: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
+ +4: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
+ +5: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
+ +6: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 
  +7: 0180028c +0 SECTION LOCAL +DEFAULT +7 
- +8: 018002fc +0 SECTION LOCAL +DEFAULT +8 
+ +8: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +8 
  +9: 018102fc +0 SECTION LOCAL +DEFAULT +9 
- +10: 018102fc +0 SECTION LOCAL +DEFAULT +10 
+ +10: 01810318 +0 SECTION LOCAL +DEFAULT +10 
  +11: 01810318 +0 SECTION LOCAL +DEFAULT +11 
- +12: 01810318 +0 SECTION LOCAL +DEFAULT +12 
+ +12: 018103b8 +0 SECTION LOCAL +DEFAULT +12 
  +13: 018103b8 +0 SECTION LOCAL +DEFAULT +13 
  +14: 018103d4 +0 SECTION LOCAL +DEFAULT +14 
  +15: 018103d4 +0 SECTION LOCAL +DEFAULT +15 
- +16: 018103d4 +0 SECTION LOCAL +DEFAULT +16 
- +17: 01810428 +0 SECTION LOCAL +DEFAULT +17 
- +18: 00000000 +0 SECTION LOCAL +DEFAULT +18 
- +19: 00000000 +0 SECTION LOCAL +DEFAULT +19 
- +20: 00000000 +0 SECTION LOCAL +DEFAULT +20 
- +21: 00000000 +0 TLS +LOCAL +DEFAULT +10 gd4
- +22: 00000004 +0 TLS +LOCAL +DEFAULT +10 ld4
- +23: 00000008 +0 TLS +LOCAL +DEFAULT +10 ld5
- +24: 0000000c +0 TLS +LOCAL +DEFAULT +10 ld6
- +25: 00000010 +0 TLS +LOCAL +DEFAULT +10 ie4
- +26: 00000014 +0 TLS +LOCAL +DEFAULT +10 le4
- +27: 00000018 +0 TLS +LOCAL +DEFAULT +10 le5
+ +16: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 
+ +17: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +17 
+ +18: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +18 
+ +19: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +19 
+ +20: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +20 
+ +21: 00000000 +0 TLS +LOCAL +DEFAULT +9 gd4
+ +22: 00000004 +0 TLS +LOCAL +DEFAULT +9 ld4
+ +23: 00000008 +0 TLS +LOCAL +DEFAULT +9 ld5
+ +24: 0000000c +0 TLS +LOCAL +DEFAULT +9 ld6
+ +25: 00000010 +0 TLS +LOCAL +DEFAULT +9 ie4
+ +26: 00000014 +0 TLS +LOCAL +DEFAULT +9 le4
+ +27: 00000018 +0 TLS +LOCAL +DEFAULT +9 le5
  +28: 01810318 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
  +29: 00000000 +0 TLS +GLOBAL DEFAULT +UND gd
- +30: 00000030 +0 TLS +GLOBAL DEFAULT +11 le0
- +31: 0181041c +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
- +32: 00000020 +0 TLS +GLOBAL DEFAULT +11 ld0
- +33: 00000034 +0 TLS +GLOBAL DEFAULT +11 le1
+ +30: 00000030 +0 TLS +GLOBAL DEFAULT +10 le0
+ +31: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
+ +32: 00000020 +0 TLS +GLOBAL DEFAULT +10 ld0
+ +33: 00000034 +0 TLS +GLOBAL DEFAULT +10 le1
  +34: 00000000 +0 TLS +GLOBAL DEFAULT +UND ld
- +35: 0180028c +0 NOTYPE +GLOBAL DEFAULT +7 _start
- +36: 01810428 +0 NOTYPE +GLOBAL DEFAULT +ABS __end
- +37: 018183d4 +0 OBJECT +GLOBAL DEFAULT +14 _SDA_BASE_
- +38: 00000028 +0 TLS +GLOBAL DEFAULT +11 ld2
- +39: 00000024 +0 TLS +GLOBAL DEFAULT +11 ld1
- +40: 018103d4 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +41: 018103d4 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +35: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +7 _start
+ +36: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __end
+ +37: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +14 _SDA_BASE_
+ +38: 00000028 +0 TLS +GLOBAL DEFAULT +10 ld2
+ +39: 00000024 +0 TLS +GLOBAL DEFAULT +10 ld1
+ +40: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +41: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
  +42: 018103bc +0 OBJECT +GLOBAL DEFAULT +ABS _GLOBAL_OFFSET_TABLE_
- +43: 01810428 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +44: 0000001c +0 TLS +GLOBAL DEFAULT +11 gd0
- +45: 0000002c +0 TLS +GLOBAL DEFAULT +11 ie0
- +46: 018082fc +0 OBJECT +GLOBAL DEFAULT +8 _SDA2_BASE_
+ +43: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +44: 0000001c +0 TLS +GLOBAL DEFAULT +10 gd0
+ +45: 0000002c +0 TLS +GLOBAL DEFAULT +10 ie0
+ +46: [0-9a-f]+ +0 OBJECT +GLOBAL DEFAULT +8 _SDA2_BASE_
--- ld/testsuite/ld-powerpc/tlsexe.r.jj	2004-05-06 13:53:29.248052017 +0200
+++ ld/testsuite/ld-powerpc/tlsexe.r	2004-05-06 14:09:42.772583746 +0200
@@ -10,25 +10,25 @@ There are 20 section headers.*
 Section Headers:
  +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
- +\[ 1\] \.interp +PROGBITS +0+10000190 0+190 0+11 0+ +A +0 +0 +1
- +\[ 2\] \.hash +HASH +0+100001a8 0+1a8 0+3c 04 +A +3 +0 +8
- +\[ 3\] \.dynsym +DYNSYM +0+100001e8 0+1e8 0+f0 18 +A +4 +1 +8
- +\[ 4\] \.dynstr +STRTAB +0+100002d8 0+2d8 0+50 0+ +A +0 +0 +1
- +\[ 5\] \.rela\.dyn +RELA +0+10000328 0+328 0+48 18 +A +3 +0 +8
- +\[ 6\] \.rela\.plt +RELA +0+10000370 0+370 0+18 18 +A +3 +15 +8
+ +\[ 1\] \.interp +.*
+ +\[ 2\] \.hash +.*
+ +\[ 3\] \.dynsym +.*
+ +\[ 4\] \.dynstr +.*
+ +\[ 5\] \.rela\.dyn +.*
+ +\[ 6\] \.rela\.plt +.*
  +\[ 7\] \.text +PROGBITS +0+10000388 0+388 0+fc 0+ +AX +0 +0 +4
- +\[ 8\] \.data +PROGBITS +0+10010488 0+488 0+ 0+ +WA +0 +0 +1
- +\[ 9\] \.branch_lt +PROGBITS +0+10010488 0+488 0+ 0+ +WA +0 +0 +8
- +\[10\] \.tdata +PROGBITS +0+10010488 0+488 0+38 0+ WAT +0 +0 +8
- +\[11\] \.tbss +NOBITS +0+100104c0 0+4c0 0+38 0+ WAT +0 +0 +8
- +\[12\] \.dynamic +DYNAMIC +0+100104c0 0+4c0 0+150 10 +WA +4 +0 +8
+ +\[ 8\] \.tdata +PROGBITS +0+10010488 0+488 0+38 0+ WAT +0 +0 +8
+ +\[ 9\] \.tbss +NOBITS +0+100104c0 0+4c0 0+38 0+ WAT +0 +0 +8
+ +\[10\] \.dynamic +DYNAMIC +0+100104c0 0+4c0 0+150 10 +WA +4 +0 +8
+ +\[11\] \.data +PROGBITS +0+10010610 0+610 0+ 0+ +WA +0 +0 +1
+ +\[12\] \.branch_lt +.*
  +\[13\] \.got +PROGBITS +0+10010610 0+610 0+30 08 +WA +0 +0 +8
- +\[14\] \.sbss +NOBITS +0+10010640 0+640 0+ 0+ +W +0 +0 +1
- +\[15\] \.plt +NOBITS +0+10010640 0+640 0+30 18 +WA +0 +0 +8
- +\[16\] \.bss +NOBITS +0+10010670 0+640 0+ 0+ +WA +0 +0 +1
- +\[17\] \.shstrtab +STRTAB +0+ 0+640 0+8a 0+ +0 +0 +1
- +\[18\] \.symtab +SYMTAB +0+ 0+bd0 0+408 18 +19 +27 +8
- +\[19\] \.strtab +STRTAB +0+ 0+fd8 0+86 0+ +0 +0 +1
+ +\[14\] \.sbss +.*
+ +\[15\] \.plt +.*
+ +\[16\] \.bss +.*
+ +\[17\] \.shstrtab +.*
+ +\[18\] \.symtab +.*
+ +\[19\] \.strtab +.*
 #...
 
 Elf file type is EXEC \(Executable file\)
@@ -72,7 +72,7 @@ Symbol table '\.dynsym' contains 10 entr
  +3: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
  +4: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
  +5: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
- +6: 0+50 +0 TLS +GLOBAL DEFAULT +11 ld2
+ +6: 0+50 +0 TLS +GLOBAL DEFAULT +9 ld2
  +7: 0+10010640 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
  +8: 0+10010640 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
  +9: 0+10010670 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
@@ -80,45 +80,45 @@ Symbol table '\.dynsym' contains 10 entr
 Symbol table '\.symtab' contains 43 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+10000190 +0 SECTION LOCAL +DEFAULT +1 
- +2: 0+100001a8 +0 SECTION LOCAL +DEFAULT +2 
- +3: 0+100001e8 +0 SECTION LOCAL +DEFAULT +3 
- +4: 0+100002d8 +0 SECTION LOCAL +DEFAULT +4 
- +5: 0+10000328 +0 SECTION LOCAL +DEFAULT +5 
- +6: 0+10000370 +0 SECTION LOCAL +DEFAULT +6 
+ +1: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +1 
+ +2: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
+ +3: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
+ +4: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
+ +5: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
+ +6: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +6 
  +7: 0+10000388 +0 SECTION LOCAL +DEFAULT +7 
  +8: 0+10010488 +0 SECTION LOCAL +DEFAULT +8 
- +9: 0+10010488 +0 SECTION LOCAL +DEFAULT +9 
- +10: 0+10010488 +0 SECTION LOCAL +DEFAULT +10 
- +11: 0+100104c0 +0 SECTION LOCAL +DEFAULT +11 
- +12: 0+100104c0 +0 SECTION LOCAL +DEFAULT +12 
+ +9: 0+100104c0 +0 SECTION LOCAL +DEFAULT +9 
+ +10: 0+100104c0 +0 SECTION LOCAL +DEFAULT +10 
+ +11: 0+10010610 +0 SECTION LOCAL +DEFAULT +11 
+ +12: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 
  +13: 0+10010610 +0 SECTION LOCAL +DEFAULT +13 
- +14: 0+10010640 +0 SECTION LOCAL +DEFAULT +14 
- +15: 0+10010640 +0 SECTION LOCAL +DEFAULT +15 
- +16: 0+10010670 +0 SECTION LOCAL +DEFAULT +16 
+ +14: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 
+ +15: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+ +16: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +16 
  +17: 0+ +0 SECTION LOCAL +DEFAULT +17 
  +18: 0+ +0 SECTION LOCAL +DEFAULT +18 
  +19: 0+ +0 SECTION LOCAL +DEFAULT +19 
- +20: 0+ +0 TLS +LOCAL +DEFAULT +10 gd4
- +21: 0+8 +0 TLS +LOCAL +DEFAULT +10 ld4
- +22: 0+10 +0 TLS +LOCAL +DEFAULT +10 ld5
- +23: 0+18 +0 TLS +LOCAL +DEFAULT +10 ld6
- +24: 0+20 +0 TLS +LOCAL +DEFAULT +10 ie4
- +25: 0+28 +0 TLS +LOCAL +DEFAULT +10 le4
- +26: 0+30 +0 TLS +LOCAL +DEFAULT +10 le5
+ +20: 0+ +0 TLS +LOCAL +DEFAULT +8 gd4
+ +21: 0+8 +0 TLS +LOCAL +DEFAULT +8 ld4
+ +22: 0+10 +0 TLS +LOCAL +DEFAULT +8 ld5
+ +23: 0+18 +0 TLS +LOCAL +DEFAULT +8 ld6
+ +24: 0+20 +0 TLS +LOCAL +DEFAULT +8 ie4
+ +25: 0+28 +0 TLS +LOCAL +DEFAULT +8 le4
+ +26: 0+30 +0 TLS +LOCAL +DEFAULT +8 le5
  +27: 0+100104c0 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
  +28: 0+ +0 TLS +GLOBAL DEFAULT +UND gd
- +29: 0+60 +0 TLS +GLOBAL DEFAULT +11 le0
+ +29: 0+60 +0 TLS +GLOBAL DEFAULT +9 le0
  +30: 0+ +0 FUNC +GLOBAL DEFAULT +UND __tls_get_addr
  +31: 0+ +0 FUNC +GLOBAL DEFAULT +UND \.__tls_get_addr
- +32: 0+40 +0 TLS +GLOBAL DEFAULT +11 ld0
- +33: 0+68 +0 TLS +GLOBAL DEFAULT +11 le1
+ +32: 0+40 +0 TLS +GLOBAL DEFAULT +9 ld0
+ +33: 0+68 +0 TLS +GLOBAL DEFAULT +9 le1
  +34: 0+ +0 TLS +GLOBAL DEFAULT +UND ld
- +35: 0+100003a4 +0 NOTYPE +GLOBAL DEFAULT +7 _start
- +36: 0+50 +0 TLS +GLOBAL DEFAULT +11 ld2
- +37: 0+48 +0 TLS +GLOBAL DEFAULT +11 ld1
- +38: 0+10010640 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +39: 0+10010640 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +40: 0+10010670 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +41: 0+38 +0 TLS +GLOBAL DEFAULT +11 gd0
- +42: 0+58 +0 TLS +GLOBAL DEFAULT +11 ie0
+ +35: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +7 _start
+ +36: 0+50 +0 TLS +GLOBAL DEFAULT +9 ld2
+ +37: 0+48 +0 TLS +GLOBAL DEFAULT +9 ld1
+ +38: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +39: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +40: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +41: 0+38 +0 TLS +GLOBAL DEFAULT +9 gd0
+ +42: 0+58 +0 TLS +GLOBAL DEFAULT +9 ie0
--- ld/testsuite/ld-powerpc/tlsso32.t.jj	2004-05-05 14:55:02.358203502 +0200
+++ ld/testsuite/ld-powerpc/tlsso32.t	2004-05-06 14:08:34.087892937 +0200
@@ -7,5 +7,5 @@
 .*: +file format elf32-powerpc
 
 Contents of section \.tdata:
- 105a8 12345678 23456789 3456789a 456789ab  .*
- 105b8 56789abc 6789abcd 789abcde           .*
+ 10508 12345678 23456789 3456789a 456789ab  .*
+ 10518 56789abc 6789abcd 789abcde           .*
--- ld/testsuite/ld-powerpc/tlstocso.r.jj	2004-05-06 13:53:29.404024065 +0200
+++ ld/testsuite/ld-powerpc/tlstocso.r	2004-05-06 14:13:54.363495379 +0200
@@ -9,36 +9,36 @@ There are 19 section headers.*
 Section Headers:
  +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al
  +\[ 0\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0
- +\[ 1\] \.hash +HASH +0+120 0+120 0+c8 04 +A +2 +0 +8
- +\[ 2\] \.dynsym +DYNSYM +0+1e8 0+1e8 0+2e8 18 +A +3 +16 +8
- +\[ 3\] \.dynstr +STRTAB +0+4d0 0+4d0 0+53 0+ +A +0 +0 +1
- +\[ 4\] \.rela\.dyn +RELA +0+528 0+528 0+108 18 +A +2 +0 +8
- +\[ 5\] \.rela\.plt +RELA +0+630 0+630 0+18 18 +A +2 +14 +8
- +\[ 6\] \.text +PROGBITS +0+648 0+648 0+bc 0+ +AX +0 +0 +4
- +\[ 7\] \.data +PROGBITS +0+10708 0+708 0+ 0+ +WA +0 +0 +1
- +\[ 8\] \.branch_lt +PROGBITS +0+10708 0+708 0+ 0+ +WA +0 +0 +8
- +\[ 9\] \.tdata +PROGBITS +0+10708 0+708 0+38 0+ WAT +0 +0 +8
- +\[10\] \.tbss +NOBITS +0+10740 0+740 0+38 0+ WAT +0 +0 +8
- +\[11\] \.dynamic +DYNAMIC +0+10740 0+740 0+150 10 +WA +3 +0 +8
- +\[12\] \.got +PROGBITS +0+10890 0+890 0+58 08 +WA +0 +0 +8
- +\[13\] \.sbss +NOBITS +0+108e8 0+8e8 0+ 0+ +W +0 +0 +1
- +\[14\] \.plt +NOBITS +0+108e8 0+8e8 0+30 18 +WA +0 +0 +8
- +\[15\] \.bss +NOBITS +0+10918 0+8e8 0+ 0+ +WA +0 +0 +1
- +\[16\] \.shstrtab +STRTAB +0+ 0+8e8 0+82 0+ +0 +0 +1
- +\[17\] \.symtab +SYMTAB +0+ 0+e30 0+408 18 +18 +28 +8
- +\[18\] \.strtab +STRTAB +0+ 0+1238 0+8c 0+ +0 +0 +1
+ +\[ 1\] \.hash +.*
+ +\[ 2\] \.dynsym +.*
+ +\[ 3\] \.dynstr +.*
+ +\[ 4\] \.rela\.dyn +.*
+ +\[ 5\] \.rela\.plt +.*
+ +\[ 6\] \.text +PROGBITS +0+550 0+550 0+bc 0+ +AX +0 +0 +4
+ +\[ 7\] \.tdata +PROGBITS +0+10610 0+610 0+38 0+ WAT +0 +0 +8
+ +\[ 8\] \.tbss +NOBITS +0+10648 0+648 0+38 0+ WAT +0 +0 +8
+ +\[ 9\] \.dynamic +DYNAMIC +0+10648 0+648 0+150 10 +WA +3 +0 +8
+ +\[10\] \.data +PROGBITS +0+10798 0+798 0+ 0+ +WA +0 +0 +1
+ +\[11\] \.branch_lt +.*
+ +\[12\] \.got +PROGBITS +0+10798 0+798 0+58 08 +WA +0 +0 +8
+ +\[13\] \.sbss +.*
+ +\[14\] \.plt +.*
+ +\[15\] \.bss +.*
+ +\[16\] \.shstrtab +.*
+ +\[17\] \.symtab +.*
+ +\[18\] \.strtab +.*
 #...
 
 Elf file type is DYN \(Shared object file\)
-Entry point 0x664
+Entry point 0x[0-9a-f]+
 There are 4 program headers.*
 
 Program Headers:
  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
- +LOAD +0x0+ 0x0+ 0x0+ 0x0+704 0x0+704 R E 0x10000
- +LOAD +0x0+708 0x0+10708 0x0+10708 0x0+1e0 0x0+210 RW +0x10000
- +DYNAMIC +0x0+740 0x0+10740 0x0+10740 0x0+150 0x0+150 RW +0x8
- +TLS +0x0+708 0x0+10708 0x0+10708 0x0+38 0x0+70 R +0x8
+ +LOAD +0x0+ 0x0+ 0x0+ 0x0+60c 0x0+60c R E 0x10000
+ +LOAD +0x0+610 0x0+10610 0x0+10610 0x0+1e0 0x0+210 RW +0x10000
+ +DYNAMIC +0x0+648 0x0+10648 0x0+10648 0x0+150 0x0+150 RW +0x8
+ +TLS +0x0+610 0x0+10610 0x0+10610 0x0+38 0x0+70 R +0x8
 
  Section to Segment mapping:
  +Segment Sections\.\.\.
@@ -49,98 +49,89 @@ Program Headers:
 
 Relocation section '\.rela\.dyn' at offset .* contains 11 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+6b2 +0+1200000045 R_PPC64_TPREL16 +0+60 le0 \+ 0
-0+6b6 +0+1500000048 R_PPC64_TPREL16_HA +0+68 le1 \+ 0
-0+6ba +0+1500000046 R_PPC64_TPREL16_LO +0+68 le1 \+ 0
-0+10898 +0+1100000044 R_PPC64_DTPMOD64 +0+ gd \+ 0
-0+108a0 +0+110000004e R_PPC64_DTPREL64 +0+ gd \+ 0
-0+108a8 +0+1600000044 R_PPC64_DTPMOD64 +0+ ld \+ 0
-0+108b8 +0+1d00000044 R_PPC64_DTPMOD64 +0+38 gd0 \+ 0
-0+108c0 +0+1d0000004e R_PPC64_DTPREL64 +0+38 gd0 \+ 0
-0+108c8 +0+1400000044 R_PPC64_DTPMOD64 +0+40 ld0 \+ 0
-0+108d8 +0+180000004e R_PPC64_DTPREL64 +0+50 ld2 \+ 0
-0+108e0 +0+1e00000049 R_PPC64_TPREL64 +0+58 ie0 \+ 0
+0+5ba +0+90+45 R_PPC64_TPREL16 +0+60 le0 \+ 0
+0+5be +0+c0+48 R_PPC64_TPREL16_HA +0+68 le1 \+ 0
+0+5c2 +0+c0+46 R_PPC64_TPREL16_LO +0+68 le1 \+ 0
+0+107a0 +0+80+44 R_PPC64_DTPMOD64 +0+ gd \+ 0
+0+107a8 +0+80+4e R_PPC64_DTPREL64 +0+ gd \+ 0
+0+107b0 +0+d0+44 R_PPC64_DTPMOD64 +0+ ld \+ 0
+0+107c0 +0+140+44 R_PPC64_DTPMOD64 +0+38 gd0 \+ 0
+0+107c8 +0+140+4e R_PPC64_DTPREL64 +0+38 gd0 \+ 0
+0+107d0 +0+b0+44 R_PPC64_DTPMOD64 +0+40 ld0 \+ 0
+0+107e0 +0+f0+4e R_PPC64_DTPREL64 +0+50 ld2 \+ 0
+0+107e8 +0+150+49 R_PPC64_TPREL64 +0+58 ie0 \+ 0
 
 Relocation section '\.rela\.plt' at offset .* contains 1 entries:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
-0+10900 +0+1300000015 R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0
+0+10808 +0+a0+15 R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0
 
-Symbol table '\.dynsym' contains 31 entries:
+Symbol table '\.dynsym' contains 22 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+120 +0 SECTION LOCAL +DEFAULT +1 
- +2: 0+1e8 +0 SECTION LOCAL +DEFAULT +2 
- +3: 0+4d0 +0 SECTION LOCAL +DEFAULT +3 
- +4: 0+528 +0 SECTION LOCAL +DEFAULT +4 
- +5: 0+630 +0 SECTION LOCAL +DEFAULT +5 
- +6: 0+648 +0 SECTION LOCAL +DEFAULT +6 
- +7: 0+10708 +0 SECTION LOCAL +DEFAULT +7 
- +8: 0+10708 +0 SECTION LOCAL +DEFAULT +8 
- +9: 0+10708 +0 SECTION LOCAL +DEFAULT +9 
- +10: 0+10740 +0 SECTION LOCAL +DEFAULT +10 
- +11: 0+10740 +0 SECTION LOCAL +DEFAULT +11 
- +12: 0+10890 +0 SECTION LOCAL +DEFAULT +12 
- +13: 0+108e8 +0 SECTION LOCAL +DEFAULT +13 
- +14: 0+108e8 +0 SECTION LOCAL +DEFAULT +14 
- +15: 0+10918 +0 SECTION LOCAL +DEFAULT +15 
- +16: 0+10740 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +17: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
- +18: 0+60 +0 TLS +GLOBAL DEFAULT +10 le0
- +19: 0+ +24 OBJECT +GLOBAL DEFAULT +UND __tls_get_addr
- +20: 0+40 +0 TLS +GLOBAL DEFAULT +10 ld0
- +21: 0+68 +0 TLS +GLOBAL DEFAULT +10 le1
- +22: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
- +23: 0+664 +0 NOTYPE +GLOBAL DEFAULT +6 _start
- +24: 0+50 +0 TLS +GLOBAL DEFAULT +10 ld2
- +25: 0+48 +0 TLS +GLOBAL DEFAULT +10 ld1
- +26: 0+108e8 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +27: 0+108e8 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +28: 0+10918 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +29: 0+38 +0 TLS +GLOBAL DEFAULT +10 gd0
- +30: 0+58 +0 TLS +GLOBAL DEFAULT +10 ie0
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: 0+550 +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: 0+10610 +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: 0+10648 +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: 0+10798 +0 SECTION LOCAL +DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+ +[0-9]+: 0+10648 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
+ +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +8 le0
+ +[0-9]+: 0+ +24 OBJECT +GLOBAL DEFAULT +UND __tls_get_addr
+ +[0-9]+: 0+40 +0 TLS +GLOBAL DEFAULT +8 ld0
+ +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +8 le1
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +6 _start
+ +[0-9]+: 0+50 +0 TLS +GLOBAL DEFAULT +8 ld2
+ +[0-9]+: 0+48 +0 TLS +GLOBAL DEFAULT +8 ld1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+38 +0 TLS +GLOBAL DEFAULT +8 gd0
+ +[0-9]+: 0+58 +0 TLS +GLOBAL DEFAULT +8 ie0
 
 Symbol table '\.symtab' contains 43 entries:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
- +1: 0+120 +0 SECTION LOCAL +DEFAULT +1 
- +2: 0+1e8 +0 SECTION LOCAL +DEFAULT +2 
- +3: 0+4d0 +0 SECTION LOCAL +DEFAULT +3 
- +4: 0+528 +0 SECTION LOCAL +DEFAULT +4 
- +5: 0+630 +0 SECTION LOCAL +DEFAULT +5 
- +6: 0+648 +0 SECTION LOCAL +DEFAULT +6 
- +7: 0+10708 +0 SECTION LOCAL +DEFAULT +7 
- +8: 0+10708 +0 SECTION LOCAL +DEFAULT +8 
- +9: 0+10708 +0 SECTION LOCAL +DEFAULT +9 
- +10: 0+10740 +0 SECTION LOCAL +DEFAULT +10 
- +11: 0+10740 +0 SECTION LOCAL +DEFAULT +11 
- +12: 0+10890 +0 SECTION LOCAL +DEFAULT +12 
- +13: 0+108e8 +0 SECTION LOCAL +DEFAULT +13 
- +14: 0+108e8 +0 SECTION LOCAL +DEFAULT +14 
- +15: 0+10918 +0 SECTION LOCAL +DEFAULT +15 
- +16: 0+ +0 SECTION LOCAL +DEFAULT +16 
- +17: 0+ +0 SECTION LOCAL +DEFAULT +17 
- +18: 0+ +0 SECTION LOCAL +DEFAULT +18 
- +19: 0+ +0 TLS +LOCAL +DEFAULT +9 gd4
- +20: 0+8 +0 TLS +LOCAL +DEFAULT +9 ld4
- +21: 0+10 +0 TLS +LOCAL +DEFAULT +9 ld5
- +22: 0+18 +0 TLS +LOCAL +DEFAULT +9 ld6
- +23: 0+20 +0 TLS +LOCAL +DEFAULT +9 ie4
- +24: 0+28 +0 TLS +LOCAL +DEFAULT +9 le4
- +25: 0+30 +0 TLS +LOCAL +DEFAULT +9 le5
- +26: 0+108e0 +0 NOTYPE +LOCAL +DEFAULT +12 \.Lie0
- +27: 0+648 +0 NOTYPE +LOCAL +DEFAULT +6 \.__tls_get_addr
- +28: 0+10740 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
- +29: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
- +30: 0+60 +0 TLS +GLOBAL DEFAULT +10 le0
- +31: 0+ +24 OBJECT +GLOBAL DEFAULT +UND __tls_get_addr
- +32: 0+40 +0 TLS +GLOBAL DEFAULT +10 ld0
- +33: 0+68 +0 TLS +GLOBAL DEFAULT +10 le1
- +34: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
- +35: 0+664 +0 NOTYPE +GLOBAL DEFAULT +6 _start
- +36: 0+50 +0 TLS +GLOBAL DEFAULT +10 ld2
- +37: 0+48 +0 TLS +GLOBAL DEFAULT +10 ld1
- +38: 0+108e8 +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
- +39: 0+108e8 +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
- +40: 0+10918 +0 NOTYPE +GLOBAL DEFAULT +ABS _end
- +41: 0+38 +0 TLS +GLOBAL DEFAULT +10 gd0
- +42: 0+58 +0 TLS +GLOBAL DEFAULT +10 ie0
+ +[0-9]+: 0+ +0 NOTYPE +LOCAL +DEFAULT +UND 
+ +[0-9]+: 0+120 +0 SECTION LOCAL +DEFAULT +1 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +2 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +3 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +4 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +5 
+ +[0-9]+: 0+550 +0 SECTION LOCAL +DEFAULT +6 
+ +[0-9]+: 0+10610 +0 SECTION LOCAL +DEFAULT +7 
+ +[0-9]+: 0+10648 +0 SECTION LOCAL +DEFAULT +8 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +9 
+ +[0-9]+: 0+10798 +0 SECTION LOCAL +DEFAULT +10 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +11 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +12 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +13 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +14 
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL +DEFAULT +15 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +16 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +17 
+ +[0-9]+: 0+ +0 SECTION LOCAL +DEFAULT +18 
+ +[0-9]+: 0+ +0 TLS +LOCAL +DEFAULT +7 gd4
+ +[0-9]+: 0+8 +0 TLS +LOCAL +DEFAULT +7 ld4
+ +[0-9]+: 0+10 +0 TLS +LOCAL +DEFAULT +7 ld5
+ +[0-9]+: 0+18 +0 TLS +LOCAL +DEFAULT +7 ld6
+ +[0-9]+: 0+20 +0 TLS +LOCAL +DEFAULT +7 ie4
+ +[0-9]+: 0+28 +0 TLS +LOCAL +DEFAULT +7 le4
+ +[0-9]+: 0+30 +0 TLS +LOCAL +DEFAULT +7 le5
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +LOCAL +DEFAULT +12 \.Lie0
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +LOCAL +DEFAULT +6 \.__tls_get_addr
+ +[0-9]+: 0+10648 +0 OBJECT +GLOBAL DEFAULT +ABS _DYNAMIC
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND gd
+ +[0-9]+: 0+60 +0 TLS +GLOBAL DEFAULT +8 le0
+ +[0-9]+: 0+ +24 OBJECT +GLOBAL DEFAULT +UND __tls_get_addr
+ +[0-9]+: 0+40 +0 TLS +GLOBAL DEFAULT +8 ld0
+ +[0-9]+: 0+68 +0 TLS +GLOBAL DEFAULT +8 le1
+ +[0-9]+: 0+ +0 NOTYPE +GLOBAL DEFAULT +UND ld
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +6 _start
+ +[0-9]+: 0+50 +0 TLS +GLOBAL DEFAULT +8 ld2
+ +[0-9]+: 0+48 +0 TLS +GLOBAL DEFAULT +8 ld1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE +GLOBAL DEFAULT +ABS _end
+ +[0-9]+: 0+38 +0 TLS +GLOBAL DEFAULT +8 gd0
+ +[0-9]+: 0+58 +0 TLS +GLOBAL DEFAULT +8 ie0
--- ld/testsuite/ld-powerpc/tlsso.g.jj	2004-05-05 14:55:02.334207802 +0200
+++ ld/testsuite/ld-powerpc/tlsso.g	2004-05-06 14:08:34.082893833 +0200
@@ -7,9 +7,9 @@
 .*: +file format elf64-powerpc
 
 Contents of section \.got:
- 10948 00000000 00018948 00000000 00000000  .*
- 10958 00000000 00000000 00000000 00000000  .*
- 10968 00000000 00000000 00000000 00000000  .*
- 10978 00000000 00000000 00000000 00000000  .*
- 10988 00000000 00000000 00000000 00000000  .*
- 10998 00000000 00000000 00000000 00000000  .*
+ 10850 00000000 00018850 00000000 00000000  .*
+ 10860 00000000 00000000 00000000 00000000  .*
+ 10870 00000000 00000000 00000000 00000000  .*
+ 10880 00000000 00000000 00000000 00000000  .*
+ 10890 00000000 00000000 00000000 00000000  .*
+ 108a0 00000000 00000000 00000000 00000000  .*
--- ld/testsuite/ld-i386/tlsbinpic.s.jj	2004-05-05 14:55:02.379199739 +0200
+++ ld/testsuite/ld-i386/tlsbinpic.s	2004-05-06 14:08:34.090892400 +0200
@@ -1,8 +1,7 @@
 	/* Force .got aligned to 4K, so it very likely gets at 0x804a100
 	   (0x60 bytes .tdata and 0xa0 bytes .dynamic)  */
-	.data
-	.balign	4096
 	.section ".tdata", "awT", @progbits
+	.balign	4096
 	.globl sg1, sg2, sg3, sg4, sg5, sg6, sg7, sg8
 	.globl sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
 	.hidden sh1, sh2, sh3, sh4, sh5, sh6, sh7, sh8
--- ld/testsuite/ld-i386/tlspic.dd.jj	2004-05-05 14:55:02.400195976 +0200
+++ ld/testsuite/ld-i386/tlspic.dd	2004-05-06 14:08:34.094891683 +0200
@@ -16,13 +16,13 @@ Disassembly of section .text:
  [0-9a-f]+:	50[ 	]+push   %eax
  [0-9a-f]+:	e8 00 00 00 00[ 	]+call   [0-9a-f]+ <fn1\+0xa>
  [0-9a-f]+:	5b[ 	]+pop    %ebx
- [0-9a-f]+:	81 c3 [0-9a-f ]+[ 	]+add    \$0x[0-9a-f]+,%ebx
+ [0-9a-f]+:	81 c3 42 14 00 00[ 	]+add    \$0x[0-9a-f]+,%ebx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  GD
- [0-9a-f]+:	8d 04 1d 5c 00 00 00 	lea    0x5c\(,%ebx,1\),%eax
+ [0-9a-f]+:	8d 04 1d d4 ff ff ff[ 	]+lea    0xffffffd4\(,%ebx,1\),%eax
 #				->R_386_TLS_DTPMOD32	sg1
  [0-9a-f]+:	e8 cf ff ff ff[ 	]+call   [0-9a-f]+ <___tls_get_addr@plt>
 #				->R_386_JUMP_SLOT	___tls_get_addr
@@ -32,7 +32,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE because variable is referenced through @gottpoff too
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	2b 83 78 00 00 00[ 	]+sub    0x78\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 f0 ff ff ff[ 	]+sub    0xfffffff0\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	sg2
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -40,7 +40,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE because variable is referenced through @gotntpoff too
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	03 83 3c 00 00 00[ 	]+add    0x3c\(%ebx\),%eax
+ [0-9a-f]+:	03 83 b4 ff ff ff[ 	]+add    0xffffffb4\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	sg3
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -48,14 +48,14 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE because variable is referenced through @gottpoff and
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	2b 83 48 00 00 00[ 	]+sub    0x48\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 c0 ff ff ff[ 	]+sub    0xffffffc0\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	sg4
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  GD against local variable
- [0-9a-f]+:	8d 04 1d 10 00 00 00 	lea    0x10\(,%ebx,1\),%eax
+ [0-9a-f]+:	8d 04 1d 88 ff ff ff[ 	]+lea    0xffffff88\(,%ebx,1\),%eax
 #				->R_386_TLS_DTPMOD32	[0x00000000 0x20000000]
  [0-9a-f]+:	e8 8f ff ff ff[ 	]+call   [0-9a-f]+ <___tls_get_addr@plt>
 #				->R_386_JUMP_SLOT	___tls_get_addr
@@ -65,7 +65,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against local variable referenced through @gottpoff too
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	2b 83 18 00 00 00[ 	]+sub    0x18\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 90 ff ff ff[ 	]+sub    0xffffff90\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0xdcffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -73,7 +73,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against local variable referenced through @gotntpoff
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	03 83 1c 00 00 00[ 	]+add    0x1c\(%ebx\),%eax
+ [0-9a-f]+:	03 83 94 ff ff ff[ 	]+add    0xffffff94\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	[0x28000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -81,14 +81,14 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against local variable referenced through @gottpoff and
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	2b 83 20 00 00 00[ 	]+sub    0x20\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 98 ff ff ff[ 	]+sub    0xffffff98\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0xd4ffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  GD against hidden and local variable
- [0-9a-f]+:	8d 04 1d 7c 00 00 00 	lea    0x7c\(,%ebx,1\),%eax
+ [0-9a-f]+:	8d 04 1d f4 ff ff ff[ 	]+lea    0xfffffff4\(,%ebx,1\),%eax
 #				->R_386_TLS_DTPMOD32	[0x00000000 0x40000000]
  [0-9a-f]+:	e8 4f ff ff ff[ 	]+call   [0-9a-f]+ <___tls_get_addr@plt>
 #				->R_386_JUMP_SLOT	___tls_get_addr
@@ -98,7 +98,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against hidden and local variable referenced through @gottpoff too
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	2b 83 84 00 00 00[ 	]+sub    0x84\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 fc ff ff ff[ 	]+sub    0xfffffffc\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0xbcffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -106,7 +106,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against hidden and local variable referenced through @gotntpoff too
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	03 83 40 00 00 00[ 	]+add    0x40\(%ebx\),%eax
+ [0-9a-f]+:	03 83 b8 ff ff ff[ 	]+add    0xffffffb8\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	[0x48000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -114,14 +114,14 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against hidden and local variable referenced through @gottpoff and @gotntpoff too
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	2b 83 64 00 00 00[ 	]+sub    0x64\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 dc ff ff ff[ 	]+sub    0xffffffdc\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0xb4ffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  GD against hidden but not local variable
- [0-9a-f]+:	8d 04 1d 34 00 00 00 	lea    0x34\(,%ebx,1\),%eax
+ [0-9a-f]+:	8d 04 1d ac ff ff ff[ 	]+lea    0xffffffac\(,%ebx,1\),%eax
 #				->R_386_TLS_DTPMOD32	[0x00000000 0x60000000]
  [0-9a-f]+:	e8 0f ff ff ff[ 	]+call   [0-9a-f]+ <___tls_get_addr@plt>
 #				->R_386_JUMP_SLOT	___tls_get_addr
@@ -131,7 +131,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against hidden but not local variable referenced through
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	2b 83 44 00 00 00[ 	]+sub    0x44\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 bc ff ff ff[ 	]+sub    0xffffffbc\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0x9cffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -139,7 +139,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against hidden but not local variable referenced through
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	03 83 6c 00 00 00[ 	]+add    0x6c\(%ebx\),%eax
+ [0-9a-f]+:	03 83 e4 ff ff ff[ 	]+add    0xffffffe4\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	[0x68000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -147,14 +147,14 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  GD -> IE against hidden but not local variable referenced through
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- [0-9a-f]+:	2b 83 54 00 00 00[ 	]+sub    0x54\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 cc ff ff ff[ 	]+sub    0xffffffcc\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0x94ffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  LD
- [0-9a-f]+:	8d 83 2c 00 00 00[ 	]+lea    0x2c\(%ebx\),%eax
+ [0-9a-f]+:	8d 83 a4 ff ff ff[ 	]+lea    0xffffffa4\(%ebx\),%eax
 #				->R_386_TLS_DTPMOD32	[0x00000000 0x00000000]
  [0-9a-f]+:	e8 d0 fe ff ff[ 	]+call   [0-9a-f]+ <___tls_get_addr@plt>
 #				->R_386_JUMP_SLOT	___tls_get_addr
@@ -171,7 +171,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  LD against hidden and local variables
- [0-9a-f]+:	8d 83 2c 00 00 00[ 	]+lea    0x2c\(%ebx\),%eax
+ [0-9a-f]+:	8d 83 a4 ff ff ff[ 	]+lea    0xffffffa4\(%ebx\),%eax
 #				->R_386_TLS_DTPMOD32	[0x00000000 0x00000000]
  [0-9a-f]+:	e8 b1 fe ff ff[ 	]+call   [0-9a-f]+ <___tls_get_addr@plt>
 #				->R_386_JUMP_SLOT	___tls_get_addr
@@ -188,7 +188,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  LD against hidden but not local variables
- [0-9a-f]+:	8d 83 2c 00 00 00[ 	]+lea    0x2c\(%ebx\),%eax
+ [0-9a-f]+:	8d 83 a4 ff ff ff[ 	]+lea    0xffffffa4\(%ebx\),%eax
 #				->R_386_TLS_DTPMOD32	[0x00000000 0x00000000]
  [0-9a-f]+:	e8 92 fe ff ff[ 	]+call   [0-9a-f]+ <___tls_get_addr@plt>
 #				->R_386_JUMP_SLOT	___tls_get_addr
@@ -203,10 +203,10 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gottpoff IE against global var
- [0-9a-f]+:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ [0-9a-f]+:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	2b 8b 78 00 00 00[ 	]+sub    0x78\(%ebx\),%ecx
+ [0-9a-f]+:	2b 8b f0 ff ff ff[ 	]+sub    0xfffffff0\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF32	sg2
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -216,17 +216,17 @@ Disassembly of section .text:
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	2b 83 48 00 00 00[ 	]+sub    0x48\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 c0 ff ff ff[ 	]+sub    0xffffffc0\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	sg4
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gotntpoff IE against global var
- [0-9a-f]+:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ [0-9a-f]+:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	03 8b 3c 00 00 00[ 	]+add    0x3c\(%ebx\),%ecx
+ [0-9a-f]+:	03 8b b4 ff ff ff[ 	]+add    0xffffffb4\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF	sg3
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -236,17 +236,17 @@ Disassembly of section .text:
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	03 83 4c 00 00 00[ 	]+add    0x4c\(%ebx\),%eax
+ [0-9a-f]+:	03 83 c4 ff ff ff[ 	]+add    0xffffffc4\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	sg4
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gottpoff IE against local var
- [0-9a-f]+:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ [0-9a-f]+:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	2b 8b 18 00 00 00[ 	]+sub    0x18\(%ebx\),%ecx
+ [0-9a-f]+:	2b 8b 90 ff ff ff[ 	]+sub    0xffffff90\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF32	[0xdcffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -256,17 +256,17 @@ Disassembly of section .text:
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	2b 83 20 00 00 00[ 	]+sub    0x20\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 98 ff ff ff[ 	]+sub    0xffffff98\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0xd4ffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gotntpoff IE against local var
- [0-9a-f]+:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ [0-9a-f]+:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	03 8b 1c 00 00 00[ 	]+add    0x1c\(%ebx\),%ecx
+ [0-9a-f]+:	03 8b 94 ff ff ff[ 	]+add    0xffffff94\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF	[0x28000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -276,17 +276,17 @@ Disassembly of section .text:
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	03 83 24 00 00 00[ 	]+add    0x24\(%ebx\),%eax
+ [0-9a-f]+:	03 83 9c ff ff ff[ 	]+add    0xffffff9c\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	[0x2c000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gottpoff IE against hidden and local var
- [0-9a-f]+:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ [0-9a-f]+:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	2b 8b 84 00 00 00[ 	]+sub    0x84\(%ebx\),%ecx
+ [0-9a-f]+:	2b 8b fc ff ff ff[ 	]+sub    0xfffffffc\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF32	[0xbcffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -296,17 +296,17 @@ Disassembly of section .text:
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	2b 83 64 00 00 00[ 	]+sub    0x64\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 dc ff ff ff[ 	]+sub    0xffffffdc\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0xb4ffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gotntpoff IE against hidden and local var
- [0-9a-f]+:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ [0-9a-f]+:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	03 8b 40 00 00 00[ 	]+add    0x40\(%ebx\),%ecx
+ [0-9a-f]+:	03 8b b8 ff ff ff[ 	]+add    0xffffffb8\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF	[0x48000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -316,17 +316,17 @@ Disassembly of section .text:
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	03 83 68 00 00 00[ 	]+add    0x68\(%ebx\),%eax
+ [0-9a-f]+:	03 83 e0 ff ff ff[ 	]+add    0xffffffe0\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	[0x4c000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gottpoff IE against hidden but not local var
- [0-9a-f]+:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ [0-9a-f]+:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	2b 8b 44 00 00 00[ 	]+sub    0x44\(%ebx\),%ecx
+ [0-9a-f]+:	2b 8b bc ff ff ff[ 	]+sub    0xffffffbc\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF32	[0x9cffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -336,17 +336,17 @@ Disassembly of section .text:
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	2b 83 54 00 00 00[ 	]+sub    0x54\(%ebx\),%eax
+ [0-9a-f]+:	2b 83 cc ff ff ff[ 	]+sub    0xffffffcc\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	[0x94ffffff]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gotntpoff IE against hidden but not local var
- [0-9a-f]+:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ [0-9a-f]+:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	03 8b 6c 00 00 00[ 	]+add    0x6c\(%ebx\),%ecx
+ [0-9a-f]+:	03 8b e4 ff ff ff[ 	]+add    0xffffffe4\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF	[0x68000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -356,7 +356,7 @@ Disassembly of section .text:
  [0-9a-f]+:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
- [0-9a-f]+:	03 83 58 00 00 00[ 	]+add    0x58\(%ebx\),%eax
+ [0-9a-f]+:	03 83 d0 ff ff ff[ 	]+add    0xffffffd0\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	[0x6c000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -364,7 +364,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
 #  Direct access through %gs
 #  @gotntpoff IE against global var
- [0-9a-f]+:	8b 8b 50 00 00 00[ 	]+mov    0x50\(%ebx\),%ecx
+ [0-9a-f]+:	8b 8b c8 ff ff ff[ 	]+mov    0xffffffc8\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF	sg5
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -374,7 +374,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gotntpoff IE against local var
- [0-9a-f]+:	8b 83 28 00 00 00[ 	]+mov    0x28\(%ebx\),%eax
+ [0-9a-f]+:	8b 83 a0 ff ff ff[ 	]+mov    0xffffffa0\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	[0x30000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -384,7 +384,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gotntpoff IE against hidden and local var
- [0-9a-f]+:	8b 93 70 00 00 00[ 	]+mov    0x70\(%ebx\),%edx
+ [0-9a-f]+:	8b 93 e8 ff ff ff[ 	]+mov    0xffffffe8\(%ebx\),%edx
 #				->R_386_TLS_TPOFF	[0x50000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
@@ -394,7 +394,7 @@ Disassembly of section .text:
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
 #  @gotntpoff IE against hidden but not local var
- [0-9a-f]+:	8b 8b 74 00 00 00[ 	]+mov    0x74\(%ebx\),%ecx
+ [0-9a-f]+:	8b 8b ec ff ff ff[ 	]+mov    0xffffffec\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF	[0x70000000]
  [0-9a-f]+:	90[ 	]+nop *
  [0-9a-f]+:	90[ 	]+nop *
--- ld/testsuite/ld-i386/tlspic.rd.jj	2004-05-05 14:55:02.403195439 +0200
+++ ld/testsuite/ld-i386/tlspic.rd	2004-05-06 14:08:34.094891683 +0200
@@ -17,15 +17,16 @@ Section Headers:
   \[ 5\] \.rel.plt +.*
   \[ 6\] \.plt +.*
   \[ 7\] \.text +.*
-  \[ 8\] \.data +.*
-  \[ 9\] .tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000060 00 WAT  0   0  1
-  \[10\] .tbss +NOBITS +[0-9aa-f]+ [0-9a-f]+ 000020 00 WAT  0   0  1
-  \[11\] \.dynamic +.*
-  \[12\] \.got +.*
-  \[13\] \.bss +.*
-  \[14\] \.shstrtab +.*
-  \[15\] \.symtab +.*
-  \[16\] \.strtab +.*
+  \[ 8\] \.tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000060 00 WAT  0   0  1
+  \[ 9\] \.tbss +NOBITS +[0-9aa-f]+ [0-9a-f]+ 000020 00 WAT  0   0  1
+  \[10\] \.dynamic +.*
+  \[11\] \.got +.*
+  \[12\] \.got.plt +.*
+  \[13\] \.data +.*
+  \[14\] \.bss +.*
+  \[15\] \.shstrtab +.*
+  \[16\] \.symtab +.*
+  \[17\] \.strtab +.*
 Key to Flags:
 .*
 .*
@@ -45,7 +46,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
-   01 +.tdata .tbss .dynamic .got *
+   01 +.tdata .tbss .dynamic .got .got.plt *
    02 +.tbss .dynamic *
    03 +.tdata .tbss *
 
@@ -70,105 +71,98 @@ Relocation section '.rel.dyn' at offset 
 [0-9a-f]+ +0+0e R_386_TLS_TPOFF *
 [0-9a-f]+ +0+23 R_386_TLS_DTPMOD3
 [0-9a-f]+ +0+25 R_386_TLS_TPOFF32
-[0-9a-f]+ +0+100e R_386_TLS_TPOFF   0+8   sg3
-[0-9a-f]+ +0+1125 R_386_TLS_TPOFF32 0+c   sg4
-[0-9a-f]+ +0+110e R_386_TLS_TPOFF   0+c   sg4
-[0-9a-f]+ +0+120e R_386_TLS_TPOFF   0+10   sg5
-[0-9a-f]+ +0+1323 R_386_TLS_DTPMOD3 0+   sg1
-[0-9a-f]+ +0+1324 R_386_TLS_DTPOFF3 0+   sg1
-[0-9a-f]+ +0+1625 R_386_TLS_TPOFF32 0+4   sg2
+[0-9a-f]+ +0+80e R_386_TLS_TPOFF   0+8   sg3
+[0-9a-f]+ +0+925 R_386_TLS_TPOFF32 0+c   sg4
+[0-9a-f]+ +0+90e R_386_TLS_TPOFF   0+c   sg4
+[0-9a-f]+ +0+a0e R_386_TLS_TPOFF   0+10   sg5
+[0-9a-f]+ +0+b23 R_386_TLS_DTPMOD3 0+   sg1
+[0-9a-f]+ +0+b24 R_386_TLS_DTPOFF3 0+   sg1
+[0-9a-f]+ +0+e25 R_386_TLS_TPOFF32 0+4   sg2
 
-Relocation section '.rel.plt' at offset 0x480 contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
  Offset     Info    Type            Sym.Value  Sym. Name
-[0-9a-f]+  0+1c07 R_386_JUMP_SLOT   0+   ___tls_get_addr
+[0-9a-f]+  0+1407 R_386_JUMP_SLOT   0+   ___tls_get_addr
 
-Symbol table '.dynsym' contains 29 entries:
+Symbol table '.dynsym' contains 21 entries:
  +Num: + Value  Size Type + Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
- +14: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +15: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +16: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +17: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +18: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +19: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +20: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
- +21: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +22: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +23: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +24: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +25: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +26: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +27: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
- +28: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND ___tls_get_addr
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND ___tls_get_addr
 
-Symbol table '.symtab' contains 56 entries:
+Symbol table '.symtab' contains 57 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
- +14: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
- +15: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
- +16: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 *
- +17: 0+20 +0 TLS +LOCAL  DEFAULT +9 sl1
- +18: 0+24 +0 TLS +LOCAL  DEFAULT +9 sl2
- +19: 0+28 +0 TLS +LOCAL  DEFAULT +9 sl3
- +20: 0+2c +0 TLS +LOCAL  DEFAULT +9 sl4
- +21: 0+30 +0 TLS +LOCAL  DEFAULT +9 sl5
- +22: 0+34 +0 TLS +LOCAL  DEFAULT +9 sl6
- +23: 0+38 +0 TLS +LOCAL  DEFAULT +9 sl7
- +24: 0+3c +0 TLS +LOCAL  DEFAULT +9 sl8
- +25: 0+60 +0 TLS +LOCAL  HIDDEN +10 sH1
- +26: 0+48 +0 TLS +LOCAL  HIDDEN +9 sh3
- +27: 0+64 +0 TLS +LOCAL  HIDDEN +10 sH2
- +28: 0+78 +0 TLS +LOCAL  HIDDEN +10 sH7
- +29: 0+58 +0 TLS +LOCAL  HIDDEN +9 sh7
- +30: 0+5c +0 TLS +LOCAL  HIDDEN +9 sh8
- +31: 0+6c +0 TLS +LOCAL  HIDDEN +10 sH4
- +32: 0+4c +0 TLS +LOCAL  HIDDEN +9 sh4
- +33: 0+68 +0 TLS +LOCAL  HIDDEN +10 sH3
- +34: 0+50 +0 TLS +LOCAL  HIDDEN +9 sh5
- +35: 0+70 +0 TLS +LOCAL  HIDDEN +10 sH5
- +36: 0+74 +0 TLS +LOCAL  HIDDEN +10 sH6
- +37: 0+7c +0 TLS +LOCAL  HIDDEN +10 sH8
- +38: 0+40 +0 TLS +LOCAL  HIDDEN +9 sh1
- +39: 0+44 +0 TLS +LOCAL  HIDDEN +9 sh2
- +40: 0+54 +0 TLS +LOCAL  HIDDEN +9 sh6
- +41: 0+1c +0 TLS +GLOBAL DEFAULT +9 sg8
- +42: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +43: 0+8 +0 TLS +GLOBAL DEFAULT +9 sg3
- +44: 0+c +0 TLS +GLOBAL DEFAULT +9 sg4
- +45: 0+10 +0 TLS +GLOBAL DEFAULT +9 sg5
- +46: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
- +47: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
- +48: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +49: 0+4 +0 TLS +GLOBAL DEFAULT +9 sg2
- +50: 0+14 +0 TLS +GLOBAL DEFAULT +9 sg6
- +51: 0+18 +0 TLS +GLOBAL DEFAULT +9 sg7
- +52: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +53: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +54: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
- +55: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND ___tls_get_addr
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 *
+ +[0-9]+: 0+20 +0 TLS +LOCAL  DEFAULT +8 sl1
+ +[0-9]+: 0+24 +0 TLS +LOCAL  DEFAULT +8 sl2
+ +[0-9]+: 0+28 +0 TLS +LOCAL  DEFAULT +8 sl3
+ +[0-9]+: 0+2c +0 TLS +LOCAL  DEFAULT +8 sl4
+ +[0-9]+: 0+30 +0 TLS +LOCAL  DEFAULT +8 sl5
+ +[0-9]+: 0+34 +0 TLS +LOCAL  DEFAULT +8 sl6
+ +[0-9]+: 0+38 +0 TLS +LOCAL  DEFAULT +8 sl7
+ +[0-9]+: 0+3c +0 TLS +LOCAL  DEFAULT +8 sl8
+ +[0-9]+: 0+60 +0 TLS +LOCAL  HIDDEN +9 sH1
+ +[0-9]+: 0+48 +0 TLS +LOCAL  HIDDEN +8 sh3
+ +[0-9]+: 0+64 +0 TLS +LOCAL  HIDDEN +9 sH2
+ +[0-9]+: 0+78 +0 TLS +LOCAL  HIDDEN +9 sH7
+ +[0-9]+: 0+58 +0 TLS +LOCAL  HIDDEN +8 sh7
+ +[0-9]+: 0+5c +0 TLS +LOCAL  HIDDEN +8 sh8
+ +[0-9]+: 0+6c +0 TLS +LOCAL  HIDDEN +9 sH4
+ +[0-9]+: 0+4c +0 TLS +LOCAL  HIDDEN +8 sh4
+ +[0-9]+: 0+68 +0 TLS +LOCAL  HIDDEN +9 sH3
+ +[0-9]+: 0+50 +0 TLS +LOCAL  HIDDEN +8 sh5
+ +[0-9]+: 0+70 +0 TLS +LOCAL  HIDDEN +9 sH5
+ +[0-9]+: 0+74 +0 TLS +LOCAL  HIDDEN +9 sH6
+ +[0-9]+: 0+7c +0 TLS +LOCAL  HIDDEN +9 sH8
+ +[0-9]+: 0+40 +0 TLS +LOCAL  HIDDEN +8 sh1
+ +[0-9]+: 0+44 +0 TLS +LOCAL  HIDDEN +8 sh2
+ +[0-9]+: 0+54 +0 TLS +LOCAL  HIDDEN +8 sh6
+ +[0-9]+: 0+1c +0 TLS +GLOBAL DEFAULT +8 sg8
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+8 +0 TLS +GLOBAL DEFAULT +8 sg3
+ +[0-9]+: 0+c +0 TLS +GLOBAL DEFAULT +8 sg4
+ +[0-9]+: 0+10 +0 TLS +GLOBAL DEFAULT +8 sg5
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +8 sg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT +7 fn1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+4 +0 TLS +GLOBAL DEFAULT +8 sg2
+ +[0-9]+: 0+14 +0 TLS +GLOBAL DEFAULT +8 sg6
+ +[0-9]+: 0+18 +0 TLS +GLOBAL DEFAULT +8 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  GLOBAL DEFAULT  UND ___tls_get_addr
--- ld/testsuite/ld-i386/tlsnopic.rd.jj	2004-05-05 14:55:02.406194901 +0200
+++ ld/testsuite/ld-i386/tlsnopic.rd	2004-05-06 14:08:34.095891504 +0200
@@ -5,7 +5,7 @@
 #readelf: -Ssrl
 #target: i?86-*-*
 
-There are 14 section headers, starting at offset 0x[0-9a-f]+:
+There are 16 section headers, starting at offset 0x[0-9a-f]+:
 
 Section Headers:
   \[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -15,14 +15,16 @@ Section Headers:
   \[ 3\] \.dynstr +.*
   \[ 4\] \.rel.dyn +.*
   \[ 5\] \.text +PROGBITS +0+1000 .*
-  \[ 6\] \.data +.*
-  \[ 7\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000024 00 WAT  0   0  1
+  \[ 6\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000024 00 WAT  0   0  1
+  \[ 7\] \.data.rel.ro +PROGBITS +.*
   \[ 8\] \.dynamic +DYNAMIC +0+2000 .*
   \[ 9\] \.got +PROGBITS +0+2080 .*
-  \[10\] \.bss +.*
-  \[11\] \.shstrtab +.*
-  \[12\] \.symtab +.*
-  \[13\] \.strtab +.*
+  \[10\] \.got.plt +PROGBITS +0+2098 .*
+  \[11\] \.data +.*
+  \[12\] \.bss +.*
+  \[13\] \.shstrtab +.*
+  \[14\] \.symtab +.*
+  \[15\] \.strtab +.*
 Key to Flags:
 .*
 .*
@@ -42,7 +44,7 @@ Program Headers:
  Section to Segment mapping:
   Segment Sections...
    00 +.hash .dynsym .dynstr .rel.dyn .text *
-   01 +.tbss .dynamic .got *
+   01 +.tbss .dynamic .got .got.plt *
    02 +.tbss .dynamic *
    03 +.tbss *
 
@@ -54,80 +56,77 @@ Relocation section '.rel.dyn' at offset 
 0+1038  0+8 R_386_RELATIVE +
 0+104f  0+8 R_386_RELATIVE +
 0+1059  0+8 R_386_RELATIVE +
-0+1067  0+c25 R_386_TLS_TPOFF32 0+   sg3
+0+1067  0+725 R_386_TLS_TPOFF32 0+   sg3
 0+107c  0+25 R_386_TLS_TPOFF32
 0+10a4  0+e R_386_TLS_TPOFF +
 0+10c4  0+e R_386_TLS_TPOFF +
 0+10d9  0+e R_386_TLS_TPOFF +
 0+10e4  0+e R_386_TLS_TPOFF +
-0+208c  0+e R_386_TLS_TPOFF +
+0+2080  0+e R_386_TLS_TPOFF +
+0+2084  0+e R_386_TLS_TPOFF +
 0+2090  0+e R_386_TLS_TPOFF +
-0+209c  0+e R_386_TLS_TPOFF +
-0+20a0  0+e R_386_TLS_TPOFF +
-0+109b  0+d0e R_386_TLS_TPOFF   0+   sg4
-0+10ce  0+f0e R_386_TLS_TPOFF   0+   sg5
-0+2094  0+100e R_386_TLS_TPOFF   0+   sg1
-0+2098  0+120e R_386_TLS_TPOFF   0+   sg2
+0+2094  0+e R_386_TLS_TPOFF +
+0+109b  0+80e R_386_TLS_TPOFF   0+   sg4
+0+10ce  0+a0e R_386_TLS_TPOFF   0+   sg5
+0+2088  0+b0e R_386_TLS_TPOFF   0+   sg1
+0+208c  0+d0e R_386_TLS_TPOFF   0+   sg2
 
 
-Symbol table '.dynsym' contains 22 entries:
+Symbol table '.dynsym' contains 17 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
- +11: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +12: 0+ +0 TLS +GLOBAL DEFAULT  UND sg3
- +13: 0+ +0 TLS +GLOBAL DEFAULT  UND sg4
- +14: 0+1000 +0 FUNC +GLOBAL DEFAULT +5 fn3
- +15: 0+ +0 TLS +GLOBAL DEFAULT  UND sg5
- +16: 0+ +0 TLS +GLOBAL DEFAULT  UND sg1
- +17: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +18: 0+ +0 TLS +GLOBAL DEFAULT  UND sg2
- +19: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +20: 0+2080 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +21: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg4
+ +[0-9]+: 0+1000 +0 FUNC +GLOBAL DEFAULT +5 fn3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg5
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg2
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: 0+2098 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
 
-Symbol table '.symtab' contains 34 entries:
+Symbol table '.symtab' contains 36 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
- +14: 0+00 +0 TLS +LOCAL  DEFAULT +7 bl1
- +15: 0+04 +0 TLS +LOCAL  DEFAULT +7 bl2
- +16: 0+08 +0 TLS +LOCAL  DEFAULT +7 bl3
- +17: 0+0c +0 TLS +LOCAL  DEFAULT +7 bl4
- +18: 0+10 +0 TLS +LOCAL  DEFAULT +7 bl5
- +19: 0+1c +0 TLS +LOCAL  HIDDEN +7 sh3
- +20: 0+20 +0 TLS +LOCAL  HIDDEN +7 sh4
- +21: 0+14 +0 TLS +LOCAL  HIDDEN +7 sh1
- +22: 0+18 +0 TLS +LOCAL  HIDDEN +7 sh2
- +23: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +24: 0+ +0 TLS +GLOBAL DEFAULT  UND sg3
- +25: 0+ +0 TLS +GLOBAL DEFAULT  UND sg4
- +26: 0+1000 +0 FUNC +GLOBAL DEFAULT +5 fn3
- +27: 0+ +0 TLS +GLOBAL DEFAULT  UND sg5
- +28: 0+ +0 TLS +GLOBAL DEFAULT  UND sg1
- +29: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +30: 0+ +0 TLS +GLOBAL DEFAULT  UND sg2
- +31: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +32: 0+2080 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +33: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
+ +[0-9]+: 0+00 +0 TLS +LOCAL  DEFAULT +6 bl1
+ +[0-9]+: 0+04 +0 TLS +LOCAL  DEFAULT +6 bl2
+ +[0-9]+: 0+08 +0 TLS +LOCAL  DEFAULT +6 bl3
+ +[0-9]+: 0+0c +0 TLS +LOCAL  DEFAULT +6 bl4
+ +[0-9]+: 0+10 +0 TLS +LOCAL  DEFAULT +6 bl5
+ +[0-9]+: 0+1c +0 TLS +LOCAL  HIDDEN +6 sh3
+ +[0-9]+: 0+20 +0 TLS +LOCAL  HIDDEN +6 sh4
+ +[0-9]+: 0+14 +0 TLS +LOCAL  HIDDEN +6 sh1
+ +[0-9]+: 0+18 +0 TLS +LOCAL  HIDDEN +6 sh2
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg4
+ +[0-9]+: 0+1000 +0 FUNC +GLOBAL DEFAULT +5 fn3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg5
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sg2
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: 0+2098 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
--- ld/testsuite/ld-i386/tlsbin.dd.jj	2004-05-05 14:55:02.386198485 +0200
+++ ld/testsuite/ld-i386/tlsbin.dd	2004-05-06 14:08:34.091892220 +0200
@@ -25,14 +25,14 @@ Disassembly of section .text:
  8049004:	50[ 	]+push   %eax
  8049005:	e8 00 00 00 00[ 	]+call   804900a <fn2\+0xa>
  804900a:	5b[ 	]+pop    %ebx
- 804900b:	81 c3 f6 10 00 00[ 	]+add    \$0x10f6,%ebx
+ 804900b:	81 c3 1a 11 00 00[ 	]+add    \$0x111a,%ebx
  8049011:	90[ 	]+nop *
  8049012:	90[ 	]+nop *
  8049013:	90[ 	]+nop *
  8049014:	90[ 	]+nop *
 #  GD -> IE because variable is not defined in executable
  8049015:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- 804901b:	2b 83 2c 00 00 00[ 	]+sub    0x2c\(%ebx\),%eax
+ 804901b:	2b 83 f8 ff ff ff[ 	]+sub    0xfffffff8\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	sG1
  8049021:	90[ 	]+nop *
  8049022:	90[ 	]+nop *
@@ -41,7 +41,7 @@ Disassembly of section .text:
 #  GD -> IE because variable is not defined in executable where
 #  the variable is referenced through @gottpoff too
  8049025:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- 804902b:	2b 83 1c 00 00 00[ 	]+sub    0x1c\(%ebx\),%eax
+ 804902b:	2b 83 e8 ff ff ff[ 	]+sub    0xffffffe8\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	sG2
  8049031:	90[ 	]+nop *
  8049032:	90[ 	]+nop *
@@ -50,7 +50,7 @@ Disassembly of section .text:
 #  GD -> IE because variable is not defined in executable where
 #  the variable is referenced through @gotntpoff too
  8049035:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- 804903b:	2b 83 10 00 00 00[ 	]+sub    0x10\(%ebx\),%eax
+ 804903b:	2b 83 dc ff ff ff[ 	]+sub    0xffffffdc\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	sG3
  8049041:	90[ 	]+nop *
  8049042:	90[ 	]+nop *
@@ -59,7 +59,7 @@ Disassembly of section .text:
 #  GD -> IE because variable is not defined in executable where
 #  the variable is referenced through @gottpoff and @gotntpoff too
  8049045:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- 804904b:	2b 83 20 00 00 00[ 	]+sub    0x20\(%ebx\),%eax
+ 804904b:	2b 83 ec ff ff ff[ 	]+sub    0xffffffec\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	sG4
  8049051:	90[ 	]+nop *
  8049052:	90[ 	]+nop *
@@ -67,7 +67,7 @@ Disassembly of section .text:
  8049054:	90[ 	]+nop *
 #  GD -> LE with global variable defined in executable
  8049055:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- 804905b:	81 e8 a0 00 00 00[ 	]+sub    \$0xa0,%eax
+ 804905b:	81 e8 00 10 00 00[ 	]+sub    \$0x1000,%eax
 #							sg1
  8049061:	90[ 	]+nop *
  8049062:	90[ 	]+nop *
@@ -75,7 +75,7 @@ Disassembly of section .text:
  8049064:	90[ 	]+nop *
 #  GD -> LE with local variable defined in executable
  8049065:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- 804906b:	81 e8 80 00 00 00[ 	]+sub    \$0x80,%eax
+ 804906b:	81 e8 e0 0f 00 00[ 	]+sub    \$0xfe0,%eax
 #							sl1
  8049071:	90[ 	]+nop *
  8049072:	90[ 	]+nop *
@@ -83,7 +83,7 @@ Disassembly of section .text:
  8049074:	90[ 	]+nop *
 #  GD -> LE with hidden variable defined in executable
  8049075:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
- 804907b:	81 e8 60 00 00 00[ 	]+sub    \$0x60,%eax
+ 804907b:	81 e8 c0 0f 00 00[ 	]+sub    \$0xfc0,%eax
 #							sh1
  8049081:	90[ 	]+nop *
  8049082:	90[ 	]+nop *
@@ -95,11 +95,11 @@ Disassembly of section .text:
  804908c:	8d 74 26 00[ 	]+lea    0x0\(%esi\),%esi
  8049090:	90[ 	]+nop *
  8049091:	90[ 	]+nop *
- 8049092:	8d 90 80 ff ff ff[ 	]+lea    0xffffff80\(%eax\),%edx
+ 8049092:	8d 90 20 f0 ff ff[ 	]+lea    0xfffff020\(%eax\),%edx
 #							sl1
  8049098:	90[ 	]+nop *
  8049099:	90[ 	]+nop *
- 804909a:	8d 88 84 ff ff ff[ 	]+lea    0xffffff84\(%eax\),%ecx
+ 804909a:	8d 88 24 f0 ff ff[ 	]+lea    0xfffff024\(%eax\),%ecx
 #							sl2
  80490a0:	90[ 	]+nop *
  80490a1:	90[ 	]+nop *
@@ -111,21 +111,21 @@ Disassembly of section .text:
  80490ab:	8d 74 26 00[ 	]+lea    0x0\(%esi\),%esi
  80490af:	90[ 	]+nop *
  80490b0:	90[ 	]+nop *
- 80490b1:	8d 90 a0 ff ff ff[ 	]+lea    0xffffffa0\(%eax\),%edx
+ 80490b1:	8d 90 40 f0 ff ff[ 	]+lea    0xfffff040\(%eax\),%edx
 #							sh1
  80490b7:	90[ 	]+nop *
  80490b8:	90[ 	]+nop *
- 80490b9:	8d 88 a4 ff ff ff[ 	]+lea    0xffffffa4\(%eax\),%ecx
+ 80490b9:	8d 88 44 f0 ff ff[ 	]+lea    0xfffff044\(%eax\),%ecx
 #							sh2
  80490bf:	90[ 	]+nop *
  80490c0:	90[ 	]+nop *
  80490c1:	90[ 	]+nop *
  80490c2:	90[ 	]+nop *
 #  @gottpoff IE against global var
- 80490c3:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ 80490c3:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  80490ca:	90[ 	]+nop *
  80490cb:	90[ 	]+nop *
- 80490cc:	2b 8b 1c 00 00 00[ 	]+sub    0x1c\(%ebx\),%ecx
+ 80490cc:	2b 8b e8 ff ff ff[ 	]+sub    0xffffffe8\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF32	sG2
  80490d2:	90[ 	]+nop *
  80490d3:	90[ 	]+nop *
@@ -135,17 +135,17 @@ Disassembly of section .text:
  80490d6:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  80490dc:	90[ 	]+nop *
  80490dd:	90[ 	]+nop *
- 80490de:	2b 83 20 00 00 00[ 	]+sub    0x20\(%ebx\),%eax
+ 80490de:	2b 83 ec ff ff ff[ 	]+sub    0xffffffec\(%ebx\),%eax
 #				->R_386_TLS_TPOFF32	sG4
  80490e4:	90[ 	]+nop *
  80490e5:	90[ 	]+nop *
  80490e6:	90[ 	]+nop *
  80490e7:	90[ 	]+nop *
 #  @gotntpoff IE against global var
- 80490e8:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ 80490e8:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  80490ef:	90[ 	]+nop *
  80490f0:	90[ 	]+nop *
- 80490f1:	03 8b 10 00 00 00[ 	]+add    0x10\(%ebx\),%ecx
+ 80490f1:	03 8b dc ff ff ff[ 	]+add    0xffffffdc\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF	sG3
  80490f7:	90[ 	]+nop *
  80490f8:	90[ 	]+nop *
@@ -155,37 +155,37 @@ Disassembly of section .text:
  80490fb:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  8049101:	90[ 	]+nop *
  8049102:	90[ 	]+nop *
- 8049103:	03 83 24 00 00 00[ 	]+add    0x24\(%ebx\),%eax
+ 8049103:	03 83 f0 ff ff ff[ 	]+add    0xfffffff0\(%ebx\),%eax
 #				->R_386_TLS_TPOFF	sG4
  8049109:	90[ 	]+nop *
  804910a:	90[ 	]+nop *
  804910b:	90[ 	]+nop *
  804910c:	90[ 	]+nop *
 #  @gottpoff IE -> LE against global var defined in exec
- 804910d:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ 804910d:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  8049114:	90[ 	]+nop *
  8049115:	90[ 	]+nop *
- 8049116:	81 e9 a0 00 00 00[ 	]+sub    \$0xa0,%ecx
+ 8049116:	81 e9 00 10 00 00[ 	]+sub    \$0x1000,%ecx
 #							sg1
  804911c:	90[ 	]+nop *
  804911d:	90[ 	]+nop *
  804911e:	90[ 	]+nop *
  804911f:	90[ 	]+nop *
 #  @gotntpoff IE -> LE against local var
- 8049120:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ 8049120:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  8049127:	90[ 	]+nop *
  8049128:	90[ 	]+nop *
- 8049129:	81 c0 80 ff ff ff[ 	]+add    \$0xffffff80,%eax
+ 8049129:	81 c0 20 f0 ff ff[ 	]+add    \$0xfffff020,%eax
 #							sl1
  804912f:	90[ 	]+nop *
  8049130:	90[ 	]+nop *
  8049131:	90[ 	]+nop *
  8049132:	90[ 	]+nop *
 #  @gottpoff IE -> LE against hidden var
- 8049133:	65 8b 0d 00 00 00 00 	mov    %gs:0x0,%ecx
+ 8049133:	65 8b 0d 00 00 00 00[ 	]+mov    %gs:0x0,%ecx
  804913a:	90[ 	]+nop *
  804913b:	90[ 	]+nop *
- 804913c:	81 e9 60 00 00 00[ 	]+sub    \$0x60,%ecx
+ 804913c:	81 e9 c0 0f 00 00[ 	]+sub    \$0xfc0,%ecx
 #							sh1
  8049142:	90[ 	]+nop *
  8049143:	90[ 	]+nop *
@@ -193,7 +193,7 @@ Disassembly of section .text:
  8049145:	90[ 	]+nop *
 #  Direct access through %gs
 #  @gotntpoff IE against global var
- 8049146:	8b 8b 14 00 00 00[ 	]+mov    0x14\(%ebx\),%ecx
+ 8049146:	8b 8b e0 ff ff ff[ 	]+mov    0xffffffe0\(%ebx\),%ecx
 #				->R_386_TLS_TPOFF	sG5
  804914c:	90[ 	]+nop *
  804914d:	90[ 	]+nop *
@@ -203,7 +203,7 @@ Disassembly of section .text:
  8049153:	90[ 	]+nop *
  8049154:	90[ 	]+nop *
 #  @gotntpoff IE->LE against local var
- 8049155:	c7 c0 90 ff ff ff[ 	]+mov    \$0xffffff90,%eax
+ 8049155:	c7 c0 30 f0 ff ff[ 	]+mov    \$0xfffff030,%eax
 #							sl5
  804915b:	90[ 	]+nop *
  804915c:	90[ 	]+nop *
@@ -213,7 +213,7 @@ Disassembly of section .text:
  8049162:	90[ 	]+nop *
  8049163:	90[ 	]+nop *
 #  @gotntpoff IE->LE against hidden var
- 8049164:	c7 c2 b0 ff ff ff[ 	]+mov    \$0xffffffb0,%edx
+ 8049164:	c7 c2 50 f0 ff ff[ 	]+mov    \$0xfffff050,%edx
 #							sh5
  804916a:	90[ 	]+nop *
  804916b:	90[ 	]+nop *
@@ -226,21 +226,21 @@ Disassembly of section .text:
  8049176:	c9[ 	]+leave *
  8049177:	c3[ 	]+ret *
 
-08049178 <_start>:
+0+8049178 <_start>:
  8049178:	55[ 	]+push   %ebp
  8049179:	89 e5[ 	]+mov    %esp,%ebp
  804917b:	e8 00 00 00 00[ 	]+call   8049180 <_start\+0x8>
  8049180:	59[ 	]+pop    %ecx
- 8049181:	81 c1 80 0f 00 00[ 	]+add    \$0xf80,%ecx
+ 8049181:	81 c1 a4 0f 00 00[ 	]+add    \$0xfa4,%ecx
  8049187:	90[ 	]+nop *
  8049188:	90[ 	]+nop *
  8049189:	90[ 	]+nop *
  804918a:	90[ 	]+nop *
 #  @gottpoff IE against global var
- 804918b:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
+ 804918b:	65 8b 15 00 00 00 00[ 	]+mov    %gs:0x0,%edx
  8049192:	90[ 	]+nop *
  8049193:	90[ 	]+nop *
- 8049194:	2b 91 28 00 00 00[ 	]+sub    0x28\(%ecx\),%edx
+ 8049194:	2b 91 f4 ff ff ff[ 	]+sub    0xfffffff4\(%ecx\),%edx
 #				->R_386_TLS_TPOFF32	sG6
  804919a:	90[ 	]+nop *
  804919b:	90[ 	]+nop *
@@ -250,14 +250,14 @@ Disassembly of section .text:
  804919e:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  80491a4:	90[ 	]+nop *
  80491a5:	90[ 	]+nop *
- 80491a6:	03 05 18 a1 04 08[ 	]+add    0x804a118,%eax
+ 80491a6:	03 05 08 a1 04 08[ 	]+add    0x804a108,%eax
 #				->R_386_TLS_TPOFF	sG7
  80491ac:	90[ 	]+nop *
  80491ad:	90[ 	]+nop *
  80491ae:	90[ 	]+nop *
  80491af:	90[ 	]+nop *
 #  @indntpoff direct %gs access IE against global var
- 80491b0:	8b 15 30 a1 04 08[ 	]+mov    0x804a130,%edx
+ 80491b0:	8b 15 20 a1 04 08[ 	]+mov    0x804a120,%edx
 #				->R_386_TLS_TPOFF	sG8
  80491b6:	90[ 	]+nop *
  80491b7:	90[ 	]+nop *
@@ -267,10 +267,10 @@ Disassembly of section .text:
  80491bd:	90[ 	]+nop *
  80491be:	90[ 	]+nop *
 #  @gottpoff IE -> LE against global var defined in exec
- 80491bf:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
+ 80491bf:	65 8b 15 00 00 00 00[ 	]+mov    %gs:0x0,%edx
  80491c6:	90[ 	]+nop *
  80491c7:	90[ 	]+nop *
- 80491c8:	81 ea 2c 00 00 00[ 	]+sub    \$0x2c,%edx
+ 80491c8:	81 ea 8c 0f 00 00[ 	]+sub    \$0xf8c,%edx
 #							bg6
  80491ce:	90[ 	]+nop *
  80491cf:	90[ 	]+nop *
@@ -280,7 +280,7 @@ Disassembly of section .text:
  80491d2:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  80491d8:	90[ 	]+nop *
  80491d9:	90[ 	]+nop *
- 80491da:	81 c0 d8 ff ff ff[ 	]+add    \$0xffffffd8,%eax
+ 80491da:	81 c0 78 f0 ff ff[ 	]+add    \$0xfffff078,%eax
 #							bg7
  80491e0:	90[ 	]+nop *
  80491e1:	90[ 	]+nop *
@@ -288,7 +288,7 @@ Disassembly of section .text:
  80491e3:	90[ 	]+nop *
 #  @indntpoff direct %gs access IE -> LE against global var defined
 #  in exec
- 80491e4:	c7 c2 dc ff ff ff[ 	]+mov    \$0xffffffdc,%edx
+ 80491e4:	c7 c2 7c f0 ff ff[ 	]+mov    \$0xfffff07c,%edx
 #							bg8
  80491ea:	90[ 	]+nop *
  80491eb:	90[ 	]+nop *
@@ -298,10 +298,10 @@ Disassembly of section .text:
  80491f1:	90[ 	]+nop *
  80491f2:	90[ 	]+nop *
 #  @gottpoff IE -> LE against local var
- 80491f3:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
+ 80491f3:	65 8b 15 00 00 00 00[ 	]+mov    %gs:0x0,%edx
  80491fa:	90[ 	]+nop *
  80491fb:	90[ 	]+nop *
- 80491fc:	81 ea 0c 00 00 00[ 	]+sub    \$0xc,%edx
+ 80491fc:	81 ea 6c 0f 00 00[ 	]+sub    \$0xf6c,%edx
 #							bl6
  8049202:	90[ 	]+nop *
  8049203:	90[ 	]+nop *
@@ -311,14 +311,14 @@ Disassembly of section .text:
  8049206:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  804920c:	90[ 	]+nop *
  804920d:	90[ 	]+nop *
- 804920e:	81 c0 f8 ff ff ff[ 	]+add    \$0xfffffff8,%eax
+ 804920e:	81 c0 98 f0 ff ff[ 	]+add    \$0xfffff098,%eax
 #							bl7
  8049214:	90[ 	]+nop *
  8049215:	90[ 	]+nop *
  8049216:	90[ 	]+nop *
  8049217:	90[ 	]+nop *
 #  @indntpoff direct %gs access IE -> LE against local var
- 8049218:	c7 c2 fc ff ff ff[ 	]+mov    \$0xfffffffc,%edx
+ 8049218:	c7 c2 9c f0 ff ff[ 	]+mov    \$0xfffff09c,%edx
 #							bl8
  804921e:	90[ 	]+nop *
  804921f:	90[ 	]+nop *
@@ -328,10 +328,10 @@ Disassembly of section .text:
  8049225:	90[ 	]+nop *
  8049226:	90[ 	]+nop *
 #  @gottpoff IE -> LE against hidden but not local var
- 8049227:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
+ 8049227:	65 8b 15 00 00 00 00[ 	]+mov    %gs:0x0,%edx
  804922e:	90[ 	]+nop *
  804922f:	90[ 	]+nop *
- 8049230:	81 ea 4c 00 00 00[ 	]+sub    \$0x4c,%edx
+ 8049230:	81 ea ac 0f 00 00[ 	]+sub    \$0xfac,%edx
 #							sh6
  8049236:	90[ 	]+nop *
  8049237:	90[ 	]+nop *
@@ -341,7 +341,7 @@ Disassembly of section .text:
  804923a:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  8049240:	90[ 	]+nop *
  8049241:	90[ 	]+nop *
- 8049242:	81 c0 b8 ff ff ff[ 	]+add    \$0xffffffb8,%eax
+ 8049242:	81 c0 58 f0 ff ff[ 	]+add    \$0xfffff058,%eax
 #							sh7
  8049248:	90[ 	]+nop *
  8049249:	90[ 	]+nop *
@@ -349,7 +349,7 @@ Disassembly of section .text:
  804924b:	90[ 	]+nop *
 #  @indntpoff direct %gs access IE -> LE against hidden but not
 #  local var
- 804924c:	c7 c2 bc ff ff ff[ 	]+mov    \$0xffffffbc,%edx
+ 804924c:	c7 c2 5c f0 ff ff[ 	]+mov    \$0xfffff05c,%edx
 #							sh8
  8049252:	90[ 	]+nop *
  8049253:	90[ 	]+nop *
@@ -359,7 +359,7 @@ Disassembly of section .text:
  8049259:	90[ 	]+nop *
  804925a:	90[ 	]+nop *
 #  LE @tpoff, global var defined in exec
- 804925b:	ba a0 00 00 00[ 	]+mov    \$0xa0,%edx
+ 804925b:	ba 00 10 00 00[ 	]+mov    \$0x1000,%edx
 #							sg1
  8049260:	90[ 	]+nop *
  8049261:	90[ 	]+nop *
@@ -372,11 +372,11 @@ Disassembly of section .text:
  804926e:	90[ 	]+nop *
  804926f:	90[ 	]+nop *
 #  LE @tpoff, local var
- 8049270:	b8 1f 00 00 00[ 	]+mov    \$0x1f,%eax
+ 8049270:	b8 7f 0f 00 00[ 	]+mov    \$0xf7f,%eax
 #							bl1+1
  8049275:	90[ 	]+nop *
  8049276:	90[ 	]+nop *
- 8049277:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
+ 8049277:	65 8b 15 00 00 00 00[ 	]+mov    %gs:0x0,%edx
  804927e:	90[ 	]+nop *
  804927f:	90[ 	]+nop *
  8049280:	29 c2[ 	]+sub    %eax,%edx
@@ -385,11 +385,11 @@ Disassembly of section .text:
  8049284:	90[ 	]+nop *
  8049285:	90[ 	]+nop *
 #  LE @tpoff, hidden var defined in exec
- 8049286:	b8 5d 00 00 00[ 	]+mov    \$0x5d,%eax
+ 8049286:	b8 bd 0f 00 00[ 	]+mov    \$0xfbd,%eax
 #							sh1+3
  804928b:	90[ 	]+nop *
  804928c:	90[ 	]+nop *
- 804928d:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
+ 804928d:	65 8b 15 00 00 00 00[ 	]+mov    %gs:0x0,%edx
  8049294:	90[ 	]+nop *
  8049295:	90[ 	]+nop *
  8049296:	29 c2[ 	]+sub    %eax,%edx
@@ -401,18 +401,18 @@ Disassembly of section .text:
  804929c:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
  80492a2:	90[ 	]+nop *
  80492a3:	90[ 	]+nop *
- 80492a4:	8d 90 64 ff ff ff[ 	]+lea    0xffffff64\(%eax\),%edx
+ 80492a4:	8d 90 04 f0 ff ff[ 	]+lea    0xfffff004\(%eax\),%edx
 #							sg2
  80492aa:	90[ 	]+nop *
  80492ab:	90[ 	]+nop *
  80492ac:	90[ 	]+nop *
  80492ad:	90[ 	]+nop *
 #  LE @ntpoff, local var, non-canonical sequence
- 80492ae:	b8 e6 ff ff ff[ 	]+mov    \$0xffffffe6,%eax
+ 80492ae:	b8 86 f0 ff ff[ 	]+mov    \$0xfffff086,%eax
 #							bl2+2
  80492b3:	90[ 	]+nop *
  80492b4:	90[ 	]+nop *
- 80492b5:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
+ 80492b5:	65 8b 15 00 00 00 00[ 	]+mov    %gs:0x0,%edx
  80492bc:	90[ 	]+nop *
  80492bd:	90[ 	]+nop *
  80492be:	01 c2[ 	]+add    %eax,%edx
@@ -421,31 +421,31 @@ Disassembly of section .text:
  80492c2:	90[ 	]+nop *
  80492c3:	90[ 	]+nop *
 #  LE @ntpoff, hidden var defined in exec, non-canonical sequence
- 80492c4:	65 8b 15 00 00 00 00 	mov    %gs:0x0,%edx
+ 80492c4:	65 8b 15 00 00 00 00[ 	]+mov    %gs:0x0,%edx
  80492cb:	90[ 	]+nop *
  80492cc:	90[ 	]+nop *
- 80492cd:	81 c2 a5 ff ff ff[ 	]+add    \$0xffffffa5,%edx
+ 80492cd:	81 c2 45 f0 ff ff[ 	]+add    \$0xfffff045,%edx
 #							sh2+1
  80492d3:	90[ 	]+nop *
  80492d4:	90[ 	]+nop *
  80492d5:	90[ 	]+nop *
  80492d6:	90[ 	]+nop *
 #  LE @ntpoff, global var defined in exec
- 80492d7:	65 a1 68 ff ff ff[ 	]+mov    %gs:0xffffff68,%eax
+ 80492d7:	65 a1 08 f0 ff ff[ 	]+mov    %gs:0xfffff008,%eax
 #							sg3
  80492dd:	90[ 	]+nop *
  80492de:	90[ 	]+nop *
  80492df:	90[ 	]+nop *
  80492e0:	90[ 	]+nop *
 #  LE @ntpoff, local var
- 80492e1:	65 8b 15 eb ff ff ff 	mov    %gs:0xffffffeb,%edx
+ 80492e1:	65 8b 15 8b f0 ff ff[ 	]+mov    %gs:0xfffff08b,%edx
 #							bl3+3
  80492e8:	90[ 	]+nop *
  80492e9:	90[ 	]+nop *
  80492ea:	90[ 	]+nop *
  80492eb:	90[ 	]+nop *
 #  LE @ntpoff, hidden var defined in exec
- 80492ec:	65 8b 15 a9 ff ff ff 	mov    %gs:0xffffffa9,%edx
+ 80492ec:	65 8b 15 49 f0 ff ff[ 	]+mov    %gs:0xfffff049,%edx
 #							sh3+1
  80492f3:	90[ 	]+nop *
  80492f4:	90[ 	]+nop *
--- ld/testsuite/ld-i386/tlsnopic1.s.jj	2004-05-05 14:55:02.382199201 +0200
+++ ld/testsuite/ld-i386/tlsnopic1.s	2004-05-06 14:08:34.090892400 +0200
@@ -1,4 +1,4 @@
-	.data
+	.section ".data.rel.ro", "aw", @progbits
 	/* Align, so that .got is likely at address 0x2080.  */
 	.balign	4096
 	.section ".tbss", "awT", @nobits
--- ld/testsuite/ld-i386/tlsnopic.sd.jj	2004-05-05 14:55:02.389197947 +0200
+++ ld/testsuite/ld-i386/tlsnopic.sd	2004-05-06 14:08:34.091892220 +0200
@@ -8,6 +8,5 @@
 .*:     file format elf32-i386
 
 Contents of section \.got:
- 2080 [0-9a-f]+ 00000000 00000000 00000000  .*
- 2090 04000000 00000000 00000000 14000000  .*
- 20a0 18000000  +.*
+ 2080 00000000 04000000 00000000 00000000  .*
+ 2090 14000000 18000000  +.*
--- ld/testsuite/ld-i386/tlsbin.sd.jj	2004-05-05 14:55:02.372200993 +0200
+++ ld/testsuite/ld-i386/tlsbin.sd	2004-05-06 14:08:34.089892579 +0200
@@ -10,5 +10,4 @@
 Contents of section \.got:
  804a100 [0-9a-f]+ 00000000 00000000 [0-9a-f]+  .*
  804a110 00000000 00000000 00000000 00000000  .*
- 804a120 00000000 00000000 00000000 00000000  .*
- 804a130 00000000  +.*
+ 804a120 00000000  +.*
--- ld/testsuite/ld-i386/tlspic.sd.jj	2004-05-05 14:55:02.410194184 +0200
+++ ld/testsuite/ld-i386/tlspic.sd	2004-05-06 14:08:34.095891504 +0200
@@ -8,7 +8,6 @@
 .*:     file format elf32-i386
 
 Contents of section \.got:
- [0-9a-f]+ [0-9a-f]+ 00000000 00000000 [0-9a-f]+  .*
  [0-9a-f]+ 00000000 20000000 dcffffff 28000000  .*
  [0-9a-f]+ d4ffffff 2c000000 30000000 00000000  .*
  [0-9a-f]+ 00000000 00000000 60000000 00000000  .*
--- ld/testsuite/ld-i386/tlsbin.rd.jj	2004-05-05 14:55:02.393197230 +0200
+++ ld/testsuite/ld-i386/tlsbin.rd	2004-05-06 14:08:34.092892041 +0200
@@ -5,7 +5,7 @@
 #readelf: -Ssrl
 #target: i?86-*-*
 
-There are 18 section headers, starting at offset 0x[0-9a-f]+:
+There are 19 section headers, starting at offset 0x[0-9a-f]+:
 
 Section Headers:
   \[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al
@@ -18,15 +18,16 @@ Section Headers:
   \[ 6\] \.rel.plt +.*
   \[ 7\] \.plt +.*
   \[ 8\] \.text +PROGBITS +0+8049000 .*
-  \[ 9\] \.data +.*
-  \[10\] .tdata +PROGBITS +0+804a000 [0-9a-f]+ 000060 00 WAT  0   0  1
-  \[11\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000040 00 WAT  0   0  1
-  \[12\] \.dynamic +DYNAMIC +0+804a060 .*
-  \[13\] \.got +PROGBITS +0+804a100 .*
-  \[14\] \.bss +.*
-  \[15\] \.shstrtab +.*
-  \[16\] \.symtab +.*
-  \[17\] \.strtab +.*
+  \[ 9\] \.tdata +PROGBITS +0+804a000 [0-9a-f]+ 000060 00 WAT  0   0 4096
+  \[10\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000040 00 WAT  0   0  1
+  \[11\] \.dynamic +DYNAMIC +0+804a060 .*
+  \[12\] \.got +PROGBITS +0+804a100 .*
+  \[13\] \.got\.plt +PROGBITS +0+804a124 .*
+  \[14\] \.data +.*
+  \[15\] \.bss +.*
+  \[16\] \.shstrtab +.*
+  \[17\] \.symtab +.*
+  \[18\] \.strtab +.*
 Key to Flags:
 .*
 .*
@@ -44,124 +45,125 @@ Program Headers:
   LOAD.*
   LOAD.*
   DYNAMIC.*
-  TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1
+  TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
 
  Section to Segment mapping:
   Segment Sections...
    00 +
    01 +.interp *
    02 +.interp .hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
-   03 +.tdata .tbss .dynamic .got *
+   03 +.tdata .tbss .dynamic .got .got.plt *
    04 +.tbss .dynamic *
    05 +.tdata .tbss *
 
 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
  Offset +Info +Type +Sym.Value +Sym. Name
-0+804a110  0000010e R_386_TLS_TPOFF +0+ +sG3
-0+804a114  0000020e R_386_TLS_TPOFF +0+ +sG5
-0+804a118  0000040e R_386_TLS_TPOFF +0+ +sG7
-0+804a11c  00000525 R_386_TLS_TPOFF32 0+ +sG2
-0+804a120  00000625 R_386_TLS_TPOFF32 0+ +sG4
-0+804a124  0000060e R_386_TLS_TPOFF +0+ +sG4
-0+804a128  00000825 R_386_TLS_TPOFF32 0+ +sG6
-0+804a12c  00000925 R_386_TLS_TPOFF32 0+ +sG1
-0+804a130  00000d0e R_386_TLS_TPOFF +0+ +sG8
+0+804a100  0000010e R_386_TLS_TPOFF +0+ +sG3
+0+804a104  0000020e R_386_TLS_TPOFF +0+ +sG5
+0+804a108  0000040e R_386_TLS_TPOFF +0+ +sG7
+0+804a10c  00000525 R_386_TLS_TPOFF32 0+ +sG2
+0+804a110  00000625 R_386_TLS_TPOFF32 0+ +sG4
+0+804a114  0000060e R_386_TLS_TPOFF +0+ +sG4
+0+804a118  00000825 R_386_TLS_TPOFF32 0+ +sG6
+0+804a11c  00000925 R_386_TLS_TPOFF32 0+ +sG1
+0+804a120  00000d0e R_386_TLS_TPOFF +0+ +sG8
 
 Relocation section '.rel.plt' at offset 0x30c contains 1 entries:
  Offset +Info +Type +Sym.Value  Sym. Name
-0+804a10c  00000e07 R_386_JUMP_SLOT +[0-9a-f]+ +___tls_get_addr
+0+804a130  00000e07 R_386_JUMP_SLOT +[0-9a-f]+ +___tls_get_addr
 
 Symbol table '.dynsym' contains 15 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
- +2: 0+ +0 TLS +GLOBAL DEFAULT  UND sG5
- +3: 0+804a060 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +4: 0+ +0 TLS +GLOBAL DEFAULT  UND sG7
- +5: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
- +6: 0+ +0 TLS +GLOBAL DEFAULT  UND sG4
- +7: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +8: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
- +9: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
- +10: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +11: 0+804a100 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +12: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
- +13: 0+ +0 TLS +GLOBAL DEFAULT  UND sG8
- +14: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND ___tls_get_addr
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG5
+ +[0-9]+: 0+804a060 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG7
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG4
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG8
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND ___tls_get_addr
 
-Symbol table '.symtab' contains 74 entries:
+Symbol table '.symtab' contains 75 entries:
  +Num: +Value  Size Type +Bind +Vis +Ndx Name
- +0: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
- +1: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
- +2: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
- +3: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
- +4: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
- +5: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
- +6: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
- +7: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
- +8: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
- +9: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
- +10: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
- +11: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
- +12: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
- +13: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
- +14: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
- +15: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
- +16: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 *
- +17: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 *
- +18: 00000020 +0 TLS +LOCAL  DEFAULT +10 sl1
- +19: 00000024 +0 TLS +LOCAL  DEFAULT +10 sl2
- +20: 00000028 +0 TLS +LOCAL  DEFAULT +10 sl3
- +21: 0000002c +0 TLS +LOCAL  DEFAULT +10 sl4
- +22: 00000030 +0 TLS +LOCAL  DEFAULT +10 sl5
- +23: 00000034 +0 TLS +LOCAL  DEFAULT +10 sl6
- +24: 00000038 +0 TLS +LOCAL  DEFAULT +10 sl7
- +25: 0000003c +0 TLS +LOCAL  DEFAULT +10 sl8
- +26: 00000080 +0 TLS +LOCAL  DEFAULT +11 bl1
- +27: 00000084 +0 TLS +LOCAL  DEFAULT +11 bl2
- +28: 00000088 +0 TLS +LOCAL  DEFAULT +11 bl3
- +29: 0000008c +0 TLS +LOCAL  DEFAULT +11 bl4
- +30: 00000090 +0 TLS +LOCAL  DEFAULT +11 bl5
- +31: 00000094 +0 TLS +LOCAL  DEFAULT +11 bl6
- +32: 00000098 +0 TLS +LOCAL  DEFAULT +11 bl7
- +33: 0000009c +0 TLS +LOCAL  DEFAULT +11 bl8
- +34: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
- +35: 0000001c +0 TLS +GLOBAL DEFAULT +10 sg8
- +36: 0000007c +0 TLS +GLOBAL DEFAULT +11 bg8
- +37: 00000074 +0 TLS +GLOBAL DEFAULT +11 bg6
- +38: 0+ +0 TLS +GLOBAL DEFAULT  UND sG5
- +39: 00000068 +0 TLS +GLOBAL DEFAULT +11 bg3
- +40: 0+804a060 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
- +41: 00000008 +0 TLS +GLOBAL DEFAULT +10 sg3
- +42: 0+ +0 TLS +GLOBAL DEFAULT  UND sG7
- +43: 00000048 +0 TLS +GLOBAL HIDDEN +10 sh3
- +44: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
- +45: 0000000c +0 TLS +GLOBAL DEFAULT +10 sg4
- +46: 0+ +0 TLS +GLOBAL DEFAULT  UND sG4
- +47: 00000010 +0 TLS +GLOBAL DEFAULT +10 sg5
- +48: 00000070 +0 TLS +GLOBAL DEFAULT +11 bg5
- +49: 00000058 +0 TLS +GLOBAL HIDDEN +10 sh7
- +50: 0000005c +0 TLS +GLOBAL HIDDEN +10 sh8
- +51: 0+ +0 TLS +GLOBAL DEFAULT +10 sg1
- +52: 0+8049178 +0 FUNC +GLOBAL DEFAULT +8 _start
- +53: 0000004c +0 TLS +GLOBAL HIDDEN +10 sh4
- +54: 00000078 +0 TLS +GLOBAL DEFAULT +11 bg7
- +55: 00000050 +0 TLS +GLOBAL HIDDEN +10 sh5
- +56: 0+804a134 +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
- +57: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
- +58: 0+8049000 +0 FUNC +GLOBAL DEFAULT +8 fn2
- +59: 00000004 +0 TLS +GLOBAL DEFAULT +10 sg2
- +60: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
- +61: 00000040 +0 TLS +GLOBAL HIDDEN +10 sh1
- +62: 00000014 +0 TLS +GLOBAL DEFAULT +10 sg6
- +63: 00000018 +0 TLS +GLOBAL DEFAULT +10 sg7
- +64: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
- +65: 0+804a100 +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
- +66: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
- +67: 00000044 +0 TLS +GLOBAL HIDDEN +10 sh2
- +68: 00000054 +0 TLS +GLOBAL HIDDEN +10 sh6
- +69: 0+ +0 TLS +GLOBAL DEFAULT  UND sG8
- +70: 00000064 +0 TLS +GLOBAL DEFAULT +11 bg2
- +71: 00000060 +0 TLS +GLOBAL DEFAULT +11 bg1
- +72: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND ___tls_get_addr
- +73: 0000006c +0 TLS +GLOBAL DEFAULT +11 bg4
+ +[0-9]+: 0+ +0 NOTYPE  LOCAL  DEFAULT  UND *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +1 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +2 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +3 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +4 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +5 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +6 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +7 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +8 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +9 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +10 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +11 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +12 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +14 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +15 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +16 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +17 *
+ +[0-9]+: [0-9a-f]+ +0 SECTION LOCAL  DEFAULT +18 *
+ +[0-9]+: 00000020 +0 TLS +LOCAL  DEFAULT +9 sl1
+ +[0-9]+: 00000024 +0 TLS +LOCAL  DEFAULT +9 sl2
+ +[0-9]+: 00000028 +0 TLS +LOCAL  DEFAULT +9 sl3
+ +[0-9]+: 0000002c +0 TLS +LOCAL  DEFAULT +9 sl4
+ +[0-9]+: 00000030 +0 TLS +LOCAL  DEFAULT +9 sl5
+ +[0-9]+: 00000034 +0 TLS +LOCAL  DEFAULT +9 sl6
+ +[0-9]+: 00000038 +0 TLS +LOCAL  DEFAULT +9 sl7
+ +[0-9]+: 0000003c +0 TLS +LOCAL  DEFAULT +9 sl8
+ +[0-9]+: 00000080 +0 TLS +LOCAL  DEFAULT +10 bl1
+ +[0-9]+: 00000084 +0 TLS +LOCAL  DEFAULT +10 bl2
+ +[0-9]+: 00000088 +0 TLS +LOCAL  DEFAULT +10 bl3
+ +[0-9]+: 0000008c +0 TLS +LOCAL  DEFAULT +10 bl4
+ +[0-9]+: 00000090 +0 TLS +LOCAL  DEFAULT +10 bl5
+ +[0-9]+: 00000094 +0 TLS +LOCAL  DEFAULT +10 bl6
+ +[0-9]+: 00000098 +0 TLS +LOCAL  DEFAULT +10 bl7
+ +[0-9]+: 0000009c +0 TLS +LOCAL  DEFAULT +10 bl8
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG3
+ +[0-9]+: 0000001c +0 TLS +GLOBAL DEFAULT +9 sg8
+ +[0-9]+: 0000007c +0 TLS +GLOBAL DEFAULT +10 bg8
+ +[0-9]+: 00000074 +0 TLS +GLOBAL DEFAULT +10 bg6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG5
+ +[0-9]+: 00000068 +0 TLS +GLOBAL DEFAULT +10 bg3
+ +[0-9]+: 0+804a060 +0 OBJECT  GLOBAL DEFAULT  ABS _DYNAMIC
+ +[0-9]+: 00000008 +0 TLS +GLOBAL DEFAULT +9 sg3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG7
+ +[0-9]+: 00000048 +0 TLS +GLOBAL HIDDEN +9 sh3
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG2
+ +[0-9]+: 0000000c +0 TLS +GLOBAL DEFAULT +9 sg4
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG4
+ +[0-9]+: 00000010 +0 TLS +GLOBAL DEFAULT +9 sg5
+ +[0-9]+: 00000070 +0 TLS +GLOBAL DEFAULT +10 bg5
+ +[0-9]+: 00000058 +0 TLS +GLOBAL HIDDEN +9 sh7
+ +[0-9]+: 0000005c +0 TLS +GLOBAL HIDDEN +9 sh8
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT +9 sg1
+ +[0-9]+: 0+8049178 +0 FUNC +GLOBAL DEFAULT +8 _start
+ +[0-9]+: 0000004c +0 TLS +GLOBAL HIDDEN +9 sh4
+ +[0-9]+: 00000078 +0 TLS +GLOBAL DEFAULT +10 bg7
+ +[0-9]+: 00000050 +0 TLS +GLOBAL HIDDEN +9 sh5
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG6
+ +[0-9]+: 0+8049000 +0 FUNC +GLOBAL DEFAULT +8 fn2
+ +[0-9]+: 00000004 +0 TLS +GLOBAL DEFAULT +9 sg2
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG1
+ +[0-9]+: 00000040 +0 TLS +GLOBAL HIDDEN +9 sh1
+ +[0-9]+: 00000014 +0 TLS +GLOBAL DEFAULT +9 sg6
+ +[0-9]+: 00000018 +0 TLS +GLOBAL DEFAULT +9 sg7
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _edata
+ +[0-9]+: [0-9a-f]+ +0 OBJECT  GLOBAL DEFAULT  ABS _GLOBAL_OFFSET_TABLE_
+ +[0-9]+: [0-9a-f]+ +0 NOTYPE  GLOBAL DEFAULT  ABS _end
+ +[0-9]+: 00000044 +0 TLS +GLOBAL HIDDEN +9 sh2
+ +[0-9]+: 00000054 +0 TLS +GLOBAL HIDDEN +9 sh6
+ +[0-9]+: 0+ +0 TLS +GLOBAL DEFAULT  UND sG8
+ +[0-9]+: 00000064 +0 TLS +GLOBAL DEFAULT +10 bg2
+ +[0-9]+: 00000060 +0 TLS +GLOBAL DEFAULT +10 bg1
+ +[0-9]+: [0-9a-f]+ +0 FUNC +GLOBAL DEFAULT  UND ___tls_get_addr
+ +[0-9]+: 0000006c +0 TLS +GLOBAL DEFAULT +10 bg4
--- ld/testsuite/ld-i386/tlsnopic.dd.jj	2004-05-05 14:55:02.396196693 +0200
+++ ld/testsuite/ld-i386/tlsnopic.dd	2004-05-06 14:08:34.093891862 +0200
@@ -16,14 +16,14 @@ Disassembly of section .text:
     1003:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
     1009:	90[ 	]+nop *
     100a:	90[ 	]+nop *
-    100b:	03 05 94 20 00 00[ 	]+add    0x2094,%eax
+    100b:	03 05 88 20 00 00[ 	]+add    0x2088,%eax
 #				->R_386_TLS_TPOFF	sg1
     1011:	90[ 	]+nop *
     1012:	90[ 	]+nop *
     1013:	90[ 	]+nop *
     1014:	90[ 	]+nop *
 #  @indntpoff direct %gs access IE against global var
-    1015:	8b 15 98 20 00 00[ 	]+mov    0x2098,%edx
+    1015:	8b 15 8c 20 00 00[ 	]+mov    0x208c,%edx
 #				->R_386_TLS_TPOFF	sg2
     101b:	90[ 	]+nop *
     101c:	90[ 	]+nop *
@@ -36,14 +36,14 @@ Disassembly of section .text:
     1024:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
     102a:	90[ 	]+nop *
     102b:	90[ 	]+nop *
-    102c:	03 05 9c 20 00 00[ 	]+add    0x209c,%eax
+    102c:	03 05 90 20 00 00[ 	]+add    0x2090,%eax
 #				->R_386_TLS_TPOFF	[0x14000000]
     1032:	90[ 	]+nop *
     1033:	90[ 	]+nop *
     1034:	90[ 	]+nop *
     1035:	90[ 	]+nop *
 #  @indntpoff direct %gs access IE against hidden var
-    1036:	8b 15 a0 20 00 00[ 	]+mov    0x20a0,%edx
+    1036:	8b 15 94 20 00 00[ 	]+mov    0x2094,%edx
 #				->R_386_TLS_TPOFF	[0x18000000]
     103c:	90[ 	]+nop *
     103d:	90[ 	]+nop *
@@ -56,14 +56,14 @@ Disassembly of section .text:
     1045:	65 a1 00 00 00 00[ 	]+mov    %gs:0x0,%eax
     104b:	90[ 	]+nop *
     104c:	90[ 	]+nop *
-    104d:	03 05 8c 20 00 00[ 	]+add    0x208c,%eax
+    104d:	03 05 80 20 00 00[ 	]+add    0x2080,%eax
 #				->R_386_TLS_TPOFF	[0x00000000]
     1053:	90[ 	]+nop *
     1054:	90[ 	]+nop *
     1055:	90[ 	]+nop *
     1056:	90[ 	]+nop *
 #  @indntpoff direct %gs access IE against local var
-    1057:	8b 15 90 20 00 00[ 	]+mov    0x2090,%edx
+    1057:	8b 15 84 20 00 00[ 	]+mov    0x2084,%edx
 #				->R_386_TLS_TPOFF	[0x04000000]
     105d:	90[ 	]+nop *
     105e:	90[ 	]+nop *
--- ld/testsuite/ld-i386/combreloc.d.jj	2004-05-05 14:55:02.375200456 +0200
+++ ld/testsuite/ld-i386/combreloc.d	2004-05-06 14:08:34.089892579 +0200
@@ -8,10 +8,10 @@
 
 Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
  Offset     Info    Type            Sym.Value  Sym. Name
+[0-9a-f]+  [0-9a-f]+06 R_386_GLOB_DAT    [0-9a-f]+   _start
 [0-9a-f]+  [0-9a-f]+01 R_386_32          [0-9a-f]+   _start
 [0-9a-f]+  [0-9a-f]+01 R_386_32          [0-9a-f]+   _start
 [0-9a-f]+  [0-9a-f]+01 R_386_32          [0-9a-f]+   _start
-[0-9a-f]+  [0-9a-f]+06 R_386_GLOB_DAT    [0-9a-f]+   _start
 
 Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
  Offset     Info    Type            Sym.Value  Sym. Name
--- ld/testsuite/ld-elfvsb/elfvsb.exp.jj	2004-05-05 14:55:02.414193468 +0200
+++ ld/testsuite/ld-elfvsb/elfvsb.exp	2004-05-06 14:08:34.096891325 +0200
@@ -292,6 +292,7 @@ proc visibility_run {visibility} {
 		 || [ string match $visibility "protected_weak" ]
 		 || [ string match $visibility "normal" ] } {
 		setup_xfail "powerpc-*-linux*"
+		setup_xfail "s390x-*-linux*"
 		if { [istarget sparc*-*-linux*] && [is_elf64 $tmpdir/mainnp.o] } {
 		    setup_xfail "sparc*-*-linux*"
 		}
--- bfd/elf-bfd.h.jj	2004-05-05 14:55:02.000000000 +0200
+++ bfd/elf-bfd.h	2004-05-06 14:08:34.111888637 +0200
@@ -1211,6 +1211,9 @@ struct elf_obj_tdata
   /* Segment flags for the PT_GNU_STACK segment.  */
   unsigned int stack_flags;  
 
+  /* Should the PT_GNU_RELRO segment be emitted?  */
+  bfd_boolean relro;
+
   /* Symbol version definitions in external objects.  */
   Elf_Internal_Verdef *verdef;
 
--- bfd/elf64-x86-64.c.jj	2004-05-05 14:55:02.424191676 +0200
+++ bfd/elf64-x86-64.c	2004-05-06 14:08:34.107889354 +0200
@@ -1911,9 +1911,11 @@ elf64_x86_64_relocate_section (bfd *outp
 	  if (off >= (bfd_vma) -2)
 	    abort ();
 
-	  relocation = htab->sgot->output_offset + off;
-	  if (r_type == R_X86_64_GOTPCREL)
-	    relocation += htab->sgot->output_section->vma;
+	  relocation = htab->sgot->output_section->vma
+		       + htab->sgot->output_offset + off;
+	  if (r_type != R_X86_64_GOTPCREL)
+	    relocation -= htab->sgotplt->output_section->vma
+			  - htab->sgotplt->output_offset;
 
 	  break;
 
@@ -2664,7 +2666,8 @@ elf64_x86_64_finish_dynamic_sections (bf
 	      continue;
 
 	    case DT_PLTGOT:
-	      dyn.d_un.d_ptr = htab->sgot->output_section->vma;
+	      s = htab->sgotplt;
+	      dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
 	      break;
 
 	    case DT_JMPREL:
@@ -2755,6 +2758,10 @@ elf64_x86_64_finish_dynamic_sections (bf
 	GOT_ENTRY_SIZE;
     }
 
+  if (htab->sgot && htab->sgot->_raw_size > 0)
+    elf_section_data (htab->sgot->output_section)->this_hdr.sh_entsize
+      = GOT_ENTRY_SIZE;
+
   return TRUE;
 }
 
--- bfd/elf.c.jj	2004-05-05 14:55:02.417192930 +0200
+++ bfd/elf.c	2004-05-06 14:08:34.100890608 +0200
@@ -974,6 +974,7 @@ _bfd_elf_print_private_bfd_data (bfd *ab
 	    case PT_TLS: pt = "TLS"; break;
 	    case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
 	    case PT_GNU_STACK: pt = "STACK"; break;
+	    case PT_GNU_RELRO: pt = "RELRO"; break;
 	    default: sprintf (buf, "0x%lx", p->p_type); pt = buf; break;
 	    }
 	  fprintf (f, "%8s off    0x", pt);
@@ -2300,6 +2301,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_In
     case PT_GNU_STACK:
       return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "stack");
 
+    case PT_GNU_RELRO:
+      return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "relro");
+
     default:
       /* Check for any processor-specific program segment types.
          If no handler for them, default to making "segment" sections.  */
@@ -3547,6 +3551,21 @@ map_sections_to_segments (bfd *abfd)
       pm = &m->next;
     }
 
+  if (elf_tdata (abfd)->relro)
+    {
+      amt = sizeof (struct elf_segment_map);
+      m = bfd_zalloc (abfd, amt);
+      if (m == NULL)
+	goto error_return;
+      m->next = NULL;
+      m->p_type = PT_GNU_RELRO;
+      m->p_flags = PF_R;
+      m->p_flags_valid = 1;
+
+      *pm = m;
+      pm = &m->next;
+    }
+
   free (sections);
   sections = NULL;
 
@@ -4081,6 +4100,37 @@ Error: First section in segment (%s) sta
 	      if (! m->p_paddr_valid)
 		p->p_paddr = phdrs_paddr;
 	    }
+	  else if (p->p_type == PT_GNU_RELRO)
+	    {
+	      Elf_Internal_Phdr *lp;
+
+	      for (lp = phdrs; lp < phdrs + count; ++lp)
+		{
+		  if (lp->p_type == PT_LOAD
+		      && lp->p_vaddr <= link_info->relro_end
+		      && lp->p_vaddr >= link_info->relro_start
+		      && lp->p_vaddr + lp->p_filesz
+			 >= link_info->relro_end)
+		    break;
+		}
+
+	      if (lp < phdrs + count
+		  && link_info->relro_end > lp->p_vaddr)
+		{
+		  p->p_vaddr = lp->p_vaddr;
+		  p->p_paddr = lp->p_paddr;
+		  p->p_offset = lp->p_offset;
+		  p->p_filesz = link_info->relro_end - lp->p_vaddr;
+		  p->p_memsz = p->p_filesz;
+		  p->p_align = 1;
+		  p->p_flags = (lp->p_flags & ~PF_W);
+		}
+	      else
+		{
+		  memset (p, 0, sizeof *p);
+		  p->p_type = PT_NULL;
+		}
+	    }
 	}
     }
 
@@ -4168,6 +4218,12 @@ get_program_header_size (bfd *abfd)
       ++segs;
     }
 
+  if (elf_tdata (abfd)->relro)
+    {
+      /* We need a PT_GNU_RELRO segment.  */
+      ++segs;
+    }
+
   for (s = abfd->sections; s != NULL; s = s->next)
     {
       if ((s->flags & SEC_LOAD) != 0
--- bfd/elf32-i386.c.jj	2004-05-05 14:55:02.428190959 +0200
+++ bfd/elf32-i386.c	2004-05-06 14:08:34.110888816 +0200
@@ -2261,24 +2261,29 @@ elf_i386_relocate_section (bfd *output_b
 	  if (off >= (bfd_vma) -2)
 	    abort ();
 
-	  relocation = htab->sgot->output_offset + off;
+	  relocation = htab->sgot->output_section->vma
+		       + htab->sgot->output_offset + off
+		       - htab->sgotplt->output_section->vma
+		       - htab->sgotplt->output_offset;
 	  break;
 
 	case R_386_GOTOFF:
 	  /* Relocation is relative to the start of the global offset
 	     table.  */
 
-	  /* Note that sgot->output_offset is not involved in this
-	     calculation.  We always want the start of .got.  If we
-	     defined _GLOBAL_OFFSET_TABLE in a different way, as is
+	  /* Note that sgot is not involved in this
+	     calculation.  We always want the start of .got.plt.  If we
+	     defined _GLOBAL_OFFSET_TABLE_ in a different way, as is
 	     permitted by the ABI, we might have to change this
 	     calculation.  */
-	  relocation -= htab->sgot->output_section->vma;
+	  relocation -= htab->sgotplt->output_section->vma
+			+ htab->sgotplt->output_offset;
 	  break;
 
 	case R_386_GOTPC:
 	  /* Use global offset table as symbol value.  */
-	  relocation = htab->sgot->output_section->vma;
+	  relocation = htab->sgotplt->output_section->vma
+		       + htab->sgotplt->output_offset;
 	  unresolved_reloc = FALSE;
 	  break;
 
@@ -2699,12 +2704,15 @@ elf_i386_relocate_section (bfd *output_b
 	    abort ();
 	  if (r_type == ELF32_R_TYPE (rel->r_info))
 	    {
-	      relocation = htab->sgot->output_offset + off;
+	      bfd_vma g_o_t = htab->sgotplt->output_section->vma
+			      + htab->sgotplt->output_offset;
+	      relocation = htab->sgot->output_section->vma
+			   + htab->sgot->output_offset + off - g_o_t;
 	      if ((r_type == R_386_TLS_IE || r_type == R_386_TLS_GOTIE)
 		  && tls_type == GOT_TLS_IE_BOTH)
 		relocation += 4;
 	      if (r_type == R_386_TLS_IE)
-		relocation += htab->sgot->output_section->vma;
+		relocation += g_o_t;
 	      unresolved_reloc = FALSE;
 	    }
 	  else
@@ -2761,7 +2769,11 @@ elf_i386_relocate_section (bfd *output_b
 		  if (tls_type == GOT_TLS_IE_BOTH)
 		    off += 4;
 		}
-	      bfd_put_32 (output_bfd, htab->sgot->output_offset + off,
+	      bfd_put_32 (output_bfd,
+			  htab->sgot->output_section->vma
+			  + htab->sgot->output_offset + off
+			  - htab->sgotplt->output_section->vma
+			  - htab->sgotplt->output_offset,
 			  contents + roff + 8);
 	      /* Skip R_386_PLT32.  */
 	      rel++;
@@ -2823,7 +2835,10 @@ elf_i386_relocate_section (bfd *output_b
 	      bfd_elf32_swap_reloc_out (output_bfd, &outrel, loc);
 	      htab->tls_ldm_got.offset |= 1;
 	    }
-	  relocation = htab->sgot->output_offset + off;
+	  relocation = htab->sgot->output_section->vma
+		       + htab->sgot->output_offset + off
+		       - htab->sgotplt->output_section->vma
+		       - htab->sgotplt->output_offset;
 	  unresolved_reloc = FALSE;
 	  break;
 
@@ -3159,7 +3174,8 @@ elf_i386_finish_dynamic_sections (bfd *o
 	      continue;
 
 	    case DT_PLTGOT:
-	      dyn.d_un.d_ptr = htab->sgot->output_section->vma;
+	      s = htab->sgotplt;
+	      dyn.d_un.d_ptr = s->output_section->vma + s->output_offset;
 	      break;
 
 	    case DT_JMPREL:
@@ -3245,6 +3261,10 @@ elf_i386_finish_dynamic_sections (bfd *o
 
       elf_section_data (htab->sgotplt->output_section)->this_hdr.sh_entsize = 4;
     }
+
+  if (htab->sgot && htab->sgot->_raw_size > 0)
+    elf_section_data (htab->sgot->output_section)->this_hdr.sh_entsize = 4;
+
   return TRUE;
 }
 
--- bfd/elflink.c.jj	2004-05-05 14:55:02.421192213 +0200
+++ bfd/elflink.c	2004-05-06 14:08:34.105889712 +0200
@@ -622,8 +622,36 @@ _bfd_elf_link_renumber_dynsyms (bfd *out
     {
       asection *p;
       for (p = output_bfd->sections; p ; p = p->next)
-	if ((p->flags & SEC_EXCLUDE) == 0)
-	  elf_section_data (p)->dynindx = ++dynsymcount;
+	if ((p->flags & SEC_EXCLUDE) == 0
+	    && (p->flags & SEC_ALLOC) != 0)
+	  switch (elf_section_data (p)->this_hdr.sh_type)
+	    {
+	    case SHT_PROGBITS:
+	    case SHT_NOBITS:
+	      /* If sh_type is yet undecided, assume it could be
+		 SHT_PROGBITS/SHT_NOBITS.  */
+	    case SHT_NULL:
+	      if (strcmp (p->name, ".got") == 0
+		  || strcmp (p->name, ".got.plt") == 0
+		  || strcmp (p->name, ".plt") == 0)
+		{
+		  asection *ip;
+		  bfd *dynobj = elf_hash_table (info)->dynobj;
+
+		  if (dynobj != NULL
+		      && (ip = bfd_get_section_by_name (dynobj, p->name))
+			 != NULL
+		      && (ip->flags & SEC_LINKER_CREATED)
+		      && ip->output_section == p)
+		    continue;
+		}
+	      elf_section_data (p)->dynindx = ++dynsymcount;
+	      break;
+	      /* There shouldn't be section relative relocations
+		 against any other section.  */
+	    default:
+	      break;
+	    }
     }
 
   if (elf_hash_table (info)->dynlocal)
@@ -4621,6 +4649,7 @@ bfd_elf_size_dynamic_sections (bfd *outp
   if (!is_elf_hash_table (info->hash))
     return TRUE;
 
+  elf_tdata (output_bfd)->relro = info->relro;
   if (info->execstack)
     elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
   else if (info->noexecstack)
@@ -7654,16 +7683,18 @@ bfd_elf_final_link (bfd *abfd, struct bf
 	      bfd_byte *dest;
 	      long dynindx;
 
-	      indx = elf_section_data (s)->this_idx;
 	      dynindx = elf_section_data (s)->dynindx;
+	      if (dynindx <= 0)
+		continue;
+	      indx = elf_section_data (s)->this_idx;
 	      BFD_ASSERT (indx > 0);
 	      sym.st_shndx = indx;
 	      sym.st_value = s->vma;
 	      dest = dynsym + dynindx * bed->s->sizeof_sym;
+	      if (last_local < dynindx)
+		last_local = dynindx;
 	      bed->s->swap_symbol_out (abfd, &sym, dest, 0);
 	    }
-
-	  last_local = bfd_count_sections (abfd);
 	}
 
       /* Write out the local dynsyms.  */
--- include/elf/common.h.jj	2004-05-05 14:55:02.000000000 +0200
+++ include/elf/common.h	2004-05-06 14:08:34.113888278 +0200
@@ -288,8 +288,9 @@
 #define PT_LOPROC	0x70000000	/* Processor-specific */
 #define PT_HIPROC	0x7FFFFFFF	/* Processor-specific */
 
-#define PT_GNU_EH_FRAME	(PT_LOOS + 0x474e550)
-#define PT_GNU_STACK	(PT_LOOS + 0x474e551)
+#define PT_GNU_EH_FRAME	(PT_LOOS + 0x474e550) /* Frame unwind information */
+#define PT_GNU_STACK	(PT_LOOS + 0x474e551) /* Stack flags */
+#define PT_GNU_RELRO	(PT_LOOS + 0x474e552) /* Read-only after relocation */
 
 /* Program segment permissions, in program header p_flags field.  */
 
--- include/bfdlink.h.jj	2004-05-05 14:55:02.000000000 +0200
+++ include/bfdlink.h	2004-05-06 14:08:34.112888458 +0200
@@ -302,6 +302,9 @@ struct bfd_link_info
      flags.  */
   unsigned int noexecstack: 1;
 
+  /* TRUE if PT_GNU_RELRO segment should be created.  */
+  unsigned int relro: 1;
+
   /* What to do with unresolved symbols in an object file.
      When producing executables the default is GENERATE_ERROR.
      When producing shared libraries the default is IGNORE.  The
@@ -391,6 +394,9 @@ struct bfd_link_info
 
   /* May be used to set DT_FLAGS_1 for ELF. */
   bfd_vma flags_1;
+
+  /* Start and end of RELRO region.  */
+  bfd_vma relro_start, relro_end;
 };
 
 /* This structures holds a set of callback functions.  These are
--- binutils/readelf.c.jj	2004-05-05 14:55:02.442188451 +0200
+++ binutils/readelf.c	2004-05-06 14:08:34.117887562 +0200
@@ -2172,6 +2172,7 @@ get_segment_type (unsigned long p_type)
     case PT_GNU_EH_FRAME:
 			return "GNU_EH_FRAME";
     case PT_GNU_STACK:	return "STACK";
+    case PT_GNU_RELRO:  return "GNU_RELRO";
 
     default:
       if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))


	Jakub

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: fallout from decimal sh_info readelf patch
  2004-05-06 11:05     ` Alan Modra
  2004-05-06 12:49       ` [PATCH] -z relro + .dynsym STT_SECTION Jakub Jelinek
@ 2004-05-06 18:19       ` Hans-Peter Nilsson
  1 sibling, 0 replies; 19+ messages in thread
From: Hans-Peter Nilsson @ 2004-05-06 18:19 UTC (permalink / raw)
  To: Alan Modra; +Cc: binutils

On Thu, 6 May 2004, Alan Modra wrote:
> On Wed, May 05, 2004 at 06:59:36PM -0400, Hans-Peter Nilsson wrote:
> > And while I'm here, please people, please avoid changing the
> > default output or output of common options for binutils
> > programs.  Make changes depend on some new non-default option.
>
> Sometimes, I think a change to default output is worth the pain of
> updating the testsuite.

Sometimes, but rare enough.  I'd like to avoid having it
perceived as a rule that it's worth *any* pain to change the
output format of whatever binutils program.  It's *not* the
testsuite changes that is the primary reason to avoid output
format changes; it's all other use.

Alternatively, maybe we should instead have an option called
something like "--canonical-format" that people can use in
scripts, and we never change that output format no matter what
(for most "what"'s)?

> Incidentally, if we ever implement Roland's suggestion,
> http://sources.redhat.com/ml/binutils/2003-04/msg00435.html
> to do away with dynamic section symbols, we'll be up for a lot more
> pain than HJ's fix..

That surely would be a "change in output", but not a "change in
output *format*" which is what I really meant.  When the "output
change" reflects actual file content change, I have no
objection.

brgds, H-P

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: fallout from decimal sh_info readelf patch
  2004-05-05 22:59   ` Hans-Peter Nilsson
  2004-05-06 11:05     ` Alan Modra
@ 2004-05-10  1:40     ` John Paul Wallington
  2004-05-10  4:02       ` Hans-Peter Nilsson
  1 sibling, 1 reply; 19+ messages in thread
From: John Paul Wallington @ 2004-05-10  1:40 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: binutils

Hans-Peter Nilsson <hp@bitrange.com> writes:

>> 2004-05-05  John Paul Wallington  <jpw@gnu.org>
>>
>> 	* ld-mmix/bspec2.d: Update sh_info to decimal.
>> 	* ld-mmix/local1.d: Likewise.
>> 	* ld-mmix/local3.d: Likewise.
>> 	* ld-mmix/local5.d: Likewise.
>> 	* ld-mmix/local7.d: Likewise.
>
> Thank you!  This is ok (and obvious).

Could someone install it?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: fallout from decimal sh_info readelf patch
  2004-05-10  1:40     ` John Paul Wallington
@ 2004-05-10  4:02       ` Hans-Peter Nilsson
  2004-05-10 17:54         ` John Paul Wallington
  0 siblings, 1 reply; 19+ messages in thread
From: Hans-Peter Nilsson @ 2004-05-10  4:02 UTC (permalink / raw)
  To: John Paul Wallington; +Cc: binutils

On Mon, 10 May 2004, John Paul Wallington wrote:
> Hans-Peter Nilsson <hp@bitrange.com> writes:
>
> >> 2004-05-05  John Paul Wallington  <jpw@gnu.org>
> >>
> >> 	* ld-mmix/bspec2.d: Update sh_info to decimal.
> >> 	* ld-mmix/local1.d: Likewise.
> >> 	* ld-mmix/local3.d: Likewise.
> >> 	* ld-mmix/local5.d: Likewise.
> >> 	* ld-mmix/local7.d: Likewise.
> >
> > Thank you!  This is ok (and obvious).
>
> Could someone install it?

Done; I thought you already had write access.
Hm, neither is there copyright assignment in place.
I see other patches from you lately, so I guess
more and non-obvious ones coming as well.
Could you please consider doing the binutils
assignment paperwork?
From your email address I believe you're already
aware of the process.  Thanks again.

brgds, H-P

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: fallout from decimal sh_info readelf patch
  2004-05-10  4:02       ` Hans-Peter Nilsson
@ 2004-05-10 17:54         ` John Paul Wallington
  0 siblings, 0 replies; 19+ messages in thread
From: John Paul Wallington @ 2004-05-10 17:54 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: binutils

> > > Thank you!  This is ok (and obvious).
> >
> > Could someone install it?
> 
> Done; 

Thanks.

>       I thought you already had write access.
> Hm, neither is there copyright assignment in place.
> I see other patches from you lately, so I guess
> more and non-obvious ones coming as well.
> Could you please consider doing the binutils
> assignment paperwork?

Sure.  I have requested the papers.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-05-06 12:49       ` [PATCH] -z relro + .dynsym STT_SECTION Jakub Jelinek
@ 2004-05-11 16:55         ` Alan Modra
  2004-06-15 14:16         ` Eric Botcazou
  1 sibling, 0 replies; 19+ messages in thread
From: Alan Modra @ 2004-05-11 16:55 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: binutils

On Thu, May 06, 2004 at 12:35:50PM +0200, Jakub Jelinek wrote:
> Well, killing (some) STT_SECTION symbols in .dynsym is what I did some
> months ago already together with -z relro.
> And yes, testsuite changes was the main showstopper for not trying to
> put this into CVS for the last 5-6 months.
> As I haven't found spare time to do the conditional .got reshuffling
> based on .got/.s* size, I have updated testsuite on a bunch of arches
> (i386, x86-64, s390{,x}, ppc{,64}, ia64) for the -z relro patch.
> See http://sources.redhat.com/ml/binutils/2004-01/msg00300.html
> and previous thread for the older versions of the patch.
> 
> Ok to commit?

OK.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-05-06 12:49       ` [PATCH] -z relro + .dynsym STT_SECTION Jakub Jelinek
  2004-05-11 16:55         ` Alan Modra
@ 2004-06-15 14:16         ` Eric Botcazou
  2004-06-15 14:22           ` Jakub Jelinek
  1 sibling, 1 reply; 19+ messages in thread
From: Eric Botcazou @ 2004-06-15 14:16 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: binutils

> 	* scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
> 	Create separate .got.plt section if SEPARATE_GOTPLT.
> 	Move sections which are only written during relocation handling
> 	to the beginning of RW segment.  If NO_SMALL_DATA, move .got
> 	before .data.  Add DATA_SEGMENT_RELRO_END directive.
> 	Include OTHER_RELRO_SECTIONS.

These bits

+  /* Exception handling  */
+  .eh_frame     ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
+  .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }

-  .eh_frame     ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
-  .gcc_except_table ${RELOCATING-0} : { KEEP (*(.gcc_except_table)) 
*(.gcc_except_table.*) }

broke the gc mechanism used for Ada in presence of DWARF-2 EH.


Would you mind fixing the problem?  Thanks.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-06-15 14:16         ` Eric Botcazou
@ 2004-06-15 14:22           ` Jakub Jelinek
  2004-06-15 15:06             ` Eric Botcazou
  0 siblings, 1 reply; 19+ messages in thread
From: Jakub Jelinek @ 2004-06-15 14:22 UTC (permalink / raw)
  To: Eric Botcazou; +Cc: binutils

On Tue, Jun 15, 2004 at 04:23:52PM +0200, Eric Botcazou wrote:
> > 	* scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
> > 	Create separate .got.plt section if SEPARATE_GOTPLT.
> > 	Move sections which are only written during relocation handling
> > 	to the beginning of RW segment.  If NO_SMALL_DATA, move .got
> > 	before .data.  Add DATA_SEGMENT_RELRO_END directive.
> > 	Include OTHER_RELRO_SECTIONS.
> 
> These bits
> 
> +  /* Exception handling  */
> +  .eh_frame     ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
> +  .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
> 
> -  .eh_frame     ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
> -  .gcc_except_table ${RELOCATING-0} : { KEEP (*(.gcc_except_table)) 
> *(.gcc_except_table.*) }
> 
> broke the gc mechanism used for Ada in presence of DWARF-2 EH.

This is not what current ld uses.
The current layout is:
  ${OTHER_READONLY_SECTIONS}
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table) }
END OF RO SEGMENT
START OF RW SEGMENT
  /* Exception handling  */
  .eh_frame     ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table) }

  /* Thread Local Storage sections  */
  .tdata        ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
  .tbss         ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
...

Can you reproduce it even with current linker?

> Would you mind fixing the problem?  Thanks.

Do you have a particular testcase in mind?

	Jakub

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-06-15 14:22           ` Jakub Jelinek
@ 2004-06-15 15:06             ` Eric Botcazou
  2004-06-15 16:41               ` Jakub Jelinek
  0 siblings, 1 reply; 19+ messages in thread
From: Eric Botcazou @ 2004-06-15 15:06 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: binutils

> This is not what current ld uses.
> The current layout is:
>   ${OTHER_READONLY_SECTIONS}
>   .eh_frame_hdr : { *(.eh_frame_hdr) }
>   .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
>   .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table) }
> END OF RO SEGMENT
> START OF RW SEGMENT
>   /* Exception handling  */
>   .eh_frame     ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
>   .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table) }
>
>   /* Thread Local Storage sections  */
>   .tdata        ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.*
> .gnu.linkonce.td.*}) } .tbss         ${RELOCATING-0} : {
> *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+
> *(.tcommon)} } ...
>
> Can you reproduce it even with current linker?

Yes.  The KEEP and the .gcc_except_table.* were killed by your patch and we 
need both.

> Do you have a particular testcase in mind?

I do, but since the compiler patch has been stuck in the review process for a 
while, it won't help you much.

If you can restore both for each .gcc_except_table line, I'll be happy.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-06-15 15:06             ` Eric Botcazou
@ 2004-06-15 16:41               ` Jakub Jelinek
  2004-06-15 17:05                 ` Hans-Peter Nilsson
  2004-06-15 17:08                 ` Eric Botcazou
  0 siblings, 2 replies; 19+ messages in thread
From: Jakub Jelinek @ 2004-06-15 16:41 UTC (permalink / raw)
  To: Eric Botcazou; +Cc: binutils

On Tue, Jun 15, 2004 at 05:12:39PM +0200, Eric Botcazou wrote:
> > This is not what current ld uses.
> > The current layout is:
> >   ${OTHER_READONLY_SECTIONS}
> >   .eh_frame_hdr : { *(.eh_frame_hdr) }
> >   .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
> >   .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table) }
> > END OF RO SEGMENT
> > START OF RW SEGMENT
> >   /* Exception handling  */
> >   .eh_frame     ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
> >   .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table) }
> >
> >   /* Thread Local Storage sections  */
> >   .tdata        ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.*
> > .gnu.linkonce.td.*}) } .tbss         ${RELOCATING-0} : {
> > *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+
> > *(.tcommon)} } ...
> >
> > Can you reproduce it even with current linker?
> 
> Yes.  The KEEP and the .gcc_except_table.* were killed by your patch and we 
> need both.

I had to apply the -z relro patch by hand and clearly I have missed your
recent changes (well, I have missed it even in the mail you just posted).
Sorry, committed as obvious:

2004-06-15  Jakub Jelinek  <jakub@redhat.com>

	* scripttempl/elf.sc: Readd KEEP and .gcc_except_table.* to
	.gcc_except_table output sections lost accidentally with
	-z relro patch.

--- ld/scripttempl/elf.sc.jj	2004-05-19 15:59:47.000000000 +0200
+++ ld/scripttempl/elf.sc	2004-06-15 17:14:11.073742753 +0200
@@ -312,7 +312,7 @@ cat <<EOF
   ${OTHER_READONLY_SECTIONS}
   .eh_frame_hdr : { *(.eh_frame_hdr) }
   .eh_frame     ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
-  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table) }
+  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
 
   /* Adjust the address for the data segment.  We want to adjust up to
      the same address within the page on the next page up.  */
@@ -322,7 +322,7 @@ cat <<EOF
 
   /* Exception handling  */
   .eh_frame     ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
-  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table) }
+  .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
 
   /* Thread Local Storage sections  */
   .tdata	${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }


	Jakub

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-06-15 16:41               ` Jakub Jelinek
@ 2004-06-15 17:05                 ` Hans-Peter Nilsson
  2004-06-15 17:30                   ` Eric Botcazou
  2004-06-15 17:08                 ` Eric Botcazou
  1 sibling, 1 reply; 19+ messages in thread
From: Hans-Peter Nilsson @ 2004-06-15 17:05 UTC (permalink / raw)
  To: Eric Botcazou; +Cc: binutils

On Tue, 15 Jun 2004, Jakub Jelinek wrote:
> On Tue, Jun 15, 2004 at 05:12:39PM +0200, Eric Botcazou wrote:
> > Yes.  The KEEP and the .gcc_except_table.* were killed by your patch and we
> > need both.
>
> I had to apply the -z relro patch by hand and clearly I have missed your
> recent changes (well, I have missed it even in the mail you just posted).

Today's lecturing: It seems those recent changes didn't come
with a test-case and that's the lesson to learn.

brgds, H-P

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-06-15 16:41               ` Jakub Jelinek
  2004-06-15 17:05                 ` Hans-Peter Nilsson
@ 2004-06-15 17:08                 ` Eric Botcazou
  1 sibling, 0 replies; 19+ messages in thread
From: Eric Botcazou @ 2004-06-15 17:08 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: binutils

> I had to apply the -z relro patch by hand and clearly I have missed your
> recent changes (well, I have missed it even in the mail you just posted).
> Sorry, committed as obvious:

No problem.

> 2004-06-15  Jakub Jelinek  <jakub@redhat.com>
>
> 	* scripttempl/elf.sc: Readd KEEP and .gcc_except_table.* to
> 	.gcc_except_table output sections lost accidentally with
> 	-z relro patch.

Thanks.  Alles ist wieder in Ordnung.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-06-15 17:05                 ` Hans-Peter Nilsson
@ 2004-06-15 17:30                   ` Eric Botcazou
  2004-06-15 18:02                     ` Hans-Peter Nilsson
  0 siblings, 1 reply; 19+ messages in thread
From: Eric Botcazou @ 2004-06-15 17:30 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: binutils

> Today's lecturing: It seems those recent changes didn't come
> with a test-case and that's the lesson to learn.

See http://gcc.gnu.org/ml/gcc-patches/2004-03/msg01559.html and my previous 
message.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-06-15 17:30                   ` Eric Botcazou
@ 2004-06-15 18:02                     ` Hans-Peter Nilsson
  2004-06-16  6:29                       ` Eric Botcazou
  0 siblings, 1 reply; 19+ messages in thread
From: Hans-Peter Nilsson @ 2004-06-15 18:02 UTC (permalink / raw)
  To: Eric Botcazou; +Cc: binutils

On Tue, 15 Jun 2004, Eric Botcazou wrote:
> > Today's lecturing: It seems those recent changes didn't come
> > with a test-case and that's the lesson to learn.
>
> See http://gcc.gnu.org/ml/gcc-patches/2004-03/msg01559.html and my previous
> message.

I looked, but couldn't find any test-case for the *ld testsuite*
there for this particular problem -- or even for the substantial
functionality change you made (some to cover the "increase in
aggressiveness"), so I don't really see what you mean.
Maybe I just missed them when reading.

brgds, H-P

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH] -z relro + .dynsym STT_SECTION
  2004-06-15 18:02                     ` Hans-Peter Nilsson
@ 2004-06-16  6:29                       ` Eric Botcazou
  0 siblings, 0 replies; 19+ messages in thread
From: Eric Botcazou @ 2004-06-16  6:29 UTC (permalink / raw)
  To: Hans-Peter Nilsson; +Cc: binutils

> I looked, but couldn't find any test-case for the *ld testsuite*
> there for this particular problem -- or even for the substantial
> functionality change you made (some to cover the "increase in
> aggressiveness"), so I don't really see what you mean.

I'll submit testcases once they don't fail with GCC mainline.

-- 
Eric Botcazou

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2004-06-16  6:29 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-05 13:33 fallout from decimal sh_info readelf patch Alan Modra
2004-05-05 21:51 ` John Paul Wallington
2004-05-05 22:59   ` Hans-Peter Nilsson
2004-05-06 11:05     ` Alan Modra
2004-05-06 12:49       ` [PATCH] -z relro + .dynsym STT_SECTION Jakub Jelinek
2004-05-11 16:55         ` Alan Modra
2004-06-15 14:16         ` Eric Botcazou
2004-06-15 14:22           ` Jakub Jelinek
2004-06-15 15:06             ` Eric Botcazou
2004-06-15 16:41               ` Jakub Jelinek
2004-06-15 17:05                 ` Hans-Peter Nilsson
2004-06-15 17:30                   ` Eric Botcazou
2004-06-15 18:02                     ` Hans-Peter Nilsson
2004-06-16  6:29                       ` Eric Botcazou
2004-06-15 17:08                 ` Eric Botcazou
2004-05-06 18:19       ` fallout from decimal sh_info readelf patch Hans-Peter Nilsson
2004-05-10  1:40     ` John Paul Wallington
2004-05-10  4:02       ` Hans-Peter Nilsson
2004-05-10 17:54         ` John Paul Wallington

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).