diff options
author | Florian Weimer <fweimer@redhat.com> | 2023-01-02 16:18:02 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2023-01-02 16:18:02 +0100 |
commit | 97bbdb726aba76ead550e25061029cf0aa78671b (patch) | |
tree | 03ebd3c211a0c1a51ac08db65a25a9285dfb516a /gcc/debug.h | |
parent | 3b6cac2b44b384cd2091eaeaebeb3478c253a25d (diff) | |
download | gcc-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.h | 2 |
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 *); |