|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
ec2b040e |
| 11-Jul-2022 |
Joseph Huber <[email protected]> |
[llvm-objdump][docs] Fix documentation for offloading flags
|
| #
85768677 |
| 08-Jul-2022 |
Joseph Huber <[email protected]> |
[llvm-objdump][Docs] Document new flag
|
| #
2601b90d |
| 30-Jun-2022 |
Fangrui Song <[email protected]> |
[llvm-objdump] Default to --mcpu=future for PPC64
GNU objdump disassembles all unknown instructions by default. Match this user friendly behavior with the cpu value `future`.
Differential Revision:
[llvm-objdump] Default to --mcpu=future for PPC64
GNU objdump disassembles all unknown instructions by default. Match this user friendly behavior with the cpu value `future`.
Differential Revision: https://reviews.llvm.org/D127824
show more ...
|
| #
275862c7 |
| 30-Jun-2022 |
Fangrui Song <[email protected]> |
[llvm-objdump] Default to --mattr=+all for AArch64
GNU objdump disassembles all unknown instructions by default. Match this user friendly behavior with the target feature "all" (D128029) designed fo
[llvm-objdump] Default to --mattr=+all for AArch64
GNU objdump disassembles all unknown instructions by default. Match this user friendly behavior with the target feature "all" (D128029) designed for disassemblers.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D128030
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4 |
|
| #
5f7ef652 |
| 13-May-2022 |
Rahman Lavaee <[email protected]> |
[llvm-objdump] Let --symbolize-operands symbolize basic block addresses based on the SHT_LLVM_BB_ADDR_MAP section.
`--symbolize-operands` already symbolizes branch targets based on the disassembly.
[llvm-objdump] Let --symbolize-operands symbolize basic block addresses based on the SHT_LLVM_BB_ADDR_MAP section.
`--symbolize-operands` already symbolizes branch targets based on the disassembly. When the object file is created with `-fbasic-block-sections=labels` (ELF-only) it will include a SHT_LLVM_BB_ADDR_MAP section which maps basic blocks to their addresses. In such case `llvm-objdump` can annotate the disassembly based on labels inferred on this section.
In contrast to the current labels, SHT_LLVM_BB_ADDR_MAP-based labels are created for every machine basic block including empty blocks and those which are not branched into (fallthrough blocks).
The old logic is still executed even when the SHT_LLVM_BB_ADDR_MAP section is present to handle functions which have not been received an entry in this section.
Reviewed By: jhenderson, MaskRay
Differential Revision: https://reviews.llvm.org/D124560
show more ...
|
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
621e2de1 |
| 10-Nov-2021 |
Adrian Prantl <[email protected]> |
Add a (nonfunctional) -dyld_info flag to llvm-objdump.
Darwin otool implements this flag as a one-stop solution for displaying bind and rebase info. As I am working on upstreaming chained fixup supp
Add a (nonfunctional) -dyld_info flag to llvm-objdump.
Darwin otool implements this flag as a one-stop solution for displaying bind and rebase info. As I am working on upstreaming chained fixup support this command will be useful to write testcases.
Differential Revision: https://reviews.llvm.org/D113573
show more ...
|
| #
bbce75e3 |
| 06-Jan-2022 |
Chuanqi Xu <[email protected]> |
Update Bug report URL to Github Issues
Although we moved to Github Issues. The bug report message refers to Bugzilla still. This patch tries to update these URLs.
Reviewed By: MaskRay, Quuxplusone,
Update Bug report URL to Github Issues
Although we moved to Github Issues. The bug report message refers to Bugzilla still. This patch tries to update these URLs.
Reviewed By: MaskRay, Quuxplusone, jhenderson, libunwind, libc++
Differential Revision: https://reviews.llvm.org/D116351
show more ...
|
| #
b6632870 |
| 21-Dec-2021 |
Esme-Yi <[email protected]> |
[PowerPC][llvm-objdump] enable --symbolize-operands for PowerPC ELF/XCOFF.
Summary: When disassembling, symbolize a branch target operand to print a label instead of a real address.
Reviewed By: sh
[PowerPC][llvm-objdump] enable --symbolize-operands for PowerPC ELF/XCOFF.
Summary: When disassembling, symbolize a branch target operand to print a label instead of a real address.
Reviewed By: shchenz
Differential Revision: https://reviews.llvm.org/D114492
show more ...
|
| #
0c660256 |
| 15-Nov-2021 |
Shao-Ce SUN <[email protected]> |
[NFC] Trim trailing whitespace in *.rst
|
| #
3a5aa57c |
| 07-Oct-2021 |
gbreynoo <[email protected]> |
[llvm-objdump][docs] Add details to the help output and command guide
This change is to add some missing details, clarifies some options and brings the help text and command guide of objdump closer
[llvm-objdump][docs] Add details to the help output and command guide
This change is to add some missing details, clarifies some options and brings the help text and command guide of objdump closer together.
- Added to the help that --all-headers also outputs symbols and relocations to match the command guide. - Added to the help that --debug-vars accepts an optional ascii/unicode format to match the command guide. - Changed the help descriptions for --disassemble, --disassemble-all, --dwarf=<value>, --fault-map-section, --line-numbers, --no-leading-addr and --source descriptions to match the command guide. - Added to the help that --start-address and --stop-address also effect relocation entries and the symbol table output to match the command guide. - Added a note to the command guide that --unwind-info and -u are not available for the elf format.
Differential Revision: https://reviews.llvm.org/D110633
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
| #
5294a0f7 |
| 28-Aug-2021 |
Kazu Hirata <[email protected]> |
[llvm] Fix typos in documentation (NFC)
|
|
Revision tags: llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
a37f5586 |
| 29-Jun-2021 |
gbreynoo <[email protected]> |
[llvm-objdump] Add --no-print-imm-hex to the command guide
The option --no-print-imm-hex was not included in the command guide for llvm-objdump but appears in the help text. This commit adds it to t
[llvm-objdump] Add --no-print-imm-hex to the command guide
The option --no-print-imm-hex was not included in the command guide for llvm-objdump but appears in the help text. This commit adds it to the command guide.
Differential Revision: https://reviews.llvm.org/D104717
show more ...
|
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4 |
|
| #
c2e6bcb4 |
| 28-Jun-2021 |
Igor Kudrin <[email protected]> |
[llvm-objdump] Prevent variable locations to overlap short comments
For now, the source variable locations are printed at about the same space as the comments for disassembled code, which can make s
[llvm-objdump] Prevent variable locations to overlap short comments
For now, the source variable locations are printed at about the same space as the comments for disassembled code, which can make some ranges for variables disappear if a line contains comments, for example:
┠─ bar = W1 0: add x0, x2, #2, lsl #12 // =8192┃ 4: add z31.d, z31.d, #65280 // =0xff00 8: nop ┻
The patch shifts the report a bit to allow printing comments up to approximately 16 characters without interferences.
Differential Revision: https://reviews.llvm.org/D104700
show more ...
|
|
Revision tags: llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
| #
3f85e124 |
| 27-May-2021 |
Fangrui Song <[email protected]> |
[docs] llvm-objdump: Mention -M no-aliases is supported on AArch64
|
|
Revision tags: llvmorg-12.0.1-rc1 |
|
| #
e5108606 |
| 05-May-2021 |
Fangrui Song <[email protected]> |
[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 ...
|
| #
3273f276 |
| 04-May-2021 |
gbreynoo <[email protected]> |
[llvm-objdump] Remove --cfg option from command guide
The llvm-objdump command guide has the option --cfg which was removed from the tool by 888320e9fa5eb33194c066f68d50f1e73c5fff5e in 2014. This ch
[llvm-objdump] Remove --cfg option from command guide
The llvm-objdump command guide has the option --cfg which was removed from the tool by 888320e9fa5eb33194c066f68d50f1e73c5fff5e in 2014. This change updates the command guide to reflect this.
Differential Revision: https://reviews.llvm.org/D101648
show more ...
|
| #
dde24a87 |
| 30-Apr-2021 |
Nick Desaulniers <[email protected]> |
[llvm-objdump] add -v alias for --version
Used by the Linux kernel's CONFIG_X86_DECODER_SELFTEST.
Link: https://github.com/ClangBuiltLinux/linux/issues/1130
Reviewed By: MaskRay, jhenderson, ruppr
[llvm-objdump] add -v alias for --version
Used by the Linux kernel's CONFIG_X86_DECODER_SELFTEST.
Link: https://github.com/ClangBuiltLinux/linux/issues/1130
Reviewed By: MaskRay, jhenderson, rupprecht
Differential Revision: https://reviews.llvm.org/D101483
show more ...
|
| #
86b98c60 |
| 19-Apr-2021 |
Keith Smiley <[email protected]> |
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
|
| #
1a3f8865 |
| 15-Apr-2021 |
Nico Weber <[email protected]> |
[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 ...
|
|
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, 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 <[email protected]> |
[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 <[email protected]> |
[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 ...
|
| #
c2ead57c |
| 30-Nov-2020 |
David Spickett <[email protected]> |
[llvm-objdump] Document --mattr=help in --help output
This does the same as `--mcpu=help` but was only documented in the user guide.
* Added a test for both options. * Corrected the single dash in
[llvm-objdump] Document --mattr=help in --help output
This does the same as `--mcpu=help` but was only documented in the user guide.
* Added a test for both options. * Corrected the single dash in `-mcpu=help` text.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D92305
show more ...
|
| #
e95f9a23 |
| 16-Oct-2020 |
Vinicius Tinti <[email protected]> |
[llvm-objdump] Implement --prefix option
The prefix given to --prefix will be added to GNU absolute paths when used with --source option (source interleaved with the disassembly).
This matches GNU'
[llvm-objdump] Implement --prefix option
The prefix given to --prefix will be added to GNU absolute paths when used with --source option (source interleaved with the disassembly).
This matches GNU's objdump behavior.
GNU and C++17 rules for absolute paths are different.
Differential Revision: https://reviews.llvm.org/D85024
Fixes PR46368.
Differential Revision: https://reviews.llvm.org/D85024
show more ...
|
| #
de0c7a04 |
| 18-Aug-2020 |
Hongtao Yu <[email protected]> |
[llvm-objdump] Attempt to fix html doc generation issue.
https://reviews.llvm.org/D84191 caused a html doc build issue with the changes in `llvm-objdump.rst`. It looks like a blank line is missing f
[llvm-objdump] Attempt to fix html doc generation issue.
https://reviews.llvm.org/D84191 caused a html doc build issue with the changes in `llvm-objdump.rst`. It looks like a blank line is missing from the `code-block` directives.
Test Plan:
Differential Revision: https://reviews.llvm.org/D86123
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc1 |
|
| #
819b2d9c |
| 20-Jul-2020 |
Hongtao Yu <[email protected]> |
[llvm-objdump] Symbolize binary addresses for low-noisy asm diff.
When diffing disassembly dump of two binaries, I see lots of noises from mismatched jump target addresses and global data references
[llvm-objdump] Symbolize binary addresses for low-noisy asm diff.
When diffing disassembly dump of two binaries, I see lots of noises from mismatched jump target addresses and global data references, which unnecessarily causes diffs on every function, making it impractical. I'm trying to symbolize the raw binary addresses to minimize the diff noise. In this change, a local branch target is modeled as a label and the branch target operand will simply be printed as a label. Local labels are collected by a separate pre-decoding pass beforehand. A global data memory operand will be printed as a global symbol instead of the raw data address. Unfortunately, due to the way the disassembler is set up and to be less intrusive, a global symbol is always printed as the last operand of a memory access instruction. This is less than ideal but is probably acceptable from checking code quality point of view since on most targets an instruction can have at most one memory operand.
So far only the X86 disassemblers are supported.
Test Plan:
llvm-objdump -d --x86-asm-syntax=intel --no-show-raw-insn --no-leading-addr : ``` Disassembly of section .text:
<_start>: push rax mov dword ptr [rsp + 4], 0 mov dword ptr [rsp], 0 mov eax, dword ptr [rsp] cmp eax, dword ptr [rip + 4112] # 202182 <g> jge 0x20117e <_start+0x25> call 0x201158 <foo> inc dword ptr [rsp] jmp 0x201169 <_start+0x10> xor eax, eax pop rcx ret ```
llvm-objdump -d **--symbolize-operands** --x86-asm-syntax=intel --no-show-raw-insn --no-leading-addr : ``` Disassembly of section .text:
<_start>: push rax mov dword ptr [rsp + 4], 0 mov dword ptr [rsp], 0 <L1>: mov eax, dword ptr [rsp] cmp eax, dword ptr <g> jge <L0> call <foo> inc dword ptr [rsp] jmp <L1> <L0>: xor eax, eax pop rcx ret ```
Note that the jump instructions like `jge 0x20117e <_start+0x25>` without this work is printed as a real target address and an offset from the leading symbol. With a change in the optimizer that adds/deletes an instruction, the address and offset may shift for targets placed after the instruction. This will be a problem when diffing the disassembly from two optimizers where there are unnecessary false positives due to such branch target address changes. With `--symbolize-operand`, a label is printed for a branch target instead to reduce the false positives. Similarly, the disassemble of PC-relative global variable references is also prone to instruction insertion/deletion.
Reviewed By: jhenderson, MaskRay
Differential Revision: https://reviews.llvm.org/D84191
show more ...
|