1case "$machine" in 2csky*) 3 abi=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | 4 sed -n 's/^#define __CSKYABI__ \(.*\)/\1/p'` 5 hard_float=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | 6 sed -n 's/^#define __CSKY_HARD_FLOAT__ \(.*\)/\1/p'` 7 hard_float_sf=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | 8 sed -n 's/^#define __CSKY_HARD_FLOAT_FPU_SF__ \(.*\)/\1/p'` 9 hard_float_abi=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | 10 sed -n 's/^#define __CSKY_HARD_FLOAT_ABI__ \(.*\)/\1/p'` 11 12 case "$abi" in 13 1) 14 echo "glibc does not support abiv1 yet" >&2 15 exit 1 16 ;; 17 2) 18 machine=abiv2 19 ;; 20 *) 21 echo "Unknown abi" >&2 22 exit 1 23 ;; 24 esac 25 26 # __CSKY_HARD_FLOAT_ABI__ was added on gcc 11 to specify whether 27 # -mfloat-abi=hard is set. On older gcc, the float ABI is defined solely 28 # with __CSKY_HARD_FLOAT__. If __CSKY_HARD_FLOAT__ is set, it can be 29 # either a hard-float ABI (gcc older than 11, or gcc11 -mfloat-abi=hard 30 # (__CSKY_HARD_FLOAT_ABI__ is set) or -mfloat-abi=softfp 31 # (__CSKY_HARD_FLOAT_ABI__ is not set). To be compatible with older gcc, 32 # use __CSKY_HARD_FLOAT_FPU_SF__ identify if -mfloat-abi is supported, 33 # because it is added to gcc at the same time as -mfloat-abi. 34 if test -n "$hard_float"; then 35 if test -z "$hard_float_sf"; then 36 with_fp_cond=1 37 else 38 if test -n "$hard_float_abi"; then 39 with_fp_cond=1 40 else 41 with_fp_cond=0 42 fi 43 fi 44 else 45 with_fp_cond=0 46 fi 47 48 base_machine=csky 49 machine=csky/$machine 50 51 $as_echo "#define CSKYABI $abi" >>confdefs.h 52 $as_echo "#define CSKY_HARD_FLOAT $with_fp_cond" >>confdefs.h 53 ;; 54esac 55