[U-Boot-Users] EABI problem

Patrice Vilchez
2007-07-05T17:11:44Z

Hello,

I am quite new on this mailing list.

I have tried to build u-boot with the last EABI toolchain from
codesourcery (arm-2007q1-10 version).
It seems that in the file "driver/nand/nand_util.c" there is some 64
bits division which causes a crash during the link process.

bye,
Patrice.

-----8<

From: Patrice Vilchez <patrice.vilchez@rfo.atmel.com>

Remove 64 bits division into nand driver to compile with an EABI toolchain

Signed-off-by: Patrice Vilchez <patrice.vilchez@rfo.atmel.com>
---

driver/nand/nand_util.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff -Nru u-boot-1.2.0.orig/drivers/nand/nand_util.c
u-boot-1.2.0.new/drivers/nand/nand_util.c
--- u-boot-1.2.0.orig/drivers/nand/nand_util.c 2007-01-07
00:13:11.000000000 +0100
+++ u-boot-1.2.0.new/drivers/nand/nand_util.c 2007-07-05
19:03:03.000000000 +0200
@@ -209,9 +209,9 @@

if (!opts->quiet) {
int percent = (int)
- ((unsigned long long)
+ ((unsigned long)
(erase.addr+meminfo->erasesize-opts->offset)
- * 100 / erase_length);
+ / erase_length) * 100;

/* output progress message only at whole percent
* steps to reduce the number of messages printed
@@ -476,9 +476,9 @@

if (!opts->quiet) {
int percent = (int)
- ((unsigned long long)
- (opts->length-imglen) * 100
- / opts->length);
+ ((unsigned long)
+ (opts->length-imglen)
+ / opts->length) * 100;
/* output progress message only at whole percent
* steps to reduce the number of messages printed
* on (slow) serial consoles
@@ -652,9 +652,9 @@

if (!opts->quiet) {
int percent = (int)
- ((unsigned long long)
- (opts->length-imglen) * 100
- / opts->length);
+ ((unsigned long)
+ (opts->length-imglen)
+ / opts->length) * 100;
/* output progress message only at whole percent
* steps to reduce the number of messages printed
* on (slow) serial consoles