| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 239286
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ELF spec is very clear:
-----------------------------------------------------------------------------
If the value is non-zero, it represents a string table index that gives the
symbol name. Otherwise, the symbol table entry has no name.
--------------------------------------------------------------------------
In particular, a st_name of 0 most certainly doesn't mean that the symbol has
the same name as the section.
llvm-svn: 238899
|
|
|
|
|
|
| |
This saves 123144 bytes out of llvm-nm on powerpc64le.
llvm-svn: 238824
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llvm-readobj -dynamic-table output.
Before:
0x000000006FFFFFFB unknown
After:
0x000000006FFFFFFB FLAGS_1 NOW ORIGIN
Differential Revision: http://reviews.llvm.org/D9958
llvm-svn: 238151
|
|
|
|
| |
llvm-svn: 237451
|
|
|
|
| |
llvm-svn: 236807
|
|
|
|
|
|
|
|
|
| |
This change adds new flag -mips-abi-flags to the llvm-readobj. This flag
forces printing of .MIPS.abiflags section content.
https://dmz-portal.mips.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#10.2.1._.MIPS.abiflags
llvm-svn: 236737
|
|
|
|
| |
llvm-svn: 236728
|
|
|
|
| |
llvm-svn: 235285
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CloudABI is a POSIX-like runtime environment built around the concept of
capability-based security. More details:
https://github.com/NuxiNL/cloudlibc
CloudABI uses its own ELFOSABI number. This number has been allocated by
the maintainers of ELF a couple of days ago.
Reviewed by: echristo
llvm-svn: 231681
|
|
|
|
|
|
| |
This lets llvm-mc assemble files produced by gcc.
llvm-svn: 226895
|
|
|
|
| |
llvm-svn: 220016
|
|
|
|
|
|
|
|
|
| |
Revert "Correctly handle references to section symbols."
Revert "Allow forward references to section symbols."
Rui found a regression I am debugging.
llvm-svn: 220010
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When processing assembly like
.long .text
we were creating a new undefined symbol .text. GAS on the other hand would
handle that as a reference to the .text section.
This patch implements that by creating the section symbols earlier so that
they are visible during asm parsing.
The patch also updates llvm-readobj to print the symbol number in the relocation
dump so that the test can differentiate between two sections with the same name.
llvm-svn: 219829
|
|
|
|
|
|
|
|
|
|
|
|
| |
Users of getSectionContents shouldn't try to pass in BSS or virtual
sections. In all instances, this is a bug in the code calling this
routine.
N.B. Some COFF implementations (like CL) will mark their BSS sections as
taking space on disk. This would confuse COFFObjectFile into thinking
the section is larger than the file.
llvm-svn: 218549
|
|
|
|
|
|
| |
obj2yaml and yaml2obj tools.
llvm-svn: 212908
|
|
|
|
| |
llvm-svn: 212374
|
|
|
|
| |
llvm-svn: 211152
|
|
|
|
| |
llvm-svn: 211151
|
|
|
|
|
|
|
|
| |
MIPS GOT section.
Patch reviewed by Rafael Espindola.
llvm-svn: 211150
|
|
|
|
| |
llvm-svn: 210876
|
|
|
|
| |
llvm-svn: 210866
|
|
|
|
|
|
|
|
| |
(section name, section index, full name) into the separate functions.
No functional changes.
llvm-svn: 210509
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 210164
|