[lld] r209274 - [PECOFF] Discard .debug sections.

Rui Ueyama ruiu at google.com
Tue May 20 22:56:32 PDT 2014


Author: ruiu
Date: Wed May 21 00:56:31 2014
New Revision: 209274

URL: http://llvm.org/viewvc/llvm-project?rev=209274&view=rev
Log:
[PECOFF] Discard .debug sections.

Modified:
    lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
    lld/trunk/test/pecoff/pe32plus.test
    lld/trunk/test/pecoff/reloc64.test
    lld/trunk/test/pecoff/seh.test

Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=209274&r1=209273&r2=209274&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Wed May 21 00:56:31 2014
@@ -615,6 +615,13 @@ FileCOFF::AtomizeDefinedSymbolsInSection
       section->Characteristics & llvm::COFF::IMAGE_SCN_LNK_REMOVE)
     return error_code::success();
 
+  // Supporting debug info needs more work than just linking and combining
+  // .debug sections. We don't support it yet. Let's discard .debug sections at
+  // the very beginning of the process so that we don't spend time on linking
+  // blobs that nobody would understand.
+  if (sectionName == ".debug" || sectionName.startswith(".debug$"))
+    return error_code::success();
+
   DefinedAtom::ContentType type = getContentType(section);
   DefinedAtom::ContentPermissions perms = getPermissions(section);
   bool isComdat = (_comdatSections.count(section) == 1);

Modified: lld/trunk/test/pecoff/pe32plus.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/pecoff/pe32plus.test?rev=209274&r1=209273&r2=209274&view=diff
==============================================================================
--- lld/trunk/test/pecoff/pe32plus.test (original)
+++ lld/trunk/test/pecoff/pe32plus.test Wed May 21 00:56:31 2014
@@ -9,7 +9,7 @@ CHECK-NEXT: Arch: x86_64
 CHECK-NEXT: AddressSize: 64bit
 CHECK-NEXT: ImageFileHeader {
 CHECK-NEXT:   Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
-CHECK-NEXT:   SectionCount: 2
+CHECK-NEXT:   SectionCount: 1
 CHECK-NEXT:   TimeDateStamp:
 CHECK-NEXT:   PointerToSymbolTable: 0x0
 CHECK-NEXT:   SymbolCount: 0
@@ -23,10 +23,10 @@ CHECK-NEXT: ImageOptionalHeader {
 CHECK-NEXT:   MajorLinkerVersion: 0
 CHECK-NEXT:   MinorLinkerVersion: 0
 CHECK-NEXT:   SizeOfCode: 1
-CHECK-NEXT:   SizeOfInitializedData: 108
+CHECK-NEXT:   SizeOfInitializedData: 0
 CHECK-NEXT:   SizeOfUninitializedData: 0
-CHECK-NEXT:   AddressOfEntryPoint: 0x2000
-CHECK-NEXT:   BaseOfCode: 0x2000
+CHECK-NEXT:   AddressOfEntryPoint: 0x1000
+CHECK-NEXT:   BaseOfCode: 0x1000
 CHECK-NEXT:   ImageBase: 0x140000000
 CHECK-NEXT:   SectionAlignment: 4096
 CHECK-NEXT:   FileAlignment: 512
@@ -36,7 +36,7 @@ CHECK-NEXT:   MajorImageVersion: 0
 CHECK-NEXT:   MinorImageVersion: 0
 CHECK-NEXT:   MajorSubsystemVersion: 6
 CHECK-NEXT:   MinorSubsystemVersion: 0
-CHECK-NEXT:   SizeOfImage: 12288
+CHECK-NEXT:   SizeOfImage: 8192
 CHECK-NEXT:   SizeOfHeaders: 512
 CHECK-NEXT:   Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)
 CHECK-NEXT:   Subsystem [ (0x8140)

Modified: lld/trunk/test/pecoff/reloc64.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/pecoff/reloc64.test?rev=209274&r1=209273&r2=209274&view=diff
==============================================================================
--- lld/trunk/test/pecoff/reloc64.test (original)
+++ lld/trunk/test/pecoff/reloc64.test Wed May 21 00:56:31 2014
@@ -7,4 +7,4 @@
 
 CHECK:      Disassembly of section .text:
 CHECK-NEXT: .text:
-CHECK-NEXT:   2000:  e8 15 00 00 00   callq 21
+CHECK-NEXT:   1000:  e8 15 00 00 00   callq 21

Modified: lld/trunk/test/pecoff/seh.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/pecoff/seh.test?rev=209274&r1=209273&r2=209274&view=diff
==============================================================================
--- lld/trunk/test/pecoff/seh.test (original)
+++ lld/trunk/test/pecoff/seh.test Wed May 21 00:56:31 2014
@@ -20,7 +20,7 @@ CHECK:   Process Affinity Mask: 0
 CHECK:   Process Heap Flags: 0
 CHECK:   CSD Version: 0
 CHECK:   Security Cookie: 0
-CHECK:   SEH Table: 4210688
+CHECK:   SEH Table: 4206592
 CHECK:   SEH Count: 2
 CHECK: SEH Table: 0x{{[0-9a-f]+}} 0x{{[0-9a-f]+}}
 





More information about the llvm-commits mailing list