nptl: Move stack list variables into _rtld_global
[platform/upstream/glibc.git] / sysdeps / csky / preconfigure
1 case "$machine" in
2 csky*)
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     ;;
54 esac