]> git.ipfire.org Git - thirdparty/gcc.git/commit
Define __LIBGCC_DWARF_REG_SIZES_CONSTANT__ if DWARF register size is constant
authorFlorian Weimer <fweimer@redhat.com>
Mon, 2 Jan 2023 15:18:02 +0000 (16:18 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 2 Jan 2023 15:18:02 +0000 (16:18 +0100)
commit97bbdb726aba76ead550e25061029cf0aa78671b
tree03ebd3c211a0c1a51ac08db65a25a9285dfb516a
parent3b6cac2b44b384cd2091eaeaebeb3478c253a25d
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.
gcc/c-family/c-cppbuiltin.cc
gcc/debug.h
gcc/dwarf2cfi.cc
libgcc/unwind-dw2.c