From c958bf30b9922549335d20e4852da4312cbccc29 Mon Sep 17 00:00:00 2001 From: Amara Emerson Date: Fri, 16 Nov 2012 11:11:59 +0000 Subject: Add R_ARM_TARGET1 relocation to MCJIT and ensure that the runtime dyld reads all symbols during object loading, not just global ones. This fixes JIT execution of code using llvm.global_ctors with internal linkage constructors. llvm-svn: 168148 --- llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp') diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp index 1ebcaf7ba82..74bb46dfcdb 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp @@ -290,6 +290,7 @@ void RuntimeDyldELF::resolveARMRelocation(const SectionEntry &Section, // Write a 32bit value to relocation address, taking into account the // implicit addend encoded in the target. + case ELF::R_ARM_TARGET1 : case ELF::R_ARM_ABS32 : *TargetPtr += Value; break; -- cgit v1.2.3