1// REQUIRES: x86 2// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3// RUN: ld.lld --strip-all %t.o -o %t 4// RUN: llvm-readobj -r %t | FileCheck %s 5// RUN: ld.lld %t.o -o %t 6// RUN: llvm-readobj -r --symbols %t | FileCheck %s --check-prefixes=CHECK,SYM 7 8.type foo STT_GNU_IFUNC 9.globl foo 10foo: 11 ret 12 13.globl _start 14_start: 15 call foo 16 17// CHECK: Section ({{.*}}) .rela.dyn { 18// CHECK-NEXT: R_X86_64_IRELATIVE - 0x[[ADDR:.*]] 19// CHECK-NEXT: } 20 21// SYM: Name: foo 22// SYM-NEXT: Value: 0x[[ADDR]] 23// SYM-NEXT: Size: 0 24// SYM-NEXT: Binding: Global 25// SYM-NEXT: Type: GNU_IFunc 26