|
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, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, 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, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
| #
135df212 |
| 09-Feb-2021 |
Alex Richardson <[email protected]> |
[llvm-readelf] Print raw ELF note contents if we can't parse it
Currently, if the note name is known, but the value isn't we don't print the contents.
Reviewed By: jhenderson
Differential Revision
[llvm-readelf] Print raw ELF note contents if we can't parse it
Currently, if the note name is known, but the value isn't we don't print the contents.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D74367
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 |
|
| #
a6db7cf1 |
| 24-Dec-2020 |
Georgii Rymar <[email protected]> |
[llvm-readelf/obj] - Index phdrs and relocations from 0 when reporting warnings.
As was mentioned in comments here: https://reviews.llvm.org/D92636#inline-864967
we are not consistent and sometimes
[llvm-readelf/obj] - Index phdrs and relocations from 0 when reporting warnings.
As was mentioned in comments here: https://reviews.llvm.org/D92636#inline-864967
we are not consistent and sometimes index things from 0, but sometimes from 1 in warnings.
This patch fixes 2 places: messages reported for program headers and messages reported for relocations.
Differential revision: https://reviews.llvm.org/D93805
show more ...
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
ce322fb0 |
| 24-Nov-2020 |
Georgii Rymar <[email protected]> |
[llvm-readelf/obj] - Stop using `reportError` when dumping notes.
This starts using `reportUniqueWarnings` instead of `reportError` in the code that is responsible for dumping notes.
Differential r
[llvm-readelf/obj] - Stop using `reportError` when dumping notes.
This starts using `reportUniqueWarnings` instead of `reportError` in the code that is responsible for dumping notes.
Differential revision: https://reviews.llvm.org/D92021
show more ...
|
| #
fee910e5 |
| 24-Nov-2020 |
Georgii Rymar <[email protected]> |
[libObject,llvm-readelf] - Stop describing a section/segment in `notes_begin()`.
`notes_begin()` is used for iterating over notes. This API in some cases might print section type and index. At the s
[libObject,llvm-readelf] - Stop describing a section/segment in `notes_begin()`.
`notes_begin()` is used for iterating over notes. This API in some cases might print section type and index. At the same time during iterating, the `Elf_Note_Iterator` might omit it as it doesn't have this info.
Because of above we might have the redundant duplication of information in warnings: (See D92021).
``` warning: '[[FILE]]': unable to read notes from the SHT_NOTE section with index 1: SHT_NOTE section [index 1] has invalid offset (0x40) or size (0xffff0000) ```
This change stops reporting section index/type in Object/ELF.h/notes_begin(). (FTR, this was introduced by me for llvm-readobj in D64470). Instead we can describe sections/program headers on the caller side.
Differential revision: https://reviews.llvm.org/D92081
show more ...
|
| #
2745d9c5 |
| 23-Nov-2020 |
Georgii Rymar <[email protected]> |
[llvm-readobj][test] - Simplify the gnu-notes.test
This test contains YAMLs that can be merged with use of macros. This opens road for adding more test cases.
Differential revision: https://reviews
[llvm-readobj][test] - Simplify the gnu-notes.test
This test contains YAMLs that can be merged with use of macros. This opens road for adding more test cases.
Differential revision: https://reviews.llvm.org/D91953
show more ...
|
| #
a7a447be |
| 30-Oct-2020 |
Georgii Rymar <[email protected]> |
[yaml2obj] - ProgramHeaders: introduce FirstSec/LastSec instead of Sections list.
Imagine we have a YAML declaration of few sections: `foo1`, `<unnamed 2>`, `foo3`, `foo4`.
To put them into segment
[yaml2obj] - ProgramHeaders: introduce FirstSec/LastSec instead of Sections list.
Imagine we have a YAML declaration of few sections: `foo1`, `<unnamed 2>`, `foo3`, `foo4`.
To put them into segment we can do (1*):
``` Sections: - Section: foo1 - Section: foo4 ```
or we can use (2*):
``` Sections: - Section: foo1 - Section: foo3 - Section: foo4 ```
or (3*) :
``` Sections: - Section: foo1 ## "(index 2)" here is a name that we automatically created for a unnamed section. - Section: (index 2) - Section: foo3 - Section: foo4 ```
It looks really confusing that we don't have to list all of sections.
At first I've tried to make this rule stricter and report an error when there is a gap (i.e. when a section is included into segment, but not listed explicitly). This did not work perfect, because such approach conflicts with unnamed sections/fills (see (3*)).
This patch drops "Sections" key and introduces 2 keys instead: `FirstSec` and `LastSec`. Both are optional.
Differential revision: https://reviews.llvm.org/D90458
show more ...
|
|
Revision tags: 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 |
|
| #
a6436b0b |
| 18-Aug-2020 |
Georgii Rymar <[email protected]> |
[yaml2obj] - Make the 'Machine' key optional.
Currently we have to set 'Machine' to something in our YAML descriptions. Usually we use 'EM_X86_64' for 64-bit targets and 'EM_386' for 32-bit targets.
[yaml2obj] - Make the 'Machine' key optional.
Currently we have to set 'Machine' to something in our YAML descriptions. Usually we use 'EM_X86_64' for 64-bit targets and 'EM_386' for 32-bit targets. At the same time, in fact, in most cases our tests do not need a machine type and we can use 'EM_NONE'.
This is cleaner, because avoids the need of using a particular machine.
In this patch I've made the 'Machine' key optional (the default value, when it is not specified is `EM_NONE`) and removed it (where possible) from yaml2obj, obj2yaml and llvm-readobj tests.
There are few tests left where I decided not to remove it, because I didn't want to touch CHECK lines or doing anything more complex than a removing a "Machine: *" line and formatting lines around.
Differential revision: https://reviews.llvm.org/D86202
show more ...
|
| #
2bca784a |
| 30-Jul-2020 |
Georgii Rymar <[email protected]> |
[llvm-readobj] - Massive test cases cleanup.
This patch does the following: 1) Starts using YAML macro to reduce the number of YAML documents in tests. 2) Adds `#` before 'RUN'/`CHECK` lines in a fe
[llvm-readobj] - Massive test cases cleanup.
This patch does the following: 1) Starts using YAML macro to reduce the number of YAML documents in tests. 2) Adds `#` before 'RUN'/`CHECK` lines in a few tests where it is missing. 3) Removes unused YAML keys. 4) Starts using `ENTSIZE=<none>` to simplify tests (see D84526). 5) Removes trailing white spaces in a few places.
Differential revision: https://reviews.llvm.org/D85013
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc1, llvmorg-12-init |
|
| #
7a587ca9 |
| 14-Jul-2020 |
Georgii Rymar <[email protected]> |
[yaml2obj] - Rename FileHeader::SH* fields.
In D83482 we agreed to name e_* fields that are used for overriding values (like e_phoff) as EPh* (e.g. EPhOff).
Currently we have a set of e_sh* fields
[yaml2obj] - Rename FileHeader::SH* fields.
In D83482 we agreed to name e_* fields that are used for overriding values (like e_phoff) as EPh* (e.g. EPhOff).
Currently we have a set of e_sh* fields that are named inconsistently with this rule. This patch renames all of them.
Differential revision: https://reviews.llvm.org/D83766
show more ...
|
| #
7ef17638 |
| 10-Jul-2020 |
Georgii Rymar <[email protected]> |
[llvm-readobj] - Stop using unwrapOrError() for all program_headers() calls.
program_headers() returns the list of program headers. This change allows to continue attempt of dumping when something i
[llvm-readobj] - Stop using unwrapOrError() for all program_headers() calls.
program_headers() returns the list of program headers. This change allows to continue attempt of dumping when something is wrong with program headers.
Differential revision: https://reviews.llvm.org/D83554
show more ...
|
|
Revision tags: llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1 |
|
| #
2bf56743 |
| 16-Apr-2020 |
Georgii Rymar <[email protected]> |
[yaml2obj] - Program headers: add an additional check for `Offset`
The `Offset` field is used to set the file offset of a program header. In a normal object it should not be greater than the minimal
[yaml2obj] - Program headers: add an additional check for `Offset`
The `Offset` field is used to set the file offset of a program header. In a normal object it should not be greater than the minimal offset of sections included into segment.
This patch adds a check for that and adds tests.
Differential revision: https://reviews.llvm.org/D78304
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4 |
|
| #
c140810e |
| 04-Mar-2020 |
Jordan Rupprecht <[email protected]> |
[llvm-readobj] Include section name of notes.
This changes the output of `llvm-readelf -n` from:
``` Displaying notes found at file offset 0x<...> with length 0x<...>: ```
to:
``` Displaying note
[llvm-readobj] Include section name of notes.
This changes the output of `llvm-readelf -n` from:
``` Displaying notes found at file offset 0x<...> with length 0x<...>: ```
to:
``` Displaying notes found in: .note.foo ```
And similarly, adds a `Name:` field to the `llvm-readobj -n` output for notes.
This change not only increases GNU compatibility, it also makes it much easier to read notes. Note that we still fall back to printing the file offset/length in cases where we don't have a section name, such as when printing notes in program headers or printing notes in a partially stripped file (GNU readelf does the same).
Fixes llvm.org/PR41339.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D75647
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
| #
55c81d42 |
| 22-Jan-2020 |
Fangrui Song <[email protected]> |
[test] Use yaml2obj -o %t instead of > %t
To improve consistency and avoid unneeded shell feature (output redirection).
While here, make other changes to improve consistency
--docnum 1 => --docnum
[test] Use yaml2obj -o %t instead of > %t
To improve consistency and avoid unneeded shell feature (output redirection).
While here, make other changes to improve consistency
--docnum 1 => --docnum=1 -docnum=x => --docnum=x
show more ...
|
|
Revision tags: llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3 |
|
| #
dbf520f6 |
| 09-Dec-2019 |
Georgii Rymar <[email protected]> |
[llvm-readobj][test] - Move platform specific test cases and their inputs to separate folders.
This creates the next subfolders in the test directory: "COFF", "ELF", "MachO", "wasm".
I've also remo
[llvm-readobj][test] - Move platform specific test cases and their inputs to separate folders.
This creates the next subfolders in the test directory: "COFF", "ELF", "MachO", "wasm".
I've also removed platform specific prefixes, like "coff-*". One unused binary was removed as well: `Inputs/relocs.obj.elf-mips`
Differential revision: https://reviews.llvm.org/D71203
show more ...
|