r205999 - Debug info: (Bugfix) Make sure artificial functions like _GLOBAL__I_a

Adrian Prantl aprantl at apple.com
Fri Apr 11 16:53:20 PDT 2014


On Apr 11, 2014, at 3:27 PM, Eric Christopher <echristo at gmail.com> wrote:

> On Fri, Apr 11, 2014 at 3:26 PM, Adrian Prantl <aprantl at apple.com> wrote:
>> 
>> On Apr 11, 2014, at 3:24 PM, Eric Christopher <echristo at gmail.com> wrote:
>> 
>>> So from looking at this it doesn't appear that we have any address
>>> range or location information for _GLOBAL__I_a anymore which is
>>> exactly what I was worried about:
>>> 
>>> 0x000000d0:   DW_TAG_subprogram [13]
>>>               DW_AT_MIPS_linkage_name [DW_FORM_strp]  (
>>> .debug_str[0x00000099] = "_GLOBAL__I_a")
>>>               DW_AT_artificial [DW_FORM_flag_present] (true)
>>>               DW_AT_accessibility [DW_FORM_data1]     (0x01)
>>> 
>>> versus before:
>>> 
>>> 0x000000d0:   DW_TAG_subprogram [13]
>>>               DW_AT_MIPS_linkage_name [DW_FORM_strp]  (
>>> .debug_str[0x00000099] = "_GLOBAL__I_a")
>>>               DW_AT_decl_file [DW_FORM_data1] (0x03)
>>>               DW_AT_decl_line [DW_FORM_data1] (0x66)
>>>               DW_AT_artificial [DW_FORM_flag_present] (true)
>>>               DW_AT_accessibility [DW_FORM_data1]     (0x01)
>>>               DW_AT_low_pc [DW_FORM_addr]     (0x0000000000000020)
>>>               DW_AT_high_pc [DW_FORM_data4]   (0x0000000b)
>>>               DW_AT_frame_base [DW_FORM_exprloc]      (<0x1> 56 )
>>> 
>>> Now we don't have any note that this code belongs to this compile
>>> unit, etc. I think this part is incorrect. We should have scope and
>>> line information for this - even if it's line 0 etc. (Though I think
>>> the location of the variable would be a better one).
>>> 
>> 
>> Interesting! That was unintentional. I'll fix that.
>> 
> 
> Thanks!

Fixed in CFE r206088. 

0x000000e5:     TAG_subprogram [13]  
                 AT_MIPS_linkage_name( "_GLOBAL__I_a" )
                 AT_artificial( 0x01 )
                 AT_accessibility( DW_ACCESS_public )
                 AT_low_pc( 0x00000000000003e0 )
                 AT_high_pc( 0x00000000000003eb )
                 AT_frame_base( rbp )

-- adrian




More information about the cfe-commits mailing list