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 ...
|