Last week ---------
Time spent on elfutils: one sick day, otherwise 80%
Work on output. * References are emitted correctly. * All strings are emitted into .debug_str * DIEs with children and sibling have DW_AT_sibling * Re-usable bits for back-patching * dwarflint fixes
Writer work is on pmachata/dwarf-writer. Dwarflint bits are on dwarf branch. I merged that back to dwarf-writer.
This week ---------
Yesterday I've fixed endian issues. Tested separately, so unless I screwed the integration, we should emit properly endianed DWARF.
Then I poked into writer itself, cleaning up how we prepare sections for output. It should be easy (if syntactically awkward) to add sections into new ELF.
My plan for the rest of this week: * Fix emitting of multi-CU DWARFs. I suspect it's broken, because we emit some references section-relative istead of CU-relative. * Work on optimization of .debug_abbrev. * Should I merge in any of Roland's branches? I've been a bit invasive around places, and I'd rather get us synced again. * Emit DIE references locally where possible (how to determine if two DIEs are in the same CU? Need chain of parental DIEs. I've seen something to that effect in the tracker. Perhaps this point is actually tight to the previous one.)
PM
11.08.2009 12:28, Petr Machata wrote:
My plan for the rest of this week: * Fix emitting of multi-CU DWARFs. I suspect it's broken, because we emit some references section-relative istead of CU-relative.
And it was. First, CUs that didn't fit in one Elf_Data chunk were broken anyway, and siblings were broken for abovementioned reason. Both is now fixed on the branch.
PM
It sounds like you have done an amazing amount of great work here! I still haven't reviewed your branch, and I'm still behind on mine.
You definitely don't want to merge any of my branches. I'm going to abandon them and use a squash commit when it's in a working state. I hope I'll finally finish the circular refs construction case RSN, and then I'll merge in. After that if not during it, I think I'll do another clean-up of the collector data structures that should make some things a bit easier in the writer. Then we can start merging your code.
For now, all refs will always be inside the same CU. If you want to start optimizing that case, that's fine (but you don't need to--the ref encoding choice really doesn't matter for the moment). Just leave the spot for a future "we know this one must use ref_addr" case.
Thanks, Roland
elfutils-devel@lists.fedorahosted.org