Skip to content

Commit 4c052b7

Browse files
committed
RuntimeLibcalls: Move __stack_smash_handler config to tablegen
1 parent dfa00ac commit 4c052b7

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

llvm/include/llvm/IR/RuntimeLibcalls.td

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1146,6 +1146,7 @@ defvar LibmHasFrexpF128 = LibcallImpls<(add frexp_f128), isNotOSWindowsOrIsCygwi
11461146
defvar LibmHasLdexpF128 = LibcallImpls<(add ldexp_f128), isNotOSWindowsOrIsCygwinMinGW>;
11471147

11481148
defvar has__stack_chk_fail = LibcallImpls<(add __stack_chk_fail), isNotOSOpenBSD>;
1149+
defvar has__stack_smash_handler = LibcallImpls<(add __stack_smash_handler), isOSOpenBSD>;
11491150

11501151
//===----------------------------------------------------------------------===//
11511152
// Objective-C Runtime Libcalls
@@ -1224,7 +1225,7 @@ def AArch64SystemLibrary : SystemRuntimeLibrary<
12241225
DarwinExp10, DarwinSinCosStret,
12251226
LibmHasSinCosF32, LibmHasSinCosF64, LibmHasSinCosF128,
12261227
LibmHasExp10F32, LibmHasExp10F64, LibmHasExp10F128,
1227-
has__stack_chk_fail)
1228+
has__stack_chk_fail, has__stack_smash_handler)
12281229
>;
12291230

12301231
// Prepend a # to every name
@@ -1501,7 +1502,7 @@ def ARMSystemLibrary
15011502
LibcallImpls<(add __divmodsi4, __udivmodsi4),
15021503
RuntimeLibcallPredicate<[{TT.isOSBinFormatMachO() &&
15031504
(!TT.isiOS() || !TT.isOSVersionLT(5, 0))}]>>,
1504-
has__stack_chk_fail)> {
1505+
has__stack_chk_fail, has__stack_smash_handler)> {
15051506
let DefaultLibcallCallingConv = LibcallCallingConv<[{
15061507
(!TT.isOSDarwin() && !TT.isiOS() && !TT.isWatchOS() && !TT.isDriverKit()) ?
15071508
(FloatABI == FloatABI::Hard ? CallingConv::ARM_AAPCS_VFP
@@ -2010,7 +2011,7 @@ def PPCSystemLibrary
20102011
LibmHasSinCosPPCF128,
20112012
AvailableIf<memcpy, isNotAIX>,
20122013
LibcallImpls<(add Int128RTLibcalls), isPPC64>,
2013-
has__stack_chk_fail)>;
2014+
has__stack_chk_fail, has__stack_smash_handler)>;
20142015

20152016
//===----------------------------------------------------------------------===//
20162017
// RISCV Runtime Libcalls
@@ -2025,7 +2026,7 @@ def RISCVSystemLibrary
20252026
exp10f, exp10, exp10l_f128,
20262027
__riscv_flush_icache,
20272028
LibcallImpls<(add Int128RTLibcalls), isRISCV64>,
2028-
has__stack_chk_fail)>;
2029+
has__stack_chk_fail, has__stack_smash_handler)>;
20292030

20302031
//===----------------------------------------------------------------------===//
20312032
// SPARC Runtime Libcalls
@@ -2093,7 +2094,7 @@ def SPARCSystemLibrary
20932094
LibcallImpls<(add _Q_qtoll, _Q_qtoull, _Q_lltoq, _Q_ulltoq), isSPARC32>,
20942095
LibcallImpls<(add SPARC64_MulDivCalls, Int128RTLibcalls), isSPARC64>,
20952096
LibmHasSinCosF32, LibmHasSinCosF64, LibmHasSinCosF128,
2096-
has__stack_chk_fail)
2097+
has__stack_chk_fail, has__stack_smash_handler)
20972098
>;
20982099

20992100
//===----------------------------------------------------------------------===//
@@ -2154,7 +2155,8 @@ defvar X86CommonLibcalls =
21542155
// FIXME: MSVCRT doesn't have powi. The f128 case is added as a
21552156
// hack for one test relying on it.
21562157
__powitf2_f128,
2157-
has__stack_chk_fail
2158+
has__stack_chk_fail,
2159+
has__stack_smash_handler
21582160
);
21592161

21602162
defvar Windows32DivRemMulCalls =
@@ -2323,5 +2325,6 @@ def LegacyDefaultSystemLibrary
23232325
exp10f, exp10, exp10l_f128,
23242326
__powisf2, __powidf2, __powitf2_f128,
23252327
LibcallImpls<(add Int128RTLibcalls), isArch64Bit>,
2326-
has__stack_chk_fail
2328+
has__stack_chk_fail,
2329+
has__stack_smash_handler
23272330
)>;

llvm/lib/IR/RuntimeLibcalls.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,6 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT,
7878
setLibcallImpl(RTLIB::UNWIND_RESUME, RTLIB::_Unwind_SjLj_Resume);
7979
}
8080

81-
if (TT.isOSOpenBSD())
82-
setLibcallImpl(RTLIB::STACK_SMASH_HANDLER, RTLIB::__stack_smash_handler);
83-
8481
if (TT.isARM() || TT.isThumb()) {
8582
setARMLibcallNames(*this, TT, FloatABI, EABIVersion);
8683
return;

0 commit comments

Comments
 (0)