diff options
author | Indu Bhagat <indu.bhagat@oracle.com> | 2021-05-20 11:15:52 -0700 |
---|---|---|
committer | Jose E. Marchesi <jose.marchesi@oracle.com> | 2021-06-28 18:47:20 +0200 |
commit | b7e215a8ee81d44281d9e0a2a25eceb47b6911dd (patch) | |
tree | 121afbbec2428c85a68b6119ac8c0f25f6cd9fab /gcc/dwarf2cfi.c | |
parent | 532617d6367c29803d5909f2432b1ebfb9ee1886 (diff) | |
download | gcc-b7e215a8ee81d44281d9e0a2a25eceb47b6911dd.zip gcc-b7e215a8ee81d44281d9e0a2a25eceb47b6911dd.tar.gz gcc-b7e215a8ee81d44281d9e0a2a25eceb47b6911dd.tar.bz2 |
CTF/BTF debug formats
This commit introduces support for generating CTF debugging
information and BTF debugging information from GCC.
2021-06-28 Indu Bhagat <indu.bhagat@oracle.com>
David Faust <david.faust@oracle.com>
Jose E. Marchesi <jose.marchesi@oracle.com>
Weimin Pan <weimin.pan@oracle.com>
gcc/
* Makefile.in: Add ctfc.*, ctfout.c and btfout.c files to
GTFILES. Add new object files.
* common.opt: Add CTF and BTF debug info options.
* btfout.c: New file.
* ctfc.c: Likewise.
* ctfc.h: Likewise.
* ctfout.c: Likewise.
* dwarf2ctf.c: Likewise.
* dwarf2ctf.h: Likewise.
* dwarf2cfi.c (dwarf2out_do_frame): Acknowledge CTF_DEBUG and
BTF_DEBUG.
* dwarf2out.c (dwarf2out_source_line): Likewise.
(dwarf2out_finish): Skip emitting DWARF if CTF or BTF are to
be generated.
(debug_format_do_cu): New function.
(dwarf2out_early_finish): Traverse DIEs and emit CTF/BTF for
them if requested.
Include dwarf2ctf.c.
* final.c (dwarf2_debug_info_emitted_p): Acknowledge DWARF-based debug
formats.
* flag-types.h (enum debug_info_type): Add CTF_DEBUG and BTF_DEBUG.
(CTF_DEBUG): New bitmask.
(BTF_DEBUG): Likewise.
(enum ctf_debug_info_levels): New enum.
* gengtype.c (open_base_files): Handle ctfc.h.
(main): Handle uint32_t type.
* flags.h (btf_debuginfo_p): New definition.
(dwarf_based_debuginfo_p): Likewise.
* opts.c (debug_type_names): Add entries for CTF and BTF.
(btf_debuginfo_p): New function.
(dwarf_based_debuginfo_p): Likewise.
(common_handle_option): Handle -gctfN and -gbtf options.
(set_debug_level): Set CTF_DEBUG, BTF_DEBUG whenever appropriate.
* toplev.c (process_options): Inform the user and ignore -gctfLEVEL if
frontend is not C.
include/
* ctf.h: New file.
* btf.h: Likewise.
libiberty/
* simple-object.c (handle_lto_debug_sections): Copy over .ctf
sections.
Diffstat (limited to 'gcc/dwarf2cfi.c')
-rw-r--r-- | gcc/dwarf2cfi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c index c27ac19..df9b625 100644 --- a/gcc/dwarf2cfi.c +++ b/gcc/dwarf2cfi.c @@ -3558,7 +3558,7 @@ dwarf2out_do_frame (void) /* We want to emit correct CFA location expressions or lists, so we have to return true if we're going to generate debug info, even if we're not going to output frame or unwind info. */ - if (dwarf_debuginfo_p ()) + if (dwarf_debuginfo_p () || dwarf_based_debuginfo_p ()) return true; if (saved_do_cfi_asm > 0) |