]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - binutils/testsuite/binutils-all/testranges.s
Imported binutils-2.20
[msp430-binutils.git] / binutils / testsuite / binutils-all / testranges.s
diff --git a/binutils/testsuite/binutils-all/testranges.s b/binutils/testsuite/binutils-all/testranges.s
new file mode 100644 (file)
index 0000000..e1f9931
--- /dev/null
@@ -0,0 +1,61 @@
+# 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