0
|
1 # BEGIN boiler-plate MIPS stuff
|
|
2
|
|
3 # Don't let CTOR_LIST end up in sdata section.
|
|
4 CRTSTUFF_T_CFLAGS = -G 0
|
|
5
|
|
6 # We must build libgcc2.a with -G 0, in case the user wants to link
|
|
7 # without the $gp register.
|
|
8 TARGET_LIBGCC2_CFLAGS = -G 0
|
|
9
|
|
10 LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/mips/mips16.S \
|
|
11 $(srcdir)/config/mips/vr4120-div.S
|
|
12 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o
|
|
13
|
|
14 # Assemble startup files.
|
|
15 $(T)crti.o: $(srcdir)/config/mips/crti.asm $(GCC_PASSES)
|
|
16 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
|
17 -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/mips/crti.asm
|
|
18
|
|
19 $(T)crtn.o: $(srcdir)/config/mips/crtn.asm $(GCC_PASSES)
|
|
20 $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
|
21 -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/mips/crtn.asm
|
|
22
|
|
23 # END boiler-plate
|
|
24
|
|
25 # Main multilibs
|
|
26 # --------------
|
|
27 #
|
|
28 # Endianness: EB or EL
|
|
29 #
|
|
30 # ABIs: mabi=32
|
|
31 # mabi=o64
|
|
32 # mabi=eabi
|
|
33 # mabi=eabi/mlong32
|
|
34 # mabi=eabi/mgp32
|
|
35 # mabi=eabi/mgp32/mlong64
|
|
36 #
|
|
37 # Architecture: march=vr4120 with -mfix-vr4120
|
|
38 # march=vr4130 with -mfix-vr4130 (default)
|
|
39 # march=vr5000
|
|
40 # march=vr5400
|
|
41 # march=vr5500
|
|
42 #
|
|
43 # Total: 2 * 6 * 5 = 60 multilibs.
|
|
44 #
|
|
45 #
|
|
46 # Extra vr4300 multilibs
|
|
47 # ----------------------
|
|
48 #
|
|
49 # Endianness: EB or EL
|
|
50 #
|
|
51 # ABI: o64
|
|
52 #
|
|
53 # Architecture: vr4300.
|
|
54 #
|
|
55 # Total: 2 * 1 * 2 = 2 multilibs.
|
|
56 #
|
|
57 #
|
|
58 # Extra MIPS16 multilibs
|
|
59 # ----------------------
|
|
60 #
|
|
61 # Endianness: EB or EL
|
|
62 #
|
|
63 # ABIs: mabi=o64
|
|
64 # mabi=eabi/mlong32
|
|
65 # mabi=eabi/mgp32
|
|
66 #
|
|
67 # Architecture: march=vr4120 with -mfix-vr4120
|
|
68 # march=vr4130 with -mfix-vr4130 (default)
|
|
69 #
|
|
70 # Total: 2 * 3 * 2 = 12 multilibs.
|
|
71 MULTILIB_OPTIONS = \
|
|
72 EL/EB \
|
|
73 mabi=32/mabi=o64/mabi=eabi \
|
|
74 mgp32 \
|
|
75 mlong64 \
|
|
76 mips16 \
|
|
77 mfix-vr4120/mfix-vr4130/march=vr4300/march=vr5000/march=vr5400/march=vr5500
|
|
78
|
|
79 MULTILIB_DIRNAMES = \
|
|
80 el eb \
|
|
81 o32 o64 eabi \
|
|
82 gp32 \
|
|
83 long64 \
|
|
84 mips16 \
|
|
85 vr4120 vr4130 vr4300 vr5000 vr5400 vr5500
|
|
86
|
|
87 MULTILIB_MATCHES = EL=mel EB=meb mfix-vr4120=march?vr4120 \
|
|
88 mfix-vr4130=march?vr4130
|
|
89
|
|
90 # Assume a 41xx-series is the default: we'd need a *mips16 entry if
|
|
91 # the default processor didn't support mips16. Also assume the
|
|
92 # default ABI is EABI64 -mlong32.
|
|
93 MULTILIB_EXCEPTIONS = \
|
|
94 *mabi=32/mlong64* \
|
|
95 *mabi=32/mgp32* \
|
|
96 *mabi=o64/mgp32* \
|
|
97 *mabi=o64/mlong64* \
|
|
98 *mips16/march=vr5* \
|
|
99 *mips16/march=vr4300 \
|
|
100 $(MIPS16_EXCEPTIONS) \
|
|
101 $(VR4300_EXCEPTIONS)
|
|
102
|
|
103 MIPS16_EXCEPTIONS = \
|
|
104 *mabi=32*mips16* \
|
|
105 *mlong64*mips16*
|
|
106
|
|
107 VR4300_EXCEPTIONS = \
|
|
108 *mabi=32*march=vr4300 \
|
|
109 *mgp32*march=vr4300 \
|
|
110 *mlong64*march=vr4300 \
|
|
111 march=vr4300 \
|
|
112 E[LB]/march=vr4300
|