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

John DelSignore JDelSignore@perforce.com
Wed Nov 9 13:54:00 GMT 2022


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

 The File Name Table (offset 0x54, lines 23, columns 2):
  Entry    Dir    Name
  0    0    (indirect line string, offset: 0x0): <artificial>

Does anyone know what an "<artificial>" file name is supposed to mean?

Thanks, John D.

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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dwarfstd.org/pipermail/dwarf-discuss-dwarfstd.org/attachments/20221109/77995c96/attachment.htm>

More information about the Dwarf-discuss mailing list