From: Hui Li Date: Fri, 13 Jan 2023 02:16:29 +0000 (+0800) Subject: [LLDB][LoongArch] ObjectFile: add a case for `EM_LOONGARCH` X-Git-Tag: upstream/17.0.6~21100 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d52582b6b7dfff5538008ad1ebb141da283d9206;p=platform%2Fupstream%2Fllvm.git [LLDB][LoongArch] ObjectFile: add a case for `EM_LOONGARCH` This adds the jump slot mapping for LoongArch. This is a simple change that ensures lldb running properly. Note that this problem was found only when CMake variables "DLLVM_ENABLE_ASSERTIONS=ON" is selected. Without this patch, ``` $ build/bin/lldb test ../ELFHeader::GetRelocationJumpSlotType() const: Assertion `false && "architecture not supported"' fail ``` With this patch ``` $ build/bin/lldb test (lldb) target create "test" Current executable set to '../test' (loongarch64). ``` Reviewed By: SixWeining, DavidSpickett Differential Revision: https://reviews.llvm.org/D141245 --- diff --git a/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp b/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp index abda0cd..a6e385f 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp @@ -211,6 +211,9 @@ unsigned ELFHeader::GetRelocationJumpSlotType() const { case EM_RISCV: slot = R_RISCV_JUMP_SLOT; break; + case EM_LOONGARCH: + slot = R_LARCH_JUMP_SLOT; + break; } return slot;