// REQUIRES: arm
// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t
// RUN: ld.lld --hash-style=sysv %t --shared -o %t2 2>&1
// RUN: llvm-readobj --relocations %t2 | FileCheck %s
// RUN: llvm-objdump -s -triple=armv7a-none-linux-gnueabi %t2 | FileCheck -check-prefix=CHECK-EXTAB %s

// Check that the relative R_ARM_PREL31 relocation can access a PLT entry
// for when the personality routine is referenced from a shared library.
// Also check that the R_ARM_NONE no-op relocation can be used in a shared
// library.
 .syntax unified
// Will produce an ARM.exidx entry with an R_ARM_NONE relocation to
// __aeabi_unwind_cpp_pr0
 .section .text.func1, "ax",%progbits
 .global func1
func1:
 .fnstart
 bx lr
 .fnend

// Will produce a R_ARM_PREL31 relocation with respect to the PLT entry of
// __gxx_personality_v0
 .section .text.func2, "ax",%progbits
 .global func2
func2:
 .fnstart
 bx lr
 .personality __gxx_personality_v0
 .handlerdata
 .long 0
 .section .text.func2
 .fnend

 .section .text.__aeabi_unwind_cpp_pr0, "ax", %progbits
 .global __aeabi_unwind_cpp_pr0
__aeabi_unwind_cpp_pr0:
 bx lr

// CHECK: Relocations [
// CHECK-NEXT:   Section {{.*}} .rel.plt {
// CHECK-NEXT:     0x200C R_ARM_JUMP_SLOT __gxx_personality_v0

// CHECK-EXTAB: Contents of section .ARM.extab:
// 0x0210 + 0x0e20 = 0x1030 = __gxx_personality_v0(PLT)
// CHECK-EXTAB-NEXT:  0210 200e0000 b0b0b000 00000000
