This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

dwarf_output work


> Apart from some inevitable unexpected fluff, I will spend this week 
> fully on dwarf output.  

Great!

> I don't see any isolated task that I could work 
> on that doesn't collide with your work, so I'll try to figure out your 
> unfinished writer and start adding code there.  Perhaps we'll manage not 
> to step on each others toes.

Right.  There is no well-isolated task off hand, other than more reloc
stuff, which I think should wait.  My hope was to get dwarf_output quickly
to a state where some bits that are somewhat isolated start to be doable.

The other thing you could do is look over the tracker code again, make sure
the new code makes some sense and that you understand the circularity case.
My test case is "src/dwarfcmp src/addr2line{,}" (circularity is not hard to
come by).  If you try the 47a586d tree (roland/tracker atm), it has some
debug spew that should make some kind of sense.  I expect that later
today/tonight I will go over it again with some clean-up and comments and
merge it onto the main dwarf branch.  The circularity case seems to work
now, but I really need to think it through again with a mind fresher than I
had late Sunday night.

On dwarf_output proper, I mentioned "a new tack" but did not elaborate.
The new approach I've taken on roland/dwarf-collector is to start with a
dwarf_output that is mostly just like dwarf_edit, so it compiles and works.
I've been factoring out some shareable pieces into dwarf_data, others have
copied dwarf_edit->dwarf_output source code that is just a placeholder.

Where it is now is basically it is just like dwarf_edit, but I've jiggered
the constructors from the top down so they pass the collector pointer.  To
start with, everything ignores the collector pointer and the actual
construction is just like dwarf_edit::foo, but it passes the collector
pointer down to the next level of constructor.  In the 25c2399 tree
(roland/dwarf-collector atm), this is all there down to attr_value, which
ignores the collector.  

The idea is to push this down to the attr_value dispatch object, so it
passes the collector pointer to the value-space-specific constructors.
I might get to that tonight.

From there, we can start doing real collector work from the leaves up.
That is, start with one attr_value flavor at a time and make those
constructors use a value_set in the collector, etc.  That should be some
quasi-isolated fine-grained tasks to do each flavor of attribute.


Thanks,
Roland

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]