Okay, so I built myself an arm-elf cross compiler, with a cross binutils and newlib. Got it. No problem. It took a little monkeying around, but the Frodo source now compiles happily. I'll have a white bar fix done in no time!
Well, except for one problem. It won't link. Now, I'm aware of the replacement crt0 out there (I grabbed this one) so I went and dropped it in. But here's what I get when I use it.
What did I screw up? Is there a different crt0 I should be using?
Well, except for one problem. It won't link. Now, I'm aware of the replacement crt0 out there (I grabbed this one) so I went and dropped it in. But here's what I get when I use it.
Code:
/usr/local/arm-elf/bin/g++ -o Frodo.elf main.o Display.o Prefs.o SID.o REU.o IEC.o 1541fs.o 1541d64.o 1541t64.o 1541job.o SAM.o C64.o CPUC64.o VIC.o CIA.o CPU1541.o gp32/menu.o gp32/ui.o gp32/input.o gp32/gpmisc.o gp32/xlatgp32.o gp32/chatboard/kbdrv.o -Wl,-T linkscript -Wl,--gc-sections -Lgp32/libpogo -lpogo -Lgp32/sound -lgpsound
/usr/local/lib/gcc/arm-elf/3.4.3/../../../../arm-elf/lib/crt0.o(.text+0x238): In function `CopyZIData':
: undefined reference to `_timepassed'
/usr/local/lib/gcc/arm-elf/3.4.3/../../../../arm-elf/lib/crt0.o(.text+0x244): In function `CopyZIData':
: undefined reference to `HEAPSTART'
/usr/local/lib/gcc/arm-elf/3.4.3/../../../../arm-elf/lib/crt0.o(.text+0x248): In function `CopyZIData':
: undefined reference to `HEAPEND'
/usr/local/lib/gcc/arm-elf/3.4.3/../../../../arm-elf/lib/crt0.o(.text+0x24c): In function `CopyZIData':
: undefined reference to `Main'
collect2: ld returned 1 exit status
make: *** [Frodo.elf] Error 1