@@ -1151,6 +1151,7 @@ defvar LibmHasFrexpF128 = LibcallImpls<(add frexp_f128), isNotOSWindowsOrIsCygwi
1151
1151
defvar LibmHasLdexpF128 = LibcallImpls<(add ldexp_f128), isNotOSWindowsOrIsCygwinMinGW>;
1152
1152
1153
1153
defvar has__stack_chk_fail = LibcallImpls<(add __stack_chk_fail), isNotOSOpenBSD>;
1154
+ defvar has__stack_smash_handler = LibcallImpls<(add __stack_smash_handler), isOSOpenBSD>;
1154
1155
1155
1156
//===----------------------------------------------------------------------===//
1156
1157
// Objective-C Runtime Libcalls
@@ -1229,7 +1230,7 @@ def AArch64SystemLibrary : SystemRuntimeLibrary<
1229
1230
DarwinExp10, DarwinSinCosStret,
1230
1231
LibmHasSinCosF32, LibmHasSinCosF64, LibmHasSinCosF128,
1231
1232
DefaultLibmExp10,
1232
- has__stack_chk_fail)
1233
+ has__stack_chk_fail, has__stack_smash_handler )
1233
1234
>;
1234
1235
1235
1236
// Prepend a # to every name
@@ -1506,7 +1507,7 @@ def ARMSystemLibrary
1506
1507
LibcallImpls<(add __divmodsi4, __udivmodsi4),
1507
1508
RuntimeLibcallPredicate<[{TT.isOSBinFormatMachO() &&
1508
1509
(!TT.isiOS() || !TT.isOSVersionLT(5, 0))}]>>,
1509
- has__stack_chk_fail)> {
1510
+ has__stack_chk_fail, has__stack_smash_handler )> {
1510
1511
let DefaultLibcallCallingConv = LibcallCallingConv<[{
1511
1512
(!TT.isOSDarwin() && !TT.isiOS() && !TT.isWatchOS() && !TT.isDriverKit()) ?
1512
1513
(FloatABI == FloatABI::Hard ? CallingConv::ARM_AAPCS_VFP
@@ -2015,7 +2016,7 @@ def PPCSystemLibrary
2015
2016
LibmHasSinCosPPCF128,
2016
2017
AvailableIf<memcpy, isNotAIX>,
2017
2018
LibcallImpls<(add Int128RTLibcalls), isPPC64>,
2018
- has__stack_chk_fail)>;
2019
+ has__stack_chk_fail, has__stack_smash_handler )>;
2019
2020
2020
2021
//===----------------------------------------------------------------------===//
2021
2022
// RISCV Runtime Libcalls
@@ -2030,7 +2031,7 @@ def RISCVSystemLibrary
2030
2031
exp10f, exp10, exp10l_f128,
2031
2032
__riscv_flush_icache,
2032
2033
LibcallImpls<(add Int128RTLibcalls), isRISCV64>,
2033
- has__stack_chk_fail)>;
2034
+ has__stack_chk_fail, has__stack_smash_handler )>;
2034
2035
2035
2036
//===----------------------------------------------------------------------===//
2036
2037
// SPARC Runtime Libcalls
@@ -2098,7 +2099,7 @@ def SPARCSystemLibrary
2098
2099
LibcallImpls<(add _Q_qtoll, _Q_qtoull, _Q_lltoq, _Q_ulltoq), isSPARC32>,
2099
2100
LibcallImpls<(add SPARC64_MulDivCalls, Int128RTLibcalls), isSPARC64>,
2100
2101
LibmHasSinCosF32, LibmHasSinCosF64, LibmHasSinCosF128,
2101
- has__stack_chk_fail)
2102
+ has__stack_chk_fail, has__stack_smash_handler )
2102
2103
>;
2103
2104
2104
2105
//===----------------------------------------------------------------------===//
@@ -2159,7 +2160,8 @@ defvar X86CommonLibcalls =
2159
2160
// FIXME: MSVCRT doesn't have powi. The f128 case is added as a
2160
2161
// hack for one test relying on it.
2161
2162
__powitf2_f128,
2162
- has__stack_chk_fail
2163
+ has__stack_chk_fail,
2164
+ has__stack_smash_handler
2163
2165
);
2164
2166
2165
2167
defvar Windows32DivRemMulCalls =
@@ -2328,5 +2330,6 @@ def LegacyDefaultSystemLibrary
2328
2330
exp10f, exp10, exp10l_f128,
2329
2331
__powisf2, __powidf2, __powitf2_f128,
2330
2332
LibcallImpls<(add Int128RTLibcalls), isArch64Bit>,
2331
- has__stack_chk_fail
2333
+ has__stack_chk_fail,
2334
+ has__stack_smash_handler
2332
2335
)>;
0 commit comments