]>
Commit | Line | Data |
---|---|---|
81049807 JL |
1 | CROSS_LIBGCC1 = libgcc1-asm.a |
2 | LIB1ASMSRC = arc/lib1funcs.asm | |
3 | LIB1ASMFUNCS = _mulsi3 _umulsidi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _divmod_tools | |
4 | ||
5 | # We need libgcc routines to be mangled according to which cpu they | |
6 | # were compiled for. | |
7 | # ??? -mmangle-cpu passed by default for now. | |
8 | #LIBGCC2_CFLAGS = -g1 -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -mmangle-cpu | |
9 | ||
10 | # These are really part of libgcc1, but this will cause them to be | |
11 | # built correctly, so... | |
12 | ||
13 | LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c | |
14 | ||
15 | dp-bit.c: $(srcdir)/config/fp-bit.c | |
16 | echo '#ifndef __big_endian__' > dp-bit.c | |
17 | echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c | |
18 | echo '#endif' >> dp-bit.c | |
19 | cat $(srcdir)/config/fp-bit.c >> dp-bit.c | |
20 | ||
21 | fp-bit.c: $(srcdir)/config/fp-bit.c | |
22 | echo '#define FLOAT' > fp-bit.c | |
23 | echo '#ifndef __big_endian__' >> fp-bit.c | |
24 | echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c | |
25 | echo '#endif' >> fp-bit.c | |
26 | cat $(srcdir)/config/fp-bit.c >> fp-bit.c | |
27 | ||
28 | # .init/.fini section routines | |
29 | ||
30 | x-crtinit.o: $(srcdir)/config/arc/initfini.c $(GCC_PASSES) $(CONFIG_H) | |
31 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \ | |
32 | -DCRT_INIT -finhibit-size-directive -fno-inline-functions \ | |
33 | -g0 -c $(srcdir)/config/arc/initfini.c -o $(dir)/crtinit.o | |
34 | ||
35 | x-crtfini.o: $(srcdir)/config/arc/initfini.c $(GCC_PASSES) $(CONFIG_H) | |
36 | $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \ | |
37 | -DCRT_FINI -finhibit-size-directive -fno-inline-functions \ | |
38 | -g0 -c $(srcdir)/config/arc/initfini.c -o $(dir)/crtfini.o | |
39 | ||
40 | MULTILIB_OPTIONS = EB | |
41 | MULTILIB_DIRNAMES = be | |
42 | ||
43 | # We need our own versions to build multiple copies of crt*.o. | |
44 | # ??? Use new support in Makefile. | |
45 | ||
46 | LIBGCC = stmp-multilib-arc | |
47 | INSTALL_LIBGCC = install-multilib-arc | |
48 | ||
49 | stmp-multilib-arc: stmp-multilib | |
50 | for i in `$(GCC_FOR_TARGET) --print-multi-lib`; do \ | |
51 | dir=`echo $$i | sed -e 's/;.*$$//'`; \ | |
52 | flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ | |
53 | $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \ | |
54 | CC="$(CC)" CFLAGS="$(CFLAGS)" \ | |
55 | HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \ | |
56 | GCC_CFLAGS="$(GCC_CFLAGS) $${flags}" \ | |
57 | INCLUDES="$(INCLUDES)" CRTSTUFF_T_CFLAGS=$(CRTSTUFF_T_CFLAGS) \ | |
58 | dir="$${dir}" x-crtinit.o x-crtfini.o; \ | |
59 | if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ | |
60 | done | |
61 | touch stmp-multilib-arc | |
62 | ||
63 | install-multilib-arc: install-multilib | |
64 | for i in `$(GCC_FOR_TARGET) --print-multi-lib`; do \ | |
65 | dir=`echo $$i | sed -e 's/;.*$$//'`; \ | |
66 | rm -f $(libsubdir)/$${dir}/crtinit.o; \ | |
67 | $(INSTALL_DATA) $${dir}/crtinit.o $(libsubdir)/$${dir}/crtinit.o; \ | |
68 | chmod a-x $(libsubdir)/$${dir}/crtinit.o; \ | |
69 | rm -f $(libsubdir)/$${dir}/crtfini.o; \ | |
70 | $(INSTALL_DATA) $${dir}/crtfini.o $(libsubdir)/$${dir}/crtfini.o; \ | |
71 | chmod a-x $(libsubdir)/$${dir}/crtfini.o; \ | |
72 | done |