diff options
| author | Amanieu d'Antras <amanieu@gmail.com> | 2022-11-10 10:06:34 +0000 |
|---|---|---|
| committer | Amanieu d'Antras <amanieu@gmail.com> | 2023-03-28 16:01:13 +0100 |
| commit | e3968be331aaf7fa48f2365998ed4d076ddc82c8 (patch) | |
| tree | 78f50787f6df1fb7dbcf3009a3fdd25f8f49dbc6 /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | |
| parent | dd19135b044cd21a9c3ae7ae87620bf41a208066 (diff) | |
| download | rust-e3968be331aaf7fa48f2365998ed4d076ddc82c8.tar.gz rust-e3968be331aaf7fa48f2365998ed4d076ddc82c8.zip | |
Add OpenHarmony targets
- `aarch64-unknown-linux-ohos` - `armv7-unknown-linux-ohos`
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
| -rw-r--r-- | compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp index e604e44a715..329e7329b11 100644 --- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp @@ -368,7 +368,8 @@ extern "C" LLVMTargetMachineRef LLVMRustCreateTargetMachine( bool EmitStackSizeSection, bool RelaxELFRelocations, bool UseInitArray, - const char *SplitDwarfFile) { + const char *SplitDwarfFile, + bool ForceEmulatedTls) { auto OptLevel = fromRust(RustOptLevel); auto RM = fromRust(RustReloc); @@ -400,6 +401,10 @@ extern "C" LLVMTargetMachineRef LLVMRustCreateTargetMachine( } Options.RelaxELFRelocations = RelaxELFRelocations; Options.UseInitArray = UseInitArray; + if (ForceEmulatedTls) { + Options.ExplicitEmulatedTLS = true; + Options.EmulatedTLS = true; + } if (TrapUnreachable) { // Tell LLVM to codegen `unreachable` into an explicit trap instruction. |
