[U-Boot] Most ARM CPU's have buggy clear_bss?
Alexander Holler
holler at ahsoftware.de
Thu Oct 28 11:31:49 CEST 2010
Am 28.10.2010 11:03, schrieb Alexander Holler:
> Hello,
>
> Am 27.10.2010 09:26, schrieb Darius Augulis:
>
> > the code for clearing bss section for most ARM cores looks like this
> > or very similar:
>
> ... [some code from start.S]
>
> Currently I'm analyzing the same problem (on a kirkwood based hw). It
> turns out not to be a problem of clear_bss, but a problem of the
> relocation code. I'm having a problem using gcc 4.3.4 or gcc 4.5.1 along
> with binutils 2.20.1 and it seems that some stuff is not relocated. It
> looks like the BSS before relocation is used (e.g. for nand_chip in
> drivers/mtd/nand.c), but the BSS after relocation might be cleared (in
> start.S).
>
> I assume it's because of some fixups start.S doesn't know about. But I
> don't know anything about those fixups, and have to read. So I still
> have no solution.
>
> Just as a pointer.
To verify the problem:
Add
#define DEBUG
in top of arch/arm/lib/board.c
and
printf("nand_chip: %p\n",, &nand_chip[0]);
in nand_init() in drivers/mtd/nand/nand.c
and have a look at the output when u-boot comes up.
Regards,
Alexander
More information about the U-Boot
mailing list