https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104407
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- DECL_RTL is set in the -g case prematurely during: #0 set_decl_rtl (t=<var_decl 0x7fffea24dcf0 a>, x=0x7fffea3b9bb8) at ../../gcc/emit-rtl.cc:1440 #1 0x0000000001bdc0a5 in make_decl_rtl (decl=<var_decl 0x7fffea24dcf0 a>) at ../../gcc/varasm.cc:1633 #2 0x000000000120cb23 in expand_expr_real_1 (exp=<var_decl 0x7fffea24dcf0 a>, target=0x0, tmode=E_DImode, modifier=EXPAND_INITIALIZER, alt_rtl=0x0, inner_reference_p=false) at ../../gcc/expr.cc:10551 #3 0x0000000001204aaf in expand_expr_real (exp=<var_decl 0x7fffea24dcf0 a>, target=0x0, tmode=E_DImode, modifier=EXPAND_INITIALIZER, alt_rtl=0x0, inner_reference_p=false) at ../../gcc/expr.cc:8736 #4 0x00000000011e20e8 in expand_expr (exp=<var_decl 0x7fffea24dcf0 a>, target=0x0, mode=E_DImode, modifier=EXPAND_INITIALIZER) at ../../gcc/expr.h:301 #5 0x0000000001203a46 in expand_expr_addr_expr_1 (exp=<var_decl 0x7fffea24dcf0 a>, target=0x0, tmode=DImode, modifier=EXPAND_INITIALIZER, as=0 '\000') at ../../gcc/expr.cc:8427 #6 0x0000000001204402 in expand_expr_addr_expr (exp=<addr_expr 0x7fffea3a0e80>, target=0x0, tmode=E_DImode, modifier=EXPAND_INITIALIZER) at ../../gcc/expr.cc:8548 #7 0x0000000001212ed7 in expand_expr_real_1 (exp=<addr_expr 0x7fffea3a0e80>, target=0x0, tmode=E_VOIDmode, modifier=EXPAND_INITIALIZER, alt_rtl=0x0, inner_reference_p=false) at ../../gcc/expr.cc:11767 #8 0x0000000001204aaf in expand_expr_real (exp=<addr_expr 0x7fffea3a0e80>, target=0x0, tmode=E_VOIDmode, modifier=EXPAND_INITIALIZER, alt_rtl=0x0, inner_reference_p=false) at ../../gcc/expr.cc:8736 #9 0x000000000112950c in expand_expr (exp=<addr_expr 0x7fffea3a0e80>, target=0x0, mode=E_VOIDmode, modifier=EXPAND_INITIALIZER) at ../../gcc/expr.h:301 #10 0x00000000011595e0 in rtl_for_decl_init (init=<addr_expr 0x7fffea3a0e80>, type=<reference_type 0x7fffea3a9e70>) at ../../gcc/dwarf2out.cc:20488 #11 0x000000000115ab99 in tree_add_const_value_attribute (die=<dw_die_ref 0x7fffea26a3c0 DW_TAG_variable <parent=0x7fffea26a370 DW_TAG_namespace>>, t=<nop_expr 0x7fffea3a0ea0>) at ../../gcc/dwarf2out.cc:20915 Unfortunately it is deep in the expansion code, so we can't easily make it if (!early_dwarf) don't SET_DECL_RTL, because we don't really know that this is from early dwarf.