From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Pietrek Date: Thu, 29 Jan 2004 09:37:25 +0100 Subject: [U-Boot-Users] U-Boot with gcc-3.3.2 and ARM926EJS Targets fails due to __udi In-Reply-To: References: <200401271524.33646.maillist@fsforth.de> Message-ID: <200401290937.25064.maillist@fsforth.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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, -- Markus Pietrek Kueferstrasse 8, D-79206 Breisach, Germany FS Forth-Systeme GmbH Phone: +49 (7667) 908 145, FAX +49 (7667) 908 221