aboutsummaryrefslogtreecommitdiff
path: root/gcc/debug.h
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2023-01-02 16:18:02 +0100
committerFlorian Weimer <fweimer@redhat.com>2023-01-02 16:18:02 +0100
commit97bbdb726aba76ead550e25061029cf0aa78671b (patch)
tree03ebd3c211a0c1a51ac08db65a25a9285dfb516a /gcc/debug.h
parent3b6cac2b44b384cd2091eaeaebeb3478c253a25d (diff)
downloadgcc-97bbdb726aba76ead550e25061029cf0aa78671b.zip
gcc-97bbdb726aba76ead550e25061029cf0aa78671b.tar.gz
gcc-97bbdb726aba76ead550e25061029cf0aa78671b.tar.bz2
Define __LIBGCC_DWARF_REG_SIZES_CONSTANT__ if DWARF register size is constant
And use that to speed up the libgcc unwinder. gcc/ * debug.h (dwarf_reg_sizes_constant): Declare. * dwarf2cfi.cc (dwarf_reg_sizes_constant): New function. gcc/c-family/ * c-cppbuiltin.cc (__LIBGCC_DWARF_REG_SIZES_CONSTANT__): Define if constant is known. libgcc/ * unwind-dw2.c (dwarf_reg_size): New function. (_Unwind_GetGR, _Unwind_SetGR, _Unwind_SetGRPtr) (_Unwind_SetSpColumn, uw_install_context_1): Use it. (uw_init_context_1): Do not initialize dwarf_reg_size_table if not in use.
Diffstat (limited to 'gcc/debug.h')
-rw-r--r--gcc/debug.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/debug.h b/gcc/debug.h
index 799d5e3..4fe9f35 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -245,6 +245,8 @@ extern const struct gcc_debug_hooks vmsdbg_debug_hooks;
/* Dwarf2 frame information. */
+extern int dwarf_reg_sizes_constant ();
+
extern void dwarf2out_begin_prologue (unsigned int, unsigned int,
const char *);
extern void dwarf2out_vms_end_prologue (unsigned int, const char *);