Commit 1e6b12dd authored by Hans Wennborg's avatar Hans Wennborg
Browse files

Merging r366780 and r366784:

------------------------------------------------------------------------
r366780 | mstorsjo | 2019-07-23 08:38:04 +0200 (Tue, 23 Jul 2019) | 21 lines

[COFF] Unbreak sorting of mingw comdat .tls sections after SVN r363457

Code built for mingw with -fdata-sections will store each TLS variable
in a comdat section, named .tls$$<varname>. Normal TLS variables are
stored in sections named .tls$ with a trailing dollar, which are
sorted after a starter marker (in a later linked object file) in a
section named ".tls" (with no dollar suffix), before an ending marker
in a section named ".tls$ZZZ".

The mingw comdat section suffix stripping introduced in SVN r363457
broke sorting of such tls sections, ending up sorting the stripped
.tls$$<varname> sections (stripped to ".tls") before the start marker
in the section named ".tls".

We could add exceptions to the section name suffix stripping for
.tls (and .CRT, where suffixes always should be honored), but the
more conservative option is probably the reverse; to only apply the
stripping for the normal sections where sorting shouldn't have any
effect.

Differential Revision: https://reviews.llvm.org/D65018
------------------------------------------------------------------------

------------------------------------------------------------------------
r366784 | mstorsjo | 2019-07-23 09:28:23 +0200 (Tue, 23 Jul 2019) | 4 lines

[test] Fix the test from the previous commit when run on windows. NFC.

Apparently the escaped dollar sign didn't work the same way in "echo -e"
on windows buildbots.
------------------------------------------------------------------------

llvm-svn: 366816
parent 70adacb1
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment