>>> Yes, I understand that's broken, but there are no consumers at this
>>> point that make any use of that offset. Would it be acceptable if we
>>> just put 0 there? (Given that I expect .debug_pub* to go away soon, I
>>> don't think it's worth the trouble of filling in the offset with
>>> anything more meaningful.)
>>
>> I wouldn't expect it to be much harder to put the skeleton there than plain
>> 0.
>
> I was concerned that we might not always have a skeleton type to point
> to, but I confess I haven't looked closely enough to know whether
> that's a valid concern.

At the time we emit the pubtypes table, we have a pointer to the DIE
that has been moved to the type unit, and there's no mapping from that
back to the skeleton DIE. As it stands, we don't even emit a skeleton
DIE unless one of its descendants is a declaration, so we can't count
on always having a skeleton DIE to point to. In the case of
enumeration constants, if we did have a skeleton DIE, it would only be
for the parent enumeration type.

How about we modify the patch to just emit a 0 for the DIE offset in a
pubtype entry?

-cary

Reply via email to