I noticed something in __libdw_visit_scopes that seems weird to me.
When a DW_TAG_imported_unit is encountered, the child.die is overwritten
with the importee. This means:
1. The previsit is called on the importer.
2. The recursion is called on the importee.
3. The postvisit is called on the importee.
4. The next sibling is read from the importee.
It's inconsistent at least, which makes me wonder if it might do the
wrong thing, especially in the sibling walk. If the importer had any
siblings following, they will not be seen.
I haven't seen any actual use of imported_unit, so I don't know if this
has any real impact, but I thought I should raise the flag.
Thanks,
Josh
Show replies by date
We've never had data with DW_TAG_imported_unit, so that code has never been
exercised at all. Before long we'll have such data and then we'll test
all the affected code and fix it up. But thanks for the note.
Thanks,
Roland