|
106 | 106 | // CHECK-SPARC32-SHARED-NOT: "-lgcc"
|
107 | 107 | // CHECK-SPARC32-SHARED-NOT: "-lm"
|
108 | 108 |
|
| 109 | +// Check the right ld flags are present with -pie. |
| 110 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s -pie \ |
| 111 | +// RUN: --gcc-toolchain="" \ |
| 112 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 113 | +// RUN: | FileCheck --check-prefix=CHECK-PIE %s |
| 114 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s -nopie \ |
| 115 | +// RUN: --gcc-toolchain="" \ |
| 116 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 117 | +// RUN: | FileCheck --check-prefix=CHECK-NOPIE %s |
| 118 | + |
| 119 | +// Check that -shared/-r/-static disable PIE. |
| 120 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s -shared -pie \ |
| 121 | +// RUN: --gcc-toolchain="" \ |
| 122 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 123 | +// RUN: | FileCheck --check-prefix=CHECK-NOPIE %s |
| 124 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s -r -pie \ |
| 125 | +// RUN: --gcc-toolchain="" \ |
| 126 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 127 | +// RUN: | FileCheck --check-prefix=CHECK-NOPIE %s |
| 128 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s -static -pie \ |
| 129 | +// RUN: --gcc-toolchain="" \ |
| 130 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 131 | +// RUN: | FileCheck --check-prefix=CHECK-NOPIE %s |
| 132 | + |
| 133 | +// CHECK-PIE: "-z" "type=pie" |
| 134 | +// CHECK-NOPIE-NOT: "-z" "type=pie" |
| 135 | + |
109 | 136 | // -r suppresses default -l and crt*.o, values-*.o like -nostdlib.
|
110 | 137 | // RUN: %clang -### %s --target=sparc-sun-solaris2.11 -r 2>&1 \
|
111 | 138 | // RUN: | FileCheck %s --check-prefix=CHECK-RELOCATABLE
|
|
115 | 142 | // CHECK-RELOCATABLE-NOT: /crt{{[^.]+}}.o
|
116 | 143 | // CHECK-RELOCATABLE-NOT: /values-{{[^.]+}}.o
|
117 | 144 |
|
| 145 | +// Check that crt{begin,end}S.o is linked with -shared/-pie. |
| 146 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s \ |
| 147 | +// RUN: --gcc-toolchain="" \ |
| 148 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 149 | +// RUN: | FileCheck --check-prefix=CHECK-NOCRTS %s |
| 150 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s -shared \ |
| 151 | +// RUN: --gcc-toolchain="" \ |
| 152 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 153 | +// RUN: | FileCheck --check-prefix=CHECK-CRTS %s |
| 154 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s -nopie \ |
| 155 | +// RUN: --gcc-toolchain="" \ |
| 156 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 157 | +// RUN: | FileCheck --check-prefix=CHECK-NOCRTS %s |
| 158 | +// RUN: %clang --target=sparc-sun-solaris2.11 -### %s -pie \ |
| 159 | +// RUN: --gcc-toolchain="" \ |
| 160 | +// RUN: --sysroot=%S/Inputs/solaris_sparc_tree 2>&1 \ |
| 161 | +// RUN: | FileCheck --check-prefix=CHECK-CRTS %s |
| 162 | +// CHECK-CRTS: crtbeginS.o |
| 163 | +// CHECK-CRTS: crtendS.o |
| 164 | +// CHECK-NOCRTS-NOT: crtbeginS.o |
| 165 | +// CHECK-NOCRTS-NOT: crtendS.o |
| 166 | + |
118 | 167 | // Check that crtfastmath.o is linked with -ffast-math.
|
119 | 168 |
|
120 | 169 | // Check sparc-sun-solaris2.11, 32bit
|
|
0 commit comments