Mercurial > hg > CbC > CbC_llvm
view lld/test/COFF/linkrepro.test @ 266:00f31e85ec16 default tip
Added tag current for changeset 31d058e83c98
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Oct 2023 10:13:55 +0900 |
parents | 2e18cbf3894f |
children |
line wrap: on
line source
# REQUIRES: x86, shell # RUN: rm -rf %t.dir # RUN: yaml2obj %p/Inputs/hello32.yaml -o %t.obj # RUN: echo '_main@0' > %t.order # RUN: touch %t.def # RUN: touch %t.cg Test link.exe-style /linkrepro: flag. # RUN: mkdir -p %t.dir/build1 # RUN: cd %t.dir/build1 # RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \ # RUN: /entry:main@0 /linkrepro:. /out:%t.exe # RUN: tar xf repro.tar # RUN: diff %t.obj repro/%:t.obj # RUN: diff %p/Inputs/std32.lib repro/%:p/Inputs/std32.lib # RUN: FileCheck %s --check-prefix=RSP < repro/response.txt Test lld-style /reproduce: flag. # RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \ # RUN: /entry:main@0 /reproduce:repro2.tar /out:%t.exe # RUN: tar xf repro2.tar # RUN: diff %t.obj repro2/%:t.obj # RUN: diff %p/Inputs/std32.lib repro2/%:p/Inputs/std32.lib # RUN: FileCheck %s --check-prefix=RSP < repro2/response.txt Test LLD_REPRODUCE env var. # RUN: mkdir -p %t.dir/build2 # RUN: cd %t.dir/build2 # RUN: env LLD_REPRODUCE=repro.tar lld-link %t.obj %p/Inputs/std32.lib \ # RUN: /subsystem:console /entry:main@0 /out:%t.exe # RUN: tar xf repro.tar # RUN: diff %t.obj repro/%:t.obj # RUN: diff %p/Inputs/std32.lib repro/%:p/Inputs/std32.lib # RUN: FileCheck %s --check-prefix=RSP < repro/response.txt Test adding .lib files with /libpath: to repro archive, and various other flags. # RUN: mkdir -p %t.dir/build3 # RUN: cd %t.dir/build3 # RUN: lld-link %t.obj /libpath:%p/Inputs /defaultlib:std32 /subsystem:console \ # RUN: /entry:main@0 /linkrepro:. /out:%t.exe /order:@%t.order /def:%t.def # RUN: tar tf repro.tar | FileCheck --check-prefix=LIST %s # RUN: tar xf repro.tar # RUN: diff %t.obj repro/%:t.obj # RUN: diff %t.order repro/%:t.order # RUN: diff %t.def repro/%:t.def # RUN: diff %p/Inputs/std32.lib repro/%:p/Inputs/std32.lib # RUN: FileCheck %s --check-prefix=RSP < repro/response.txt # RUN: cd repro; lld-link @response.txt Test adding .lib files with LIB env var to repro archive, and various other flags. # RUN: mkdir -p %t.dir/build4 # RUN: cd %t.dir/build4 # RUN: env LIB=%p/Inputs lld-link %t.obj /defaultlib:std32 /subsystem:console \ # RUN: /entry:main@0 /linkrepro:. /out:%t.exe /order:@%t.order /def:%t.def # RUN: tar tf repro.tar | FileCheck --check-prefix=LIST %s # RUN: tar xf repro.tar # RUN: diff %t.obj repro/%:t.obj # RUN: diff %t.order repro/%:t.order # RUN: diff %t.def repro/%:t.def # RUN: diff %p/Inputs/std32.lib repro/%:p/Inputs/std32.lib # RUN: FileCheck %s --check-prefix=RSP < repro/response.txt # RUN: cd repro; lld-link @response.txt # LIST: .obj # LIST: std32.lib # LIST: response.txt # LIST: .def # LIST: .order # RSP: /subsystem:console # RSP: /entry:main@0 # RSP: /out: # RSP-NOT: /order:@/ # RSP-NOT: /def:/ # RSP: linkrepro.test.tmp.obj # RSP-NOT: defaultlib # RSP: std32.lib Test /call-graph-ordering-file (can't be used with /order:, needs separate test) # RUN: mkdir -p %t.dir/build5 # RUN: cd %t.dir/build5 # RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \ # RUN: /entry:main@0 /linkrepro:. /out:%t.exe /call-graph-ordering-file:%t.cg # RUN: tar tf repro.tar | FileCheck --check-prefix=LISTCG %s # RUN: tar xf repro.tar # RUN: diff %t.obj repro/%:t.obj # RUN: diff %t.cg repro/%:t.cg # RUN: FileCheck %s --check-prefix=RSPCG < repro/response.txt # RUN: cd repro; lld-link @response.txt # LISTCG: .obj # LISTCG: response.txt # LISTCG: .cg # RSPCG-NOT: /call-graph-ordering-file:/