aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/COFFObjectFile.cpp
AgeCommit message (Collapse)AuthorFilesLines
2013-07-19Retry submitting r186623: COFFDumper: Dump data directory entries.Rui Ueyama1-37/+49
The original change was rolled back in r186627 because of test failures on the big endian machine. I believe I fixed the issue so re-submitting. llvm-svn: 186734
2013-07-18Revert "COFFDumper: Dump data directory entries."Rui Ueyama1-46/+36
Because it broke s390x and ppc64-linux buildbots. This reverts commit r186623. llvm-svn: 186627
2013-07-18COFFDumper: Dump data directory entries.Rui Ueyama1-36/+46
Summary: Dump optional data directory entries in the PE/COFF header, so that we can test the output of LLD linker. This patch updates the test binary file, but the source of the binary is the same. I just re-linked the file. I don't know how the previous file was linked, but the previous file did not have any data directory entries for some reason. Reviewers: rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1148 llvm-svn: 186623
2013-06-12readobj: Dump PE/COFF optional records.Rui Ueyama1-36/+63
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
2013-06-05Handle relocations that don't point to symbols.Rafael Espindola1-4/+2
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
2013-05-09Change getRelocationAdditionalInfo to be ELF only.Rafael Espindola1-5/+0
It was only implemented for ELF where it collected the Addend, so this patch also renames it to getRelocationAddend. llvm-svn: 181502
2013-04-25Clarify getRelocationAddress x getRelocationOffset a bit.Rafael Espindola1-2/+1
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
2013-04-07Remove unused argument.Rafael Espindola1-1/+1
llvm-svn: 178987
2013-02-12Add static cast to unsigned char whenever a character classification ↵Guy Benyei1-1/+1
function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. llvm-svn: 175006
2012-10-29Add interface for querying object files for symbol values.Tim Northover1-0/+5
Currently only implemented for ELF. Patch by Amara Emerson. llvm-svn: 166918
2012-10-10Cosmetic changesAndrew Kaylor1-1/+1
llvm-svn: 165588
2012-10-10This patch adds new functions to the SectionRef and ObjectFile interfaces to ↵Andrew Kaylor1-0/+7
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
2012-06-18Added accessors for getting coff_relocation infoMarshall Clow1-0/+5
llvm-svn: 158675
2012-06-15Had a closing brace inside an #ifdef -- oops!Marshall Clow1-1/+1
llvm-svn: 158485
2012-06-15Adding acessors to COFFObjectFile so that clients can get at the ↵Marshall Clow1-0/+31
(non-generic) bits llvm-svn: 158484
2012-04-12This patch improves the MCJIT runtime dynamic loader by adding new handlingPreston Gurd1-0/+21
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
2012-04-10Add a constructor for DataRefImpl and remove excess initialization.Danil Malyshev1-9/+0
llvm-svn: 154371
2012-03-19[Object/COFF]: Expose getSectionContents.Michael J. Spencer1-10/+19
llvm-svn: 153051
2012-03-19[Object/COFF]: Expose getSectionName.Michael J. Spencer1-19/+24
Also add some documentation. llvm-svn: 153050
2012-03-15Fix bug found by warning.Michael J. Spencer1-1/+2
llvm-svn: 152812
2012-03-09[Object]David Meyer1-1/+1
Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big llvm-svn: 152435
2012-03-01[Object]David Meyer1-0/+6
Add ObjectFile::getLoadName() for retrieving the soname/installname of a shared object. llvm-svn: 151845
2012-03-01[Object]David Meyer1-0/+20
* 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
2012-02-29[Object] Add symbol attribute flags: ST_ThreadLocal, ST_Common, and ↵David Meyer1-2/+6
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
2012-02-28In the ObjectFile interface, replace isInternal(), isAbsolute(), isGlobal(), ↵David Meyer1-22/+15
and isWeak(), with a bitset of flags. llvm-svn: 151670
2012-02-28[Object] Add {begin,end}_dynamic_symbols stubs and implementation for ELF.Michael J. Spencer1-0/+10
Add -D option to llvm-nm to dump dynamic symbols. Patch by David Meyer. llvm-svn: 151600
2011-11-29Fixed ObjectFile functions:Danil Malyshev1-6/+9
- 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
2011-11-28Fix some possible gcc-4.2 may be used uninitialized warnings.Daniel Dunbar1-2/+2
llvm-svn: 145292
2011-11-27Revert r145180 as it is causing test failures on all the bots.Chandler Carruth1-9/+6
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
2011-11-27Fixed ObjectFile functions:Danil Malyshev1-6/+9
- 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
2011-11-16Object/COFF: Support common symbols.Michael J. Spencer1-1/+3
llvm-svn: 144861
2011-11-08Object/COFF: Fix PE reading.Michael J. Spencer1-23/+30
llvm-svn: 144148
2011-11-02object/COFF: Properly initalize uses of DataRefImpl.Michael J. Spencer1-0/+2
llvm-svn: 143562
2011-10-26Expand relocation type field to 64 bits. MachO scattered relocations ↵Owen Anderson1-1/+1
require 33 bits of type info. llvm-svn: 143032
2011-10-18Object/COFF: Remove useless test.Michael J. Spencer1-1/+1
llvm-svn: 142408
2011-10-18Object/COFF: Change type from a struct to a uint16_t. The struct would beMichael J. Spencer1-1/+1
incorrect for bigendian systems. llvm-svn: 142403
2011-10-17Object: Add isSymbolAbsolute and getSymbolSection.Michael J. Spencer1-0/+22
llvm-svn: 142317
2011-10-17Object: Add isSymbolWeak.Michael J. Spencer1-0/+7
llvm-svn: 142316
2011-10-17Object/COFF: Expose more data in the public API.Michael J. Spencer1-16/+26
llvm-svn: 142315
2011-10-17Object: Fix redundant name.Michael J. Spencer1-1/+1
llvm-svn: 142238
2011-10-13COFF: Implement sectionContainsSymbol for relocatable files only.Michael J. Spencer1-2/+8
llvm-svn: 141884
2011-10-10Object: add getSectionAlignment.Michael J. Spencer1-0/+9
llvm-svn: 141581
2011-10-08lib/Object: Suppress warnings on gcc-4.3.4 cygwinNAKAMURA Takumi1-1/+1
llvm-svn: 141485
2011-10-07Change relocation API to be per section. This time without breaking GCC.Michael J. Spencer1-43/+115
llvm-svn: 141385
2011-10-07Revert 141376 and 141377 due to breaking the build.Bill Wendling1-114/+43
--- 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
2011-10-07Change relocation API to be per section.Michael J. Spencer1-43/+114
llvm-svn: 141376
2011-09-28Object: Add isSection{Data,BSS}.Michael J. Spencer1-0/+14
llvm-svn: 140721
2011-09-14Object: make the following changes into SymbolRefBenjamin Kramer1-1/+50
- 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
2011-09-13Silence false positive uninitialized variable warnings from GCC.Benjamin Kramer1-3/+3
llvm-svn: 139573
2011-09-08Add support for relocations to ObjectFile.Benjamin Kramer1-2/+73
Patch by Danil Malyshev! llvm-svn: 139314