* 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151785 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Meyer
2012-03-01 01:36:50 +00:00
parent 741981adf3
commit 5c2b4ea73c
16 changed files with 654 additions and 4 deletions

View File

@@ -515,6 +515,16 @@ symbol_iterator COFFObjectFile::end_dynamic_symbols() const {
report_fatal_error("Dynamic symbols unimplemented in COFFObjectFile");
}
library_iterator COFFObjectFile::begin_libraries_needed() const {
// TODO: implement
report_fatal_error("Libraries needed unimplemented in COFFObjectFile");
}
library_iterator COFFObjectFile::end_libraries_needed() const {
// TODO: implement
report_fatal_error("Libraries needed unimplemented in COFFObjectFile");
}
section_iterator COFFObjectFile::begin_sections() const {
DataRefImpl ret;
std::memset(&ret, 0, sizeof(DataRefImpl));
@@ -726,6 +736,16 @@ error_code COFFObjectFile::getRelocationValueString(DataRefImpl Rel,
return object_error::success;
}
error_code COFFObjectFile::getLibraryNext(DataRefImpl LibData,
LibraryRef &Result) const {
report_fatal_error("getLibraryNext not implemented in COFFObjectFile");
}
error_code COFFObjectFile::getLibraryPath(DataRefImpl LibData,
StringRef &Result) const {
report_fatal_error("getLibraryPath not implemented in COFFObjectFile");
}
namespace llvm {
ObjectFile *ObjectFile::createCOFFObjectFile(MemoryBuffer *Object) {