diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 37511 -> 37512 bytes | |||
-rw-r--r-- | eclass/toolchain.eclass | 12 |
2 files changed, 10 insertions, 2 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex f20cb7d50063..6b7db0d6e46e 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index f3989ad8b6e6..ea223984de2e 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -277,8 +277,9 @@ if [[ ${PN} != kgcc64 && ${PN} != gcc-* ]] ; then tc_version_is_at_least 10 && IUSE+=" zstd" TC_FEATURES+=( zstd ) tc_version_is_at_least 11 && IUSE+=" valgrind" TC_FEATURES+=( valgrind ) tc_version_is_at_least 11 && IUSE+=" custom-cflags" - tc_version_is_at_least 12.99 && IUSE+=" default-znow" - tc_version_is_at_least 12.99 && IUSE+=" default-stack-clash-protection" + tc_version_is_at_least 12 && IUSE+=" ieee-long-double" + tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-znow" + tc_version_is_at_least 12.2.1_p20221203 ${PV} && IUSE+=" default-stack-clash-protection" fi if tc_version_is_at_least 10; then @@ -1326,6 +1327,13 @@ toolchain_src_configure() { # - bug #704784 # - https://gcc.gnu.org/PR93157 [[ ${CTARGET} == powerpc64-*-musl ]] && confgcc+=( --with-abi=elfv2 ) + + if in_iuse ieee-long-double; then + # musl requires 64-bit long double, not IBM double-double or IEEE quad. + if [[ ${CTARGET} == powerpc64le-*-gnu ]]; then + use ieee-long-double && confgcc+=( --with-long-double-format=ieee ) + fi + fi ;; riscv) # Add --with-abi flags to set default ABI |