From f8858d097949d7e8a527b50b9cfb8f297431e715 Mon Sep 17 00:00:00 2001 From: Sagar Thakur Date: Thu, 22 Jun 2017 11:49:19 +0000 Subject: [PATCH] [mips] Adds support for R_MIPS_26, HIGHER, HIGHEST relocations in RuntimeDyld After the N64 static relocation model support was added to llvm it is required to add its support in RuntimeDyld also because lldb uses ExecutionEngine for evaluating expressions. Reviewed by sdardis Differential: D31649 llvm-svn: 305997 --- .../RuntimeDyld/RuntimeDyld.cpp | 38 ++++++-- .../RuntimeDyld/RuntimeDyldELF.cpp | 91 +++++++++++++++++-- .../RuntimeDyld/RuntimeDyldELF.h | 4 +- .../Targets/RuntimeDyldELFMips.cpp | 6 ++ 4 files changed, 124 insertions(+), 15 deletions(-) diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index 2b69f1a0269f..d047697583ad 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp @@ -861,7 +861,7 @@ uint8_t *RuntimeDyldImpl::createStubFunction(uint8_t *Addr, // and stubs for branches Thumb - ARM and ARM - Thumb. writeBytesUnaligned(0xe51ff004, Addr, 4); // ldr pc,