Hallo,
ich habe gesehen, dass McBetty mit dem Compiler von CodeSourcery kompiliert wird und wollte diesen ziemlich aktuellen Compiler auch für Boop nehmen. Ihm unterliegt nicht die newlibc sondern die uClibc. Eine kleine Änderung musste ich machen: siprintf in sprintf umbenennen, ansonsten lief es gut durch bis auf etliche Alignment Warnings im Thumb-Code:
/opt/CodeSourcery-arm-uclinux/bin/arm-uclinuxeabi-ld.real: Warning: alignment 1 of symbol `default_RFsettings' in cc1100/rf.thumb.o is smaller than 4 in infrared/ir_rf.thumbunopt.o
/opt/CodeSourcery-arm-uclinux/bin/arm-uclinuxeabi-ld.real: Warning: alignment 1 of symbol `default_RFsettings' in cc1100/rf.thumb.o is smaller than 4 in infrared/ir_lirc.thumbunopt.o
/opt/CodeSourcery-arm-uclinux/bin/arm-uclinuxeabi-ld.real: Warning: alignment 1 of symbol `conf' in cc1100/cc1100.thumb.o is smaller than 4 in infrared/ir_lirc.thumbunopt.o
/opt/CodeSourcery-arm-uclinux/bin/arm-uclinuxeabi-ld.real: Warning: alignment 1 of symbol `confasync' in cc1100/cc1100.thumb.o is smaller than 4 in infrared/ir_lirc.thumbunopt.o
Eigentlich ist es doch richtig, dass Thumb Code ein anderes Alignment hat, wieso kommt trotzdem ein Linker Warning?
Oder führt diese Konstellation sogar zu richtigen Fehlern beim Zugriff auf die falsch aligneten Daten? Wahrscheinlich gibt es Probleme wenn der ARM Code darauf zugreift, aber nicht wenn ausschließlich aus dem Thumb Code darauf zugegriffen wird, oder?
Viele Grüße
Gunnar