[PATCH] DWARF support for AIX v3

David Edelsohn dje.gcc@gmail.com
Tue Sep 22 18:09:00 GMT 2015


On Tue, Sep 22, 2015 at 11:29 AM, Richard Henderson <rth@redhat.com> wrote:

>> @@ -10398,11 +10411,13 @@ output_line_info (bool prologue_only)
>>    ASM_GENERATE_INTERNAL_LABEL (p1, LN_PROLOG_AS_LABEL, 0);
>>    ASM_GENERATE_INTERNAL_LABEL (p2, LN_PROLOG_END_LABEL, 0);
>>
>> +#ifndef XCOFF_DEBUGGING_INFO
>>    if (DWARF_INITIAL_LENGTH_SIZE - DWARF_OFFSET_SIZE == 4)
>>      dw2_asm_output_data (4, 0xffffffff,
>>        "Initial length escape value indicating 64-bit DWARF extension");
>>    dw2_asm_output_delta (DWARF_OFFSET_SIZE, l2, l1,
>>                         "Length of Source Line Info");
>> +#endif
>
> ... or perhaps since we keep repeating the pattern, pull this out to a
> subroutine like output_initial_size, or something.  We probably should have
> done that before, when we added dwarf4 support.

I agree that encapsulating it would be nice, but not all of the DWARF
sections compute the length as a single value, e.g., the delta
computation using labels above.  If I change this, I need to direct
the dw2 output of different length computations into a string, or
duplicate the logic for the various forms of computation.  That starts
to make the cure worse than the disease.

>
>
>> +#ifndef XCOFF_DEBUGGING_INFO
>>    /* Output location list section if necessary.  */
>>    if (have_location_lists)
>>      {
>> @@ -25494,6 +25510,7 @@ dwarf2out_finish (const char *filename)
>>        ASM_OUTPUT_LABEL (asm_out_file, loc_section_label);
>>        output_location_lists (comp_unit_die ());
>>      }
>> +#endif
>
> I'd think you need to disable add_AT_loc_list instead.  Otherwise it would
> appear as if we would still add the the location_description attribute to the
> DIE, but then not fill in the referent.
>
> Frankly I think there is going to be a *lot* that breaks, or is unusable,
> without support for location lists.

Yep.  Shrug.  I'm just the messenger.

I'm re-working the parts of the patch based on your suggestion.

Thanks, David



More information about the Gcc-patches mailing list