36 lines · plain
1// REQUIRES: aarch642 3// RUN: llvm-mc -filetype=obj -triple=aarch64-linux-gnu %s -o %t.o4// RUN: llvm-mc -filetype=obj -triple=aarch64-linux-gnu %S/Inputs/plt-aarch64.s -o %t2.o5// RUN: ld.lld -shared %t2.o -soname=t2.so -o %t2.so6// RUN: ld.lld %t.o %t2.so -o %t7// RUN: llvm-readelf -S -l %t | FileCheck %s8 9// CHECK-LABEL: Section Headers:10// CHECK: .text PROGBITS 00000000002102a0 0002a0 000010 00 AXy 0 0 411// CHECK: .plt PROGBITS 00000000002102b0 0002b0 000030 00 AXy 0 0 1612// CHECK: .iplt PROGBITS 00000000002102e0 0002e0 000010 00 AXy 0 0 1613 14// CHECK-LABEL: Program Headers:15// CHECK: PHDR16// CHECK-NEXT: LOAD17// CHECK-NEXT: LOAD 0x0002a0 0x00000000002102a0 0x00000000002102a0 0x000050 0x000050 E 0x1000018 19// CHECK-LABEL: Section to Segment mapping:20/// Index should match the index of the LOAD segment above.21// CHECK: 02 .text .plt .iplt22 23.global bar24 25.section .text,"axy",@progbits,unique,026.global _start27_start:28 bl foo29 bl bar30 ret31 32.globl foo33.type foo STT_GNU_IFUNC34foo:35 ret36