mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-20 03:55:48 -04:00

which is the default TLS model for non-PIC objects. This allows large/ many thread local variables or a compact/fast code in an executable. Specification is same as that of GCC. For example, the code model option precedes the TLS size option. TLS access models other than local-exec are not changed. It means supoort of the large code model is only in the local exec TLS model. Patch By KAWASHIMA Takahiro (kawashima-fj <t-kawashima@fujitsu.com>) Reviewers: dmgreen, mstorsjo, t.p.northover, peter.smith, ostannard Reviewd By: peter.smith Committed by: peter.smith Differential Revision: https://reviews.llvm.org/D71688
27 lines
1.2 KiB
C
27 lines
1.2 KiB
C
// Options for AArch64 ELF
|
|
// RUN: %clang -### -target aarch64-linux-gnu -mtls-size=12 %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=CHECK-12 %s
|
|
// RUN: %clang -### -target aarch64-linux-gnu -mtls-size=24 %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=CHECK-24 %s
|
|
// RUN: %clang -### -target aarch64-linux-gnu -mtls-size=32 %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=CHECK-32 %s
|
|
// RUN: %clang -### -target aarch64-linux-gnu -mtls-size=48 %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=CHECK-48 %s
|
|
|
|
// Unsupported target
|
|
// RUN: not %clang -target aarch64-unknown-windows-msvc -mtls-size=24 %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=UNSUPPORTED-TARGET %s
|
|
// RUN: not %clang -target x86_64-linux-gnu -mtls-size=24 %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=UNSUPPORTED-TARGET %s
|
|
|
|
// Invalid option value
|
|
// RUN: not %clang -target aarch64-linux-gnu -mtls-size=0 %s 2>&1 \
|
|
// RUN: | FileCheck -check-prefix=INVALID-VALUE %s
|
|
|
|
// CHECK-12: "-cc1" {{.*}}"-mtls-size=12"
|
|
// CHECK-24: "-cc1" {{.*}}"-mtls-size=24"
|
|
// CHECK-32: "-cc1" {{.*}}"-mtls-size=32"
|
|
// CHECK-48: "-cc1" {{.*}}"-mtls-size=48"
|
|
// UNSUPPORTED-TARGET: error: unsupported option
|
|
// INVALID-VALUE: error: invalid integral value
|