https://bugzilla.redhat.com/show_bug.cgi?id=1192742



--- Comment #6 from Jan Kratochvil <[email protected]> ---
(In reply to Vincent Batts from comment #4)
> so, the following should not reference 'ipp' ?: 

A different case:

 <2><40>: Abbrev Number: 4 (DW_TAG_variable)
    <41>   DW_AT_name        : &ipp     
    <46>   DW_AT_location    : 4 byte block: 9c 11 60 22       
(DW_OP_call_frame_cfa; DW_OP_consts: -32; DW_OP_plus)
    <4b>   DW_AT_type        : <0xe45a> 
 <1><e45a>: Abbrev Number: 17 (DW_TAG_pointer_type)
    <e45b>   DW_AT_name        : ***int 
    <e462>   DW_AT_type        : <0xe46b>       
    <e46a>   Unknown AT value: 2900: 22 
 <1><e46b>: Abbrev Number: 17 (DW_TAG_pointer_type)
    <e46c>   DW_AT_name        : **int  
    <e472>   DW_AT_type        : <0xe47b>       
    <e47a>   Unknown AT value: 2900: 22 
[...]

Only this line should be omitted:
    <e45b>   DW_AT_name        : ***int 

Because there is no triple-pointer in the .go source, it is only internal
implementation detail how golang has compiled it.

With my patch this DIE
 <1><e45a>: Abbrev Number: 17 (DW_TAG_pointer_type)
    <e45b>   DW_AT_name        : ***int 
    <e462>   DW_AT_type        : <0xe46b>       
    <e46a>   Unknown AT value: 2900: 22 
is replaced by this DIE:
 <1><fe77>: Abbrev Number: 18 (DW_TAG_reference_type)
    <fe78>   DW_AT_name        : &(***int)      
    <fe82>   DW_AT_type        : <0xe462>       
    <fe8a>   Unknown AT value: 2900: 22 
But still this line should be in fact omitted for DWARF compliance:
    <fe78>   DW_AT_name        : &(***int)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
golang mailing list
[email protected]
https://lists.fedoraproject.org/mailman/listinfo/golang

Reply via email to