[lld] r298544 - Add a /nopdb flag to disable PDB generation

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 22 12:49:12 PDT 2017


Author: rnk
Date: Wed Mar 22 14:49:12 2017
New Revision: 298544

URL: http://llvm.org/viewvc/llvm-project?rev=298544&view=rev
Log:
Add a /nopdb flag to disable PDB generation

This will be used in the sanitizer test suite, which wants to use DWARF
line tables.

At some point we should reconsider how LLD handles the long section
names required by DWARF debug sections.

Added:
    lld/trunk/test/COFF/nopdb.test
Modified:
    lld/trunk/COFF/Driver.cpp
    lld/trunk/COFF/Options.td

Modified: lld/trunk/COFF/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=298544&r1=298543&r2=298544&view=diff
==============================================================================
--- lld/trunk/COFF/Driver.cpp (original)
+++ lld/trunk/COFF/Driver.cpp Wed Mar 22 14:49:12 2017
@@ -896,6 +896,10 @@ void LinkerDriver::link(ArrayRef<const c
     sys::path::replace_extension(Config->PDBPath, ".pdb");
   }
 
+  // Disable PDB generation if the user requested it.
+  if (Args.hasArg(OPT_nopdb))
+    Config->PDBPath = "";
+
   // Set default image base if /base is not given.
   if (Config->ImageBase == uint64_t(-1))
     Config->ImageBase = getDefaultImageBase();

Modified: lld/trunk/COFF/Options.td
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Options.td?rev=298544&r1=298543&r2=298544&view=diff
==============================================================================
--- lld/trunk/COFF/Options.td (original)
+++ lld/trunk/COFF/Options.td Wed Mar 22 14:49:12 2017
@@ -93,6 +93,7 @@ def help : F<"help">;
 def help_q : Flag<["/?", "-?"], "">, Alias<help>;
 
 // LLD extensions
+def nopdb : F<"nopdb">, HelpText<"Disable PDB generation for DWARF users">;
 def nosymtab : F<"nosymtab">;
 def msvclto : F<"msvclto">;
 

Added: lld/trunk/test/COFF/nopdb.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/nopdb.test?rev=298544&view=auto
==============================================================================
--- lld/trunk/test/COFF/nopdb.test (added)
+++ lld/trunk/test/COFF/nopdb.test Wed Mar 22 14:49:12 2017
@@ -0,0 +1,14 @@
+# Check that /debug creates %t.pdb.
+# RUN: rm -f %t.pdb
+# RUN: lld-link /debug /entry:main /out:%t.exe %p/Inputs/ret42.obj
+# RUN: ls %t.pdb
+
+# Check that /debug /nopdb does not create %t.pdb.
+# RUN: rm -f %t.pdb
+# RUN: lld-link /debug /nopdb /entry:main /out:%t.exe %p/Inputs/ret42.obj
+# RUN: not ls %t.pdb
+
+# Check that /debug /nopdb /pdb:%t.pdb does not create %t.pdb.
+# RUN: rm -f %t.pdb
+# RUN: lld-link /debug /nopdb /pdb:%t.pdb /entry:main /out:%t.exe %p/Inputs/ret42.obj
+# RUN: not ls %t.pdb




More information about the llvm-commits mailing list