diff options
| author | Rui Ueyama <ruiu@google.com> | 2014-09-19 00:22:22 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2014-09-19 00:22:22 +0000 |
| commit | 68085fda004948289fd390e71ab7925d64d36cde (patch) | |
| tree | 608de601496b06d4b3517ebc4304287e527dff15 /lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp | |
| parent | c0ce9eca0b709b16e9c1d0f1686d4e2314af02b8 (diff) | |
| download | bcm5719-llvm-68085fda004948289fd390e71ab7925d64d36cde.tar.gz bcm5719-llvm-68085fda004948289fd390e71ab7925d64d36cde.zip | |
[PECOFF] __tls_used is _tls_used on x64.
llvm-svn: 218090
Diffstat (limited to 'lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp')
| -rw-r--r-- | lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp index 7f453a5f602..e68c43d2444 100644 --- a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp +++ b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp @@ -936,9 +936,11 @@ void groupAtoms(const PECOFFLinkingContext &ctx, const File &file, } } -static const DefinedAtom *findTLSUsedSymbol(const File &file) { +static const DefinedAtom *findTLSUsedSymbol(const PECOFFLinkingContext &ctx, + const File &file) { + StringRef sym = ctx.decorateSymbol("_tls_used"); for (const DefinedAtom *atom : file.defined()) - if (atom->name() == "__tls_used") + if (atom->name() == sym) return atom; return nullptr; } @@ -1030,9 +1032,9 @@ void PECOFFWriter::build(const File &linkedFile) { section->getVirtualAddress(), section->size()); } - if (const DefinedAtom *atom = findTLSUsedSymbol(linkedFile)) { - dataDirectory->setField(DataDirectoryIndex::TLS_TABLE, - _atomRva[atom], 0x18); + if (const DefinedAtom *atom = findTLSUsedSymbol(_ctx, linkedFile)) { + dataDirectory->setField(DataDirectoryIndex::TLS_TABLE, _atomRva[atom], + 0x18); } // Now that we know the size and file offset of sections. Set the file |

