Skip to contentSkip to conversation

u-boot 1.1.4 compiled by eldk 4.1 for mpc82xx crashed

U-Boot-Users Miao Qingjun 3 participants 6 messages Mar 19, 2007 – Mar 20, 2007

lore
Share & tools
lore
#0 lore raw

Hi,

I encountered a big problem that u-boot 1.1.4 compiled by eldk 4.1 for mpc82xx crashed.

But if I build it using gcc-3.4.6 based cross tools, u-boot on my board boots correctly.

u-boot built by eldk 4.1 (gcc-4.0) failed, nothing occures on serial port.

Somebody sufered the same problem?

#1 lore raw
Quoted 3 lines · In message <[email protected]> you wrote:

I encountered a big problem that u-boot 1.1.4 compiled by eldk 4.1 for mpc82xx crashed.

U-Boot 1.1.4 is from 2005, i. e. very old compared to gcc 4.x compilers.

You must not expect that your ancient code is still usable with recent tools.

Quoted 1 line

Somebody sufered the same problem?

Update your code. Guess why ELDK 4.1 has U-Boot 1.2.0 included?

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office:  Kirchenstr. 5,       D-82194 Groebenzell,            Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I don't see any direct evidence ...  but, then, my crystal ball is in
dire need of an ectoplasmic upgrade. :-)              -- Howard Smith
#3 lore raw
Quoted 6 lines · In message <[email protected]> you wrote:

--===============1427169448==
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>

DON'T POST HTML HERE!!!!

Quoted 3 lines

Actually I first build u-boot-1.1.4 using eldk 4.0, it also failed booting.<br>
And eldk 4.0 delivered with u-boot 1.1.4<br>

The version of U-Boot that has been shipped with ELDK 4.0 is 1.1.4 indeed, but it has been tested and is working fine on a couple of MPC82xx systems we have here.

Quoted 2 lines

<pre wrap="">I encountered a big problem that u-boot 1.1.4 compiled by eldk 4.1 for
mpc82xx crashed.

So this must be a problem in your own board configuration.

I repeat my recommendation to use current code (top of tree from git repository).

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk
Office:  Kirchenstr. 5,       D-82194 Groebenzell,            Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Above all else -- sky.
#4 lore raw
In reply to Miao Qingjun
Quoted 5 lines · Miao Qingjun

Hi,

I encountered a big problem that u-boot 1.1.4 compiled by eldk 4.1 for mpc82xx crashed.

Quoted 7 lines

But if I build it using gcc-3.4.6 based cross tools, u-boot on my board boots correctly.

u-boot built by eldk 4.1 (gcc-4.0) failed, nothing occures on serial port.

Somebody sufered the same problem?

This is often a missing "volatile" qualifier on shared variable (particularly hardware registers) references. Newer compiler versions optimize more aggressively, making missing "volatile"s visible.

If you use -O0 (no optimization) does it fix the problem? If it does, it most likely is an optimization/volatile issue. The hard part is to figure out where. Device handling and board-specific code is the place to start.

Best regards,
gvb

#5 lore raw

Thanks very much.

I tried it using "-O0" and it's OK.
I think u-boot 1.1.4 is not gcc 4.0 friendly. And I will try u-boot 1.2.0 recommended by Wolfgang Denk.

Jerry Van Baren ??:

Quoted 30 lines
Quoted 5 lines · Miao Qingjun

Hi,

I encountered a big problem that u-boot 1.1.4 compiled by eldk 4.1 for mpc82xx crashed.

Quoted 8 lines

But if I build it using gcc-3.4.6 based cross tools, u-boot on my board boots correctly.

u-boot built by eldk 4.1 (gcc-4.0) failed, nothing occures on serial port.

Somebody sufered the same problem?

This is often a missing "volatile" qualifier on shared variable (particularly hardware registers) references. Newer compiler versions optimize more aggressively, making missing "volatile"s visible.

If you use -O0 (no optimization) does it fix the problem? If it does, it most likely is an optimization/volatile issue. The hard part is to figure out where. Device handling and board-specific code is the place to start.

Best regards,
gvb