From: Kai Tietz Date: Tue, 21 Dec 2010 15:24:39 +0000 (+0000) Subject: 2010-12-21 Kai Tietz X-Git-Tag: sid-snapshot-20110101~72 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c91a930cb775123c1dcdfc3f9366bd3e21d2c5e5;p=external%2Fbinutils.git 2010-12-21 Kai Tietz * peXXigen.c (_bfd_XXi_final_link_postscript): Use bfd_get_symbol_leading_char to determine "_tls_used" name. 2010-12-21 Kai Tietz * ld-pe/pe.exp: Add TLS directory test. * ld-pe/tlssec.s: New. * ld-pe/tlssec64.d: New. * ld-pe/tlssec32.d: New. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c863715..7b8ca30 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2010-12-21 Kai Tietz + + * peXXigen.c (_bfd_XXi_final_link_postscript): Use + bfd_get_symbol_leading_char to determine "_tls_used" name. + 2010-12-21 Pierre Muller * peXXigen.c (_bfd_XXi_final_link_postscript): Use correct size diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c index 825229a..322c5ea 100644 --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c @@ -2418,7 +2418,9 @@ _bfd_XXi_final_link_postscript (bfd * abfd, struct coff_final_link_info *pfinfo) } h1 = coff_link_hash_lookup (coff_hash_table (info), - "__tls_used", FALSE, FALSE, TRUE); + (bfd_get_symbol_leading_char(abfd) != 0 + ? "__tls_used" : "_tls_used"), + FALSE, FALSE, TRUE); if (h1 != NULL) { if ((h1->root.type == bfd_link_hash_defined diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 90ff589..78537d3 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2010-12-21 Kai Tietz + + * ld-pe/pe.exp: Add TLS directory test. + * ld-pe/tlssec.s: New. + * ld-pe/tlssec64.d: New. + * ld-pe/tlssec32.d: New. + 2010-12-20 Alan Modra * ld-bootstrap/bootstrap.exp: Fix misplaced comment. diff --git a/ld/testsuite/ld-pe/pe.exp b/ld/testsuite/ld-pe/pe.exp index dd4b9f7..183c5c6 100644 --- a/ld/testsuite/ld-pe/pe.exp +++ b/ld/testsuite/ld-pe/pe.exp @@ -38,6 +38,8 @@ if {[istarget i*86-*-cygwin*] {{objdump -s secrel_64.d}} "secrel.x"} {"Empty export table" "" "" "exports.s" {{objdump -p exports64.d}} "exports.dll"} + {"TLS directory entry" "" "" "tlssec.s" + {{objdump -p tlssec64.d}} "tlssec.dll"} } } elseif {[istarget i*86-*-cygwin*] } { set pe_tests { @@ -45,6 +47,8 @@ if {[istarget i*86-*-cygwin*] {{objdump -s secrel.d}} "secrel.x"} {"Empty export table" "" "" "exports.s" {{objdump -p exports.d}} "exports.dll"} + {"TLS directory entry" "" "" "tlssec.s" + {{objdump -p tlssec32.d}} "tlssec.dll"} } } else { set pe_tests { @@ -52,6 +56,8 @@ if {[istarget i*86-*-cygwin*] {{objdump -s secrel.d}} "secrel.x"} {"Empty export table" "" "" "exports.s" {{objdump -p exports.d}} "exports.dll"} + {"TLS directory entry" "" "" "tlssec.s" + {{objdump -p tlssec32.d}} "tlssec.dll"} } } diff --git a/ld/testsuite/ld-pe/tlssec.s b/ld/testsuite/ld-pe/tlssec.s new file mode 100755 index 0000000..ba14881 --- /dev/null +++ b/ld/testsuite/ld-pe/tlssec.s @@ -0,0 +1,20 @@ +.global _tls_used +.global __tls_used +.global _start +.global start +.global _mainCRTStartup +.global mainCRTStartup + +.text +_start: +mainCRTStartup: +_mainCRTStartup: + .byte 1 + +.section .tls +_tls_used: +__tls_used: +.long 1,2,3,4,5,6,7,8,9,10 +.long 11,12,13,14,15,16,17,18,19,20 +.long 21,22,23,24,25,26,27,28,29,30 + diff --git a/ld/testsuite/ld-pe/tlssec32.d b/ld/testsuite/ld-pe/tlssec32.d new file mode 100755 index 0000000..0114064 --- /dev/null +++ b/ld/testsuite/ld-pe/tlssec32.d @@ -0,0 +1,3 @@ +#... +Entry 9 00003000 00000018 Thread Storage Directory \[\.tls\] +#... diff --git a/ld/testsuite/ld-pe/tlssec64.d b/ld/testsuite/ld-pe/tlssec64.d new file mode 100755 index 0000000..692d9e4 --- /dev/null +++ b/ld/testsuite/ld-pe/tlssec64.d @@ -0,0 +1,3 @@ +#... +Entry 9 0000000000003000 00000028 Thread Storage Directory \[\.tls\] +#...