[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