Windows TLS: Section name prefix to ensure correct order
The linker sorts the .tls$<xyz> sections by name, and we need to make sure any extra sections we produce (e.g. for weak globals) always end up between .tls$AAA and .tls$ZZZ, even if the name starts with e.g. an underscore. Patch by David Nadlinger! llvm-svn: 177256
This commit is contained in:
parent
6f7ca81cce
commit
2810a0ab80
|
@ -742,8 +742,11 @@ static const char *getCOFFSectionPrefixForUniqueGlobal(SectionKind Kind) {
|
|||
return ".text$";
|
||||
if (Kind.isBSS ())
|
||||
return ".bss$";
|
||||
if (Kind.isThreadLocal())
|
||||
return ".tls$";
|
||||
if (Kind.isThreadLocal()) {
|
||||
// 'LLVM' is just an arbitary string to ensure that the section name gets
|
||||
// sorted in between '.tls$AAA' and '.tls$ZZZ' by the linker.
|
||||
return ".tls$LLVM";
|
||||
}
|
||||
if (Kind.isWriteable())
|
||||
return ".data$";
|
||||
return ".rdata$";
|
||||
|
|
Loading…
Reference in New Issue