magicvar breaks tftp (or ramfs)

Sascha Hauer s.hauer at pengutronix.de
Tue Dec 13 14:26:06 EST 2011


On Tue, Dec 13, 2011 at 04:09:53PM +0100, Eric Bénard wrote:
> Hi Sascha,
> 
> Le 13/12/2011 10:48, Sascha Hauer a écrit :
> >Sometimes it helps to enable
> >
> >CONFIG_KALLSYMS
> >CONFIG_ARM_UNWIND
> >
> >to get a proper stack trace
> >
> Thanks for the hint I was not aware barebox also had these options.
> 
> The culprit is show_progress :
> [<87f1c340>] (show_progress+0x14/0xf0) from [<87f1e590>] (tftp_send+0x194/0x1e4)
> [<87f1e590>] (tftp_send+0x194/0x1e4) from [<87f1e784>] (do_tftpb+0x1a4/0x2d0)
> [<87f1e784>] (do_tftpb+0x1a4/0x2d0) from [<87f065e0>] (execute_command+0x30/0x60)
> [<87f065e0>] (execute_command+0x30/0x60) from [<87f03d4c>]
> (run_list_real+0x7b4/0x894)
> [<87f03d4c>] (run_list_real+0x7b4/0x894) from [<87f03350>]
> (parse_stream_outer+0x104/0x1e4)
> [<87f03350>] (parse_stream_outer+0x104/0x1e4) from [<87f03ed8>]
> (run_shell+0x3c/0x5c)
> [<87f03ed8>] (run_shell+0x3c/0x5c) from [<87f07870>] (start_barebox+0xe0/0x11c)
> [<87f07870>] (start_barebox+0xe0/0x11c) from [<800011d8>] (0x800011d8)
> 
> And I get the problem with
> arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2011.03-41) 4.5.2
> it works with :
> arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2010q1-202) 4.4.1
> 
> So that seems to be a toolchain issue (adding some printf in
> show_progress make the problem disappear ...).

I really want to believe this, but I wouldn't be so sure. I think
it's more likely that you found a bug in barebox that your new
toolchain happens to trigger. Could you provide the objdump of
show_progress along with a complete stack trace including register
contents?

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list