You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the linker produces two DIEs: (1) a DW_TAG_structure_type DIE and (2) a
DW_TAG_typedef_type DIE having (1) as its type attribute.
All subsequent references to 'typename' should use the
DW_TAG_typedef_type DIE, not the DW_TAG_structure_type. Mostly this is
true but sometimes one reference will use the DW_TAG_structure_type
directly.
For example in https://play.golang.org/p/7wzwauGH2kT with 0f72e79 we have main.bvar0 pointing to the DW_TAG_structure_type of main.bstruct but main.bvar1 and main.bvar2 pointing to the DW_TAG_typedef_type. And *main.astruct using the DW_TAG_structure_type but main.globalvar using the typedef.
The bug depends on the order in which the linker scans the type, global variable and function symbols so different versions of the linker may produce slightly different results.
The text was updated successfully, but these errors were encountered:
@goperhbot, please add label Debugging
Given this code:
the linker produces two DIEs: (1) a DW_TAG_structure_type DIE and (2) a
DW_TAG_typedef_type DIE having (1) as its type attribute.
All subsequent references to 'typename' should use the
DW_TAG_typedef_type DIE, not the DW_TAG_structure_type. Mostly this is
true but sometimes one reference will use the DW_TAG_structure_type
directly.
For example in https://play.golang.org/p/7wzwauGH2kT with 0f72e79 we have
main.bvar0
pointing to the DW_TAG_structure_type ofmain.bstruct
butmain.bvar1
andmain.bvar2
pointing to the DW_TAG_typedef_type. And*main.astruct
using the DW_TAG_structure_type butmain.globalvar
using the typedef.The bug depends on the order in which the linker scans the type, global variable and function symbols so different versions of the linker may produce slightly different results.
The text was updated successfully, but these errors were encountered: