| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
The parser provides a convenient interface for reading llvm stackmap v1 sections
in object files.
This patch also includes a new option for llvm-readobj, '-stackmap', which uses
the parser to pretty-print stackmap sections for debugging/testing purposes.
llvm-svn: 240860
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: arsenm, rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10708
llvm-svn: 240832
|
|
|
|
|
|
| |
stripped.
llvm-svn: 240703
|
|
|
|
|
|
|
| |
It is perfectly possible for SHNDX to contain indexes that have the same value
as reserved st_shndx values.
llvm-svn: 240544
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This will be used by the R600 backend.
Reviewers: chandlerc, rafael
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10389
llvm-svn: 240329
|
|
|
|
|
|
| |
Sorry, I have no idea how grep failed to find this.
llvm-svn: 240133
|
|
|
|
| |
llvm-svn: 239856
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The underlaying issues is that this code can't really know if an OS specific or
processor specific section number should return true or false.
One option would be to assert or return an error, but that looks like over
engineering since extensions are not that common.
It seems better to have these be direct implementation of the ELF spec so that
they are natural for someone familiar with ELF reading the code.
Code that does have to handle OS/Architecture specific values can do it at
a higher level.
llvm-svn: 239618
|