| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
There is still a long way to go for llvm-nm, but at least we now match
nm's letter output in the cases we test for.
llvm-svn: 193912
|
|
|
|
|
|
|
| |
The patch reviewed by Michael Spencer.
http://llvm-reviews.chandlerc.com/D1846
llvm-svn: 192093
|
|
|
|
|
|
|
| |
Only implemented in the Mach-O ObjectSymbolizer.
The testcase sadly introduces a new binary.
llvm-svn: 188879
|
|
|
|
|
|
|
|
| |
* ELFTypes.h contains template magic for defining types based on endianess, size, and alignment.
* ELFFile.h defines the ELFFile class which provides low level ELF specific access.
* ELFObjectFile.h contains ELFObjectFile which uses ELFFile to implement the ObjectFile interface.
llvm-svn: 188022
|
|
|
|
|
|
|
|
|
|
|
|
| |
If no other operation is specified, 's' becomes an operation instead of an
modifier. The s operation just creates a symbol table. It is the same as
running ranlib.
We assume the archive was created by a sane ar (like llvm-ar or gnu ar) and
if the symbol table is present, then it is current. We use that to optimize
the most common case: a broken build system that thinks it has to run ranlib.
llvm-svn: 187353
|
|
|
|
|
|
|
|
|
|
|
| |
The symbol table has forward references in the file. Instead of allocating
a temporary buffer or counting the size and then writing, this implementation
writes a dummy value first and patches it once the final value is known.
There is room for performance improvement. I will implement them as soon as I
get some other features (like a ranlib mode) in.
llvm-svn: 186934
|
|
|
|
| |
llvm-svn: 186206
|
|
|
|
| |
llvm-svn: 186202
|
|
|
|
| |
llvm-svn: 186192
|
|
|
|
| |
llvm-svn: 186159
|
|
|
|
|
|
|
|
| |
There is no lib/Archive anymore and some archive tests were in test/Archive and
others in test/Object. Since archive is just one of the formats supported by
lib/Object, test/Object is probably the best location.
llvm-svn: 186038
|
|
|
|
| |
llvm-svn: 185664
|
|
|
|
|
|
| |
While there, use early returns to reduce nesting.
llvm-svn: 185547
|
|
|
|
| |
llvm-svn: 184191
|
|
|
|
|
|
|
|
|
|
| |
This test case was a "sanity check"/"breathing" test case at first, but
is really fragile, which impairs changes to yaml2obj.
`test/Object/yaml2obj-elf-bits-endian.test` is much more robust and
serves as an adequate sanity check.
llvm-svn: 183811
|
|
|
|
|
|
| |
Should bring bots back to life.
llvm-svn: 183715
|
|
|
|
|
|
|
|
|
| |
Currently, only emitting the ELF header is supported (no sections or
segments).
The ELFYAML code organization is broadly similar to the COFFYAML code.
llvm-svn: 183711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from the LC_DATA_IN_CODE load command. And when disassembling print
the data in code formatted for the kind of data it and not disassemble those
bytes.
I added the format specific functionality to the derived class MachOObjectFile
since these tables only appears in Mach-O object files. This is my first
attempt to modify the libObject stuff so if folks have better suggestions
how to fit this in or suggestions on the implementation please let me know.
rdar://11791371
llvm-svn: 183424
|
|
|
|
| |
llvm-svn: 183403
|
|
|
|
|
|
|
|
| |
In ELF (as in MachO), not all relocations point to symbols. Represent this
properly by using a symbol_iterator instead of a SymbolRef. Update llvm-readobj
ELF's dumper to handle relocatios without symbols.
llvm-svn: 183284
|
|
|
|
| |
llvm-svn: 183091
|
|
|
|
|
|
|
|
| |
The alignment is just a byte in the middle of Characteristics, not an
independent flag. Making it an independent field in the yaml
representation makes it more yamlio friendly.
llvm-svn: 181243
|
|
|
|
| |
llvm-svn: 181079
|
|
|
|
|
|
|
|
|
|
|
| |
Build attribute sections can now be read if they exist via ELFObjectFile, and
the llvm-readobj tool has been extended with an option to dump this information
if requested. Regression tests are also included which exercise these features.
Also update the docs with a fixed ARM ABI link and a new link to the Addenda
which provides the build attributes specification.
llvm-svn: 181009
|
|
|
|
|
|
|
|
|
|
| |
getRelocationAddress is for dynamic libraries and executables,
getRelocationOffset for relocatable objects.
Mark the getRelocationAddress of COFF and MachO as not implemented yet. Add a
test of ELF's. llvm-readobj -r now prints the same values as readelf -r.
llvm-svn: 180259
|
|
|
|
| |
llvm-svn: 180137
|
|
|
|
|
|
|
|
|
| |
Thanks to Evgeniy Stepanov for reporting this.
It might be a good idea to add a command iterator abstraction to MachO.h, but
this fixes the bug for now.
llvm-svn: 179848
|
|
|
|
|
|
|
|
| |
It had been dropped during the switch to yaml::IO. Also add a test going
from yaml2obj to llvm-readobj. It can be extended as we add more
fields/formats to yaml2obj.
llvm-svn: 178786
|
|
|
|
|
|
|
|
| |
Normally r_info is just a 32 of 64 bit number matching the endian of the rest
of the file. Unfortunately, mips 64 bit little endian is special: The top 32
bits are a little endian number and the following 32 are a big endian one.
llvm-svn: 178694
|
|
|
|
| |
llvm-svn: 171650
|
|
|
|
|
|
| |
This currently prints the ELF program headers.
llvm-svn: 171649
|
|
|
|
| |
llvm-svn: 170349
|
|
|
|
| |
llvm-svn: 167853
|
|
|
|
| |
llvm-svn: 163272
|
|
|
|
| |
llvm-svn: 162808
|
|
|
|
|
|
| |
test files.
llvm-svn: 161219
|
|
|
|
|
|
|
|
| |
yaml2obj takes a textual description of an object file in YAML format
and outputs the binary equivalent. This greatly simplifies writing
tests that take binary object files as input.
llvm-svn: 161205
|
|
|
|
|
|
| |
<sidneym@codeaurora.org>
llvm-svn: 159081
|
|
|
|
|
|
|
|
|
|
| |
* Add enums and structures for GNU version information.
* Implement extraction of that information on a per-symbol basis (ELFObjectFile::getSymbolVersion).
* Implement a generic interface, GetELFSymbolVersion(), for getting the symbol version from the ObjectFile (hides the templating).
* Have llvm-readobj print out the version, when available.
* Add a test for the new feature: readobj-elf-versioning.test
llvm-svn: 152436
|
|
|
|
|
|
|
|
|
| |
* Add begin_dynamic_table() / end_dynamic_table() private interface to ELFObjectFile.
* Add begin_libraries_needed() / end_libraries_needed() interface to ObjectFile, for grabbing the list of needed libraries for a shared object or dynamic executable.
* Implement this new interface completely for ELF, leave stubs for COFF and MachO.
* Add 'llvm-readobj' tool for dumping ObjectFile information.
llvm-svn: 151785
|
|
|
|
|
|
|
|
| |
Add -D option to llvm-nm to dump dynamic symbols.
Patch by David Meyer.
llvm-svn: 151600
|
|
llvm-svn: 143400
|