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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note -dA is very useful for reading dwarf output in the assembly instead of
needing a seperate program do the do the dumping.

e.g.
        .uleb128 0x9    # (DIE (0x8c) DW_TAG_inlined_subroutine)
        .long   0xdb  # DW_AT_abstract_origin
        .quad   .LBI4 # DW_AT_entry_pc
        .byte   .LVU2 # DW_AT_GNU_entry_view
        .long   .LLRL1        # DW_AT_ranges
        .byte   0x1   # DW_AT_call_file (/app/example.cpp)
        .byte   0xf   # DW_AT_call_line
        .byte   0x7   # DW_AT_call_column
...
.LLRL1:
        .byte   0x4   # DW_RLE_offset_pair (*.LLRL1)
        .uleb128 .LBB4-.Ltext0  # Range begin address (*.LLRL1)
        .uleb128 .LBE4-.Ltext0  # Range end address (*.LLRL1)
        .byte   0x4   # DW_RLE_offset_pair (*.LLRL1)
        .uleb128 .LBB6-.Ltext0  # Range begin address (*.LLRL1)
        .uleb128 .LBE6-.Ltext0  # Range end address (*.LLRL1)
        .byte   0     # DW_RLE_end_of_list (*.LLRL1)


This is how I noticed -O2 was working because I tried -O2 first. (the above is
from -O1).

Reply via email to