| # RUN: llvm-objdump -d %p/Inputs/cfi.elf-aarch64 | FileCheck %s |
| |
| # CHECK: Disassembly of section .plt: |
| # CHECK: __cfi_slowpath@plt: |
| # CHECK-NEXT: adrp x16, {{.*}} |
| # 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 |
| # CHECK-BTI: bl {{.*}} <f1@plt> |
| # CHECK-BTI: bl {{.*}} <f2@plt> |
| # CHECK-BTI: Disassembly of section .plt: |
| # CHECK-BTI: f1@plt: |
| # CHECK-BTI-NEXT: bti c |
| # CHECK-BTI-NEXT: adrp x16, {{.*}} |
| # CHECK-BTI: f2@plt: |
| # CHECK-BTI-NEXT: bti c |
| # CHECK-BTI-NEXT: adrp x16, {{.*}} |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_EXEC |
| Machine: EM_AARCH64 |
| Sections: |
| - Name: .rela.plt |
| Type: SHT_RELA |
| Flags: [ SHF_ALLOC ] |
| EntSize: 0x0000000000000018 |
| Info: .got.plt |
| Relocations: |
| - Offset: 0x0000000000230018 |
| Symbol: f1 |
| Type: R_AARCH64_JUMP_SLOT |
| - Offset: 0x0000000000230020 |
| Symbol: f2 |
| Type: R_AARCH64_JUMP_SLOT |
| - Name: .text |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
| Address: 0x0000000000210000 |
| Content: 0C00009411000094C0035FD6 |
| - Name: .plt |
| Type: SHT_PROGBITS |
| Flags: [ SHF_ALLOC, SHF_EXECINSTR ] |
| Address: 0x0000000000210010 |
| Content: 5F2403D5F07BBFA910010090110A40F91042009120021FD61F2003D51F2003D55F2403D510010090110E40F9106200919F2103D520021FD65F2403D510010090111240F9108200919F2103D520021FD6 |
| - Name: .got.plt |
| Type: SHT_PROGBITS |
| Content: '000000000000000000000000000000000000000000000000100021000000000010002100000000001000210000000000' |
| Symbols: |
| - Name: f1 |
| Type: STT_FUNC |
| Binding: STB_GLOBAL |
| - Name: f2 |
| Type: STT_FUNC |
| Binding: STB_GLOBAL |
| ... |