
Dear Dirk Behme,
In message 4A753DB9.6080508@googlemail.com you wrote:
But libgcc.a fo ARM is obviously not perfect, and causes problems. So Jean-Christophe suggested to use the alternative implementation he wanted to copy from the Linux code - which again is supposed to allow to use the code in question without changes.
Just to get an idea what has to be done for this:
Do we talk about
http://lists.denx.de/pipermail/u-boot/2009-June/054627.html
without the changes to top level
Makefile arm_config.mk
Right. The patch needs to be updated so that the new runtime library functions replace the existing ones and get linked into lib_arm/libgcc.a instead.
That is, updating that patch and removing the Makefile and arm_config.mk changes would be what we want?
That's what Jean-Christphe proposed - I am not in a position to judge if this really solves all the problems we have on ARM. Looking at the code I see things like:
+ * linux/arch/arm/lib/lib1funcs.S: Optimized ARM division routines + * + * Author: Nicolas Pitre <nico at cam.org> + * - contributed to gcc-3.4 on Sep 30, 2003 + * - adapted for the Linux kernel on Oct 2, 2003
That reads as if this was 6 years old code, which looks as if it was two years older than what we currently have in U-Boot.
I wonder if it would not make more sense to copy the C code from some recent GCC version instead - it may be a few percent less efficient in terms of size and performance, but looking where such reoutines are actually used in U-Boot I thinl probably nobody would ever notice the difference.
So probably someone with a deeper understanding of GCC support for ARM is required to make a qualified assessment, and in any case thorogh testing needs to be done.
Best regards,
Wolfgang Denk