1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00

[llvm-objdump] Support PLT decoding for aarch64_be

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D96211
This commit is contained in:
Fangrui Song 2021-02-08 08:50:25 -08:00
parent 8543146811
commit 56e695fc67
2 changed files with 6 additions and 3 deletions

View File

@ -581,6 +581,7 @@ ELFObjectFileBase::getPltAddresses() const {
JumpSlotReloc = ELF::R_X86_64_JUMP_SLOT;
break;
case Triple::aarch64:
case Triple::aarch64_be:
JumpSlotReloc = ELF::R_AARCH64_JUMP_SLOT;
break;
default:

View File

@ -6,8 +6,9 @@
# CHECK: bl {{.*}} <__cfi_slowpath@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@plt>
# CHECK-BTI: bl {{.*}} <f2@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 @@ Sections:
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