diff options
Diffstat (limited to 'eclass/flag-o-matic.eclass')
-rw-r--r-- | eclass/flag-o-matic.eclass | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index ecac452aa0ef..3e67e3b4c11f 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -4,24 +4,22 @@ # @ECLASS: flag-o-matic.eclass # @MAINTAINER: # toolchain@gentoo.org -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: common functions to manipulate and query toolchain flags # @DESCRIPTION: # This eclass contains a suite of functions to help developers sanely # and safely manage toolchain flags in their builds. +if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then +_FLAG_O_MATIC_ECLASS=1 + case ${EAPI} in - 6|7|8) ;; + 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -if [[ -z ${_FLAG_O_MATIC_ECLASS} ]]; then -_FLAG_O_MATIC_ECLASS=1 - inherit toolchain-funcs -[[ ${EAPI} == 6 ]] && inherit eqawarn - # @FUNCTION: all-flag-vars # @DESCRIPTION: # Return all the flag variables that our high level functions operate on. @@ -35,7 +33,7 @@ all-flag-vars() { # {C,CPP,CXX,CCAS,F,FC,LD}FLAGS that we allow in strip-flags # Note: shell globs and character lists are allowed setup-allowed-flags() { - [[ ${EAPI} == [67] ]] || + [[ ${EAPI} == 7 ]] || die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." _setup-allowed-flags "$@" } @@ -129,6 +127,10 @@ _setup-allowed-flags() { # needed for arm64 (and in particular SCS) -ffixed-x18 + # needed for riscv (to prevent unaligned vector access) + # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115789 + -mstrict-align -mvector-strict-align + # gcc 4.5 -mno-fma4 -mno-movbe -mno-xop -mno-lwp # gcc 4.6 @@ -562,7 +564,7 @@ strip-flags() { # Returns shell true if <flag> is supported by given <compiler>, # else returns shell false. test-flag-PROG() { - [[ ${EAPI} == [67] ]] || + [[ ${EAPI} == 7 ]] || die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." _test-flag-PROG "$@" } @@ -712,7 +714,7 @@ test-flag-CCLD() { _test-flag-PROG CC c+ld "$@"; } # Returns shell true if <flags> are supported by given <compiler>, # else returns shell false. test-flags-PROG() { - [[ ${EAPI} == [67] ]] || + [[ ${EAPI} == 7 ]] || die "Internal function ${FUNCNAME} is not available in EAPI ${EAPI}." _test-flags-PROG "$@" } |