[ELF] Reorder SectionBase/InputSectionBase members
[llvm-project.git] / lld / test / ELF / lto / thin-archivecollision.ll
blob4fbb20d9c1280d447c81485cceba4328493b8428
1 ; REQUIRES: x86
2 ; RUN: rm -rf %t && mkdir %t && cd %t
3 ; RUN: mkdir d e
4 ; RUN: opt -module-summary %s -o b.bc
5 ; RUN: mkdir -p %t1 %t2
6 ; RUN: opt -module-summary %p/Inputs/thin1.ll -o d/coll.o
7 ; RUN: opt -module-summary %p/Inputs/thin2.ll -o e/coll.o
9 ; RUN: llvm-ar rcS d/a.a d/coll.o e/coll.o
10 ; RUN: ld.lld b.bc d/a.a -o out --save-temps
11 ; RUN: llvm-nm out | FileCheck %s
12 ;; d/out.lto.a.a(coll.o at 8).o out.lto.a.a(coll.o at 1916).o
13 ; RUN: llvm-nm d/out.lto.a.a*at*.o | FileCheck %s --check-prefix=MOD2
15 ; Check we handle this case correctly even in presence of --whole-archive.
16 ; RUN: rm d/out.lto.a.a*at*.o
17 ; RUN: ld.lld b.bc --whole-archive d/a.a -o out --save-temps
18 ; RUN: llvm-nm out | FileCheck %s
19 ; RUN: llvm-nm d/out.lto.a.a*at*.o | FileCheck %s --check-prefix=MOD2
21 ; CHECK: T _start
22 ; CHECK: T blah
23 ; CHECK: T foo
25 ; MOD2-DAG: T foo
26 ; MOD2-DAG: T blah
28 target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
29 target triple = "x86_64-scei-ps4"
31 define i32 @_start() {
32 entry:
33   %call = call i32 @foo(i32 23)
34   %call1 = call i32 @blah(i32 37)
35   ret i32 0
38 declare i32 @foo(i32) #1
39 declare i32 @blah(i32) #1