diff options
author | Tim Northover <Tim.Northover@arm.com> | 2012-10-29 10:47:04 +0000 |
---|---|---|
committer | Tim Northover <Tim.Northover@arm.com> | 2012-10-29 10:47:04 +0000 |
commit | f00677d74f1be5b4c7c73e1681a64c9062f4c7ee (patch) | |
tree | 055c21d0903a30c5697b6969427135c3f5a5bbd8 /lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h | |
parent | a41dce3c642e50775352cce49e3a3d0cd004d393 (diff) | |
download | llvm-f00677d74f1be5b4c7c73e1681a64c9062f4c7ee.tar.gz llvm-f00677d74f1be5b4c7c73e1681a64c9062f4c7ee.tar.bz2 llvm-f00677d74f1be5b4c7c73e1681a64c9062f4c7ee.tar.xz |
Make use of common-symbol alignment info in ELF loader.
Patch by Amara Emerson.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166919 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h')
-rw-r--r-- | lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h index 6c31f0dc12..cbdc0dbc6b 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h @@ -18,8 +18,18 @@ using namespace llvm; - namespace llvm { + +namespace { + // Helper for extensive error checking in debug builds. + error_code Check(error_code Err) { + if (Err) { + report_fatal_error(Err.message()); + } + return Err; + } +} // end anonymous namespace + class RuntimeDyldELF : public RuntimeDyldImpl { protected: void resolveX86_64Relocation(uint8_t *LocalAddress, @@ -64,6 +74,8 @@ protected: const SymbolTableMap &Symbols, StubMap &Stubs); + unsigned getCommonSymbolAlignment(const SymbolRef &Sym); + virtual ObjectImage *createObjectImage(ObjectBuffer *InputBuffer); uint64_t findPPC64TOC() const; |