diff --git a/lib/functions/compilation/atf.sh b/lib/functions/compilation/atf.sh index 2c6b55408b..f7ec264e14 100644 --- a/lib/functions/compilation/atf.sh +++ b/lib/functions/compilation/atf.sh @@ -69,10 +69,15 @@ compile_atf() { declare binutils_version binutils_flags_atf="" binutils_version=$(env PATH="${toolchain}:${toolchain2}:${PATH}" aarch64-linux-gnu-ld.bfd --version | head -1 | cut -d ")" -f 2 | xargs echo -n) display_alert "Binutils version for ATF" "${binutils_version}" "info" - if linux-version compare "${binutils_version}" ge "2.39"; then - display_alert "Binutils version for ATF" ">= 2.39, adding --no-warn-rwx-segment" "info" + + if linux-version compare "${binutils_version}" gt "2.39" && linux-version compare "${binutils_version}" lt "2.42"; then + display_alert "Binutils version for ATF" ">= 2.39 and < 2.42, adding -Wl,--no-warn-rwx-segment" "info" binutils_flags_atf="-Wl,--no-warn-rwx-segment" + elif linux-version compare "${binutils_version}" ge "2.42"; then + display_alert "Binutils version for ATF" ">= 2.42, adding --no-warn-rwx-segments" "info" + binutils_flags_atf="--no-warn-rwx-segments" fi + # - ENABLE_BACKTRACE="0" has been added to workaround a regression in ATF. Check: https://github.com/armbian/build/issues/1157 run_host_command_logged "CROSS_COMPILE='ccache ${ATF_COMPILER}'" CCACHE_BASEDIR="$(pwd)" "CC='ccache ${ATF_COMPILER}gcc'" PATH="${toolchain}:${toolchain2}:${PATH}" \