commit:     5277d012d4d21640d82ba9c82748d8b63523804c
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 26 16:33:17 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Oct 26 16:36:09 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5277d012

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 <AT> gentoo.org>

 eclass/toolchain.eclass | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index b1ba774ea0c..7e88900737a 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)

Reply via email to