|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | in a subclass named DyldELFObject. This class supports rebasing the object file
it represents by re-mapping section addresses to the actual memory addresses
the object was placed in. This is required for MC-JIT implementation on ELF with
debugging support.
Patch reviewed on llvm-commits.
Developed together with Ashok Thirumurthi and Andrew Kaylor.
llvm-svn: 148653 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| | require 33 bits of type info.
llvm-svn: 143032 | 
| | 
| 
| 
| 
| 
| 
| 
| | Some of these can be true at the same time and there are a lot to add,
so this should be turned into a bitfield. Some of the other accessors
should probably be folded into this.
llvm-svn: 142318 | 
| | 
| 
| 
| | llvm-svn: 142317 | 
| | 
| 
| 
| | llvm-svn: 142316 | 
| | 
| 
| 
| | llvm-svn: 142314 | 
| | 
| 
| 
| | llvm-svn: 142238 | 
| | 
| 
| 
| 
| 
| | Danil Malyshev!
llvm-svn: 141901 | 
| | 
| 
| 
| | llvm-svn: 141851 | 
| | 
| 
| 
| 
| 
| 
| 
| | MC/ELF/many-section.s not to fail (on msvc).
DenseMap::lookup(k) would return "default constructor value" when k was not met. It would be useless when value type were POD.
llvm-svn: 141774 | 
| | 
| 
| 
| 
| 
| | in st_shndx fields.
llvm-svn: 141639 | 
| | 
| 
| 
| 
| 
| 
| | layer of abstraction around SymbolRef where you can read its private
SymbolPimpl member.
llvm-svn: 141636 | 
| | 
| 
| 
| | llvm-svn: 141614 | 
| | 
| 
| 
| 
| 
| 
| | If you want to tackle adding the testcase, let me know. It's a 4.2MB ELF file
and I'll be happy to mail it to you.
llvm-svn: 141605 | 
| | 
| 
| 
| | llvm-svn: 141581 | 
| | 
| 
| 
| | llvm-svn: 141389 | 
| | 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| | 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: 133872 | 
| | 
| 
| 
| | llvm-svn: 133870 | 
| | 
| 
| 
| | llvm-svn: 132913 | 
| | 
| 
| 
| | llvm-svn: 132911 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | - Adds support for sniffing PE/COFF files on win32 (.exe and .dll)
   which are COFF files that have an MS-DOS compatibility stub on
   the front of them.
 - Fixes a bug in the COFFObjectFile's support for the Microsoft COFF
   extension for long symbol names, wherein it was attempting to parse
   the leading '/' in an extended symbol name reference as part of the
   integer offset.
 - Fixes bugs in COFFObjectFile and ELFObjectFile wherein section
   and symbol iterators were being returned with uninitialized bytes;
   the type DataRefImpl is a union between 2 32-bit words (d.a and d.b)
   and a single intptr_t word (p). Only p was being initialized, so in
   32-bit builds the result would be iterators with random upper 32-bit
   words in their DataRefImpls. This caused random failures when
   seeking around in object files.
Patch by Graydon Hoare!
llvm-svn: 128799 | 
| | 
| 
| 
| 
| 
| | using intptr_t.
llvm-svn: 123962 | 
|  | llvm-svn: 123896 |