https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101947
--- Comment #9 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- Obvious kludge: diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 07a479f6382..fb436b8c77c 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -19484,6 +19491,7 @@ loc_list_from_tree_1 (tree loc, int want_address, else if (!(context && context->strict_signedness) || TYPE_UNSIGNED (TREE_TYPE (loc)) || (dwarf_strict && dwarf_version < 5) + || early_dwarf || !is_a <scalar_int_mode> (mode, &int_mode) || !(type_die = base_type_for_mode (mode, false))) deref = new_loc_descr (DW_OP_deref_size, size, 0);