As discussed in the PR, the Makefile fragment lacks a double '$' to get the return-code from GCC invocation, resulting is CMSE support missing from multilibs.
I checked that the simple patch proposed in the PR fixes the problem. 2021-02-23 Christophe Lyon <christophe.l...@linaro.org> Hau Hsu <hsuhau...@gmail.com> PR target/99157 libgcc/ * config/arm/t-arm: Fix cmse support detection. diff --git a/libgcc/config/arm/t-arm b/libgcc/config/arm/t-arm index 364f40e..3625a25 100644 --- a/libgcc/config/arm/t-arm +++ b/libgcc/config/arm/t-arm @@ -4,7 +4,7 @@ LIB1ASMFUNCS = _thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi \ HAVE_CMSE:=$(findstring __ARM_FEATURE_CMSE,$(shell $(gcc_compile_bare) -dM -E - </dev/null)) HAVE_V81M:=$(findstring armv8.1-m.main,$(gcc_compile_bare)) -ifeq ($(shell $(gcc_compile_bare) -E -mcmse - </dev/null >/dev/null 2>/dev/null; echo $?),0) +ifeq ($(shell $(gcc_compile_bare) -E -mcmse - </dev/null >/dev/null 2>/dev/null; echo $$?),0) CMSE_OPTS:=-mcmse endif
arm: Fix CMSE support detection in libgcc (PR target/99157) As discussed in the PR, the Makefile fragment lacks a double '$' to get the return-code from GCC invocation, resulting is CMSE support missing from multilibs. The simple patch proposed in the PR fixes the problem. 2021-02-23 Christophe Lyon <christophe.l...@linaro.org> Hau Hsu <hsuhau...@gmail.com> PR target/99157 libgcc/ * config/arm/t-arm: Fix cmse support detection. diff --git a/libgcc/config/arm/t-arm b/libgcc/config/arm/t-arm index 364f40e..3625a25 100644 --- a/libgcc/config/arm/t-arm +++ b/libgcc/config/arm/t-arm @@ -4,7 +4,7 @@ LIB1ASMFUNCS = _thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi \ HAVE_CMSE:=$(findstring __ARM_FEATURE_CMSE,$(shell $(gcc_compile_bare) -dM -E - </dev/null)) HAVE_V81M:=$(findstring armv8.1-m.main,$(gcc_compile_bare)) -ifeq ($(shell $(gcc_compile_bare) -E -mcmse - </dev/null >/dev/null 2>/dev/null; echo $?),0) +ifeq ($(shell $(gcc_compile_bare) -E -mcmse - </dev/null >/dev/null 2>/dev/null; echo $$?),0) CMSE_OPTS:=-mcmse endif