|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | These records are mandatory for executables and are used by the loader.
Reviewers: rafael
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D939
llvm-svn: 183852 | 
| | 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | It was only implemented for ELF where it collected the Addend, so this
patch also renames it to getRelocationAddend.
llvm-svn: 181502 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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: 178987 | 
| | 
| 
| 
| 
| 
| | function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration.
llvm-svn: 175006 | 
| | 
| 
| 
| 
| 
| 
| 
| | Currently only implemented for ELF.
Patch by Amara Emerson.
llvm-svn: 166918 | 
| | 
| 
| 
| | llvm-svn: 165588 | 
| | 
| 
| 
| 
| 
| 
| 
| | determine whether or not a section is meant to be read-only.  These functions will be used by the MCJIT RuntimeDyld to give hints to the memory manager during the object loading process in a future patch.
Patch by Ashok Thirumurthi.
llvm-svn: 165586 | 
| | 
| 
| 
| | llvm-svn: 158675 | 
| | 
| 
| 
| | llvm-svn: 158485 | 
| | 
| 
| 
| 
| 
| | (non-generic) bits
llvm-svn: 158484 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | of zero-initialized sections, virtual sections and common symbols
and preventing the loading of sections which are not required for
execution such as debug information.
Patch by Andy Kaylor!
llvm-svn: 154610 | 
| | 
| 
| 
| | llvm-svn: 154371 | 
| | 
| 
| 
| | llvm-svn: 153051 | 
| | 
| 
| 
| 
| 
| | Also add some documentation.
llvm-svn: 153050 | 
| | 
| 
| 
| | llvm-svn: 152812 | 
| | 
| 
| 
| 
| 
| | Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big
llvm-svn: 152435 | 
| | 
| 
| 
| 
| 
| | Add ObjectFile::getLoadName() for retrieving the soname/installname of a shared object.
llvm-svn: 151845 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | ST_Undefined. Implement these completely for ELF.
Rename ST_External to ST_Unknown, and slightly change its semantics. It now only indicates that the symbol's type
is unknown, not that the symbol is undefined. (For that, use ST_Undefined).
llvm-svn: 151696 | 
| | 
| 
| 
| 
| 
| | and isWeak(), with a bitset of flags.
llvm-svn: 151670 | 
| | 
| 
| 
| 
| 
| 
| 
| | Add -D option to llvm-nm to dump dynamic symbols.
Patch by David Meyer.
llvm-svn: 151600 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
llvm-svn: 145408 | 
| | 
| 
| 
| | llvm-svn: 145292 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Original commit message:
Fixed ObjectFile functions:
- getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
llvm-svn: 145182 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - getSymbolOffset() renamed as getSymbolFileOffset()
- getSymbolFileOffset(), getSymbolAddress(), getRelocationAddress() returns same result for ELFObjectFile, MachOObjectFile and COFFObjectFile.
- added getRelocationOffset()
- fixed MachOObjectFile::getSymbolSize()
- fixed MachOObjectFile::getSymbolSection()
- fixed MachOObjectFile::getSymbolOffset() for symbols without section data.
llvm-svn: 145180 | 
| | 
| 
| 
| | llvm-svn: 144861 | 
| | 
| 
| 
| | llvm-svn: 144148 | 
| | 
| 
| 
| | llvm-svn: 143562 | 
| | 
| 
| 
| 
| 
| | require 33 bits of type info.
llvm-svn: 143032 | 
| | 
| 
| 
| | llvm-svn: 142408 | 
| | 
| 
| 
| 
| 
| | incorrect for bigendian systems.
llvm-svn: 142403 | 
| | 
| 
| 
| | llvm-svn: 142317 | 
| | 
| 
| 
| | llvm-svn: 142316 | 
| | 
| 
| 
| | llvm-svn: 142315 | 
| | 
| 
| 
| | llvm-svn: 142238 | 
| | 
| 
| 
| | llvm-svn: 141884 | 
| | 
| 
| 
| | llvm-svn: 141581 | 
| | 
| 
| 
| | llvm-svn: 141485 | 
| | 
| 
| 
| | llvm-svn: 141385 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | --- Reverse-merging r141377 into '.':
U    tools/llvm-objdump/MachODump.cpp
--- Reverse-merging r141376 into '.':
U    include/llvm/Object/COFF.h
U    include/llvm/Object/ObjectFile.h
U    include/llvm-c/Object.h
U    tools/llvm-objdump/llvm-objdump.cpp
U    lib/Object/MachOObjectFile.cpp
U    lib/Object/COFFObjectFile.cpp
U    lib/Object/Object.cpp
U    lib/Object/ELFObjectFile.cpp
llvm-svn: 141379 | 
| | 
| 
| 
| | llvm-svn: 141376 | 
| | 
| 
| 
| | llvm-svn: 140721 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - Add enum SymbolType and function getSymbolType()
- Add function isGlobal() - it's returns true for symbols that can be used in another objects, such as library functions.
- Rename function getAddress() to getOffset() and add new function getAddress(), because currently getAddress() returns section offset of symbol first byte. new getAddress() return symbol address.
- Change usage SymbolRef::getAddress() to getOffset() in tools/llvm-nm and tools/llvm-objdump.
Patch by Danil Malyshev!
llvm-svn: 139683 | 
| | 
| 
| 
| | llvm-svn: 139573 | 
| | 
| 
| 
| 
| 
| | Patch by Danil Malyshev!
llvm-svn: 139314 | 
| | 
| 
| 
| 
| 
| 
| | - No ELF or COFF implementation yet, I don't have a way to test that.
  Should be straightforward to add though.
llvm-svn: 135288 | 
| | 
| 
| 
| | llvm-svn: 134439 | 
| | 
| 
| 
| | llvm-svn: 134436 |