Skip to content

Commit 51a2857

Browse files
committed
Add config file for disable multilib support (speed up compilation)
1 parent 1936c8a commit 51a2857

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# We must build libgcc2.a with -G 0, in case the user wants to link
2+
# without the $gp register. Use -fno-optimize-sibling-calls in case
3+
# we have a mixed mips16/non-mips16 environment where a plain "jump"
4+
# instuction won't work across the divide (no jx instruction).
5+
# Compile libraries with -mcode-xonly, so that they are link-compatible
6+
# with both -mcode-readable=pcrel and -mcode-readable=yes.
7+
TARGET_LIBGCC2_CFLAGS = -msmart-io=0
8+
9+
# Don't let CTOR_LIST end up in sdata section.
10+
CRTSTUFF_T_CFLAGS = -G 0 -D_BUILD_C32_ -minterlink-compressed
11+
12+
# Build the multilibs.
13+
LIBGCC = stmp-multilib
14+
INSTALL_LIBGCC = install-multilib
15+
16+
-MULTILIB_OPTIONS = Os/O3 mips16/mmicromips mno-float/mfp64 fshort-double fPIC
17+
-MULTILIB_DIRNAMES = size speed mips16 micromips no-float fpu64 shortdouble fPIC
18+
-MULTILIB_MATCHES = EL=mel EB=meb mips16=mips16e fPIC=fpic fPIC=fpie fPIC=fPIE
19+
MULTILIB_EXCLUSIONS = mcode-readable=no/!mips16
20+
MULTILIB_EXCLUSIONS += *mno-float/*mfp64*
21+
#MULTILIB_EXCLUSIONS += *mno-float/*fshort-double*
22+
MULTILIB_EXCLUSIONS += *mips16/*mfp64*
23+
MULTILIB_EXCEPTIONS = *mpic32mxlibs*/*mmicromips*
24+
MULTILIB_EXCEPTIONS += *mpic32mmlibs*/*mips16*
25+
MULTILIB_EXCEPTIONS += *mpic32mmlibs*/*mmicromips*
26+
MULTILIB_EXCEPTIONS += *mpic32mzlibs*/*mips16*
27+
MULTILIB_EXCEPTIONS += *mprocessor=32MX*/*mmicromips*
28+
MULTILIB_EXCEPTIONS += *mprocessor=32MZ*/*mips16*
29+
MULTILIB_EXCEPTIONS += *mprocessor=32MM*/*mmicromips*
30+
MULTILIB_EXCEPTIONS += *mprocessor=32MM*/*mips16*
31+
MULTILIB_EXCEPTIONS += !mprocessor=*/*msmall-isa*
32+
MULTILIB_EXCEPTIONS += *msoft-float/*mno-float*
33+
MULTILIB_EXCEPTIONS += *msoft-float/*mfp64*
34+
MULTILIB_EXCEPTIONS += *mno-float/*mfp64*
35+
MULTILIB_EXCEPTIONS += *mips16/*mfp64*
36+
37+
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
38+
39+
MULTILIB_EXTRA_OPTS = mno-jals G0 fno-optimize-sibling-calls fno-common mmips16-exceptions minterlink-compressed D_BUILD_C32_
40+
41+
#Microchip SHA APIs used by mchp.c
42+
sha256.o: $(srcdir)/config/mchp-cci/sha256.c \
43+
$(srcdir)/config/mchp-cci/sha256.h
44+
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES)\
45+
$(srcdir)/config/mchp-cci/sha256.c
46+
47+
mchp_sha.o: $(srcdir)/config/mchp-cci/mchp_sha.c \
48+
$(srcdir)/config/mchp-cci/mchp_sha.h
49+
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \
50+
$(srcdir)/config/mchp-cci/mchp_sha.c
51+
52+
# Microchip PIC32-specific format checking and pragmas
53+
mchp.o: $(srcdir)/config/pic32/mchp.c $(srcdir)/config/pic32/mchp.h \
54+
$(srcdir)/config/mchp-cci/cci.h \
55+
$(CONFIG_H) $(SYSTEM_H) coretypes.h \
56+
tree.h c-family/c-format.h intl.h $(CPPLIB_H) c-family/c-pragma.h $(TM_H) $(TM_P_H) \
57+
toplev.h libfuncs.h langhooks.h sched-int.h function.h $(C_COMMON_H) \
58+
$(srcdir)/config/mips/mips-machine-function.h $(srcdir)/config/pic32/mchp-protos.h
59+
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
60+
$(srcdir)/config/pic32/mchp.c
61+
62+
mchp-pragmas.o: $(srcdir)/config/pic32/mchp-pragmas.c \
63+
$(srcdir)/config/mchp-cci/cci.c \
64+
$(srcdir)/config/mchp-cci/cci.h \
65+
$(srcdir)/config/pic32/mchp-pragmas.h \
66+
$(CONFIG_H) $(SYSTEM_H) coretypes.h \
67+
tree.h c-family/c-format.h intl.h $(CPPLIB_H) c-family/c-pragma.h $(TM_H) $(TM_P_H) \
68+
toplev.h libfuncs.h langhooks.h sched-int.h function.h $(C_COMMON_H) \
69+
$(srcdir)/config/mips/mips-machine-function.h $(srcdir)/config/pic32/mchp-protos.h
70+
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
71+
$(srcdir)/config/pic32/mchp-pragmas.c
72+
73+
cci-backend.o: $(srcdir)/config/mchp-cci/cci-backend.c \
74+
$(srcdir)/config/mchp-cci/cci-backend.h \
75+
$(CONFIG_H) $(SYSTEM_H) coretypes.h \
76+
tree.h c-family/c-format.h intl.h $(CPPLIB_H) $(TM_H) $(TM_P_H) \
77+
toplev.h libfuncs.h langhooks.h sched-int.h function.h $(C_COMMON_H)
78+
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
79+
$(srcdir)/config/mchp-cci/cci-backend.c
80+
81+
mchp-hi-addr-analysis.o : $(srcdir)/config/pic32/mchp-hi-addr-analysis.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
82+
$(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
83+
$(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) toplev.h $(DIAGNOSTIC_CORE_H) \
84+
$(TM_P_H) $(PARAMS_H) cselib.h $(EXCEPT_H) $(TREE_H) \
85+
intl.h $(OBSTACK_H) $(TREE_PASS_H) $(DF_H) $(DBGCNT_H) $(TARGET_H) \
86+
$(DF_H) $(CFGLOOP_H)
87+
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
88+
$(srcdir)/config/pic32/mchp-hi-addr-analysis.c
89+
90+
pic32-coverage.o: $(srcdir)/config/pic32/pic32-coverage.c \
91+
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) dwarf2asm.h\
92+
xc-coverage.h $(C_COMMON_H)
93+
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
94+
$(srcdir)/config/pic32/pic32-coverage.c

0 commit comments

Comments
 (0)