Comment # 9 on bug 1203497 from
Note that GCC explicitely supports enabling both DWARF and CTF for a single
translation unit:

> gcc t.c -gctf -gdwarf -c
> readelf -S t.o | grep 'ctf\|debug'
  [ 5] .ctf              PROGBITS         0000000000000000  000001a2
  [ 7] .debug_info       PROGBITS         0000000000000000  00000a78
  [ 8] .rela.debug_info  RELA             0000000000000000  000015f0
  [ 9] .debug_abbrev     PROGBITS         0000000000000000  00000d28
  [10] .debug_aranges    PROGBITS         0000000000000000  00000e2e
  [11] .rela.debug_[...] RELA             0000000000000000  00001db8
  [12] .debug_line       PROGBITS         0000000000000000  00000e60
  [13] .rela.debug_line  RELA             0000000000000000  00001de8
  [14] .debug_str        PROGBITS         0000000000000000  00000f28
  [15] .debug_line_str   PROGBITS         0000000000000000  000010d8

that's an intended feature btw.

I don't quite understand why gdb cannot handle both CTF and DWARF at the same
time but eventually it's hard to distinguish the cases of having both CTF
and DWARF for the same CU vs. having only DWARF or CTF (knowing nothing of
CTF, aka whether comparing address-ranges or source file names or some other
mechanism could handle this).  IIRC the link editor also does some magic in
"merging" actual CTF data.

Maybe we need some extension like a DW_AT_ctf pointing to CTF of a DWARF
CU to help gdb here.


You are receiving this mail because: