This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: PATCH: PR 414: Linker crashes with mixed TLS/non-TLS symbols
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: binutils at sources dot redhat dot com
- Date: Fri, 1 Oct 2004 11:48:14 +0930
- Subject: Re: PATCH: PR 414: Linker crashes with mixed TLS/non-TLS symbols
- References: <200409221737.06059.pluto@pld-linux.org> <20040922155522.GB12940@lucon.org> <200409221827.29089.pluto@pld-linux.org> <20040929164702.GA21672@lucon.org> <20040929173833.GA22511@lucon.org> <20040929232640.GA3241@bubble.modra.org>
HJ's patch brought to light some errors in the ld testsuite.
* ld-powerpc/tls.s (gd, ld): Set tls type for undefined syms.
* ld-powerpc/tls32.s (gd, ld): Likewise.
* ld-powerpc/tlstoc.s (gd, ld): Likewise.
* ld-powerpc/tlsso.r: Update.
* ld-powerpc/tlsso32.r: Update.
* ld-powerpc/tlstocso.r: Update.
Index: ld/testsuite/ld-powerpc/tls.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tls.s,v
retrieving revision 1.1
diff -u -p -r1.1 tls.s
--- ld/testsuite/ld-powerpc/tls.s 4 Feb 2003 14:52:11 -0000 1.1
+++ ld/testsuite/ld-powerpc/tls.s 1 Oct 2004 02:12:16 -0000
@@ -19,6 +19,9 @@ ie4: .quad 0x56789abcdef01234
le4: .quad 0x6789abcdef012345
le5: .quad 0x789abcdef0123456
+ .type gd,@tls_object
+ .type ld,@tls_object
+
.text
_start:
#extern syms
Index: ld/testsuite/ld-powerpc/tls32.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tls32.s,v
retrieving revision 1.1
diff -u -p -r1.1 tls32.s
--- ld/testsuite/ld-powerpc/tls32.s 18 Feb 2003 06:11:32 -0000 1.1
+++ ld/testsuite/ld-powerpc/tls32.s 1 Oct 2004 02:12:16 -0000
@@ -19,6 +19,9 @@ ie4: .long 0x56789abc
le4: .long 0x6789abcd
le5: .long 0x789abcde
+ .type gd,@tls_object
+ .type ld,@tls_object
+
.text
_start:
#extern syms
Index: ld/testsuite/ld-powerpc/tlstoc.s
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlstoc.s,v
retrieving revision 1.1
diff -u -p -r1.1 tlstoc.s
--- ld/testsuite/ld-powerpc/tlstoc.s 4 Feb 2003 14:52:11 -0000 1.1
+++ ld/testsuite/ld-powerpc/tlstoc.s 1 Oct 2004 02:12:16 -0000
@@ -19,6 +19,9 @@ ie4: .quad 0x56789abcdef01234
le4: .quad 0x6789abcdef012345
le5: .quad 0x789abcdef0123456
+ .type gd,@tls_object
+ .type ld,@tls_object
+
.text
_start:
#extern syms
Index: ld/testsuite/ld-powerpc/tlsso.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlsso.r,v
retrieving revision 1.8
diff -u -p -r1.8 tlsso.r
--- ld/testsuite/ld-powerpc/tlsso.r 22 Sep 2004 07:24:13 -0000 1.8
+++ ld/testsuite/ld-powerpc/tlsso.r 1 Oct 2004 02:12:16 -0000
@@ -80,12 +80,12 @@ Symbol table '\.dynsym' contains 22 entr
+[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+ +0 TLS +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+ +0 TLS +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
@@ -125,12 +125,12 @@ Symbol table '\.symtab' contains 42 entr
+[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+ +0 TLS +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+ +0 TLS +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
Index: ld/testsuite/ld-powerpc/tlsso32.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlsso32.r,v
retrieving revision 1.5
diff -u -p -r1.5 tlsso32.r
--- ld/testsuite/ld-powerpc/tlsso32.r 22 Sep 2004 07:24:14 -0000 1.5
+++ ld/testsuite/ld-powerpc/tlsso32.r 1 Oct 2004 02:12:16 -0000
@@ -85,12 +85,12 @@ Symbol table '\.dynsym' contains 28 entr
+[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+ +0 TLS +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+ +0 TLS +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_
@@ -134,12 +134,12 @@ Symbol table '\.symtab' contains 46 entr
+[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+ +0 TLS +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+ +0 TLS +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_
Index: ld/testsuite/ld-powerpc/tlstocso.r
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/tlstocso.r,v
retrieving revision 1.9
diff -u -p -r1.9 tlstocso.r
--- ld/testsuite/ld-powerpc/tlstocso.r 22 Sep 2004 07:24:14 -0000 1.9
+++ ld/testsuite/ld-powerpc/tlstocso.r 1 Oct 2004 02:12:16 -0000
@@ -75,12 +75,12 @@ Symbol table '\.dynsym' contains 22 entr
+[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+ +0 TLS +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+ +0 TLS +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
@@ -121,12 +121,12 @@ Symbol table '\.symtab' contains 43 entr
+[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+ +0 TLS +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+ +0 TLS +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
--
Alan Modra
IBM OzLabs - Linux Technology Centre