1ifeq ($(subdir),misc)
2sysdep_headers += regdef.h fpregdef.h sys/regdef.h sys/fpregdef.h \
3		  sys/asm.h sgidefs.h
4endif
5
6ifeq ($(subdir),setjmp)
7sysdep_routines += setjmp_aux
8endif
9
10ifeq ($(subdir),rt)
11librt-sysdep_routines += rt-sysdep
12librt-shared-only-routines += rt-sysdep
13endif
14
15ifeq ($(subdir),csu)
16CPPFLAGS-crti.S += $(pic-ccflag)
17CPPFLAGS-crtn.S += $(pic-ccflag)
18endif
19
20ASFLAGS-.os += $(pic-ccflag)
21# libc.a and libc_p.a must be compiled with -fPIE/-fpie for static PIE.
22ASFLAGS-.o += $(pie-default)
23ASFLAGS-.op += $(pie-default)
24
25ifeq ($(subdir),elf)
26ifneq ($(o32-fpabi),)
27tests += tst-abi-interlink
28
29fpabi-modules-names =
30fpabi_list =
31ifneq (,$(filter $(o32-fpabi),32 xx xxo))
32fpabi-modules-names += tst-abi-fp32mod
33CFLAGS-tst-abi-fp32mod.c += -mfp32
34endif
35ifneq (,$(filter $(o32-fpabi),xx))
36fpabi-modules-names += tst-abi-fpxxmod
37CFLAGS-tst-abi-fpxxmod.c += -mfpxx -mno-odd-spreg
38endif
39ifneq (,$(filter $(o32-fpabi),xx xxo))
40ifeq ($(has-modd-spreg),yes)
41fpabi-modules-names += tst-abi-fpxxomod
42CFLAGS-tst-abi-fpxxomod.c += -mfpxx -modd-spreg
43endif
44endif
45ifneq (,$(filter $(o32-fpabi),xx 64a))
46ifeq ($(has-mpf64),yes)
47fpabi-modules-names += tst-abi-fp64amod
48CFLAGS-tst-abi-fp64amod.c += -mfp64 -mno-odd-spreg
49endif
50endif
51ifneq (,$(filter $(o32-fpabi),xx xxo 64a 64))
52ifeq ($(has-mpf64)-$(has-modd-spreg),yes-yes)
53fpabi-modules-names += tst-abi-fp64mod
54CFLAGS-tst-abi-fp64mod.c += -mfp64 -modd-spreg
55endif
56endif
57modules-names += $(fpabi-modules-names)
58
59comma:=,
60empty:=
61space:=$(empty) $(empty)
62fpabi_list=$(subst $(space),$(comma),$(patsubst tst-abi-%mod,o_%,\
63				     $(fpabi-modules-names)))
64CPPFLAGS-tst-abi-interlink.c += -DFPABI_LIST=$(fpabi_list)
65CPPFLAGS-tst-abi-interlink.c += -DFPABI_COUNT=$(words $(fpabi-modules-names))
66CPPFLAGS-tst-abi-interlink.c += -DFPABI_NATIVE=o_fp$(o32-fpabi)
67$(objpfx)tst-abi-interlink.out: $(patsubst %,$(objpfx)%.so,\
68					   $(fpabi-modules-names))
69endif
70
71ifeq ($(mips-mode-switch),yes)
72ifeq ($(o32-fpabi),xx)
73tests += tst-mode-switch-1 tst-mode-switch-2 tst-mode-switch-3
74endif
75endif
76endif
77
78ifeq ($(subdir),elf)
79tests += tst-undefined-weak
80modules-names += tst-undefined-weak-lib
81
82$(objpfx)tst-undefined-weak: $(objpfx)tst-undefined-weak-lib.so
83endif
84