Re: libfdt: a fix but still broken
From: Jon Loeliger <hidden>
Date: 2007-02-23 15:08:16
So, like, the other day David Gibson mumbled:
On Thu, Feb 22, 2007 at 08:27:29AM -0500, Jerry Van Baren wrote:quoted
Hi Dave, I have good news and bad news. ;-) The good news is that the incompatibility between libfdt and jdl's dtc is that libfdt has the name offset and the length of the name switched. booting_without_of.txt says the length comes first, so libfdt is in the wrong.Ouch. That's.. a very embarrassing bug. Actually, I know where it came from: I was looking at flat_dt.h from dtc, which also gets this wrong (but the declaration in question is unused). Of course, I also wrote flat_dt.h ...quoted
The bad news is that, when I fix this, nearly all of the tests fail (but they fail the same way for both tree.S and jdl's dtc). I have not started on that layer of the onion yet.Found it, there was a direct use of the position of the length in _fdt_next_tag(). Just pushed out a fix for this in the libfdt tree, along with some other small fixes which I found while tracking this one down. Oh, incidentally, I applied your patch by eye rather than with patch(1), which was handy, because it appears to have been whitespace damaged.
And amidst all of this, is there an actual DTC change needed? I've not detected one yet, but I'm watching... :-) jdl