[PATCH] D115250: switched to emulated TLV on macOS before 10.7
Kirill A. Korinsky via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 8 04:48:01 PST 2021
catap updated this revision to Diff 392715.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115250/new/
https://reviews.llvm.org/D115250
Files:
clang/lib/Basic/Targets/OSTargets.h
clang/lib/CodeGen/ItaniumCXXABI.cpp
llvm/include/llvm/ADT/Triple.h
Index: llvm/include/llvm/ADT/Triple.h
===================================================================
--- llvm/include/llvm/ADT/Triple.h
+++ llvm/include/llvm/ADT/Triple.h
@@ -839,7 +839,8 @@
/// Tests whether the target uses emulated TLS as default.
bool hasDefaultEmulatedTLS() const {
- return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment();
+ return isAndroid() || isOSOpenBSD() || isWindowsCygwinEnvironment() ||
+ (isOSDarwin() && isMacOSXVersionLT(10, 7));
}
/// Tests whether the target uses -data-sections as default.
Index: clang/lib/CodeGen/ItaniumCXXABI.cpp
===================================================================
--- clang/lib/CodeGen/ItaniumCXXABI.cpp
+++ clang/lib/CodeGen/ItaniumCXXABI.cpp
@@ -2580,7 +2580,9 @@
const char *Name = "__cxa_atexit";
if (TLS) {
const llvm::Triple &T = CGF.getTarget().getTriple();
- Name = T.isOSDarwin() ? "_tlv_atexit" : "__cxa_thread_atexit";
+ Name = (T.isOSDarwin() && !T.isMacOSXVersionLT(10, 7))
+ ? "_tlv_atexit"
+ : "__cxa_thread_atexit";
}
// We're assuming that the destructor function is something we can
Index: clang/lib/Basic/Targets/OSTargets.h
===================================================================
--- clang/lib/Basic/Targets/OSTargets.h
+++ clang/lib/Basic/Targets/OSTargets.h
@@ -91,7 +91,7 @@
this->TLSSupported = false;
if (Triple.isMacOSX())
- this->TLSSupported = !Triple.isMacOSXVersionLT(10, 7);
+ this->TLSSupported = !Triple.isMacOSXVersionLT(10, 4);
else if (Triple.isiOS()) {
// 64-bit iOS supported it from 8 onwards, 32-bit device from 9 onwards,
// 32-bit simulator from 10 onwards.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115250.392715.patch
Type: text/x-patch
Size: 1731 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20211208/6163f45d/attachment.bin>
More information about the cfe-commits
mailing list