@@ -1146,6 +1146,7 @@ defvar LibmHasFrexpF128 = LibcallImpls<(add frexp_f128), isNotOSWindowsOrIsCygwi
1146
1146
defvar LibmHasLdexpF128 = LibcallImpls<(add ldexp_f128), isNotOSWindowsOrIsCygwinMinGW>;
1147
1147
1148
1148
defvar has__stack_chk_fail = LibcallImpls<(add __stack_chk_fail), isNotOSOpenBSD>;
1149
+ defvar has__stack_smash_handler = LibcallImpls<(add __stack_smash_handler), isOSOpenBSD>;
1149
1150
1150
1151
//===----------------------------------------------------------------------===//
1151
1152
// Objective-C Runtime Libcalls
@@ -1224,7 +1225,7 @@ def AArch64SystemLibrary : SystemRuntimeLibrary<
1224
1225
DarwinExp10, DarwinSinCosStret,
1225
1226
LibmHasSinCosF32, LibmHasSinCosF64, LibmHasSinCosF128,
1226
1227
LibmHasExp10F32, LibmHasExp10F64, LibmHasExp10F128,
1227
- has__stack_chk_fail)
1228
+ has__stack_chk_fail, has__stack_smash_handler )
1228
1229
>;
1229
1230
1230
1231
// Prepend a # to every name
@@ -1501,7 +1502,7 @@ def ARMSystemLibrary
1501
1502
LibcallImpls<(add __divmodsi4, __udivmodsi4),
1502
1503
RuntimeLibcallPredicate<[{TT.isOSBinFormatMachO() &&
1503
1504
(!TT.isiOS() || !TT.isOSVersionLT(5, 0))}]>>,
1504
- has__stack_chk_fail)> {
1505
+ has__stack_chk_fail, has__stack_smash_handler )> {
1505
1506
let DefaultLibcallCallingConv = LibcallCallingConv<[{
1506
1507
(!TT.isOSDarwin() && !TT.isiOS() && !TT.isWatchOS() && !TT.isDriverKit()) ?
1507
1508
(FloatABI == FloatABI::Hard ? CallingConv::ARM_AAPCS_VFP
@@ -2010,7 +2011,7 @@ def PPCSystemLibrary
2010
2011
LibmHasSinCosPPCF128,
2011
2012
AvailableIf<memcpy, isNotAIX>,
2012
2013
LibcallImpls<(add Int128RTLibcalls), isPPC64>,
2013
- has__stack_chk_fail)>;
2014
+ has__stack_chk_fail, has__stack_smash_handler )>;
2014
2015
2015
2016
//===----------------------------------------------------------------------===//
2016
2017
// RISCV Runtime Libcalls
@@ -2025,7 +2026,7 @@ def RISCVSystemLibrary
2025
2026
exp10f, exp10, exp10l_f128,
2026
2027
__riscv_flush_icache,
2027
2028
LibcallImpls<(add Int128RTLibcalls), isRISCV64>,
2028
- has__stack_chk_fail)>;
2029
+ has__stack_chk_fail, has__stack_smash_handler )>;
2029
2030
2030
2031
//===----------------------------------------------------------------------===//
2031
2032
// SPARC Runtime Libcalls
@@ -2093,7 +2094,7 @@ def SPARCSystemLibrary
2093
2094
LibcallImpls<(add _Q_qtoll, _Q_qtoull, _Q_lltoq, _Q_ulltoq), isSPARC32>,
2094
2095
LibcallImpls<(add SPARC64_MulDivCalls, Int128RTLibcalls), isSPARC64>,
2095
2096
LibmHasSinCosF32, LibmHasSinCosF64, LibmHasSinCosF128,
2096
- has__stack_chk_fail)
2097
+ has__stack_chk_fail, has__stack_smash_handler )
2097
2098
>;
2098
2099
2099
2100
//===----------------------------------------------------------------------===//
@@ -2154,7 +2155,8 @@ defvar X86CommonLibcalls =
2154
2155
// FIXME: MSVCRT doesn't have powi. The f128 case is added as a
2155
2156
// hack for one test relying on it.
2156
2157
__powitf2_f128,
2157
- has__stack_chk_fail
2158
+ has__stack_chk_fail,
2159
+ has__stack_smash_handler
2158
2160
);
2159
2161
2160
2162
defvar Windows32DivRemMulCalls =
@@ -2323,5 +2325,6 @@ def LegacyDefaultSystemLibrary
2323
2325
exp10f, exp10, exp10l_f128,
2324
2326
__powisf2, __powidf2, __powitf2_f128,
2325
2327
LibcallImpls<(add Int128RTLibcalls), isArch64Bit>,
2326
- has__stack_chk_fail
2328
+ has__stack_chk_fail,
2329
+ has__stack_smash_handler
2327
2330
)>;
0 commit comments