[Dwarf-Discuss] What does an "<artificial>" file name mean?

John DelSignore JDelSignore@perforce.com
Wed Nov 9 14:35:26 GMT 2022


Yes, that makes perfect sense. I'm seeing other DWARF that is explainable only by LTO. For example, there are DW_AT_abstract_origin attributes that use DW_FORM_ref_addr to DIEs in other CUs, apparently to eliminate duplicate debug information.

Thanks, John D.

On 11/9/22 09:16, Hafiz Abid Qadeer wrote:
> On 09/11/2022 13:54, John DelSignore via Dwarf-Discuss wrote:
>> Hi,
>>
>> On Ubuntu 22.04, the Python 3.9 DWARF debug information has compilation units that look like this:
>>
>>   Compilation Unit @ offset 0x0:
>>    Length:        0x1a14a (32-bit)
>>    Version:       5
>>    Unit Type:     DW_UT_compile (1)
>>    Abbrev Offset: 0x0
>>    Pointer Size:  8
>>  <0><c>: Abbrev Number: 27 (DW_TAG_compile_unit)
>>     <d>?? DW_AT_producer    : (indirect string, offset: 0x3a): GNU GIMPLE 11.2.0 -mtune=generic
>> -march=x86-64 -g -Og -Og -Og -fno-openmp -fno-openacc -fcf-protection=full -ffat-lto-objects
>> -fltrans -fno-PIE
>>     <11>?? DW_AT_language    : 12    (ANSI C99)
>> *    <12>?? DW_AT_name        : (indirect line string, offset: 0x0): <artificial>*
>>     <16>?? DW_AT_comp_dir    : (indirect line string, offset: 0xd):
>> /build/python3.9-gIt5iY/python3.9-3.9.14/build-debug
>>     <1a>?? DW_AT_low_pc      : 0x422e96
>>     <22>?? DW_AT_high_pc     : 0xbf8c
>>     <2a>?? DW_AT_stmt_list   : 0x0
>>
>> Notice that the DW_AT_name attribute for the CU is "<artificial>". The .debug_line info has the same
>> file name:
>>
>>  The Directory Table (offset 0x22, lines 11, columns 1):
>>   Entry    Name
>>   0    (indirect line string, offset: 0xd): /build/python3.9-gIt5iY/python3.9-3.9.14/build-debug
>> ...SNIP...
>>
>>  The File Name Table (offset 0x54, lines 23, columns 2):
>>   Entry    Dir    Name
>> *  0    0    (indirect line string, offset: 0x0): <artificial>*
>> ...SNIP...
>>
>> Does anyone know what an "<artificial>" file name is supposed to mean?
>>
>> Thanks, John D.
> It probably could be lto produced unit.
>
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fbugzilla%2Fshow_bug.cgi%3Fid%3D65015&data=05%7C01%7CJDelSignore%40perforce.com%7C87edf79ec9634d18715208dac25cf7d0%7C95b666d19a7549ab95a38969fbcdc08c%7C0%7C0%7C638036001830895866%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=VHaGH7QyZQnYd12UUIsqvRlH7uBk4Bscb3GamsAPIb0%3D&reserved=0
>
> Thanks
> Abid
>
>
>
> CAUTION: This email originated from outside of the organization. Do not click on links or open attachments unless you recognize the sender and know the content is safe.

This e-mail may contain information that is privileged or confidential. If you are not the intended recipient, please delete the e-mail and any attachments and notify us immediately.




More information about the Dwarf-discuss mailing list