Francesco Lombardi wrote:
Well, I'm not so familiar too ^_^... In order to compile gpc, I forced fake directory handling in rts.h (line 77), by commenting "if defined __arm__ || defined __thumb__", and newlib compilation, by #define _NEWLIB_VERSION. In fact I'm try to build a cross compiler for gameboy advance. A big trouble I get is in order to make a libgpc with interworking (arm - thumb) enabled. In theory it seems to be correctly compiled:
arm-elf-gpc -print-multi-lib .; thumb;@mthumb interwork;@mthumb-interwork thumb/interwork;@mthumb@mthumb-interwork
but, in fact, i can't compile with -mthumb:
arm-elf-gpc -mthumb --gpc-main=main --specs=gba.specs -o prova.o prova.pp /home/gba/bin/../lib/gcc-lib/arm-elf/3.3.1/../../../../arm-elf/bin/ld: /home/gba /bin/../lib/gcc-lib/arm-elf/3.3.1/libgpc.a(init.o)(_p_DoInitProc): warning: inte rworking not enabled.
GPC has no multilib support ATM. So only default version of `libgpc.a' is built. So you should either make interworking the defult at configure time (if possible, I do not know). Alternatively, you can set PFLAGS variable to pass extra flags to gpc during library build (something like `PFLAGS=-mthumb-interwork' ?).
Hope helps