[gcc(refs/vendors/redhat/heads/gcc-10-branch)] [PATCH, GCC/ARM, 1/10] Fix -mcmse check in libgcc

Jakub Jelinek jakub@gcc.gnu.org
Fri Jan 17 11:49:00 GMT 2020


https://gcc.gnu.org/g:e953433f089b8276c0445ab538bbf655ef6c8c97

commit e953433f089b8276c0445ab538bbf655ef6c8c97
Author: Mihail Ionescu <mihail.ionescu@arm.com>
Date:   Tue Jan 14 17:47:39 2020 +0000

    [PATCH, GCC/ARM, 1/10] Fix -mcmse check in libgcc
    
    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.

Diff:
---
 libgcc/ChangeLog        | 6 ++++++
 libgcc/config/arm/t-arm | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 06903c2..323e80d 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -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.
diff --git a/libgcc/config/arm/t-arm b/libgcc/config/arm/t-arm
index 274bf2a..f2b927f 100644
--- a/libgcc/config/arm/t-arm
+++ b/libgcc/config/arm/t-arm
@@ -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



More information about the Gcc-cvs mailing list