[PATCH] D96211: [llvm-objdump] Support PLT decoding for aarch64_be
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 6 12:54:18 PST 2021
MaskRay created this revision.
MaskRay added reviewers: jhenderson, peter.smith.
Herald added subscribers: danielkiss, rupprecht, hiraditya, kristof.beyls, emaste.
MaskRay requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D96211
Files:
llvm/lib/Object/ELFObjectFile.cpp
llvm/test/tools/llvm-objdump/ELF/AArch64/plt.test
Index: llvm/test/tools/llvm-objdump/ELF/AArch64/plt.test
===================================================================
--- llvm/test/tools/llvm-objdump/ELF/AArch64/plt.test
+++ llvm/test/tools/llvm-objdump/ELF/AArch64/plt.test
@@ -6,8 +6,9 @@
# CHECK: bl {{.*}} <__cfi_slowpath at plt>
# RUN: yaml2obj %s -o %t.aarch64
-# RUN: llvm-objdump -d --mattr=+bti %t.aarch64 | \
-# RUN: FileCheck --check-prefix=CHECK-BTI %s
+# RUN: llvm-objdump -d --mattr=+bti %t.aarch64 | FileCheck --check-prefix=CHECK-BTI %s
+# RUN: yaml2obj -DENDIAN=MSB %s -o %t.aarch64_be
+# RUN: llvm-objdump -d --mattr=+bti %t.aarch64_be | FileCheck --check-prefix=CHECK-BTI %s
# CHECK-BTI: bl {{.*}} <f1 at plt>
# CHECK-BTI: bl {{.*}} <f2 at plt>
# CHECK-BTI: Disassembly of section .plt:
@@ -34,7 +35,7 @@
--- !ELF
FileHeader:
Class: ELFCLASS64
- Data: ELFDATA2LSB
+ Data: ELFDATA2[[ENDIAN=LSB]]
Type: ET_EXEC
Machine: EM_AARCH64
Sections:
@@ -62,6 +63,7 @@
Content: 5F2403D5F07BBFA910010090110A40F91042009120021FD61F2003D51F2003D55F2403D510010090110E40F9106200919F2103D520021FD65F2403D510010090111240F9108200919F2103D520021FD6
- Name: .got.plt
Type: SHT_PROGBITS
+## The content is in little-endian, but it does not affect aarch64_be PLT decoding.
Content: '000000000000000000000000000000000000000000000000100021000000000010002100000000001000210000000000'
Symbols:
- Name: f1
Index: llvm/lib/Object/ELFObjectFile.cpp
===================================================================
--- llvm/lib/Object/ELFObjectFile.cpp
+++ llvm/lib/Object/ELFObjectFile.cpp
@@ -581,6 +581,7 @@
JumpSlotReloc = ELF::R_X86_64_JUMP_SLOT;
break;
case Triple::aarch64:
+ case Triple::aarch64_be:
JumpSlotReloc = ELF::R_AARCH64_JUMP_SLOT;
break;
default:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96211.321960.patch
Type: text/x-patch
Size: 1810 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210206/a3f4bab4/attachment.bin>
More information about the llvm-commits
mailing list