xref: /aosp_15_r20/external/clang/test/Driver/openbsd.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd %s -### 2>&1 \
2*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-LD %s
3*67e74705SXin Li // CHECK-LD: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
4*67e74705SXin Li // CHECK-LD: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
5*67e74705SXin Li 
6*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -pg -pthread %s -### 2>&1 \
7*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-PG %s
8*67e74705SXin Li // CHECK-PG: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
9*67e74705SXin Li // CHECK-PG: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}gcrt0.o" "{{.*}}crtbegin.o" "{{.*}}.o" "-lgcc" "-lpthread_p" "-lc_p" "-lgcc" "{{.*}}crtend.o"
10*67e74705SXin Li 
11*67e74705SXin Li // Check CPU type for MIPS64
12*67e74705SXin Li // RUN: %clang -target mips64-unknown-openbsd -### -c %s 2>&1 \
13*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-MIPS64-CPU %s
14*67e74705SXin Li // RUN: %clang -target mips64el-unknown-openbsd -### -c %s 2>&1 \
15*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-MIPS64EL-CPU %s
16*67e74705SXin Li // CHECK-MIPS64-CPU: "-target-cpu" "mips3"
17*67e74705SXin Li // CHECK-MIPS64EL-CPU: "-target-cpu" "mips3"
18*67e74705SXin Li 
19*67e74705SXin Li // Check that the new linker flags are passed to OpenBSD
20*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -r %s -### 2>&1 \
21*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-LD-R %s
22*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -s %s -### 2>&1 \
23*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-LD-S %s
24*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -t %s -### 2>&1 \
25*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-LD-T %s
26*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -target i686-pc-openbsd -Z %s -### 2>&1 \
27*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-LD-Z %s
28*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -target mips64-unknown-openbsd %s -### 2>&1 \
29*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-MIPS64-LD %s
30*67e74705SXin Li // RUN: %clang -no-canonical-prefixes -target mips64el-unknown-openbsd %s -### 2>&1 \
31*67e74705SXin Li // RUN:   | FileCheck --check-prefix=CHECK-MIPS64EL-LD %s
32*67e74705SXin Li // CHECK-LD-R: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
33*67e74705SXin Li // CHECK-LD-R: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "-L{{.*}}" "-r" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
34*67e74705SXin Li // CHECK-LD-S: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
35*67e74705SXin Li // CHECK-LD-S: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "-L{{.*}}" "-s" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
36*67e74705SXin Li // CHECK-LD-T: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
37*67e74705SXin Li // CHECK-LD-T: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "-L{{.*}}" "-t" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
38*67e74705SXin Li // CHECK-LD-Z: clang{{.*}}" "-cc1" "-triple" "i686-pc-openbsd"
39*67e74705SXin Li // CHECK-LD-Z: ld{{.*}}" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "-L{{.*}}" "-Z" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
40*67e74705SXin Li // CHECK-MIPS64-LD: clang{{.*}}" "-cc1" "-triple" "mips64-unknown-openbsd"
41*67e74705SXin Li // CHECK-MIPS64-LD: ld{{.*}}" "-EB" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "-L{{.*}}" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
42*67e74705SXin Li // CHECK-MIPS64EL-LD: clang{{.*}}" "-cc1" "-triple" "mips64el-unknown-openbsd"
43*67e74705SXin Li // CHECK-MIPS64EL-LD: ld{{.*}}" "-EL" "-e" "__start" "--eh-frame-hdr" "-Bdynamic" "-dynamic-linker" "{{.*}}ld.so" "-o" "a.out" "{{.*}}crt0.o" "{{.*}}crtbegin.o" "-L{{.*}}" "{{.*}}.o" "-lgcc" "-lc" "-lgcc" "{{.*}}crtend.o"
44*67e74705SXin Li 
45*67e74705SXin Li // Check passing options to the assembler for various OpenBSD targets
46*67e74705SXin Li // RUN: %clang -target amd64-pc-openbsd -m32 -### -no-integrated-as -c %s 2>&1 \
47*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-AMD64-M32 %s
48*67e74705SXin Li // RUN: %clang -target powerpc-unknown-openbsd -### -no-integrated-as -c %s 2>&1 \
49*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-POWERPC %s
50*67e74705SXin Li // RUN: %clang -target sparc-unknown-openbsd -### -no-integrated-as -c %s 2>&1 \
51*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-SPARC %s
52*67e74705SXin Li // RUN: %clang -target sparc64-unknown-openbsd -### -no-integrated-as -c %s 2>&1 \
53*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-SPARC64 %s
54*67e74705SXin Li // RUN: %clang -target mips64-unknown-openbsd -### -no-integrated-as -c %s 2>&1 \
55*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-MIPS64 %s
56*67e74705SXin Li // RUN: %clang -target mips64-unknown-openbsd -fPIC -### -no-integrated-as -c %s 2>&1 \
57*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-MIPS64-PIC %s
58*67e74705SXin Li // RUN: %clang -target mips64el-unknown-openbsd -### -no-integrated-as -c %s 2>&1 \
59*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-MIPS64EL %s
60*67e74705SXin Li // RUN: %clang -target mips64el-unknown-openbsd -fPIC -### -no-integrated-as -c %s 2>&1 \
61*67e74705SXin Li // RUN:   | FileCheck -check-prefix=CHECK-MIPS64EL-PIC %s
62*67e74705SXin Li // CHECK-AMD64-M32: as{{.*}}" "--32"
63*67e74705SXin Li // CHECK-POWERPC: as{{.*}}" "-mppc" "-many"
64*67e74705SXin Li // CHECK-SPARC: as{{.*}}" "-32" "-Av8"
65*67e74705SXin Li // CHECK-SPARC64: as{{.*}}" "-64" "-Av9"
66*67e74705SXin Li // CHECK-MIPS64: as{{.*}}" "-mabi" "64" "-EB"
67*67e74705SXin Li // CHECK-MIPS64-PIC: as{{.*}}" "-mabi" "64" "-EB" "-KPIC"
68*67e74705SXin Li // CHECK-MIPS64EL: as{{.*}}" "-mabi" "64" "-EL"
69*67e74705SXin Li // CHECK-MIPS64EL-PIC: as{{.*}}" "-mabi" "64" "-EL" "-KPIC"
70