| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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: 242784
|
|
|
|
|
|
| |
Both ELFObjectFile and ELFFile had an implementation of getLoadName.
llvm-svn: 242725
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 242655
|
|
|
|
|
|
| |
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: 241831
|
|
|
|
| |
llvm-svn: 241783
|
|
|
|
| |
llvm-svn: 241781
|
|
|
|
| |
llvm-svn: 241765
|
|
|
|
|
|
|
|
|
|
| |
Column information is present in CodeView when the line table subsection
has bit 0 set to 1 in it's flags field. The column information is
represented as a pair of 16-bit quantities: a starting and ending
column. This information is present at the end of the chunk, after all
the line-PC pairs.
llvm-svn: 241764
|
|
|
|
| |
llvm-svn: 241458
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When talking about the virtual address of sections the coff spec says:
... for simplicity, compilers should set this to zero. Otherwise, it is an
arbitrary value that is subtracted from offsets during relocation.
We don't currently subtract it, so check that it is zero.
If some producer does create such files, we can change getRelocationOffset
instead.
llvm-svn: 241447
|
|
|
|
|
|
|
| |
It can fail trying to get the section on ELF and COFF. This makes sure the
error is handled.
llvm-svn: 241366
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function can really fail since the string table offset can be out of
bounds.
Using ErrorOr makes sure the error is checked.
Hopefully a lot of the boilerplate code in tools/* can go away once we have
a diagnostic manager in Object.
llvm-svn: 241297
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 241109
|
|
|
|
| |
llvm-svn: 241105
|
|
|
|
| |
llvm-svn: 241104
|
|
|
|
| |
llvm-svn: 241100
|
|
|
|
| |
llvm-svn: 241074
|
|
|
|
| |
llvm-svn: 241042
|
|
|
|
| |
llvm-svn: 241033
|
|
|
|
| |
llvm-svn: 241021
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
This is still a really odd function. Most calls are in object format specific
contexts and should probably be replaced with a more direct query, but at least
now this is not too obnoxious to use.
llvm-svn: 240777
|
|
|
|
|
|
| |
stripped.
llvm-svn: 240703
|
|
|
|
| |
llvm-svn: 240684
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are 3 types of relocations on MachO
* Scattered
* Section based
* Symbol based
On ELF and COFF relocations are symbol based.
We were in the strange situation that we abstracted over two of them. This makes
section based relocations MachO only.
llvm-svn: 240149
|
|
|
|
|
|
| |
Sorry, I have no idea how grep failed to find this.
llvm-svn: 240133
|