[llvm] r323812 - [dsymutil] Enable -minimize feature.

Jonas Devlieghere via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 30 11:54:16 PST 2018


Author: jdevlieghere
Date: Tue Jan 30 11:54:16 2018
New Revision: 323812

URL: http://llvm.org/viewvc/llvm-project?rev=323812&view=rev
Log:
[dsymutil] Enable -minimize feature.

Passing -minimize to dsymutil prevents the emission of .debug_inlines,
.debug_pubnames, and .debug_pubtypes in favor of the Apple accelerator
tables.

The actual check in the DWARF linker was added in r323655. This patch
simply enables it.

Differential revision: https://reviews.llvm.org/D42688

Added:
    llvm/trunk/test/tools/dsymutil/X86/minimize.test
Modified:
    llvm/trunk/docs/CommandGuide/dsymutil.rst
    llvm/trunk/test/tools/dsymutil/cmdline.test
    llvm/trunk/tools/dsymutil/dsymutil.cpp

Modified: llvm/trunk/docs/CommandGuide/dsymutil.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CommandGuide/dsymutil.rst?rev=323812&r1=323811&r2=323812&view=diff
==============================================================================
--- llvm/trunk/docs/CommandGuide/dsymutil.rst (original)
+++ llvm/trunk/docs/CommandGuide/dsymutil.rst Tue Jan 30 11:54:16 2018
@@ -35,6 +35,13 @@ OPTIONS
  Produce a flat dSYM file. A ``.dwarf`` extension will be appended to the
  executable name unless the output file is specified using the -o option.
 
+
+.. option:: -z, --minimize
+
+ When used when creating a dSYM file, this option will suppress the emission of
+ the .debug_inlines, .debug_pubnames, and .debug_pubtypes sections since
+ dsymutil currently has better equivalents: .apple_names and .apple_types.
+
 .. option:: --no-odr
 
  Do not use ODR (One Definition Rule) for uniquing C++ types.

Added: llvm/trunk/test/tools/dsymutil/X86/minimize.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/dsymutil/X86/minimize.test?rev=323812&view=auto
==============================================================================
--- llvm/trunk/test/tools/dsymutil/X86/minimize.test (added)
+++ llvm/trunk/test/tools/dsymutil/X86/minimize.test Tue Jan 30 11:54:16 2018
@@ -0,0 +1,9 @@
+RUN: llvm-dsymutil -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s --check-prefix=FULL
+RUN: llvm-dsymutil --minimize -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s
+RUN: llvm-dsymutil -z -f -o - -oso-prepend-path=%p/.. %p/../Inputs/basic.macho.x86_64 | llvm-readobj -sections - | FileCheck %s
+
+FULL: Name: __debug_pubnames
+FULL: Name: __debug_pubtypes
+
+CHECK-NOT: Name: __debug_pubnames
+CHECK-NOT: Name: __debug_pubtypes

Modified: llvm/trunk/test/tools/dsymutil/cmdline.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/dsymutil/cmdline.test?rev=323812&r1=323811&r2=323812&view=diff
==============================================================================
--- llvm/trunk/test/tools/dsymutil/cmdline.test (original)
+++ llvm/trunk/test/tools/dsymutil/cmdline.test Tue Jan 30 11:54:16 2018
@@ -6,6 +6,7 @@ HELP: Specific Options:
 HELP: -arch=<arch>
 HELP: -dump-debug-map
 HELP: -flat
+HELP: -minimize
 HELP: -no-odr
 HELP: -no-output
 HELP: -no-swiftmodule-timestamp

Modified: llvm/trunk/tools/dsymutil/dsymutil.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/dsymutil/dsymutil.cpp?rev=323812&r1=323811&r2=323812&view=diff
==============================================================================
--- llvm/trunk/tools/dsymutil/dsymutil.cpp (original)
+++ llvm/trunk/tools/dsymutil/dsymutil.cpp Tue Jan 30 11:54:16 2018
@@ -75,6 +75,15 @@ static opt<bool> FlatOut("flat",
                          init(false), cat(DsymCategory));
 static alias FlatOutA("f", desc("Alias for --flat"), aliasopt(FlatOut));
 
+static opt<bool> Minimize(
+    "minimize",
+    desc("When used when creating a dSYM file, this option will suppress\n"
+         "the emission of the .debug_inlines, .debug_pubnames, and\n"
+         ".debug_pubtypes sections since dsymutil currently has better\n"
+         "equivalents: .apple_names and .apple_types."),
+    init(false), cat(DsymCategory));
+static alias MinimizeA("z", desc("Alias for --minimize"), aliasopt(Minimize));
+
 static opt<unsigned> NumThreads(
     "num-threads",
     desc("Specifies the maximum number (n) of simultaneous threads to use\n"
@@ -302,6 +311,7 @@ int main(int argc, char **argv) {
   Options.Verbose = Verbose;
   Options.NoOutput = NoOutput;
   Options.NoODR = NoODR;
+  Options.Minimize = Minimize;
   Options.NoTimestamp = NoTimestamp;
   Options.PrependPath = OsoPrependPath;
 




More information about the llvm-commits mailing list