1; REQUIRES: x86 2; RUN: llvm-as %S/Inputs/archive.ll -o %t1.o 3; RUN: rm -f %t.a 4; RUN: llvm-ar rcs %t.a %t1.o 5; RUN: llvm-as %s -o %t2.o 6; RUN: ld.lld %t2.o %t.a -o %t3 -shared 7; RUN: llvm-readobj --symbols %t3 | FileCheck %s 8; RUN: ld.lld %t2.o --whole-archive %t.a -o %t3 -shared 9; RUN: llvm-readobj --symbols %t3 | FileCheck %s 10 11; CHECK: Name: g ( 12; CHECK-NEXT: Value: 13; CHECK-NEXT: Size: 14; CHECK-NEXT: Binding: Global 15; CHECK-NEXT: Type: Function 16; CHECK-NEXT: Other: 0 17; CHECK-NEXT: Section: .text 18 19; CHECK: Name: f ( 20; CHECK-NEXT: Value: 21; CHECK-NEXT: Size: 22; CHECK-NEXT: Binding: Global 23; CHECK-NEXT: Type: Function 24; CHECK-NEXT: Other: 0 25; CHECK-NEXT: Section: .text 26 27target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" 28target triple = "x86_64-unknown-linux-gnu" 29 30define void @g() { 31 call void @f() 32 ret void 33} 34 35declare void @f() 36 37