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 | 94bc73d3d1eb584bf5a8e715aac21a6cb1811500 (patch) | |
tree | d4af2d72bdc740d19fef73d65d339004a51a281f /llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h | |
parent | 4f223bf7c484c1cf84b43ecd39b4f5a0f2f41053 (diff) | |
download | bcm5719-llvm-94bc73d3d1eb584bf5a8e715aac21a6cb1811500.tar.gz bcm5719-llvm-94bc73d3d1eb584bf5a8e715aac21a6cb1811500.zip |
Make use of common-symbol alignment info in ELF loader.
Patch by Amara Emerson.
llvm-svn: 166919
Diffstat (limited to 'llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h')
-rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h index 6c31f0dc122..cbdc0dbc6b7 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.h +++ b/llvm/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; |