History log of /llvm-project/llvm/tools/llvm-objdump/llvm-objdump.cpp (Results 401 – 425 of 727)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-6.0.0
# 16c7bdaf 23-Feb-2018 Scott Linder <scott@scottlinder.com>

[DebugInfo] Support DWARF v5 source code embedding extension

In DWARF v5 the Line Number Program Header is extensible, allowing values with
new content types. In this extension a content type is add

[DebugInfo] Support DWARF v5 source code embedding extension

In DWARF v5 the Line Number Program Header is extensible, allowing values with
new content types. In this extension a content type is added,
DW_LNCT_LLVM_source, which contains the embedded source code of the file.

Add new optional attribute for !DIFile IR metadata called source which contains
source text. Use this to output the source to the DWARF line table of code
objects. Analogously extend METADATA_FILE in Bitcode and .file directive in ASM
to support optional source.

Teach llvm-dwarfdump and llvm-objdump about the new values. Update the output
format of llvm-dwarfdump to make room for the new attribute on file_names
entries, and support embedded sources for the -source option in llvm-objdump.

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

llvm-svn: 325970

show more ...


Revision tags: llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2
# a07169e3 02-Feb-2018 Alex Denisov <1101.debian@gmail.com>

Fix typo

llvm-svn: 324123


Revision tags: llvmorg-6.0.0-rc1
# 3a13ed60 28-Dec-2017 Benjamin Kramer <benny.kra@googlemail.com>

Avoid int to string conversion in Twine or raw_ostream contexts.

Some output changes from uppercase hex to lowercase hex, no other functionality change intended.

llvm-svn: 321526


# e4f5d010 18-Dec-2017 Dimitry Andric <dimitry@andric.com>

Fix more inconsistent line endings. NFC.

llvm-svn: 321016


Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2
# 3fc9188f 03-Nov-2017 Kevin Enderby <enderby@apple.com>

Fix a crash in llvm-objdump when printing a bad x86_64 relocation in a Mach-O
file with a bad section number.

rdar://35207539

llvm-svn: 317373


# ecf0e952 03-Nov-2017 Aaron Ballman <aaron@aaronballman.com>

Add llvm::for_each as a range-based extensions to <algorithm> and make use of it in some cases where it is a more clear alternative to std::for_each.

llvm-svn: 317356


Revision tags: llvmorg-5.0.1-rc1
# de62046d 19-Sep-2017 Vlad Tsyrklevich <vlad@tsyrklevich.net>

Allow public Triple deduction from ObjectFiles.

Move logic that allows for Triple deduction from an ObjectFile object
out of llvm-objdump.cpp into a public factory, found in the ObjectFile
class.

T

Allow public Triple deduction from ObjectFiles.

Move logic that allows for Triple deduction from an ObjectFile object
out of llvm-objdump.cpp into a public factory, found in the ObjectFile
class.

This should allow other tools in the future to use this logic without
reimplementation.

Patch by Mitch Phillips

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

llvm-svn: 313605

show more ...


# c0a758d8 18-Sep-2017 Jonas Devlieghere <jonas@devlieghere.com>

[dwarfdump] Make .eh_frame an alias for .debug_frame

This patch makes the `.eh_frame` extension an alias for `.debug_frame`.
Up till now it was only possible to dump the section using objdump, but
n

[dwarfdump] Make .eh_frame an alias for .debug_frame

This patch makes the `.eh_frame` extension an alias for `.debug_frame`.
Up till now it was only possible to dump the section using objdump, but
not with dwarfdump. Since the two are essentially interchangeable, we
dump whichever of the two is present.

As a workaround, this patch also adds parsing for 3 currently
unimplemented CFA instructions: `DW_CFA_def_cfa_expression`,
`DW_CFA_expression`, and `DW_CFA_val_expression`. Because I lack the
required knowledge, I just parse the fields without actually creating
the instructions.

Finally, this also fixes the typo in the `.debug_frame` section name
which incorrectly contained a trailing `s`.

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

llvm-svn: 313530

show more ...


# f162013e 12-Sep-2017 Vlad Tsyrklevich <vlad@tsyrklevich.net>

Remove unneccessary string copies from method invocations.

Summary:
Change string parameter 'File' to be passed by const-reference to
reduce copies.

Patch by Mitch Phillips

Reviewers: vlad.tsyrkle

Remove unneccessary string copies from method invocations.

Summary:
Change string parameter 'File' to be passed by const-reference to
reduce copies.

Patch by Mitch Phillips

Reviewers: vlad.tsyrklevich

Reviewed By: vlad.tsyrklevich

Subscribers: Eugene.Zelenko, llvm-commits

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

llvm-svn: 312994

show more ...


# 7bc1b282 11-Sep-2017 Adrian Prantl <aprantl@apple.com>

llvm-dwarfdump: Replace -debug-dump=sect option with individual options.

As discussed on llvm-dev in
http://lists.llvm.org/pipermail/llvm-dev/2017-September/117301.html
this changes the command line

llvm-dwarfdump: Replace -debug-dump=sect option with individual options.

As discussed on llvm-dev in
http://lists.llvm.org/pipermail/llvm-dev/2017-September/117301.html
this changes the command line interface of llvm-dwarfdump to match the
one used by the dwarfdump utility shipping on macOS. In addition to
being shorter to type this format also has the advantage of allowing
more than one section to be specified at the same time.

In a nutshell, with this change

$ llvm-dwarfdump --debug-dump=info
$ llvm-dwarfdump --debug-dump=apple-objc

becomes

$ dwarfdump --debug-info --apple-objc

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

llvm-svn: 312970

show more ...


Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2
# 38867056 07-Aug-2017 Simon Dardis <simon.dardis@imgtec.com>

[llvm-objdump] Use PRIx64 for output of ARM64_RELOC_ADDEND

llvm-svn: 310250


# 9f929957 02-Aug-2017 Rafael Espindola <rafael.espindola@gmail.com>

Don't pass the code model to MC

I was surprised to see the code model being passed to MC. After all,
it assembles code, it doesn't create it.

The one place it is used is in the expansion of .cfi di

Don't pass the code model to MC

I was surprised to see the code model being passed to MC. After all,
it assembles code, it doesn't create it.

The one place it is used is in the expansion of .cfi directives to
handle .eh_frame being more that 2gb away from the code.

As far as I can tell, gnu assembler doesn't even have an option to
enable this. Compiling a c file with gcc -mcmodel=large produces a
regular looking .eh_frame. This is probably because in practice linker
parse and recreate .eh_frames.

In llvm this is used because the JIT can place the code and .eh_frame
very far apart. Ideally we would fix the jit and delete this
option. This is hard.

Apart from confusion another problem with the current interface is
that most callers pass CodeModel::Default, which is bad since MC has
no way to map it to the target default if it actually needed to.

This patch then replaces the argument with a boolean with a default
value. The vast majority of users don't ever need to look at it. In
fact, only CodeGen and llvm-mc use it and llvm-mc just to enable more
testing.

llvm-svn: 309884

show more ...


Revision tags: llvmorg-5.0.0-rc1
# c398e67f 19-Jul-2017 Rafael Espindola <rafael.espindola@gmail.com>

Use delegation instead of inheritance.

This changes DwarfContext to delegate to DwarfObject instead of having
pure virtual methods.

With this DwarfContextInMemory is replaced with an implementation

Use delegation instead of inheritance.

This changes DwarfContext to delegate to DwarfObject instead of having
pure virtual methods.

With this DwarfContextInMemory is replaced with an implementation of
DwarfObject that is local to a .cpp file.

llvm-svn: 308543

show more ...


# 8c0317da 13-Jul-2017 Martin Storsjo <martin@martin.st>

[llvm-objdump] Properly print MachO aarch64 addend relocations

Previously such relocations fell into the last case for local
symbols, using the relocation addend as symbol index, leading to
a crash.

[llvm-objdump] Properly print MachO aarch64 addend relocations

Previously such relocations fell into the last case for local
symbols, using the relocation addend as symbol index, leading to
a crash.

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

llvm-svn: 307927

show more ...


# fa5183b0 13-Jul-2017 Martin Storsjo <martin@martin.st>

[llvm-objdump] Correctly distinguish between the MachO upper/lower16 relocations

All other code in MachODump.cpp uses the same comparison,
((r_length & 0x1) == 1), for distinguishing between the two

[llvm-objdump] Correctly distinguish between the MachO upper/lower16 relocations

All other code in MachODump.cpp uses the same comparison,
((r_length & 0x1) == 1), for distinguishing between the two,
while the code in llvm-objdump.cpp seemed to be incorrect.

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

llvm-svn: 307882

show more ...


# 4df5d764 27-Jun-2017 Sam Clegg <sbc@chromium.org>

[WebAssembly] Add support for printing relocations with llvm-objdump

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

llvm-svn: 306461


Revision tags: llvmorg-4.0.1, llvmorg-4.0.1-rc3
# f4bc1f77 01-Jun-2017 Adrian Prantl <aprantl@apple.com>

[DWARF] Introduce Dump Options

This commit introduces a structure that holds all the flags that
control the pretty printing of dwarf output.

Patch by Spyridoula Gravani!

Differential Revision: htt

[DWARF] Introduce Dump Options

This commit introduces a structure that holds all the flags that
control the pretty printing of dwarf output.

Patch by Spyridoula Gravani!

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

llvm-svn: 304446

show more ...


Revision tags: llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1
# 86611a07 25-Apr-2017 Petr Hosek <phosek@chromium.org>

[llvm-objdump] Don't attempt to print lines beyond the end of file

This may trigger a segfault in llvm-objdump when the line number stored
in debug infromation points beyond the end of file; lines i

[llvm-objdump] Don't attempt to print lines beyond the end of file

This may trigger a segfault in llvm-objdump when the line number stored
in debug infromation points beyond the end of file; lines in LineBuffer
are stored in std::vector which is allocated in chunks, so even if the
debug info points beyond the end of the file, this doesn't necessarily
trigger the segfault unless the line number points beyond the allocated
space.

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

llvm-svn: 301347

show more ...


# a8d256cb 20-Mar-2017 Kevin Enderby <enderby@apple.com>

Add the rest of the error checking for Mach-O dyld compact bind entry errors
and test cases for each of the error checks.

To do this more plumbing was needed so that the segment indexes and
segment

Add the rest of the error checking for Mach-O dyld compact bind entry errors
and test cases for each of the error checks.

To do this more plumbing was needed so that the segment indexes and
segment offsets can be checked. Basically what was done was the SegInfo
from llvm-objdump’s MachODump.cpp was moved into libObject for Mach-O
objects as BindRebaseSegInfo and it is only created when an iterator for
bind or rebase entries are created.

This commit really only adds the error checking and test cases for the
bind table entires and the checking for the lazy bind and weak bind entries
are still to be fully done as well as the rebase entires. Though some of
the plumbing for those are added with this commit. Those other error
checks and test cases will be added in follow on commits.

Note, the two llvm_unreachable() calls should now actually be unreachable
with the error checks in place and would take a logic bug in the error
checking code to be reached if the segment indexes and segment
offsets are used from a checked bind entry. Comments have been added
to the methods that require the arguments to have been checked
prior to calling.

llvm-svn: 298292

show more ...


Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4
# f895b201 07-Mar-2017 Konstantin Zhuravlyov <kzhuravl_dev@outlook.com>

llvm-objdump: handle line numbers and source options for amdgpu objects

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

llvm-svn: 297193


Revision tags: llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2
# dea14b29 08-Feb-2017 Saleem Abdulrasool <compnerd@compnerd.org>

llvm-objdump: make NoLeadingAddr work on more than just MachO

Support printing the disassembly without the address on all formats
rather than making it MachO specific.

Patch by Jeff Muizelaar!

llv

llvm-objdump: make NoLeadingAddr work on more than just MachO

Support printing the disassembly without the address on all formats
rather than making it MachO specific.

Patch by Jeff Muizelaar!

llvm-svn: 294495

show more ...


# 5fba45ad 08-Feb-2017 Sam Parker <sam.parker@arm.com>

Use dynamic symbols for ELF disassembly

Disassembly currently begins from addresses obtained from the objects
symbol table. For ELF, add the dynamic symbols to the list if no
static symbols are avai

Use dynamic symbols for ELF disassembly

Disassembly currently begins from addresses obtained from the objects
symbol table. For ELF, add the dynamic symbols to the list if no
static symbols are available so that we can more successfully
disassemble stripped binaries.

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

llvm-svn: 294430

show more ...


Revision tags: llvmorg-4.0.0-rc1
# df7c6ef9 18-Jan-2017 Sam Parker <sam.parker@arm.com>

[ARM] Create objdump subtarget from build attrs

Enable an ELFObjectFile to read the its arm build attributes to
produce a target triple with a specific ARM architecture.
llvm-objdump now uses this f

[ARM] Create objdump subtarget from build attrs

Enable an ELFObjectFile to read the its arm build attributes to
produce a target triple with a specific ARM architecture.
llvm-objdump now uses this functionality to automatically produce
a more accurate target.

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

llvm-svn: 292366

show more ...


# 1ed7896c 13-Jan-2017 Ivan Krasin <krasin@chromium.org>

Revert r291903 and r291898. Reason: they break check-lld on the bots.

Summary:
Revert [ARM] Fix ubig32_t read in ARMAttributeParser

Now using support functions to read data instead of trying to
per

Revert r291903 and r291898. Reason: they break check-lld on the bots.

Summary:
Revert [ARM] Fix ubig32_t read in ARMAttributeParser

Now using support functions to read data instead of trying to
perform casts.
===========================================================

Revert [ARM] Enable objdump to construct triple for ARM

Now that The ARMAttributeParser has been moved into the library,
it has been modified so that it can parse the attributes without
printing them and stores them in a map. ELFObjectFile now queries
the attributes to fill out the architecture details of a provided
triple for 'arm' and 'thumb' targets. llvm-objdump uses this new
functionality.

Subscribers: llvm-commits, samparker, aemerson, mgorny

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

llvm-svn: 291911

show more ...


# 770ceb69 13-Jan-2017 Sam Parker <sam.parker@arm.com>

[ARM] Enable objdump to construct triple for ARM

Now that The ARMAttributeParser has been moved into the library,
it has been modified so that it can parse the attributes without
printing them and s

[ARM] Enable objdump to construct triple for ARM

Now that The ARMAttributeParser has been moved into the library,
it has been modified so that it can parse the attributes without
printing them and stores them in a map. ELFObjectFile now queries
the attributes to fill out the architecture details of a provided
triple for 'arm' and 'thumb' targets. llvm-objdump uses this new
functionality.

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

llvm-svn: 291898

show more ...


1...<<11121314151617181920>>...30