Falls libefsl.a mit dem von mir "gebastelten" Makefile erstellt wurde
(in der aktuellen offiziellen Version liegt dieses fuer lpc2000 bei),
dann ist die Library fuer thumb/thumb-interwork gebaut (CFLAGS im
makefile der Library). Vermute, dass beim Linken der eigentlichen
Anwendung die Interwork-Version fuer die udiv-Funktion der libgcc
"angefordert" wird, da eine Anhaengigkeit dazu in der libefsl
vorhanden ist, aber fuer den Linker nicht das Interwork-Flag gesetzt
ist und somit nicht in der "interwork-libgcc" danach gesucht wird.
Abhilfen/Tests:
(a) Die Library selbst im ARM-Mode erstellen, also ohne
thumb/thumb-interwork im Library-Makefile. Die Anwendung dann weiterhin
ebenfalls ohne thumb/thumb-interwork - dann ist alles fuer ARM-Mode,
sollte also warnungslos linken.
oder
(b) Die Anwendung mit thumb-interwork erstellen, zumindest
Interwork-Option beim Linken setzen. Beispiele vgl. makefile der
Demo-Anwendung fuer LPC2138 in der offiziellen efsl-Fassung von sf.net
oder makefiles fuer lpc2138 und at91sam7s (die Interwork-"Geschichte"
ist nicht herstellerspezifisch) in meiner leicht aktualiserten
efsl-Version von:
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/efsl_arm/index.html
Hoffe, es hilft
Martin Thomas