Home | History | Annotate | Download | only in binutils-all
      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 	data4.ua	@secrel(sub), @secrel(end)
     16 	data4.ua	0, 0	/* range terminator  */
     17 
     18 range_cu:
     19 	data4.ua	@secrel(start), @secrel(end)
     20 	data4.ua	0, 0	/* range terminator  */
     21 
     22 	.section	.debug_info,"",@progbits
     23 	data4.ua	debugE - debugS	/* Length of Compilation Unit Info  */
     24 debugS:
     25 	.short	0x2	/* DWARF version number  */
     26 	data4.ua	@secrel(abbrev0) /* Offset Into Abbrev. Section  */
     27 	.byte	0x4	/* Pointer Size (in bytes)  */
     28 
     29 	.uleb128 0x1	/* (DIE (0xb) DW_TAG_compile_unit)  */
     30 	data4.ua	range_cu - range	/* DW_AT_ranges  */
     31 
     32 	.uleb128 0x2	/* (DIE (0x6d) DW_TAG_subprogram)  */
     33 	.ascii "A\0"	/* DW_AT_name */
     34 	data4.ua	range_sub - range	/* DW_AT_ranges  */
     35 debugE:
     36 
     37 	.section	.debug_abbrev,"",@progbits
     38 abbrev0:
     39 	.uleb128 0x1	/* (abbrev code)  */
     40 	.uleb128 0x11	/* (TAG: DW_TAG_compile_unit)  */
     41 	.byte	0x0	/* DW_children_no  */
     42 	.uleb128 0x55	/* (DW_AT_ranges)  */
     43 	.uleb128 0x6	/* (DW_FORM_data4)  */
     44 	.byte	0x0
     45 	.byte	0x0
     46 
     47 	.uleb128 0x2	/* (abbrev code)  */
     48 	.uleb128 0x2e	/* (TAG: DW_TAG_subprogram)  */
     49 	.byte	0x0	/* DW_children_no  */
     50 	.uleb128 0x3	/* (DW_AT_name)  */
     51 	.uleb128 0x8	/* (DW_FORM_string)  */
     52 	.uleb128 0x55	/* (DW_AT_ranges)  */
     53 	.uleb128 0x6	/* (DW_FORM_data4) */
     54 	.byte	0x0
     55 	.byte	0x0
     56 
     57 	.byte	0x0	/* abbrevs terminator  */
     58