Commit Graph

10574 Commits

Author SHA1 Message Date
Nico Weber 9d62c90835 llvm-cvtres: Remove a default argument. No behavior change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359128 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 19:13:38 +00:00
Lang Hames a104dee58e [JITLink] Add support for passing arguments to jit-linked code.
The --args option can now be used to pass arguments to code linked with
llvm-jitlink. E.g.

$ llvm-jitlink file1.o file2.o --args a b c

is equivalent to:

$ ld -o program file1.o file2.o
$ ./program a b c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359115 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 17:23:05 +00:00
Stanislav Mekhanoshin f43d543c45 [AMDGPU] Add gfx1010 target definitions
Differential Revision: https://reviews.llvm.org/D61041

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359113 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 17:03:15 +00:00
JF Bastien 1c93fd793c Revert "[llvm-objdump] errorToErrorCode+message -> toString"
Revert r359100

It breaks llvm/test/Object/elf-invalid-phdr.test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359110 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 16:49:30 +00:00
Lang Hames ea4679cf0f [JITLink] Refer to FDE's CIE (not the most recent CIE) when parsing eh-frame.
Frame Descriptor Entries (FDEs) have a pointer back to a Common Information
Entry (CIE) that describes how the rest FDE should be parsed. JITLink had been
assuming that FDEs always referred to the most recent CIE encountered, but the
spec allows them to point back to any previously encountered CIE. This patch
fixes JITLink to look up the correct CIE for the FDE.

The testcase is a MachO binary with an FDE that refers to a CIE that is not the
one immediately proceeding it (the layout can be viewed wit
'dwarfdump --eh-frame <testcase>'. This test case had to be a binary as llvm-mc
now sorts FDEs (as of r356216) to ensure FDEs *do* point to the most recent CIE.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359105 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 15:15:55 +00:00
Fangrui Song 25a01d9e01 [llvm-objdump] Delete redundant check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359102 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 15:09:23 +00:00
George Rimar 893591a76e [obj2yamp] - Simplify and cleanup the code in ELFDumper<ELFT>::dumpGroup a bit. NFC.
This makes the variables naming to match LLVM style,
simplifies the code used to extract the group members,
simplifies the loop and reorders the code around a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359101 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 15:03:53 +00:00
Fangrui Song cf72ee0ee4 [llvm-objdump] errorToErrorCode+message -> toString
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359100 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 15:03:46 +00:00
Fangrui Song e5c799a6ea [yaml2obj] Replace num_zeros with write_zeros
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359091 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 13:23:15 +00:00
George Rimar 37c286fa0b [yaml2elf] - Replace a loop with write_zeros(). NFC.
And apply clang-format to the method changed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359090 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 13:02:15 +00:00
Fangrui Song 8b0afcf334 [CommandLine] Provide parser<unsigned long> instantiation to allow cl::opt<uint64_t> on LP64 platforms
Summary:
And migrate opt<unsigned long long> to opt<uint64_t>

Fixes PR19665

Differential Revision: https://reviews.llvm.org/D60933

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359068 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 02:40:20 +00:00
Nico Weber ebe37abc9e llvm-cvtres: Accept /? as help flag, like cvtres.exe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359064 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-24 02:11:24 +00:00
Adrian Prantl 9a94283566 [dsymutil] Put Swift interface files into a per-arch subdirectory.
This was meant to be part of the original commit r358921, but somehow
got lost.

<rdar://problem/49751748>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359010 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-23 16:42:35 +00:00
Adrian Prantl 7d596b3b3d [dsymutil] Fix use-after-free when sys::path::append grows the buffer.
<rdar://problem/50117620>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359003 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-23 15:44:22 +00:00
Adrian Prantl 2bf9685e96 Revert "[dsymutil] Fix use-after-free when sys::path::append grows the buffer."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359002 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-23 15:44:19 +00:00
Adrian Prantl 17fed035fb [dsymutil] Fix use-after-free when sys::path::append grows the buffer.
<rdar://problem/50117620>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@359001 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-23 15:39:13 +00:00
Adrian Prantl a550ed7e78 Fully qualify llvm::Optional, some compilers complain otherwise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358933 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-22 22:51:34 +00:00
Adrian Prantl 7f65c13ecb Try to work around compile errors with older versions of GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358927 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-22 22:40:37 +00:00
Adrian Prantl 80d580cd44 [dsymutil] Collect parseable Swift interfaces in the .dSYM bundle.
When a Swift module built with debug info imports a library without
debug info from a textual interface, the textual interface is
necessary to reconstruct types defined in the library's interface. By
recording the Swift interface files in DWARF dsymutil can collect them
and LLDB can find them.

This patch teaches dsymutil to look for DW_TAG_imported_modules and
records all references to parseable Swift ingterfrace files and copies
them to

  a.out.dSYM/Contents/Resources/<Arch>/<ModuleName>.swiftinterface

<rdar://problem/49751748>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358921 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-22 21:33:22 +00:00
Fangrui Song a736b962ff Use llvm::stable_sort. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358897 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-22 15:53:43 +00:00
Nico Weber 909f6da0ac Attemp get llvm-jitlink building on Windows
By removing an include of dlfcn.h that looks unused.

And clang-format a too-long line while here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358864 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-21 23:50:24 +00:00
Lang Hames 9a138393ff [JITLink] Add an option to dump relocated section content.
The -dump-relocated-section-content option will dump the contents of each
section after relocations are applied, and before any checks are run or
code executed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358863 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-21 20:34:19 +00:00
Lang Hames fbdd3f379c [JITLink] Add BinaryFormat to JITLink's dependencies.
Hopefully this will fix the missing dependence on llvm::identify_magic that is
showing up on some PPC bots. E.g.

http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/builds/9617

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358827 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-20 19:48:45 +00:00
Lang Hames b9e1e5f631 [JITLink] Add llvm-jitlink subdirectory to tools/LLVMBuild.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358823 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-20 17:58:29 +00:00
Lang Hames 91c3f35814 Initial implementation of JITLink - A replacement for RuntimeDyld.
Summary:

JITLink is a jit-linker that performs the same high-level task as RuntimeDyld:
it parses relocatable object files and makes their contents runnable in a target
process.

JITLink aims to improve on RuntimeDyld in several ways:

(1) A clear design intended to maximize code-sharing while minimizing coupling.

RuntimeDyld has been developed in an ad-hoc fashion for a number of years and
this had led to intermingling of code for multiple architectures (e.g. in
RuntimeDyldELF::processRelocationRef) in a way that makes the code more
difficult to read, reason about, extend. JITLink is designed to isolate
format and architecture specific code, while still sharing generic code.

(2) Support for native code models.

RuntimeDyld required the use of large code models (where calls to external
functions are made indirectly via registers) for many of platforms due to its
restrictive model for stub generation (one "stub" per symbol). JITLink allows
arbitrary mutation of the atom graph, allowing both GOT and PLT atoms to be
added naturally.

(3) Native support for asynchronous linking.

JITLink uses asynchronous calls for symbol resolution and finalization: these
callbacks are passed a continuation function that they must call to complete the
linker's work. This allows for cleaner interoperation with the new concurrent
ORC JIT APIs, while still being easily implementable in synchronous style if
asynchrony is not needed.

To maximise sharing, the design has a hierarchy of common code:

(1) Generic atom-graph data structure and algorithms (e.g. dead stripping and
 |  memory allocation) that are intended to be shared by all architectures.
 |
 + -- (2) Shared per-format code that utilizes (1), e.g. Generic MachO to
       |  atom-graph parsing.
       |
       + -- (3) Architecture specific code that uses (1) and (2). E.g.
                JITLinkerMachO_x86_64, which adds x86-64 specific relocation
                support to (2) to build and patch up the atom graph.

To support asynchronous symbol resolution and finalization, the callbacks for
these operations take continuations as arguments:

  using JITLinkAsyncLookupContinuation =
      std::function<void(Expected<AsyncLookupResult> LR)>;

  using JITLinkAsyncLookupFunction =
      std::function<void(const DenseSet<StringRef> &Symbols,
                         JITLinkAsyncLookupContinuation LookupContinuation)>;

  using FinalizeContinuation = std::function<void(Error)>;

  virtual void finalizeAsync(FinalizeContinuation OnFinalize);

In addition to its headline features, JITLink also makes other improvements:

  - Dead stripping support: symbols that are not used (e.g. redundant ODR
    definitions) are discarded, and take up no memory in the target process
    (In contrast, RuntimeDyld supported pointer equality for weak definitions,
    but the redundant definitions stayed resident in memory).

  - Improved exception handling support. JITLink provides a much more extensive
    eh-frame parser than RuntimeDyld, and is able to correctly fix up many
    eh-frame sections that RuntimeDyld currently (silently) fails on.

  - More extensive validation and error handling throughout.

This initial patch supports linking MachO/x86-64 only. Work on support for
other architectures and formats will happen in-tree.

Differential Revision: https://reviews.llvm.org/D58704

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358818 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-20 17:10:34 +00:00
Fangrui Song 8eaf2a6f00 [llvm-objdump] Fix End in disassemblyObject after rL358806
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358809 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-20 07:48:41 +00:00
Fangrui Song b28f2143df [llvm-objdump] Don't disassemble symbols before SectionAddr
This was caught by UBSAN

tools/llvm-objdump/X86/macho-disassembly-g-dsym.test
tools/llvm-objdump/X86/hex-displacement.test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358806 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-20 07:19:24 +00:00
Fangrui Song 10f82c578f [llvm-objdump] Simplify --{start,stop}-address
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358803 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-20 02:10:48 +00:00
Alina Sbirlea a837603c47 [NewPassManager] Adding pass tuning options: loop vectorize.
Summary:
Trying to add the plumbing necessary to add tuning options to the new pass manager.
Testing with the flags for loop vectorize.

Reviewers: chandlerc

Subscribers: sanjoy, mehdi_amini, jlebar, steven_wu, dexonsmith, dang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D59723

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358763 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-19 16:11:59 +00:00
Fangrui Song 507afa30b9 [dsymutil] DwarfLinker: delete unused parameter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358762 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-19 15:45:25 +00:00
Igor Kudrin dac6480dfd [llvm-symbolizer] Add llvm-addr2line
This adds an alias for llvm-symbolizer with different defaults so that
it can be used as a drop-in replacement for GNU's addr2line.

If a substring "addr2line" is found in the tool's name:
  * it defaults "-i", "-f" and "-C" to OFF;
  * it uses "--output-style=GNU" by default.

Differential Revision: https://reviews.llvm.org/D60067


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358749 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-19 10:17:52 +00:00
Igor Kudrin e78c62a4e5 [llvm-symbolizer] Unhide and document the "-output-style" option
With the latest changes, the option gets useful for users of
llvm-symbolizer, not only for the upcoming llvm-addr2line.

Differential Revision: https://reviews.llvm.org/D60816


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358748 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-19 10:14:18 +00:00
Igor Kudrin cfefa04a68 [llvm-symbolizer] Make the output with -output-style=GNU closer to addr2line's
This patch addresses two differences in the output of llvm-symbolizer
and GNU's addr2line:

* llvm-symbolizer prints an empty line after the report for an address.

* With "-f -i=0", llvm-symbolizer replaces the name of an inlined
  function with the name from the symbol table, i. e., the top caller
  function in the inlining chain. addr2line preserves the name of the
  inlined function.

Differential Revision: https://reviews.llvm.org/D60770


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358747 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-19 10:12:56 +00:00
Jordan Rupprecht 3de573b1c7 [llvm-objcopy] Add -B mips
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358667 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-18 14:22:37 +00:00
George Rimar f7dff4c501 [yaml2elf/obj2yaml] - Allow normal parsing/dumping of the .rela.dyn section
.rela.dyn is a section that has sh_info normally
set to zero. And Info is an optional field in the description
of the relocation section in YAML.

But currently, yaml2obj would fail to produce the object when
Info is not explicitly listed.

The patch fixes the issue.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358656 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-18 11:02:07 +00:00
James Henderson 9bb70eb681 [llvm-objcopy][llvm-strip] Add switch to allow removing referenced sections
llvm-objcopy currently emits an error if a section to be removed is
referenced by another section. This is a reasonable thing to do, but is
different to GNU objcopy. We should allow users who know what they are
doing to have a way to produce the invalid ELF. This change adds a new
switch --allow-broken-links to both llvm-strip and llvm-objcopy to do
precisely that. The corresponding sh_link field is then set to 0 instead
of an error being emitted.

I cannot use llvm-readelf/readobj to test the link fields because they
emit an error if any sections, like the .dynsym, cannot be properly
loaded.

Reviewed by: rupprecht, grimar

Differential Revision: https://reviews.llvm.org/D60324


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358649 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-18 09:13:30 +00:00
Steven Wu f8c4f81342 [ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols
Summary:
Reapply r357931 with fixes to ThinLTO testcases and llvm-lto tool.

ThinLTOCodeGenerator currently does not preserve llvm.used symbols and
it can internalize them. In order to pass the necessary information to the
legacy ThinLTOCodeGenerator, the input to the code generator is
rewritten to be based on lto::InputFile.

Now ThinLTO using the legacy LTO API will requires data layout in
Module.

"internalize" thinlto action in llvm-lto is updated to run both
"promote" and "internalize" with the same configuration as
ThinLTOCodeGenerator. The old "promote" + "internalize" option does not
produce the same output as ThinLTOCodeGenerator.

This fixes: PR41236
rdar://problem/49293439

Reviewers: tejohnson, pcc, kromanova, dexonsmith

Reviewed By: tejohnson

Subscribers: ormris, bd1976llvm, mehdi_amini, inglorion, eraman, hiraditya, jkorous, dexonsmith, arphaman, dang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60421

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358601 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-17 17:38:09 +00:00
Fangrui Song 27f152b9a7 Change some llvm::{lower,upper}_bound to llvm::bsearch. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358564 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-17 07:58:05 +00:00
Jordan Rupprecht 6963206b33 [llvm-objcopy] Support full list of bfd targets that lld uses.
Summary:
This change takes the full list of bfd targets that lld supports (see `ScriptParser.cpp`), including generic handling for `*-freebsd` targets (which uses the same settings but with a FreeBSD OSABI). In particular this adds mips support for `--output-target` (but not yet via `--binary-architecture`).

lld and llvm-objcopy use their own different custom data structures, so I'd prefer to check this in as-is (add support directly in llvm-objcopy, including all the test coverage) and do a separate NFC patch(s) that consolidate the two by putting this mapping into libobject.

See [[ https://bugs.llvm.org/show_bug.cgi?id=41462 | PR41462 ]].

Reviewers: jhenderson, jakehehrlich, espindola, alexshap, arichardson

Reviewed By: arichardson

Subscribers: fedor.sergeev, emaste, sdardis, krytarowski, atanasyan, llvm-commits, MaskRay, arichardson

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60773

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358562 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-17 07:42:31 +00:00
Andrea Di Biagio 430cf96dcc [MCA] Moved the bottleneck analysis to its own file. NFCI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358554 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-17 06:02:05 +00:00
Nico Weber b06fa34e3f llvm-undname: Add a -raw-file flag to pass a raw buffer to microsoftDemangle
The default handling splits input into lines. Since
llvm-microsoft-demangle-fuzzer doesn't do this, oss-fuzz produces inputs
that only trigger crashes if the input isn't split into lines. This adds
a hidden flag -raw-file which passes file contents to microsoftDemangle() in
the same way the fuzzer does, for reproducing oss-fuzz reports.

Also change llvm-undname to have a non-0 exit code for invalid symbols.

Differential Revision: https://reviews.llvm.org/D60771

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358485 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-16 12:51:40 +00:00
Fangrui Song 078c887eb0 [llvm-objdump] Align instructions to a tab stop in disassembly output
This relands D60376/rL358405, with the difference: sed 'y/\t/ /' -> tr '\t' ' '
BSD sed doesn't support escape characters for the 'y' command.
I didn't use it in rL358405 because it was not listed at
https://llvm.org/docs/GettingStarted.html#software but it
should be available.

Original description:

In GNU objdump, -w/--wide aligns instructions in the disassembly output.
This patch does the same to llvm-objdump. However, we always use the
wide format (-w/--wide is ignored), because the narrow format
(instructions are misaligned) is probably not very useful.

In llvm-readobj, we made a similar decision: always use the wide format,
accept but ignore -W/--wide.

To save some columns, we change the tab before hex bytes (controlled by
--[no-]show-raw-insn) to a space.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358474 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-16 03:56:55 +00:00
Fangrui Song 1e6eb4cd50 [llvm-objdump] Simplify PrintHelpMessage() logic
This relands rL358418. It missed one test that should also use -macho
Note, all the other -private-header -exports-trie tests are used
together with -macho.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358472 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-16 02:37:29 +00:00
Alex Lorenz a164cf508d Revert r358405: "[llvm-objdump] Align instructions to a tab stop in disassembly output"
The test fails on darwin due to a sed error:

sed: 1: "y/\t/ /": transform strings are not the same length


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358459 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-15 22:36:12 +00:00
Alex Lorenz 878c0a9d38 Revert r358418: "[llvm-objdump] Simplify PrintHelpMessage() logic"
This reverts commit r358418 as it broke `test/Object/objdump-export-list`
on Darwin.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358443 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-15 20:16:19 +00:00
Don Hinton f944830706 [CommandLineParser] Add DefaultOption flag
Summary: Add DefaultOption flag to CommandLineParser which provides a
default option or alias, but allows users to override it for some
other purpose as needed.

Also, add `-h` as a default alias to `-help`, which can be seamlessly
overridden by applications like llvm-objdump and llvm-readobj which
use `-h` as an alias for other options.

(relanding after revert, r358414)
Added DefaultOptions.clear() to reset().

Reviewers: alexfh, klimek

Reviewed By: klimek

Subscribers: kristina, MaskRay, mehdi_amini, inglorion, dexonsmith, hiraditya, llvm-commits, jhenderson, arphaman, cfe-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D59746

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358428 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-15 17:18:10 +00:00
Fangrui Song 0eccb9c93e [llvm-objdump] Simplify PrintHelpMessage() logic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358418 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-15 15:52:32 +00:00
Fangrui Song 0ea2470160 [llvm-objdump] Wrap things in namespace llvm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358417 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-15 15:31:42 +00:00
Fangrui Song 399b42da40 [llvm-objdump] Delete unused forward declarations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358416 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-15 15:08:01 +00:00
Fangrui Song 24f35eb0fc [llvm-objdump] Reorganize cl::opt variables and move Mach-O specifics to MachODump.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358415 91177308-0d34-0410-b5e6-96231b3b80d8
2019-04-15 15:00:10 +00:00