53 lines
1.9 KiB
Diff
53 lines
1.9 KiB
Diff
From 7e7c1f8a11a36e286a00f2eca90f55b3a32917b5 Mon Sep 17 00:00:00 2001
|
|
From: Ariadne Conill <ariadne@dereferenced.org>
|
|
Date: Fri, 21 Aug 2020 06:49:40 +0000
|
|
Subject: [PATCH] Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding
|
|
Change the buffer size.
|
|
|
|
---
|
|
gcc/gcc.c | 8 +++++++-
|
|
gcc/params.opt | 2 +-
|
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
|
index 1ad5da6d769..99314032ec2 100644
|
|
--- a/gcc/gcc.c
|
|
+++ b/gcc/gcc.c
|
|
@@ -989,6 +989,12 @@ proper position among the other output files. */
|
|
#define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
|
|
#endif
|
|
|
|
+#ifdef ENABLE_DEFAULT_SSP
|
|
+#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} "
|
|
+#else
|
|
+#define NO_SSP_SPEC ""
|
|
+#endif
|
|
+
|
|
#ifndef LINK_SSP_SPEC
|
|
#ifdef TARGET_LIBC_PROVIDES_SSP
|
|
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \
|
|
@@ -1288,7 +1294,7 @@ static const char *cc1_options =
|
|
%{-version:--version}\
|
|
%{-help=*:--help=%*}\
|
|
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
|
|
- %{fsyntax-only:-o %j} %{-param*}\
|
|
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
|
|
%{coverage:-fprofile-arcs -ftest-coverage}\
|
|
%{fprofile-arcs|fprofile-generate*|coverage:\
|
|
%{!fprofile-update=single:\
|
|
diff --git a/gcc/params.opt b/gcc/params.opt
|
|
index 8ba281b4cfa..bab39cdf8a2 100644
|
|
--- a/gcc/params.opt
|
|
+++ b/gcc/params.opt
|
|
@@ -946,7 +946,7 @@ Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optim
|
|
The maximum number of SSA_NAME assignments to follow in determining a value.
|
|
|
|
-param=ssp-buffer-size=
|
|
-Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
|
|
+Common Joined UInteger Var(param_ssp_buffer_size) Init(4) IntegerRange(1, 65536) Param Optimization
|
|
The lower bound for a buffer to be considered for stack smashing protection.
|
|
|
|
-param=stack-clash-protection-guard-size=
|
|
--
|
|
2.34.1
|
|
|