Upload Tizen:Base source
[external/binutils.git] / binutils / testsuite / binutils-all / testranges.s
1 # Test .debug_info can reference .debug_ranges entries without ordering the
2 # offsets strictly as increasing.
3
4         .text
5 start:
6         .byte   1
7 sub:
8         .byte   2
9 end:
10
11         .section        .debug_ranges,"",%progbits
12 range:
13
14 range_sub:
15         .4byte  sub, end
16         .4byte  0, 0    ;# range terminator
17
18 range_cu:
19         .4byte  start, end
20         .4byte  0, 0    ;# range terminator
21
22         .section        .debug_info,"",%progbits
23         .4byte  debugE - debugS ;# Length of Compilation Unit Info
24 debugS:
25         .short  0x2     ;# DWARF version number
26         .4byte  abbrev0 ;# Offset Into Abbrev. Section
27         .byte   0x4     ;# Pointer Size (in bytes)
28
29         .uleb128 0x1    ;# (DIE (0xb) DW_TAG_compile_unit)
30         .4byte  range_cu - range        ;# DW_AT_ranges
31
32         .uleb128 0x2    ;# (DIE (0x6d) DW_TAG_subprogram)
33         .ascii "A\0"    ;# DW_AT_name
34         .4byte  range_sub - range       ;# DW_AT_ranges
35
36         ;# minimal section alignment on alpha-* is 2, ensure no new invalid CU
37         ;# will be started.
38         .balign 2
39 debugE:
40
41         .section        .debug_abbrev,"",%progbits
42 abbrev0:
43         .uleb128 0x1    ;# (abbrev code)
44         .uleb128 0x11   ;# (TAG: DW_TAG_compile_unit)
45         .byte   0x0     ;# DW_children_no
46         .uleb128 0x55   ;# (DW_AT_ranges)
47         .uleb128 0x6    ;# (DW_FORM_data4)
48         .byte   0x0
49         .byte   0x0
50
51         .uleb128 0x2    ;# (abbrev code)
52         .uleb128 0x2e   ;# (TAG: DW_TAG_subprogram)
53         .byte   0x0     ;# DW_children_no
54         .uleb128 0x3    ;# (DW_AT_name)
55         .uleb128 0x8    ;# (DW_FORM_string)
56         .uleb128 0x55   ;# (DW_AT_ranges)
57         .uleb128 0x6    ;# (DW_FORM_data4)
58         .byte   0x0
59         .byte   0x0
60
61         .byte   0x0     ;# abbrevs terminator