[PATCH, GCC/ARM, 1/10] Fix -mcmse check in libgcc
authorMihail Ionescu <mihail.ionescu@arm.com>
Tue, 14 Jan 2020 17:47:39 +0000 (17:47 +0000)
committerMihail Ionescu <mihail.ionescu@arm.com>
Thu, 16 Jan 2020 15:09:19 +0000 (15:09 +0000)
This patch is part of a patch series to add support for Armv8.1-M
Mainline Security Extensions architecture.

Code to detect whether cmse.c can be buit with -mcmse checks the output
of host GCC when invoked with -mcmse. However, an error from the
compiler does not prevent some minimal output so this always holds true.

2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
2020-01-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>

* config/arm/t-arm: Check return value of gcc rather than lack of
output.

libgcc/ChangeLog
libgcc/config/arm/t-arm

index 06903c2..323e80d 100644 (file)
@@ -1,3 +1,9 @@
+2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
+2020-01-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/t-arm: Check return value of gcc rather than lack of
+       output.
+
 2020-01-14  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/lib1funcs.S (skip): Simplify.
index 274bf2a..f2b927f 100644 (file)
@@ -3,7 +3,7 @@ LIB1ASMFUNCS = _thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi \
        _thumb1_case_uhi _thumb1_case_si _speculation_barrier
 
 HAVE_CMSE:=$(findstring __ARM_FEATURE_CMSE,$(shell $(gcc_compile_bare) -dM -E - </dev/null))
-ifneq ($(shell $(gcc_compile_bare) -E -mcmse - </dev/null 2>/dev/null),)
+ifeq ($(shell $(gcc_compile_bare) -E -mcmse - </dev/null >/dev/null 2>/dev/null; echo $?),0)
 CMSE_OPTS:=-mcmse
 endif