| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
MIPS 32-bit ABI uses REL relocation record format to save dynamic
relocations. The patch teaches llvm-readobj to show dynamic relocations
in this format.
Differential Revision: http://reviews.llvm.org/D16114
llvm-svn: 258001
|
|
|
|
| |
llvm-svn: 257990
|
|
|
|
| |
llvm-svn: 257988
|
|
|
|
|
|
|
| |
Initial commit message:
CRLF -> LF. NFC
llvm-svn: 257973
|
|
|
|
| |
llvm-svn: 257967
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added forgotten ELFDumper.cpp to commit.
Initial commit message:
[llvm-readobj] Add support for TLSDESC_PLT and TLSDESC_GOT dynamic section tags to the llvm-readobj.
If module uses uses lazy TLSDESC relocations it should define DT_TLSDESC_PLT and DT_TLSDESC_GOT entries.
They were unknown for llvm-readobj before this patch.
Differential revision: http://reviews.llvm.org/D16224
llvm-svn: 257914
|
|
|
|
|
|
|
|
|
| |
A request has been made to the official registry, but an official value is
not yet available. This patch uses a temporary value in order to support
development. When an official value is recieved, the value of EM_WEBASSEMBLY
will be updated.
llvm-svn: 257517
|
|
|
|
| |
llvm-svn: 254751
|
|
|
|
|
|
| |
Reported by: mikael.holmen at ericsson.com
llvm-svn: 251117
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13824
llvm-svn: 250575
|
|
|
|
| |
llvm-svn: 250464
|
|
|
|
|
|
|
|
| |
Add a new command line switch, -gnu-hash-table, to print the content of that section.
Differential Revision: http://reviews.llvm.org/D13696
llvm-svn: 250291
|
|
|
|
| |
llvm-svn: 249043
|
|
|
|
|
|
| |
Patch by Igor Kudrin!
llvm-svn: 248194
|
|
|
|
|
|
|
| |
This removes a report_fatal_error from library and avoids checking a
section property for every section entry.
llvm-svn: 246656
|
|
|
|
| |
llvm-svn: 245813
|
|
|
|
|
|
|
| |
With this we finally have an ELFFile that is O(1) to construct. This is helpful
for programs like lld which have to do their own section walk.
llvm-svn: 244510
|
|
|
|
|
|
| |
Another step in avoiding iterating over all sections in the ELFFile constructor.
llvm-svn: 244496
|
|
|
|
|
|
| |
Yet another step in not having it scan every section.
llvm-svn: 244353
|
|
|
|
|
|
| |
Another step in making ELFFile's constructor not iterate over all sections.
llvm-svn: 244351
|
|
|
|
|
|
|
|
|
| |
In tree they are only used by llvm-readobj, but it is also used by
https://github.com/mono/CppSharp.
While at it, add some missing error checking.
llvm-svn: 244320
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11458
llvm-svn: 244303
|
|
|
|
| |
llvm-svn: 244300
|
|
|
|
|
|
|
|
|
|
| |
lld might end up using a small part of this, but it will be in a much
refactored form. For now this unblocks avoiding the full section scan in the
ELFFile constructor.
This also has a (very small) error handling improvement.
llvm-svn: 244282
|
|
|
|
| |
llvm-svn: 243833
|
|
|
|
| |
llvm-svn: 242998
|
|
|
|
| |
llvm-svn: 242995
|
|
|
|
| |
llvm-svn: 242901
|
|
|
|
|
|
|
|
|
| |
Not every program needs this information.
In particular, it is necessary and sufficient for a static linker to scan the
section table.
llvm-svn: 242833
|
|
|
|
|
|
| |
We were already passing 3 values it can get from ELFDumper.
llvm-svn: 242829
|
|
|
|
| |
llvm-svn: 242828
|
|
|
|
| |
llvm-svn: 242798
|
|
|
|
| |
llvm-svn: 242795
|
|
|
|
|
|
|
| |
This just removes some cases that require ELFFile to eagerly parse the ELF
file.
llvm-svn: 242794
|
|
|
|
| |
llvm-svn: 242786
|
|
|
|
| |
llvm-svn: 242715
|
|
|
|
|
|
| |
Use just the pointers and check for invalid relocation sections.
llvm-svn: 242700
|
|
|
|
|
|
| |
We now use a simple pointer and have range loops.
llvm-svn: 242669
|
|
|
|
| |
llvm-svn: 242658
|
|
|
|
|
|
|
|
|
| |
llvm-readobj exists for testing llvm. We can safely stop the program
the first time we know the input in corrupted.
This is in preparation for making it handle a few more broken files.
llvm-svn: 242656
|
|
|
|
|
|
| |
This time without breaking the bots.
llvm-svn: 241869
|
|
|
|
|
|
| |
Now the -mips-plt-got prints both MIPS GOT and PLT tables.
llvm-svn: 241836
|
|
|
|
| |
llvm-svn: 241781
|
|
|
|
| |
llvm-svn: 241765
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also improves the logic of what is an error:
* getSection(uint_32): only return an error if the index is out of bounds. The
index 0 corresponds to a perfectly valid entry.
* getSection(Elf_Sym): Returns null for symbols that normally don't have
sections and error for out of bound indexes.
In many places this just moves the report_fatal_error up the stack, but those
can then be fixed in smaller patches.
llvm-svn: 241156
|
|
|
|
| |
llvm-svn: 241105
|
|
|
|
| |
llvm-svn: 241074
|
|
|
|
|
|
| |
I doesn't depend on the object anymore.
llvm-svn: 240996
|
|
|
|
|
|
|
|
|
|
| |
This moves the error checking for string tables to getStringTable which returns
an ErrorOr<StringRef>.
This improves error checking, makes it uniform across all string tables and
makes it possible to check them once instead of once per name.
llvm-svn: 240950
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was a fairly broken concept for an ELF only class.
An ELF file can have two symbol tables, but they have exactly the same
format. There is no concept of a dynamic or a static symbol. Storing this
on the iterator also makes us do more work per symbol than necessary. To fetch
a name we would:
* Find if we had a static or a dynamic symbol.
* Look at the corresponding symbol table and find the string table section.
* Look at the string table section to fetch its contents.
* Compute the name as a substring of the string table.
All but the last step can be done per symbol table instead of per symbol. This
is a step in that direction.
llvm-svn: 240939
|