12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- # Test .debug_info can reference .debug_ranges entries without ordering the
- # offsets strictly as increasing.
- .text
- start:
- .byte 1
- sub:
- .byte 2
- end:
- .section .debug_ranges,"",%progbits
- range:
- range_sub:
- .4byte sub, end
- .4byte 0, 0 ;# range terminator
- range_cu:
- .4byte start, end
- .4byte 0, 0 ;# range terminator
- .section .debug_info,"",%progbits
- .4byte debugE - debugS ;# Length of Compilation Unit Info
- debugS:
- .short 0x2 ;# DWARF version number
- .4byte abbrev0 ;# Offset Into Abbrev. Section
- .byte 0x4 ;# Pointer Size (in bytes)
- .uleb128 0x1 ;# (DIE (0xb) DW_TAG_compile_unit)
- .4byte range_cu - range ;# DW_AT_ranges
- .uleb128 0x2 ;# (DIE (0x6d) DW_TAG_subprogram)
- .ascii "A\0" ;# DW_AT_name
- .4byte range_sub - range ;# DW_AT_ranges
- ;# minimal section alignment on alpha-* is 2, ensure no new invalid CU
- ;# will be started.
- .balign 2
- debugE:
- .section .debug_abbrev,"",%progbits
- abbrev0:
- .uleb128 0x1 ;# (abbrev code)
- .uleb128 0x11 ;# (TAG: DW_TAG_compile_unit)
- .byte 0x0 ;# DW_children_no
- .uleb128 0x55 ;# (DW_AT_ranges)
- .uleb128 0x6 ;# (DW_FORM_data4)
- .byte 0x0
- .byte 0x0
- .uleb128 0x2 ;# (abbrev code)
- .uleb128 0x2e ;# (TAG: DW_TAG_subprogram)
- .byte 0x0 ;# DW_children_no
- .uleb128 0x3 ;# (DW_AT_name)
- .uleb128 0x8 ;# (DW_FORM_string)
- .uleb128 0x55 ;# (DW_AT_ranges)
- .uleb128 0x6 ;# (DW_FORM_data4)
- .byte 0x0
- .byte 0x0
- .byte 0x0 ;# abbrevs terminator
|