xref: /aosp_15_r20/external/clang/test/Driver/cross-linux.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
2*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/basic_cross_linux_tree/usr \
3*67e74705SXin Li // RUN:   --target=i386-unknown-linux-gnu \
4*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-I386 %s
5*67e74705SXin Li // CHECK-I386: "-cc1" "-triple" "i386-unknown-linux-gnu"
6*67e74705SXin Li // CHECK-I386: "{{.*}}/Inputs/basic_cross_linux_tree/usr/lib/gcc/i386-unknown-linux-gnu/4.6.0/../../../../i386-unknown-linux-gnu/bin{{/|\\\\}}as" "--32"
7*67e74705SXin Li // CHECK-I386: "{{.*}}/Inputs/basic_cross_linux_tree/usr/lib/gcc/i386-unknown-linux-gnu/4.6.0/../../../../i386-unknown-linux-gnu/bin{{/|\\\\}}ld" {{.*}} "-m" "elf_i386"
8*67e74705SXin Li //
9*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
10*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/basic_cross_linux_tree/usr \
11*67e74705SXin Li // RUN:   --target=x86_64-unknown-linux-gnu \
12*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-X86-64 %s
13*67e74705SXin Li // CHECK-X86-64: "-cc1" "-triple" "x86_64-unknown-linux-gnu"
14*67e74705SXin Li // CHECK-X86-64: "{{.*}}/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/bin{{/|\\\\}}as" "--64"
15*67e74705SXin Li // CHECK-X86-64: "{{.*}}/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/bin{{/|\\\\}}ld" {{.*}} "-m" "elf_x86_64"
16*67e74705SXin Li //
17*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
18*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/basic_cross_linux_tree/usr \
19*67e74705SXin Li // RUN:   --target=x86_64-unknown-linux-gnux32 \
20*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-X32 %s
21*67e74705SXin Li // CHECK-X32: "-cc1" "-triple" "x86_64-unknown-linux-gnux32"
22*67e74705SXin Li // CHECK-X32: "{{.*}}/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/bin{{/|\\\\}}as" "--x32"
23*67e74705SXin Li // CHECK-X32: "{{.*}}/Inputs/basic_cross_linux_tree/usr/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/bin{{/|\\\\}}ld" {{.*}} "-m" "elf32_x86_64"
24*67e74705SXin Li //
25*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
26*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/basic_cross_linux_tree/usr \
27*67e74705SXin Li // RUN:   --target=x86_64-unknown-linux-gnu -m32 \
28*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-I386 %s
29*67e74705SXin Li //
30*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
31*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/basic_cross_linux_tree/usr \
32*67e74705SXin Li // RUN:   --target=i386-unknown-linux-gnu -m64 \
33*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-X86-64 %s
34*67e74705SXin Li //
35*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
36*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/multilib_32bit_linux_tree/usr \
37*67e74705SXin Li // RUN:   --target=i386-unknown-linux \
38*67e74705SXin Li // RUN:   --sysroot=%S/Inputs/basic_linux_tree \
39*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-MULTI32-I386 %s
40*67e74705SXin Li // CHECK-MULTI32-I386: "-cc1" "-triple" "i386-unknown-linux"
41*67e74705SXin Li // CHECK-MULTI32-I386: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin{{/|\\\\}}as" "--32"
42*67e74705SXin Li // CHECK-MULTI32-I386: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin{{/|\\\\}}ld"
43*67e74705SXin Li // CHECK-MULTI32-I386: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
44*67e74705SXin Li // CHECK-MULTI32-I386: "-m" "elf_i386"
45*67e74705SXin Li // CHECK-MULTI32-I386: "crti.o" "[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0]]{{/|\\\\}}crtbegin.o"
46*67e74705SXin Li // CHECK-MULTI32-I386: "-L[[gcc_install]]"
47*67e74705SXin Li // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib/../lib32"
48*67e74705SXin Li // CHECK-MULTI32-I386: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib"
49*67e74705SXin Li // CHECK-MULTI32-I386: "-L[[sysroot]]/lib"
50*67e74705SXin Li // CHECK-MULTI32-I386: "-L[[sysroot]]/usr/lib"
51*67e74705SXin Li //
52*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
53*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/multilib_32bit_linux_tree/usr \
54*67e74705SXin Li // RUN:   --target=x86_64-unknown-linux \
55*67e74705SXin Li // RUN:   --sysroot=%S/Inputs/basic_linux_tree \
56*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-MULTI32-X86-64 %s
57*67e74705SXin Li // CHECK-MULTI32-X86-64: "-cc1" "-triple" "x86_64-unknown-linux"
58*67e74705SXin Li // CHECK-MULTI32-X86-64: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin{{/|\\\\}}as" "--64"
59*67e74705SXin Li // CHECK-MULTI32-X86-64: "{{.*}}/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/bin{{/|\\\\}}ld"
60*67e74705SXin Li // CHECK-MULTI32-X86-64: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
61*67e74705SXin Li // CHECK-MULTI32-X86-64: "-m" "elf_x86_64"
62*67e74705SXin Li // CHECK-MULTI32-X86-64: "crti.o" "[[gcc_install:.*/Inputs/multilib_32bit_linux_tree/usr/lib/gcc/i386-unknown-linux/4.6.0]]/64{{/|\\\\}}crtbegin.o"
63*67e74705SXin Li // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/64"
64*67e74705SXin Li // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib/../lib64"
65*67e74705SXin Li // CHECK-MULTI32-X86-64: "-L[[gcc_install]]"
66*67e74705SXin Li // CHECK-MULTI32-X86-64: "-L[[gcc_install]]/../../../../i386-unknown-linux/lib"
67*67e74705SXin Li // CHECK-MULTI32-X86-64: "-L[[sysroot]]/lib"
68*67e74705SXin Li // CHECK-MULTI32-X86-64: "-L[[sysroot]]/usr/lib"
69*67e74705SXin Li //
70*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
71*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/multilib_64bit_linux_tree/usr \
72*67e74705SXin Li // RUN:   --target=i386-unknown-linux \
73*67e74705SXin Li // RUN:   --sysroot=%S/Inputs/basic_linux_tree \
74*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-MULTI64-I386 %s
75*67e74705SXin Li // CHECK-MULTI64-I386: "-cc1" "-triple" "i386-unknown-linux"
76*67e74705SXin Li // CHECK-MULTI64-I386: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}as" "--32"
77*67e74705SXin Li // CHECK-MULTI64-I386: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}ld"
78*67e74705SXin Li // CHECK-MULTI64-I386: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
79*67e74705SXin Li // CHECK-MULTI64-I386: "-m" "elf_i386"
80*67e74705SXin Li // CHECK-MULTI64-I386: "crti.o" "[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0]]/32{{/|\\\\}}crtbegin.o"
81*67e74705SXin Li // CHECK-MULTI64-I386: "-L[[gcc_install]]/32"
82*67e74705SXin Li // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib/../lib32"
83*67e74705SXin Li // CHECK-MULTI64-I386: "-L[[gcc_install]]"
84*67e74705SXin Li // CHECK-MULTI64-I386: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib"
85*67e74705SXin Li // CHECK-MULTI64-I386: "-L[[sysroot]]/lib"
86*67e74705SXin Li // CHECK-MULTI64-I386: "-L[[sysroot]]/usr/lib"
87*67e74705SXin Li //
88*67e74705SXin Li // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as \
89*67e74705SXin Li // RUN:   --gcc-toolchain=%S/Inputs/multilib_64bit_linux_tree/usr \
90*67e74705SXin Li // RUN:   --target=x86_64-unknown-linux \
91*67e74705SXin Li // RUN:   --sysroot=%S/Inputs/basic_linux_tree \
92*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-MULTI64-X86-64 %s
93*67e74705SXin Li // CHECK-MULTI64-X86-64: "-cc1" "-triple" "x86_64-unknown-linux"
94*67e74705SXin Li // CHECK-MULTI64-X86-64: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}as" "--64"
95*67e74705SXin Li // CHECK-MULTI64-X86-64: "{{.*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/bin{{/|\\\\}}ld"
96*67e74705SXin Li // CHECK-MULTI64-X86-64: "--sysroot=[[sysroot:.*/Inputs/basic_linux_tree]]"
97*67e74705SXin Li // CHECK-MULTI64-X86-64: "-m" "elf_x86_64"
98*67e74705SXin Li // CHECK-MULTI64-X86-64: "crti.o" "[[gcc_install:.*/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0]]{{/|\\\\}}crtbegin.o"
99*67e74705SXin Li // CHECK-MULTI64-X86-64: "-L[[gcc_install]]"
100*67e74705SXin Li // CHECK-MULTI64-X86-64: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib/../lib64"
101*67e74705SXin Li // CHECK-MULTI64-X86-64: "-L[[gcc_install]]/../../../../x86_64-unknown-linux/lib"
102*67e74705SXin Li // CHECK-MULTI64-X86-64: "-L[[sysroot]]/lib"
103*67e74705SXin Li // CHECK-MULTI64-X86-64: "-L[[sysroot]]/usr/lib"
104