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

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #3)
> I guess the options are pretend that FOO is an inlined call for debug info
> purposes (so DW_TAG_subprogram is created for it and the statements
> belonging are wrapped in DW_TAG_inlined_subroutine).  That would be a matter
> of emitting an abstract instance for the "function" and tweaking relevant
> BLOCKs such that it appears the same as inlined functions.  Perhaps with
> some extension attribute to mark the DW_TAG_subprogram
> as COBOL division.
> Or talk to DWARF committee to add some feature for it, see
> https://dwarfstd.org/comment.html

So, the .text addresses you are communicating via your symbols are done
in DWARF via attributes like DW_AT_low_pc, DW_AT_high_pc or DW_AT_ranges.
Those attributes are attached to entities like DW_TAG_lexical_block,
DW_TAG_subprogram or DW_TAG_inlined_subroutine but also DW_TAG_label.

The most pragmatic way to change your assembler labels would be to make
them LABEL_DECLs in GENERIC which would get DW_AT_low_pc attributes.

I think labels are possibly the best "fit" for the COBOL

 NAME.

things even though that's just one of the endpoints.  You could insert
artificial "end-of-NAME" labels or as Jakub says, see to get a better
explicit thing.  I'm not sure a DW_TAG_lexical_block is a good fit,
nor DW_TAG_inlined_subroutine.

Reply via email to