diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp index 5bc326462262..6929732cb295 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp @@ -480,9 +480,6 @@ void RuntimeDyldELF::resolveARMRelocation(const SectionEntry &Section, *TargetPtr |= Value & 0xFFF; *TargetPtr |= ((Value >> 12) & 0xF) << 16; break; - case ELF::R_ARM_REL32: - *TargetPtr += Value - FinalAddress; - break; // Write 24 bit relative value to the branch instruction. case ELF::R_ARM_PC24: // Fall through. case ELF::R_ARM_CALL: // Fall through. @@ -1368,19 +1365,6 @@ RuntimeDyldELF::processRelocationRef( RelType, 0); Section.advanceStubOffset(getMaxStubSize()); } - } else if (RelType == ELF::R_ARM_GOT_PREL) { - uint32_t GOTOffset = allocateGOTEntries(SectionID, 1); - - RelocationEntry GOTRE(SectionID, Offset, ELF::R_ARM_REL32, GOTOffset); - addRelocationForSection(GOTRE, GOTSectionID); - - // Fill in the value of the symbol we're targeting into the GOT - RelocationEntry RE = computeGOTOffsetRE(SectionID, GOTOffset, - Value.Offset, ELF::R_ARM_ABS32); - if (Value.SymbolName) - addRelocationForSymbol(RE, Value.SymbolName); - else - addRelocationForSection(RE, Value.SectionID); } else { uint32_t *Placeholder = reinterpret_cast(computePlaceholderAddress(SectionID, Offset)); diff --git a/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll b/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll index fde5f0cdf8c3..1694e190dce7 100644 --- a/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll +++ b/llvm/test/ExecutionEngine/MCJIT/remote/test-global-init-nonzero-sm-pic.ll @@ -1,6 +1,6 @@ ; RUN: %lli -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ ; RUN: -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips-, mipsel-, aarch64, i686, i386, mingw32, win32 +; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, mingw32, win32 ; UNSUPPORTED: powerpc64-unknown-linux-gnu ; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed diff --git a/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll b/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll index 28e85b7edd4c..b1b154f5ef16 100644 --- a/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll +++ b/llvm/test/ExecutionEngine/MCJIT/remote/test-ptr-reloc-sm-pic.ll @@ -1,6 +1,6 @@ ; RUN: %lli -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ ; RUN: -O0 -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, aarch64, i686, i386, mingw32, win32 +; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, mingw32, win32 ; UNSUPPORTED: powerpc64-unknown-linux-gnu ; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed diff --git a/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll b/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll index c561f2f9d36d..46545ce53423 100644 --- a/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll +++ b/llvm/test/ExecutionEngine/MCJIT/stubs-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, i686, i386, aarch64 +; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm define i32 @main() nounwind { entry: diff --git a/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll b/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll index 7bcc7d0569e8..e54135fc7cbc 100644 --- a/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll +++ b/llvm/test/ExecutionEngine/MCJIT/test-global-init-nonzero-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips-, mipsel-, aarch64, i686, i386 +; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 @count = global i32 1, align 4 diff --git a/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll b/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll index 727bc442e5d7..eea6fde2e2ca 100644 --- a/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll +++ b/llvm/test/ExecutionEngine/MCJIT/test-ptr-reloc-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -O0 -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, aarch64, i686, i386 +; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4 diff --git a/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll b/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll index 34f8850e7cbe..68ccd86f801d 100644 --- a/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll +++ b/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-global-init-nonzero-sm-pic.ll @@ -1,6 +1,6 @@ ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ ; RUN: -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips-, mipsel-, aarch64, i686, i386, mingw32, win32 +; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, mingw32, win32 ; UNSUPPORTED: powerpc64-unknown-linux-gnu ; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed diff --git a/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll b/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll index 0b9a504acdf5..dbc98e86ea50 100644 --- a/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll +++ b/llvm/test/ExecutionEngine/OrcMCJIT/remote/test-ptr-reloc-sm-pic.ll @@ -1,6 +1,6 @@ ; RUN: %lli -jit-kind=orc-mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext \ ; RUN: -O0 -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, aarch64, i686, i386, mingw32, win32 +; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386, mingw32, win32 ; UNSUPPORTED: powerpc64-unknown-linux-gnu ; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed diff --git a/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll b/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll index 105934fc9e89..ec4183bc724d 100644 --- a/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll +++ b/llvm/test/ExecutionEngine/OrcMCJIT/stubs-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, i686, i386, aarch64 +; XFAIL: mips-, mipsel-, i686, i386, aarch64, arm define i32 @main() nounwind { entry: diff --git a/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll b/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll index 904fb4609cfa..c9b6cf755b7c 100644 --- a/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll +++ b/llvm/test/ExecutionEngine/OrcMCJIT/test-global-init-nonzero-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -relocation-model=pic -code-model=small %s > /dev/null -; XFAIL: mips-, mipsel-, aarch64, i686, i386 +; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 @count = global i32 1, align 4 diff --git a/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll b/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll index aa32cdb593ba..d0bb070110c1 100644 --- a/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll +++ b/llvm/test/ExecutionEngine/OrcMCJIT/test-ptr-reloc-sm-pic.ll @@ -1,5 +1,5 @@ ; RUN: %lli -jit-kind=orc-mcjit -O0 -relocation-model=pic -code-model=small %s -; XFAIL: mips-, mipsel-, aarch64, i686, i386 +; XFAIL: mips-, mipsel-, aarch64, arm, i686, i386 @.str = private unnamed_addr constant [6 x i8] c"data1\00", align 1 @ptr = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), align 4