[PATCH] D40408: [LLD] [COFF] Interpret a period as a separator for section suffix just like '$'
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 28 00:09:08 PST 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL319151: [COFF] Interpret a period as a separator for section suffix just like '$' (authored by mstorsjo).
Changed prior to commit:
https://reviews.llvm.org/D40408?vs=124327&id=124523#toc
Repository:
rL LLVM
https://reviews.llvm.org/D40408
Files:
lld/trunk/COFF/Writer.cpp
lld/trunk/test/COFF/ctors_dtors_priority.s
Index: lld/trunk/test/COFF/ctors_dtors_priority.s
===================================================================
--- lld/trunk/test/COFF/ctors_dtors_priority.s
+++ lld/trunk/test/COFF/ctors_dtors_priority.s
@@ -0,0 +1,30 @@
+# REQUIRES: x86
+# RUN: llvm-mc -triple=x86_64-windows-gnu -filetype=obj -o %t.obj %s
+# RUN: lld-link -entry:main %t.obj -out:%t.exe
+# RUN: llvm-objdump -s %t.exe | FileCheck %s
+
+.globl main
+main:
+ nop
+
+.section .ctors.00005, "w"
+ .quad 2
+.section .ctors, "w"
+ .quad 1
+.section .ctors.00100, "w"
+ .quad 3
+
+.section .dtors, "w"
+ .quad 1
+.section .dtors.00100, "w"
+ .quad 3
+.section .dtors.00005, "w"
+ .quad 2
+
+# CHECK: Contents of section .ctors:
+# CHECK-NEXT: 140001000 01000000 00000000 02000000 00000000
+# CHECK-NEXT: 140001010 03000000 00000000
+
+# CHECK: Contents of section .dtors:
+# CHECK-NEXT: 140002000 01000000 00000000 02000000 00000000
+# CHECK-NEXT: 140002010 03000000 00000000
Index: lld/trunk/COFF/Writer.cpp
===================================================================
--- lld/trunk/COFF/Writer.cpp
+++ lld/trunk/COFF/Writer.cpp
@@ -322,6 +322,11 @@
static StringRef getOutputSection(StringRef Name) {
StringRef S = Name.split('$').first;
+
+ // Treat a later period as a separator for MinGW, for sections like
+ // ".ctors.01234".
+ S = S.substr(0, S.find('.', 1));
+
auto It = Config->Merge.find(S);
if (It == Config->Merge.end())
return S;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D40408.124523.patch
Type: text/x-patch
Size: 1458 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171128/e33d65d6/attachment.bin>
More information about the llvm-commits
mailing list