0
|
1 # Compile the extra library functions.
|
|
2
|
|
3 LIB2FUNCS_EXTRA = \
|
|
4 $(srcdir)/config/picochip/libgccExtras/ashrsi3.asm \
|
|
5 $(srcdir)/config/picochip/libgccExtras/ashlsi3.asm \
|
|
6 $(srcdir)/config/picochip/libgccExtras/divmodhi4.asm \
|
|
7 $(srcdir)/config/picochip/libgccExtras/udivmodhi4.asm \
|
|
8 $(srcdir)/config/picochip/libgccExtras/divmodsi4.asm \
|
|
9 $(srcdir)/config/picochip/libgccExtras/udivmodsi4.asm \
|
|
10 $(srcdir)/config/picochip/libgccExtras/divmod15.asm \
|
|
11 $(srcdir)/config/picochip/libgccExtras/ucmpsi2.asm \
|
|
12 $(srcdir)/config/picochip/libgccExtras/cmpsi2.asm \
|
|
13 $(srcdir)/config/picochip/libgccExtras/clzsi2.asm \
|
|
14 $(srcdir)/config/picochip/libgccExtras/adddi3.asm \
|
|
15 $(srcdir)/config/picochip/libgccExtras/subdi3.asm \
|
|
16 $(srcdir)/config/picochip/libgccExtras/lshrsi3.asm \
|
|
17 $(srcdir)/config/picochip/libgccExtras/parityhi2.asm \
|
|
18 $(srcdir)/config/picochip/libgccExtras/popcounthi2.asm
|
|
19
|
|
20 # Prevent some of the more complicated libgcc functions from being
|
|
21 # compiled. This is because they are generally too big to fit into an
|
|
22 # AE anyway, so there is no point in having them. Also, some don't
|
|
23 # compile properly so we'll ignore them for the moment.
|
|
24
|
|
25 LIB1ASMFUNCS = _mulsc3 _divsc3
|
|
26 LIB1ASMSRC = picochip/libgccExtras/fake_libgcc.asm
|
|
27
|
|
28 # Turn off the building of exception handling libraries.
|
|
29 LIB2ADDEH =
|
|
30 LIB2ADDEHDEP =
|
|
31
|
|
32 # Turn off ranlib on target libraries.
|
|
33 RANLIB_FOR_TARGET = cat
|
|
34
|
|
35 # Special libgcc setup. Make single/double floating point the same,
|
|
36 # and use our own include files.
|
|
37 TARGET_LIBGCC2_CFLAGS = -DDF=SF -I../../includes/
|
|
38
|
|
39 # Switch off all debugging for the embedded libraries.
|
|
40 # (embedded processors need small libraries by default).
|
|
41 # NOTE: If the debug level is increased, turn off instruction scheduling.
|
|
42 LIBGCC2_DEBUG_CFLAGS = -g0
|
|
43
|
|
44 # Build all combinations of library for different multiply units, and
|
|
45 # presence/absence of byte access.
|
|
46 MULTILIB_OPTIONS = mmul-type=none/mmul-type=mac/mmul-type=mul mno-byte-access/mbyte-access
|
|
47
|
|
48 # Using a mul unit (currently) implies that byte access is available.
|
|
49 MULTILIB_EXCEPTIONS = mmul-type=mul/mno-byte-access
|
|
50
|
|
51 # We want fine grained libraries, so use the new code
|
|
52 # to build the floating point emulation libraries.
|
|
53 FPBIT = fp-bit.c
|
|
54
|
|
55 # Software floating point support. Floating point is not properly
|
|
56 # supported, but is existence can be useful for some types of testing.
|
|
57 fp-bit.c: $(srcdir)/config/fp-bit.c
|
|
58 echo '#define FLOAT' > fp-bit.c
|
|
59 echo '#define FLOAT_ONLY' >> fp-bit.c
|
|
60 echo '#define SMALL_MACHINE' >> fp-bit.c
|
|
61 cat $(srcdir)/config/fp-bit.c >> fp-bit.c
|
|
62
|