https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99090

            Bug ID: 99090
           Summary: gsplit-dwarf broken on riscv64-linux
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: wilson at gcc dot gnu.org
  Target Milestone: ---

Enabling -gsplit-dwarf by default and trying a build hits an assert in
dw2_asm_output_delta_uleb128 because HAVE_AS_LEB128 is not defined.

The problem appears to be in output_loc_list in dwarf2out.c which has in the
dwarf_split_debug_info code
              /* FIXME: This will ICE ifndef HAVE_AS_LEB128.                    
                 For that case we probably need to emit DW_LLE_startx_endx,     
                 but we'd need 2 .debug_addr entries rather than just one.  */

riscv doesn't allow leb128 because of agressive linker relaxation, so we need
the alternative solution here that works without HAVE_AS_LEB128.

Reply via email to