Commit Graph

476 Commits

Author SHA1 Message Date
Hans Wennborg 4531183453 Revert r374931 "[llvm-objdump] Use a counter for llvm-objdump -h instead of the section index."
This broke llvm-objdump in 32-bit builds, see e.g.
http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/10925

> Summary:
> When listing the index in `llvm-objdump -h`, use a zero-based counter instead of the actual section index (e.g. shdr->sh_index for ELF).
>
> While this is effectively a noop for now (except one unit test for XCOFF), the index values will change in a future patch that filters certain sections out (e.g. symbol tables). See D68669 for more context. Note: the test case in `test/tools/llvm-objdump/X86/section-index.s` already covers the case of incrementing the section index counter when sections are skipped.
>
> Reviewers: grimar, jhenderson, espindola
>
> Reviewed By: grimar
>
> Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya, llvm-commits, MaskRay
>
> Tags: #llvm
>
> Differential Revision: https://reviews.llvm.org/D68848

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375088 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17 08:52:29 +00:00
Jordan Rupprecht 06d4c0251f [llvm-objdump] Use a counter for llvm-objdump -h instead of the section index.
Summary:
When listing the index in `llvm-objdump -h`, use a zero-based counter instead of the actual section index (e.g. shdr->sh_index for ELF).

While this is effectively a noop for now (except one unit test for XCOFF), the index values will change in a future patch that filters certain sections out (e.g. symbol tables). See D68669 for more context. Note: the test case in `test/tools/llvm-objdump/X86/section-index.s` already covers the case of incrementing the section index counter when sections are skipped.

Reviewers: grimar, jhenderson, espindola

Reviewed By: grimar

Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya, llvm-commits, MaskRay

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374931 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-15 18:13:20 +00:00
Jordan Rupprecht ba169d8e73 [llvm-objdump] Adjust spacing and field width for --section-headers
Summary:
- Expand the "Name" column past 13 characters when any of the section names are longer. Current behavior is a staggard output instead of a nice table if a single name is longer.
- Only print the required number of hex chars for addresses (i.e. 8 characters for 32-bit, 16 characters for 64-bit)
- Fix trailing spaces

Reviewers: grimar, jhenderson, espindola

Reviewed By: grimar

Subscribers: emaste, sbc100, arichardson, aheejin, seiya, llvm-commits, MaskRay

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374795 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-14 17:47:17 +00:00
Reid Kleckner be821d9f2d Fix test to avoid check-not matching the temp file absolute path
Fix for PR43636

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374404 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10 18:01:27 +00:00
Jordan Rupprecht 0669008425 [llvm-objdump][test] Move test to X86 dir to avoid errors disassembling on non-x86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373676 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-03 23:08:22 +00:00
Jordan Rupprecht f21fbaa98e [llvm-objdump] Further rearrange llvm-objdump sections for compatability
Summary:
rL371826 rearranged some output from llvm-objdump for GNU objdump compatability, but there still seem to be some more.

I think this rearrangement is a little closer. Overview of the ordering which matches GNU objdump:
* Archive headers
* File headers
* Section headers
* Symbol table
* Dwarf debugging
* Relocations (if `--disassemble` is not used)
* Section contents
* Disassembly

Reviewers: jhenderson, justice_adams, grimar, ychen, espindola

Reviewed By: jhenderson

Subscribers: aprantl, emaste, arichardson, jrtc27, atanasyan, seiya, llvm-commits, MaskRay

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373671 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-03 22:01:08 +00:00
George Rimar 9b7a447e5a [llvm-objdump] Fix llvm-objdump --all-headers output order
Patch by Justice Adams!

Made llvm-objdump --all-headers output match the order of GNU objdump for compatibility reasons.

Old order of the headers output:
* file header
* section header table
* symbol table
* program header table
* dynamic section

New order of the headers output (GNU compatible):
* file header information
* program header table
* dynamic section
* section header table
* symbol table

(Relevant BugZilla Bug: https://bugs.llvm.org/show_bug.cgi?id=41830)

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@371826 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-13 08:56:28 +00:00
Reid Kleckner b492638ac6 [X86] Print register names in .seh_* directives
Also improve assembler parser register validation for .seh_ directives.
This requires moving X86-specific seh directive handling into the x86
backend, which addresses some assembler FIXMEs.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370533 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-30 21:23:05 +00:00
George Rimar fb875a54d2 [yaml2obj][obj2yaml] - Use a single "Other" field instead of "Other", "Visibility" and "StOther".
Currenly we can encode the 'st_other' field of symbol using 3 fields.
'Visibility' is used to encode STV_* values.
'Other' is used to encode everything except the visibility, but it can't handle arbitrary values.
'StOther' is used to encode arbitrary values when 'Visibility'/'Other' are not helpfull enough.

'st_other' field is used to encode symbol visibility and platform-dependent
flags and values. Problem to encode it is that it consists of Visibility part (STV_* values)
which are enumeration values and the Other part, which is different and inconsistent.

For MIPS the Other part contains flags for all STO_MIPS_* values except STO_MIPS_MIPS16.
(Like comment in ELFDumper says: "Someones in their infinite wisdom decided to make
STO_MIPS_MIPS16 flag overlapped with other ST_MIPS_xxx flags."...)

And for PPC64 the Other part might actually encode any value.

This patch implements custom logic for handling the st_other and removes
'Visibility' and 'StOther' fields.

Here is an example of a new YAML style this patch allows:

- Name:  foo
  Other: [ 0x4 ]
- Name:  bar
  Other: [ STV_PROTECTED, 4 ]
- Name:  zed
  Other: [ STV_PROTECTED, STO_MIPS_OPTIONAL, 0xf8 ]

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370472 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-30 13:39:22 +00:00
Yi Kong bcb151cb45 [llvm-objdump] Add the missing ARMv8 subarch detection
Differential Revision: https://reviews.llvm.org/D66849

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370163 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-28 06:37:22 +00:00
George Rimar b836e95d8d [llvm-objdump] - Remove an outdated "FIXME". NFC.
The bug mentioned in this test case was fixed in D63779 (r364955),
which also provides a test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369634 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-22 09:10:17 +00:00
George Rimar d77f59243c [llvm-objdump] - Cleanup the error reporting.
The error reporting function are not consistent.

Before this change:

* They had inconsistent naming (e.g. 'error' vs 'report_error').
* Some of them reported the object name, others - dont.
* Some of them accepted the case when there was no error. (i.e. error code or Error had a success value).

This patch tries to cleanup it a bit.

It also renames report_error -> reportError, report_warning -> reportWarning
and removes a full stop from messages.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369515 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-21 11:07:31 +00:00
George Rimar fd572fefc7 [llvm-objdump] - Remove one of report_error functions and improve the error reporting.
One of the report_error functions was taking object::Archive::Child as an
argument. It feels excessive, this patch removes it and introduce a helper
function instead. Also I fixed a "TODO" in this patch what improved the message printed.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369382 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-20 13:19:16 +00:00
George Rimar eeca3e010d [test/Object] - Move/rewrite 2 more test cases.
This patch makes a change for test/Object tests responsible
for relocations.

* 2 tests were moved to llvm-readobj/llvm-objdump folders:
Object/elf-reloc-no-sym.test -> tools/llvm-readobj/elf-reloc-no-sym.test
Object/objdump-reloc-shared.test -> tools/llvm-objdump/relocations-in-nonreloc.test

* A prerecompiled binary was removed and these tests were refactored.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369342 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-20 08:23:57 +00:00
George Rimar 85286c0d52 [test] - Remove precomiled openbsd-phdrs.elf-x86-64 objects.
There are 2 similar openbsd-phdrs.elf-x86-64 objects committed and
used in test/Object and test/tools/llvm-objdump test cases.

There is no reason to have them, we can use YAML instead. Patch does that.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369189 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-17 14:23:30 +00:00
George Rimar 62924c562d [lib/Object] - Remove objdump-file-header.test
objdump-file-header.test is placed in the wrong folder.
I removed it and updated the existent llvm-objdump test cases with
the updated content of the file removed.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369004 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-15 13:39:58 +00:00
Michael Pozulp 23c8a3ba6c [llvm-objdump] Add warning messages if disassembly + source for problematic inputs
Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=41905

Reviewers: jhenderson, rupprecht, grimar

Reviewed By: jhenderson, grimar

Subscribers: RKSimon, MaskRay, hiraditya, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368963 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-15 05:15:22 +00:00
George Rimar 6b59294bd1 [llvm-objdump] - Add a relocation-xindex-symbol.test test case.
This rewrites the exitent test case to use YAML instead of the precompiled object
and moves it from test/Object to an appropriate llvm-objdump tests folder.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368811 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-14 08:33:26 +00:00
Michael Pozulp 22dacdb953 Revert "[llvm-objdump] Re-commit r367284."
This reverts r367776 (git commit d34099926e909390cb0254bebb4b7f5cf15467c7).
My changes to llvm-objdump tests caused them to fail on windows:
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/27368

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367816 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-05 08:52:28 +00:00
Michael Pozulp befd61501a [llvm-objdump] Re-commit r367284.
Add warning messages if disassembly + source for problematic inputs

Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=41905

Reviewers: jhenderson, rupprecht, grimar

Reviewed By: jhenderson, grimar

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367776 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-04 06:04:00 +00:00
Kuba Mracek fa36e9a0b9 Move macho-data-in-code.ll to X86/macho-data-in-code.ll (to only run when x86 is a valid target).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367583 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-01 16:52:45 +00:00
Kuba Mracek bc12e135d9 [llvm-objdump] Fix jumptable detection when disassembling Mach-O binaries
- Add LC_SEGMENT_64 handling in getSectionsAndSymbols to be able to find the base segment address from 64-bit Mach-O binaries.
- Add "data in code" detection into the !symbolTableWorked case, extract it into a separate function.
- Fix uninitialized variable usage on BaseSegmentAddress (initialize to 0).
- Add test.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367578 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-01 15:51:14 +00:00
Michael Pozulp 3917015010 Revert "[llvm-objdump] Add warning messages if disassembly + source for problematic inputs"
This reverts r367284 (git commit b1cbe51bdf44098c74f5c74b7bcd8c041a7c6772).
My changes to LLVMSymbolizer caused a test to fail:
http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/29488

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367286 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-30 07:05:27 +00:00
Michael Pozulp 3401779594 [llvm-objdump] Add warning messages if disassembly + source for problematic inputs
Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=41905

Reviewers: jhenderson, rupprecht, grimar

Reviewed By: jhenderson, grimar

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367284 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-30 05:28:26 +00:00
Yuanfang Chen 214f88cdcf [llvm-objdump] Emit warning if --start-address/--stop-address specify range outside file's address range.
NB: the warning is about the input file itself regardless of the options used
such as `-r`, `-s` etc..

https://bugs.llvm.org/show_bug.cgi?id=41911

Reviewers: jhenderson, grimar, MaskRay, rupprecht

Reviewed by: MaskRay, jhenderson

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366923 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-24 16:55:30 +00:00
George Rimar 7025bc7be9 [llvm-objdump] - Import the test/Object/X86/no-start-symbol.test test case and rewrite it to use YAML.
This patch removes test/Object/X86/no-start-symbol.test (rewrites
it to use YAML and moves it to llvm-objdump tests folder).

(This test was initially introduced in rL239039, but now there
is no reason to keep the precompiled binary it seems).

DIfferential revision: https://reviews.llvm.org/D65136

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366896 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-24 12:24:43 +00:00
Yuanfang Chen a7b237ffdf [llvm-objdump] Keep warning for --disassemble-functions in correct order.
relative to normal output when dumping archive files.

prepare for PR35351.

Reviewers: jhenderson, grimar, MaskRay, rupprecht

Reviewed by: MaskRay, jhenderson

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365564 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-09 21:53:33 +00:00
Steven Wu 0dd679ebb1 Add lit.local.cfg to llvm-objdump tests
Add configuration file to llvm-objdump tests to treat files with .yaml
extension as tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365519 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-09 17:47:14 +00:00
Yuanfang Chen 44ef0a6b7c Teach the symbolizer lib symbolize objects directly.
Currently, the symbolizer lib can only symbolize a file on disk.
This patch teaches the symbolizer lib to symbolize objects.
llvm-objdump needs this to support archive disassembly with source info.

https://bugs.llvm.org/show_bug.cgi?id=41871

Reviewed by: jhenderson, grimar, MaskRay

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365376 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-08 19:28:57 +00:00
Alex Lorenz 51affaab1d [macCatalyst] Print out macCatalyst in llvm-objdump for the platform
'macCatalyst' is more readable than 'maccatalyst'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365064 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-03 17:46:30 +00:00
Alex Lorenz c4dc899be6 Add support for the 'macCatalyst' MachO platform
Mac Catalyst is a new MachO platform in macOS Catalina.
It always uses the build_version MachO load command.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364981 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-02 23:47:11 +00:00
Yuanfang Chen 8dd8dedf8a [llvm-objdump] Warn if no user specified sections (-j) are not found.
Match GNU objdump.

https://bugs.llvm.org/show_bug.cgi?id=41898

Reviewers: jhenderson, grimar, MaskRay, rupprecht

Reviewed by: jhenderson, grimar, MaskRay

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364955 91177308-0d34-0410-b5e6-96231b3b80d8
2019-07-02 18:38:17 +00:00
Yuanfang Chen 1432e6009c [llvm-objdump] Match GNU objdump on symbol types shown in disassembly
output.

STT_OBJECT and STT_COMMON are dumped as data, not disassembled.

https://bugs.llvm.org/show_bug.cgi?id=41947

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364211 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-24 17:47:56 +00:00
Yuanfang Chen 71bf034cf8 [llvm-objdump] Allow --disassemble-functions to take demangled names
The --disassemble-functions switch takes demangled names when
--demangle is specified, otherwise the switch takes mangled names.

https://bugs.llvm.org/show_bug.cgi?id=41908

Reviewers: jhenderson, grimar, MaskRay, rupprecht

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364121 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-22 01:13:04 +00:00
Yuanfang Chen d142165668 [llvm-objdump] Move --start-address >= --stop-address check out of the
-d code.

Summary:
Move it into `main` function so the checking is effective for all actions
user may do with llvm-objdump; notably, -r and -s in addition to existing -d.

Match GNU behavior.

Reviewers: jhenderson, grimar, MaskRay, rupprecht

Subscribers: llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364118 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-22 00:22:57 +00:00
James Henderson b7bdff997f [binutils] Add response file option to help and docs
Many LLVM-based tools already support response files (i.e. files
containing a list of options, specified with '@'). This change simply
updates the documentation and help text for some of these tools to
include it. I haven't attempted to fix all tools, just a selection that
I am interested in.

I've taken the opportunity to add some tests for --help behaviour, where
they were missing. We could expand these tests, but I don't think that's
within scope of this patch.

This fixes https://bugs.llvm.org/show_bug.cgi?id=42233 and
https://bugs.llvm.org/show_bug.cgi?id=42236.

Reviewed by: grimar, MaskRay, jkorous

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364036 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-21 11:49:20 +00:00
Eli Friedman cd0e53865d [llvm-objdump] Switch between ARM/Thumb based on mapping symbols.
The ARMDisassembler changes allow changing between ARM and Thumb mode
based on the MCSubtargetInfo, rather than the Target, which simplifies
the other changes a bit.

I'm not really happy with adding more target-specific logic to
tools/llvm-objdump/, but there isn't any easy way around it: the logic
in question specifically applies to disassembling an object file, and
that code simply isn't located in lib/Target, at least at the moment.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363903 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-20 00:29:40 +00:00
Yuanfang Chen e3397d8664 [llvm-objdump] Remove unnecessary indentation when dumping ELF data.
Reviewers: MaskRay, jhenderson, rupprecht

Subscribers: llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363858 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-19 18:44:29 +00:00
Michael Trent 595bd8b12a Print dylib load kind (weak, reexport, etc) in llvm-objdump -m -dylibs-used
Summary:
Historically llvm-objdump prints the path to a dylib as well as the
dylib's compatibility version and current version number. This change
extends this information by adding the kind of dylib load: weak,
reexport, etc.

rdar://51383512

Reviewers: pete, lhames

Reviewed By: pete

Subscribers: rupprecht, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363746 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-18 22:20:10 +00:00
Fangrui Song 400438c3c0 [llvm-objdump] Use %08 instead of %016 to print leading addresses for 32-bit binaries
Reviewed By: grimar

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363539 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-17 09:59:55 +00:00
Fangrui Song 1002960b9d [lit] Delete empty lines at the end of lit.local.cfg NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363538 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-17 09:51:07 +00:00
Wolfgang Pieb 84f071dd78 [ELF][llvm-objdump] Treat dynamic tag values as virtual addresses instead of offsets
The ELF gABI requires the tag values of DT_REL, DT_RELA and DT_JMPREL to be
treated as virtual addresses. They were treated as offsets. Fixes PR41832.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362969 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-10 17:50:24 +00:00
Jordan Rupprecht 699a2e567f [llvm-objdump] Fix Bugzilla ID 41862 to support checking addresses of disassembled object
Summary:
This fixes the bugzilla id,41862 to support dealing with checking
stop address against start address to support this not being a
proper object to check the disasembly against like gnu objdump
currently does.

Reviewers: jakehehrlich, rupprecht, echristo, jhenderson, grimar

Reviewed By: jhenderson

Subscribers: MaskRay, smeenai, rupprecht, llvm-commits

Tags: #llvm

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

Patch by Nicholas Krause!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362847 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 21:49:26 +00:00
Michael Pozulp 81d8e5d40b [llvm-objdump] Add warning if --disassemble-functions specifies an unknown symbol
Summary:
Fixes Bug 41904 https://bugs.llvm.org/show_bug.cgi?id=41904

Re-land r362768 after it was reverted in r362826.

Reviewers: jhenderson, rupprecht, grimar, MaskRay

Reviewed By: jhenderson, rupprecht, MaskRay

Subscribers: dexonsmith, rupprecht, kristina, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362838 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 20:34:31 +00:00
Vlad Tsyrklevich 7a94d4e4e4 Revert "[llvm-objdump] Add warning if --disassemble-functions specifies an unknown symbol"
This reverts commit 50f61af3f304a03f10d9ecb0828829f0a72d0099, it used
the function introduced in the previous revert of
0bddef79019a23ab14fcdb27028e55e484674c88.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362826 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 18:55:12 +00:00
Michael Pozulp 9bdaadd3a9 [NFC] Delete trailing whitespace character.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362772 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 06:28:43 +00:00
Michael Pozulp 0ccb60f704 [llvm-objdump] Print source when subsequent lines in the translation unit come from the same line in two different headers.
Reviewers: grimar, rupprecht, jhenderson

Reviewed By: grimar, jhenderson

Subscribers: llvm-commits, jhenderson

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362771 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 06:23:54 +00:00
Michael Pozulp 702cdcb85d [llvm-objdump] Add warning if --disassemble-functions specifies an unknown symbol
Summary: Fixes Bug 41904 https://bugs.llvm.org/show_bug.cgi?id=41904

Reviewers: jhenderson, rupprecht, grimar, MaskRay

Reviewed By: jhenderson, rupprecht, MaskRay

Subscribers: dexonsmith, rupprecht, kristina, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362768 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 05:11:13 +00:00
Michael Pozulp 9df9a0d4f5 [NFC] Test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362763 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 01:55:59 +00:00
George Rimar 3fa8760f89 [llvm-objdump] - Disassemble non-executable sections if specifically requested.
This is https://bugs.llvm.org/show_bug.cgi?id=41897.

Previously -d + -j .data had no effect, that wasn't consistent with GNU,
which proccesses .data in that case. With this patch we follow this behavior.

Diffeential revision: https://reviews.llvm.org/D62848

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362596 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-05 11:37:53 +00:00