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