1ifeq ($(subdir),signal)
2#sysdep_routines += sigsuspend
3endif
4
5ifeq ($(subdir),misc)
6sysdep_routines += cachectl cacheflush sysmips _test_and_set
7
8sysdep_headers += sys/cachectl.h sys/sysmips.h sys/tas.h
9endif
10
11abi-variants := o32_soft o32_hard o32_soft_2008 o32_hard_2008
12abi-variants += n32_soft n32_hard n32_soft_2008 n32_hard_2008
13abi-variants += n64_soft n64_hard n64_soft_2008 n64_hard_2008
14
15ifeq (,$(filter $(default-abi),$(abi-variants)))
16Unknown ABI, must be one of $(abi-variants)
17endif
18
19abi-includes := sgidefs.h
20
21# _MIPS_SIM_ABI32 == 1, _MIPS_SIM_NABI32 == 2, _MIPS_SIM_ABI64 == 3
22abi-o32_soft-condition := !defined(__mips_nan2008) \
23			  && defined(__mips_soft_float) \
24			  && (_MIPS_SIM == _MIPS_SIM_ABI32)
25abi-o32_hard-condition := !defined(__mips_nan2008) \
26			  && defined(__mips_hard_float) \
27			  && (_MIPS_SIM == _MIPS_SIM_ABI32)
28abi-o32_soft_2008-condition := defined(__mips_nan2008) \
29			       && defined(__mips_soft_float) \
30			       && (_MIPS_SIM == _MIPS_SIM_ABI32)
31abi-o32_hard_2008-condition := defined(__mips_nan2008) \
32			       && defined(__mips_hard_float) \
33			       && (_MIPS_SIM == _MIPS_SIM_ABI32)
34abi-n32_soft-condition := !defined(__mips_nan2008) \
35			  && defined(__mips_soft_float) \
36			  && (_MIPS_SIM == _MIPS_SIM_NABI32)
37abi-n32_hard-condition := !defined(__mips_nan2008) \
38			  && defined(__mips_hard_float) \
39			  && (_MIPS_SIM == _MIPS_SIM_NABI32)
40abi-n32_soft_2008-condition := defined(__mips_nan2008) \
41			       && defined(__mips_soft_float) \
42			       && (_MIPS_SIM == _MIPS_SIM_NABI32)
43abi-n32_hard_2008-condition := defined(__mips_nan2008) \
44			       && defined(__mips_hard_float) \
45			       && (_MIPS_SIM == _MIPS_SIM_NABI32)
46abi-n64_soft-condition := !defined(__mips_nan2008) \
47			  && defined(__mips_soft_float) \
48			  && (_MIPS_SIM == _MIPS_SIM_ABI64)
49abi-n64_hard-condition := !defined(__mips_nan2008) \
50			  && defined(__mips_hard_float) \
51			  && (_MIPS_SIM == _MIPS_SIM_ABI64)
52abi-n64_soft_2008-condition := defined(__mips_nan2008) \
53			       && defined(__mips_soft_float) \
54			       && (_MIPS_SIM == _MIPS_SIM_ABI64)
55abi-n64_hard_2008-condition := defined(__mips_nan2008) \
56			       && defined(__mips_hard_float) \
57			       && (_MIPS_SIM == _MIPS_SIM_ABI64)
58
59ifeq ($(subdir),elf)
60# If the compiler doesn't use GNU.stack note,
61# this test is expected to fail.
62ifneq ($(mips-has-gnustack),yes)
63test-xfail-check-execstack = yes
64endif
65endif
66
67ifeq ($(subdir),stdlib)
68gen-as-const-headers += ucontext_i.sym
69endif
70
71ifeq ($(mips-force-execstack),yes)
72CFLAGS-.o += -Wa,-execstack
73CFLAGS-.os += -Wa,-execstack
74CFLAGS-.op += -Wa,-execstack
75CFLAGS-.oS += -Wa,-execstack
76
77ASFLAGS-.o += -Wa,-execstack
78ASFLAGS-.os += -Wa,-execstack
79ASFLAGS-.op += -Wa,-execstack
80ASFLAGS-.oS += -Wa,-execstack
81endif
82