[U-Boot] New Oxford Semiconductor board with assertion fail in linker

Marek Vasut marek.vasut at gmail.com
Tue Dec 20 04:14:01 CET 2011


> On Mon, Dec 19, 2011 at 5:26 PM, Michael Kebe <michael.kebe at gmail.com> wrote:
> > Here is the output from a bootup of the old U-Boot:
> [...]
> 
> > U-Boot 1.1.2 (Jun 24 2011 - 09:41:57)
> 
> [...]
> 
> > However even if I try to build with these addresses, the linking
> 
> > crashes with even more assertion fails:
> Everyone always feels that they need to do a big uprev in one
> giant step.  That is not an insult in any way -- I've also done the
> same thing.  But even if you get it compiled, are you ready to debug
> silent-boot-death where you don't get a single byte out the UART?
> The probability of this happening is relatively high, since your
> origin tree is so old and predates the config.mk removal stuff.
> 
> I think in a case like this, you would be well served to start with smaller
> steps, since your origin is so old.  Try moving it just to U-Boot-1_1_4 and
> see if you can make that work.  THat will ensure your process, and your
> toolchain and your install are OK.  Then maybe U-Boot-1_2_0 and then
> next to v1.3.0, then v1.3.4, then v2008.10 and so on.
> 
> In doing so, you'll have a chance to test your images along the way,
> and you'll eventually find the region in which the assertion failures
> appear for the 1st time.  Sometimes you simply can't see the problems
> by staring at the code; you really need to know at what point they
> 1st appeared.
> 
> Your patches should be largely portable, since they mostly create new
> files, and should only make small changes to existing Makefiles, etc.
> So the task is not too hard to attack incrementally.
> 
> Using "git rebase" and enabling "git rerere" in your .gitconfig will be
> something you'll want to make use of.  Once you've got a definitive
> "good" version, and a definitive "bad" version, you can even make
> use of git bisect, as long as you remember to layer on your patches
> at each bisection point before building.
> 
> It isn't an answer to your specific problem, but it is a process that
> will get you there by yourself, at your own pace.  And once you have
> a more concrete focus on what change caused your problem, then
> when you do ask for help, you will most likely get better help.
> 
... or you can just snap in a JTAG debugger, connect GDB and throw some 
break/watch points here and there ;-)

M


More information about the U-Boot mailing list