This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 32 bit float emulation on 16 bit machine


I tried many configurations, but here is the point I want to reach:

_____________ target.h ____________________________
#ifdef IN_LIBGCC2
#define UNITS_PER_WORD??? 4
#else
#define UNITS_PER_WORD??? 2
#endif

...

#define FLOAT_TYPE_SIZE?? 32
#define DOUBLE_TYPE_SIZE? 64
#define LONG_DOUBLE_TYPE_SIZE 64
_________________________________________________


_____________ t-target ____________________________
# Floating point emulation libraries.

FPBIT = fp-bit.c
DPBIT = dp-bit.c

fp-bit.c: $(srcdir)/config/fp-bit.c
? echo '#define FLOAT' > fp-bit.c
? echo '#define CMPtype HItype' >> fp-bit.c
? echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
? echo '#define SMALL_MACHINE' >> fp-bit.c
? cat $(srcdir)/config/fp-bit.c >> fp-bit.c

dp-bit.c: $(srcdir)/config/fp-bit.c
? echo '#define CMPtype HItype' > dp-bit.c
? echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
? echo '#define SMALL_MACHINE' >> dp-bit.c
? cat $(srcdir)/config/fp-bit.c >> dp-bit.c

# LIBGCC1

LIB1ASMSRC =? target/lib1asm.S
LIB1ASMFUNCS =? _exit \
??? _mulqi3 \
??? _mulhi3 \
??? _mulsi3 \
??? _muldi3 \
??? _udivmodqi4 \
??? _divmodqi4 \
??? _udivmodhi4 \
??? _divmodhi4 \
??? _udivmodsi4 \
??? _divmodsi4 \
??? _udivmoddi4 \
??? _divmoddi4


TARGET_LIBGCC2_CFLAGS = -O0 -Dinhibit_libc -fno-inline

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib

STMP_FIXINC =
_________________________________________________

With this configuration I run
configure ; make ; make install and when I use target-gcc to compile a
program with floats I get :

$ make clean all
Cleaning up directory
target-gcc -w -g -c -o main.o main.c
target-gcc -w -g -c -o output.o output.c
target-gcc -o main.elf  main.o output.o  -T pgm_ram.x
/home/guest1/target/lib/gcc/target/4.3.3/libgcc.a(_addsub_sf.o): In
function `_fpadd_parts':
/home/guest1/gcc/new_build/target/libgcc/../.././gcc/fp-bit.c:671:
undefined reference to `__ucmpsi2'
/home/guest1/gcc/new_build/target/libgcc/../.././gcc/fp-bit.c:676:
undefined reference to `__ucmpsi2'
collect2: ld returned 1 exit status
make: *** [main.elf] Error 1

Thank you.

Regards,

Florent.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]