
Hello,
your compiler wasn't built for a stand-alone target, otherwise it would have included a full implementation of __div0, __udivsi3 etc. However, there might be an easy solution to your problem, see below.
There is a full set already available in the gcc? But anyway, it makes not much sense using two different gcc compilers. One for the bootloader, one for applications. And with which one has the linux kernel to be compiled?
The reason for the difference is the link order: For SMDK2410, __udivsi3 is needed by a module linked before libarm.a (in this case, cpu/arm920t/speed.c), whereas for NS9750 no module before or in libarm.a needs it; drivers/libdrivers.a is linked after libarm.a, so the linker won't go back to get __udivsi3 there and falls back to using libgcc.a, which is linked last.
Yes, of course. Now I see it. I'm needing the non-power 2 division only in the serial driver for calculation the baudrate divisior. And libdrivers has been after libarm :-(
Please try the attached quick patch and let us know if it solves the problem (or if it breaks thing). Caveat - I haven't tried it myself yet!
Thank you, it works fine. Therefore, in the near future a new board and CPU will be supported by U-Boot :-)
Bye,