summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-10-26 17:33:17 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2019-10-26 17:36:09 +0100
commit5277d012d4d21640d82ba9c82748d8b63523804c (patch)
treeed8fd2914643d3cee46c3a86289b652d365bdf3c /eclass/toolchain.eclass
parentprofiles: Cancel last-rites for games-fps/ut2003-bonuspack-cm (diff)
downloadgentoo-5277d012d4d21640d82ba9c82748d8b63523804c.tar.gz
gentoo-5277d012d4d21640d82ba9c82748d8b63523804c.tar.bz2
gentoo-5277d012d4d21640d82ba9c82748d8b63523804c.zip
toolchain.eclass: filter out -mstackrealign, bug #688580
-mstackrealign breaks stack unwinding via _Unwind_RaiseException in libgcc_s.so.1. Not clear why exactly. Probably by breaking unwinding information during realignment. The change works it around by dropping -mstackrealign when building gcc. Reported-by: Erik Bug: https://bugs.gentoo.org/688580 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'eclass/toolchain.eclass')
-rw-r--r--eclass/toolchain.eclass7
1 files changed, 7 insertions, 0 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b1ba774ea0c8..7e88900737ac 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -1547,6 +1547,13 @@ gcc_do_filter_flags() {
filter-flags -Wstack-protector
fi
+ if tc_version_is_between 6 8 ; then
+ # -mstackrealign triggers crashes in exception throwing
+ # at least on ada: bug #688580
+ # The reason is unknown. Drop the flag for now.
+ filter-flags -mstackrealign
+ fi
+
if tc_version_is_at_least 3.4 ; then
case $(tc-arch) in
amd64|x86)