#
abe0fa43 |
| 28-Jun-2021 |
Igor Kudrin <ikudrin@accesssoftek.com> |
[llvm-objdump] Print comments for the disassembled code
LLVM disassembler can generate comments for disassembled instructions. The patch enables printing these comments for 'llvm-objdump -d'.
Diffe
[llvm-objdump] Print comments for the disassembled code
LLVM disassembler can generate comments for disassembled instructions. The patch enables printing these comments for 'llvm-objdump -d'.
Differential Revision: https://reviews.llvm.org/D104699
show more ...
|
Revision tags: llvmorg-12.0.1-rc3 |
|
#
f1e2d585 |
| 24-Jun-2021 |
Fangrui Song <i@maskray.me> |
[OptTable] Rename PrintHelp to printHelp
To be consistent with other member functions and match the coding standard.
|
#
42f74e82 |
| 23-Jun-2021 |
Martin Storsjö <martin@martin.st> |
[llvm] Rename StringRef _lower() method calls to _insensitive()
This is a mechanical change. This actually also renames the similarly named methods in the SmallString class, however these methods do
[llvm] Rename StringRef _lower() method calls to _insensitive()
This is a mechanical change. This actually also renames the similarly named methods in the SmallString class, however these methods don't seem to be used outside of the llvm subproject, so this doesn't break building of the rest of the monorepo.
show more ...
|
Revision tags: llvmorg-12.0.1-rc2 |
|
#
d82f2a12 |
| 27-May-2021 |
Esme-Yi <esme.yi@ibm.com> |
[llvm-objdump] Print the DEBUG type under `--section-headers`.
Summary: Under the option --section-headers, we can only print the section types of TEXT, DATA, and BSS for now. This patch adds the DE
[llvm-objdump] Print the DEBUG type under `--section-headers`.
Summary: Under the option --section-headers, we can only print the section types of TEXT, DATA, and BSS for now. This patch adds the DEBUG type.
Reviewed By: jhenderson, Higuoxing
Differential Revision: https://reviews.llvm.org/D102603
show more ...
|
Revision tags: llvmorg-12.0.1-rc1 |
|
#
c2f819af |
| 23-May-2021 |
Philipp Krones <philipp.krones@embecosm.com> |
[MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo
This makes it possible for targets to define their own MCObjectFileInfo. This MCObjectFileInfo is then used
[MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo
This makes it possible for targets to define their own MCObjectFileInfo. This MCObjectFileInfo is then used to determine things like section alignment.
This is a follow up to D101462 and prepares for the RISCV backend defining the text section alignment depending on the enabled extensions.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D101921
show more ...
|
#
5a439015 |
| 03-May-2021 |
Greg McGary <gkm@fb.com> |
[llvm-objdump] Exclude __mh_*_header symbols during MachO disassembly
`__mh_(execute|dylib|dylinker|bundle|preload|object)_header` are special symbols whose values hold the VMA of the Mach header to
[llvm-objdump] Exclude __mh_*_header symbols during MachO disassembly
`__mh_(execute|dylib|dylinker|bundle|preload|object)_header` are special symbols whose values hold the VMA of the Mach header to support introspection. They are attached to the first section in `__TEXT`, even though their addresses are outside `__TEXT`, and they do not refer to code.
It is normally harmless, but when the first section of `__TEXT` has no other symbols, `__mh_*_header` is considered by the disassembler when determing function boundaries. Since `__mh_*_header` refers to an address outside `__TEXT`, the boundary determination fails and disassembly quits.
Since `__TEXT,__text` normally has symbols, this bug is obscured. Experiments placing `__stubs` and `__stub_helper` first exposed the bug, since neither has symbols.
Differential Revision: https://reviews.llvm.org/D101786
show more ...
|
#
ab5932ff |
| 04-May-2021 |
Tim Renouf <tim.renouf@amd.com> |
[llvm-objdump] Use std::make_unique
Fix up my recent commit rG1128311a19179ceca799ff0fbc4dd206ab56e560 to use std::make_unique instead of std::unique_ptr(new), as requested by David Blaikie.
Differ
[llvm-objdump] Use std::make_unique
Fix up my recent commit rG1128311a19179ceca799ff0fbc4dd206ab56e560 to use std::make_unique instead of std::unique_ptr(new), as requested by David Blaikie.
Differential Revision: https://reviews.llvm.org/D101822
show more ...
|
#
632ebc4a |
| 05-May-2021 |
Philipp Krones <philipp.krones@embecosm.com> |
[MC] Untangle MCContext and MCObjectFileInfo
This untangles the MCContext and the MCObjectFileInfo. There is a circular dependency between MCContext and MCObjectFileInfo. Currently this dependency a
[MC] Untangle MCContext and MCObjectFileInfo
This untangles the MCContext and the MCObjectFileInfo. There is a circular dependency between MCContext and MCObjectFileInfo. Currently this dependency also exists during construction: You can't contruct a MOFI without a MCContext without constructing the MCContext with a dummy version of that MOFI first. This removes this dependency during construction. In a perfect world, MCObjectFileInfo wouldn't depend on MCContext at all, but only be stored in the MCContext, like other MC information. This is future work.
This also shifts/adds more information to the MCContext making it more available to the different targets. Namely:
- TargetTriple - ObjectFileType - SubtargetInfo
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D101462
show more ...
|
#
e5108606 |
| 05-May-2021 |
Fangrui Song <i@maskray.me> |
[llvm-objdump] Add -M {att,intel} & deprecate --x86-asm-syntax={att,intel}
The internal `cl::opt` option --x86-asm-syntax sets the AsmParser and AsmWriter dialect. The option is used by llc and llvm
[llvm-objdump] Add -M {att,intel} & deprecate --x86-asm-syntax={att,intel}
The internal `cl::opt` option --x86-asm-syntax sets the AsmParser and AsmWriter dialect. The option is used by llc and llvm-mc tests to set the AsmWriter dialect.
This patch adds -M {att,intel} as GNU objdump compatible aliases (PR43413).
Note: the dialect is initialized when the MCAsmInfo is constructed. `MCInstPrinter::applyTargetSpecificCLOption` is called too late and its MCAsmInfo reference is const, so changing the `cl::opt` in `MCInstPrinter::applyTargetSpecificCLOption` is not an option, at least without large amount of refactoring.
Reviewed By: hoy, jhenderson, thakis
Differential Revision: https://reviews.llvm.org/D101695
show more ...
|
#
23e2c1b1 |
| 04-May-2021 |
Fangrui Song <i@maskray.me> |
[llvm-objdump] Delete temporary Hexagon workaround options
|
#
05a50737 |
| 04-May-2021 |
Fangrui Song <i@maskray.me> |
[llvm-objdump] Delete temporary workaround option --riscv-no-aliases
Use the user-facing `-M no-aliases` instead.
|
#
0c2e2f88 |
| 04-May-2021 |
Fangrui Song <i@maskray.me> |
[llvm-objdump] Improve newline consistency between different pieces of information
When dumping multiple pieces of information (e.g. --all-headers), there is sometimes no separator between two piece
[llvm-objdump] Improve newline consistency between different pieces of information
When dumping multiple pieces of information (e.g. --all-headers), there is sometimes no separator between two pieces. This patch uses the "\nheader:\n" style, which generally improves compatibility with GNU objdump.
Note: objdump -t/-T does not add a newline before "SYMBOL TABLE:" and "DYNAMIC SYMBOL TABLE:". We add a newline to be consistent with other information.
`objdump -d` prints two empty lines before the first 'Disassembly of section'. We print just one with this patch.
Differential Revision: https://reviews.llvm.org/D101796
show more ...
|
#
1128311a |
| 26-Apr-2021 |
Tim Renouf <tim.renouf@amd.com> |
[AMDGPU][llvm-objdump] Fix memory leak in recent commit
Hopefully stops sanitizer fail in AMDGPU llvm-objdump test.
Change-Id: I7331151d1cb65292bd06b6ae283349fe7231cf6b
|
#
8710eff6 |
| 23-Apr-2021 |
Tim Renouf <tim.renouf@amd.com> |
[MC][AMDGPU][llvm-objdump] Synthesized local labels in disassembly
1. Add an accessor function to MCSymbolizer to retrieve addresses referenced by a symbolizable operand, but not resolved to a sy
[MC][AMDGPU][llvm-objdump] Synthesized local labels in disassembly
1. Add an accessor function to MCSymbolizer to retrieve addresses referenced by a symbolizable operand, but not resolved to a symbol. That way, the caller can synthesize labels at those addresses and then retry disassembling the section.
2. Implement that in AMDGPU -- a failed symbol lookup results in the address being added to a vector returned by the new function.
3. Use that in llvm-objdump when using MCSymbolizer (which only happens on AMDGPU) and SymbolizeOperands is on.
Differential Revision: https://reviews.llvm.org/D101145
Change-Id: I19087c3bbfece64bad5a56ee88bcc9110d83989e
show more ...
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
#
c623945d |
| 15-Feb-2021 |
Tim Northover <t.p.northover@gmail.com> |
llvm-objdump: refactor SourcePrinter into separate file. NFC.
Preparatory patch for MachO feature.
|
#
86b98c60 |
| 19-Apr-2021 |
Keith Smiley <keithbsmiley@gmail.com> |
llvm-objdump: add --rpaths to macho support
This prints the rpaths for the given binary
Reviewed By: kastiglione
Differential Revision: https://reviews.llvm.org/D100681
|
#
85a5360b |
| 20-Apr-2021 |
Nico Weber <thakis@chromium.org> |
[llvm-objdump] Remove "No" prefixes on variables
...to remove double negation in the code. Requested in D100583.
No behavior change.
Differential Revision: https://reviews.llvm.org/D100849
|
#
29710c44 |
| 20-Apr-2021 |
Fangrui Song <i@maskray.me> |
[llvm-objdump] Prefer positive boolean Verbose instead of negative NonVerbose. NFC
Differential Revision: https://reviews.llvm.org/D100791
|
#
1a3f8865 |
| 15-Apr-2021 |
Nico Weber <thakis@chromium.org> |
[llvm-objdump] Add an llvm-otool tool
This implements an LLVM tool that's flag- and output-compatible with macOS's `otool` -- except for bugs, but from testing with both `otool` and `xcrun otool-cla
[llvm-objdump] Add an llvm-otool tool
This implements an LLVM tool that's flag- and output-compatible with macOS's `otool` -- except for bugs, but from testing with both `otool` and `xcrun otool-classic`, llvm-otool matches vanilla otool's behavior very well already. It's not 100% perfect, but it's a very solid start.
This uses the same approach as llvm-objcopy: llvm-objdump uses a different OptTable when it's invoked as llvm-otool. This is possible thanks to D100433.
Differential Revision: https://reviews.llvm.org/D100583
show more ...
|
#
ca897a1a |
| 15-Apr-2021 |
Nico Weber <thakis@chromium.org> |
[llvm-objdump] try to fix hexagon tests more after 51aa61e74bdb
|
#
e80f9cab |
| 15-Apr-2021 |
Nico Weber <thakis@chromium.org> |
[llvm-objdump] try to fix hexagon and riscv tests after 1035123ac50db
|
#
1035123a |
| 13-Apr-2021 |
Nico Weber <thakis@chromium.org> |
[llvm-objdump] Switch command-line parsing from llvm::cl to OptTable
This is similar to D83530, but for llvm-objdump.
The motivation is the desire to add an `llvm-otool` symlink to llvm-objdump tha
[llvm-objdump] Switch command-line parsing from llvm::cl to OptTable
This is similar to D83530, but for llvm-objdump.
The motivation is the desire to add an `llvm-otool` symlink to llvm-objdump that behaves like macOS's `otool`, using the same technique the at llvm-objcopy uses to behave like `strip` (etc).
This change for the most part preserves behavior. In some cases, it increases compatibility with GNU objdump a bit. For example, the long options now require two dashes, and the long options taking arguments for the most part now require a `=` in front of the value. Exceptions are flags where tests passed the value separately, for these the separate form is kept as an alias to the = form.
The one-letter short form args are now joined or separate and long longer accept a =, which also matches GNU objdump.
cl::opt<>s in libraries now have to be explicitly plumbed through. This patch does that for --x86-asm-syntax=, but there's hope that we can remove that again.
Differential Revision: https://reviews.llvm.org/D100433
show more ...
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2 |
|
#
804ff7f2 |
| 01-Aug-2020 |
Vinicius Tinti <viniciustinti@gmail.com> |
[llvm-objdump] Implement --prefix-strip option
The option `--prefix-strip` is only used when `--prefix` is not empty. It removes N initial directories from absolute paths before adding the prefix.
[llvm-objdump] Implement --prefix-strip option
The option `--prefix-strip` is only used when `--prefix` is not empty. It removes N initial directories from absolute paths before adding the prefix.
This matches GNU's objdump behavior.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D96679
show more ...
|
#
5f2f84a6 |
| 09-Mar-2021 |
Alexander Shaposhnikov <alexshap@fb.com> |
[llvm-objdump][MachO] Add support for dumping function starts
Add support for dumping function starts for Mach-O binaries.
Test plan: make check-all
Differential revision: https://reviews.llvm.org
[llvm-objdump][MachO] Add support for dumping function starts
Add support for dumping function starts for Mach-O binaries.
Test plan: make check-all
Differential revision: https://reviews.llvm.org/D97027
show more ...
|
#
eecbb1c7 |
| 04-Feb-2021 |
Fangrui Song <i@maskray.me> |
[llvm-objdump] --source: drop the warning when there is no debug info
Warnings have been added for three cases (PR41905): (1) missing debug info, (2) the source file cannot be found, (3) the debug i
[llvm-objdump] --source: drop the warning when there is no debug info
Warnings have been added for three cases (PR41905): (1) missing debug info, (2) the source file cannot be found, (3) the debug info points at a line beyond the end of the file.
(1) is probably less useful. This was brought up once on http://lists.llvm.org/pipermail/llvm-dev/2020-April/141264.html and two internal users mentioned it to me that it was annoying. (I personally find the warning confusing, too.)
Users specify --source to get additional information if sources happen to be available. If sources are not available, it should be obvious as the output will have no interleaved source lines. The warning can be especially annoying when using llvm-objdump -S on a bunch of files.
This patch drops the warning when there is no debug info. (If LLVMSymbolizer::symbolizeCode returns an `Error`, there will still be an error. There is currently no test for an `Error` return value. The only code path is probably a broken symbol table, but we probably already emit a warning in that case)
`source-interleave-prefix.test` has an inappropriate "malformed" test - the test simply has no .debug_* because new llc does not produce debug info when the filename is empty (invalid). I have tried tampering the header of .debug_info/.debug_line but llvm-symbolizer does not warn. This patch does not intend to add the missing test coverage.
Differential Revision: https://reviews.llvm.org/D88715
show more ...
|