diff options
author | Robert Scott <code@humanleg.org.uk> | 2023-10-16 18:25:08 +0100 |
---|---|---|
committer | Robert Scott <code@humanleg.org.uk> | 2024-02-24 12:00:09 +0000 |
commit | 4a91b3e798c7fb9faa8613e4180d39ac3db42266 (patch) | |
tree | be9651e8740be34b7e50922c5d01fd36b83dca67 /pkgs/build-support | |
parent | cfc5c35a0b39f3dc4ab73c2e4cd12191eb4ebe09 (diff) | |
download | nixlib-4a91b3e798c7fb9faa8613e4180d39ac3db42266.tar nixlib-4a91b3e798c7fb9faa8613e4180d39ac3db42266.tar.gz nixlib-4a91b3e798c7fb9faa8613e4180d39ac3db42266.tar.bz2 nixlib-4a91b3e798c7fb9faa8613e4180d39ac3db42266.tar.lz nixlib-4a91b3e798c7fb9faa8613e4180d39ac3db42266.tar.xz nixlib-4a91b3e798c7fb9faa8613e4180d39ac3db42266.tar.zst nixlib-4a91b3e798c7fb9faa8613e4180d39ac3db42266.zip |
cc-wrapper: add trivialautovarinit hardening flag support
this equates to -ftrivial-auto-var-init=pattern clang has removed support for -ftrivial-auto-var-init=zero and are unlikely to re-add it, so use -ftrivial-auto-var-init=pattern on both compilers if only to make behaviour more consistent between the two. add to pkgsExtraHardening's defaultHardeningFlags.
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/cc-wrapper/add-hardening.sh | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pkgs/build-support/cc-wrapper/add-hardening.sh b/pkgs/build-support/cc-wrapper/add-hardening.sh index e884f8388b58..ef166e2f50c5 100644 --- a/pkgs/build-support/cc-wrapper/add-hardening.sh +++ b/pkgs/build-support/cc-wrapper/add-hardening.sh @@ -32,7 +32,7 @@ if [[ -n "${hardeningEnableMap[fortify3]-}" ]]; then fi if (( "${NIX_DEBUG:-0}" >= 1 )); then - declare -a allHardeningFlags=(fortify fortify3 stackprotector pie pic strictoverflow format zerocallusedregs) + declare -a allHardeningFlags=(fortify fortify3 stackprotector pie pic strictoverflow format trivialautovarinit zerocallusedregs) declare -A hardeningDisableMap=() # Determine which flags were effectively disabled so we can report below. @@ -106,6 +106,10 @@ for flag in "${!hardeningEnableMap[@]}"; do hardeningCFlagsBefore+=('-fno-strict-overflow') fi ;; + trivialautovarinit) + if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling trivialautovarinit >&2; fi + hardeningCFlagsBefore+=('-ftrivial-auto-var-init=pattern') + ;; format) if (( "${NIX_DEBUG:-0}" >= 1 )); then echo HARDENING: enabling format >&2; fi hardeningCFlagsBefore+=('-Wformat' '-Wformat-security' '-Werror=format-security') |