mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
Merge updates from master
This commit is contained in:
@@ -147,7 +147,10 @@ _filter-hardened() {
|
||||
# not -fPIC or -fpic, but too many places filter -fPIC without
|
||||
# thinking about -fPIE.
|
||||
-fPIC|-fpic|-fPIE|-fpie|-Wl,pie|-pie)
|
||||
gcc-specs-pie || continue
|
||||
if ! gcc-specs-pie && ! tc-enables-pie ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
if ! is-flagq -nopie && ! is-flagq -no-pie ; then
|
||||
# Support older Gentoo form first (-nopie) before falling
|
||||
# back to the official gcc-6+ form (-no-pie).
|
||||
@@ -158,15 +161,36 @@ _filter-hardened() {
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
-fstack-protector)
|
||||
gcc-specs-ssp || continue
|
||||
is-flagq -fno-stack-protector || append-flags $(test-flags -fno-stack-protector);;
|
||||
|
||||
-fstack-protector|-fstack-protector-strong)
|
||||
if ! gcc-specs-ssp && ! tc-enables-ssp && ! tc-enables-ssp-strong ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
is-flagq -fno-stack-protector || append-flags $(test-flags -fno-stack-protector)
|
||||
;;
|
||||
-fstack-protector-all)
|
||||
gcc-specs-ssp-to-all || continue
|
||||
is-flagq -fno-stack-protector-all || append-flags $(test-flags -fno-stack-protector-all);;
|
||||
if ! gcc-specs-ssp-to-all && ! tc-enables-ssp-all ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
is-flagq -fno-stack-protector-all || append-flags $(test-flags -fno-stack-protector-all)
|
||||
;;
|
||||
-fno-strict-overflow)
|
||||
gcc-specs-nostrict || continue
|
||||
is-flagq -fstrict-overflow || append-flags $(test-flags -fstrict-overflow);;
|
||||
|
||||
is-flagq -fstrict-overflow || append-flags $(test-flags -fstrict-overflow)
|
||||
;;
|
||||
-D_GLIBCXX_ASSERTIONS|-D_LIBCPP_ENABLE_ASSERTIONS|-D_LIBCPP_ENABLE_HARDENED_MODE)
|
||||
tc-enables-cxx-assertions || continue
|
||||
|
||||
append-cppflags -U_GLIBCXX_ASSERTIONS -U_LIBCPP_ENABLE_ASSERTIONS -U_LIBCPP_ENABLE_HARDENED_MODE
|
||||
;;
|
||||
-D_FORTIFY_SOURCE=*)
|
||||
tc-enables-fortify-source || continue
|
||||
|
||||
append-cppflags -U_FORTIFY_SOURCE
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
@@ -963,9 +963,9 @@ gcc-specs-stack-check() {
|
||||
# @DESCRIPTION:
|
||||
# Return truth if the current compiler enables assertions in the C++ standard
|
||||
# library. For libstdc++, this is -D_GLIBCXX_ASSERTIONS, and for libcxx/libc++,
|
||||
# this is -D_LIBCPP_ENABLE_ASSERTIONS.
|
||||
# this is -D_LIBCPP_ENABLE_ASSERTIONS (deprecated) or -D_LIBCPP_ENABLE_HARDENED_MODE.
|
||||
tc-enables-cxx-assertions() {
|
||||
tc-cpp-is-true "defined(_GLIBCXX_ASSERTIONS) || defined(_LIBCPP_ENABLE_ASSERTIONS)" ${CPPFLAGS} ${CXXFLAGS}
|
||||
tc-cpp-is-true "defined(_GLIBCXX_ASSERTIONS) || defined(_LIBCPP_ENABLE_ASSERTIONS) || defined(_LIBCPP_ENABLE_HARDENED_MODE)" ${CPPFLAGS} ${CXXFLAGS}
|
||||
}
|
||||
|
||||
# @FUNCTION: tc-enables-pie
|
||||
|
||||
@@ -1395,6 +1395,7 @@ downgrade_arch_flags() {
|
||||
|
||||
# "added" "arch" "replacement"
|
||||
local archlist=(
|
||||
12.3 znver4 znver3
|
||||
10 znver3 znver2
|
||||
9 znver2 znver1
|
||||
4.9 bdver4 bdver3
|
||||
|
||||
Reference in New Issue
Block a user