[lld] r260974 - Merge multiple .tbss.* sections into one output section.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 16 07:57:08 PST 2016


Author: rafael
Date: Tue Feb 16 09:57:07 2016
New Revision: 260974

URL: http://llvm.org/viewvc/llvm-project?rev=260974&view=rev
Log:
Merge multiple .tbss.* sections into one output section.

Modified:
    lld/trunk/ELF/Writer.cpp
    lld/trunk/test/ELF/section-name.s

Modified: lld/trunk/ELF/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/Writer.cpp?rev=260974&r1=260973&r2=260974&view=diff
==============================================================================
--- lld/trunk/ELF/Writer.cpp (original)
+++ lld/trunk/ELF/Writer.cpp Tue Feb 16 09:57:07 2016
@@ -732,8 +732,9 @@ StringRef Writer<ELFT>::getOutputSection
     return Dest;
 
   StringRef Name = S->getSectionName();
-  for (StringRef V : {".text.", ".rodata.", ".data.rel.ro.", ".data.", ".bss.",
-                      ".init_array.", ".fini_array.", ".ctors.", ".dtors."})
+  for (StringRef V :
+       {".text.", ".rodata.", ".data.rel.ro.", ".data.", ".bss.",
+        ".init_array.", ".fini_array.", ".ctors.", ".dtors.", ".tbss."})
     if (Name.startswith(V))
       return V.drop_back();
   return Name;

Modified: lld/trunk/test/ELF/section-name.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/section-name.s?rev=260974&r1=260973&r2=260974&view=diff
==============================================================================
--- lld/trunk/test/ELF/section-name.s (original)
+++ lld/trunk/test/ELF/section-name.s Tue Feb 16 09:57:07 2016
@@ -21,11 +21,13 @@ _start:
 .section .data.rel.ro.a,"aw",%progbits
 .section .data.rel.ro.local,"aw",%progbits
 .section .data.rel.ro.local.a,"aw",%progbits
+.section .tbss.foo,"aGwT", at nobits,foo,comdat
 
 // CHECK-NOT: Name: .rodata.a
 // CHECK:     Name: .rodata
 // CHECK-NOT: Name: .text.a
 // CHECK:     Name: .text
+// CHECK:     Name: .tbss ({{.*}})
 // CHECK-NOT: Name: .data.rel.ro.a
 // CHECK-NOT: Name: .data.rel.ro.local.a
 // CHECK:     Name: .data.rel.ro




More information about the llvm-commits mailing list