brintos

brintos / llvm-project-archived public Read only

0
0
Text · 24.9 KiB · d72a6cb Raw
543 lines · plain
1# RUN: llvm-mc %s -filetype obj -triple i386-pc-linux -o %t.o2# RUN: llvm-dwarfdump -v -debug-info -debug-line -debug-addr -debug-rnglists -debug-ranges %t.o | FileCheck --implicit-check-not=DW_TAG --implicit-check-not=DW_AT %s3 4# Test that llvm - dwarfdump strips addresses relating to dead code(using the5# DWARFv6 - proposed tombstone constant & nearest equivalent for debug_ranges)6# Testing the tombstone use in debug_info (addr/addrx), debug_ranges,7# debug_rnglists, debug_ranges, and debug_line.8 9# CHECK-DAG: .debug_info contents:10# CHECK:     DW_TAG_compile_unit11# CHECK:       DW_AT_ranges [DW_FORM_sec_offset] (0x0000000012# CHECK-NEXT:    [0x00000042, 0x00000048))13# CHECK:       DW_TAG_subprogram14# CHECK:         DW_AT_low_pc [DW_FORM_addr]     (0xffffffff (dead code))15# CHECK:         DW_AT_high_pc [DW_FORM_data4]   (0x00000006)16# CHECK:       DW_TAG_subprogram17# CHECK:         DW_AT_low_pc [DW_FORM_addr]     (0x00000042)18# CHECK:         DW_AT_high_pc [DW_FORM_data4]   (0x00000006)19# CHECK:     DW_TAG_compile_unit20# CHECK:       DW_AT_addr_base21# CHECK:       DW_AT_ranges [DW_FORM_sec_offset] (0x0000000c22# CHECK-NEXT:    [0x00000042, 0x00000048)23# CHECK-NEXT:    [0x00000042, 0x00000048)24# CHECK-NEXT:    [0x00000042, 0x00000048)25# CHECK-NEXT:    [0x00000042, 0x00000042)26# CHECK-NEXT:    [0x00000042, 0x00000048)27# CHECK-NEXT:    [0x00000042, 0x00000048))28# CHECK:       DW_TAG_subprogram29# CHECK:         DW_AT_low_pc [DW_FORM_addrx]     (indexed (00000000) address = 0xffffffff (dead code))30# CHECK:         DW_AT_high_pc [DW_FORM_data4]   (0x00000006)31# CHECK:       DW_TAG_subprogram32# CHECK:         DW_AT_low_pc [DW_FORM_addrx]     (indexed (00000001) address = 0x00000042)33# CHECK:         DW_AT_high_pc [DW_FORM_data4]   (0x00000006)34# CHECK:     DW_TAG_compile_unit35# CHECK:       DW_AT_ranges [DW_FORM_sec_offset] (0x0000001836# CHECK-NEXT:    [0x0000000000000042, 0x0000000000000048))37# CHECK:       DW_TAG_subprogram38# CHECK:         DW_AT_low_pc [DW_FORM_addr]     (0xffffffffffffffff (dead code))39# CHECK:         DW_AT_high_pc [DW_FORM_data4]   (0x00000006)40# CHECK:       DW_TAG_subprogram41# CHECK:         DW_AT_low_pc [DW_FORM_addr]     (0x0000000000000042)42# CHECK:         DW_AT_high_pc [DW_FORM_data4]   (0x00000006)43# CHECK:     DW_TAG_compile_unit44# CHECK:       DW_AT_addr_base45 46 47# CHECK:       DW_AT_ranges48# CHECK-NEXT:    [0x0000000000000042, 0x0000000000000048)49# CHECK-NEXT:    [0x0000000000000042, 0x0000000000000048)50# CHECK-NEXT:    [0x0000000000000042, 0x0000000000000048)51# CHECK-NEXT:    [0x0000000000000042, 0x0000000000000042)52# CHECK-NEXT:    [0x0000000000000042, 0x0000000000000048)53# CHECK-NEXT:    [0x0000000000000042, 0x0000000000000048))54# CHECK:       DW_TAG_subprogram55# CHECK:         DW_AT_low_pc [DW_FORM_addrx]     (indexed (00000000) address = 0xffffffffffffffff (dead code))56# CHECK:         DW_AT_high_pc [DW_FORM_data4]   (0x00000006)57# CHECK:       DW_TAG_subprogram58# CHECK:         DW_AT_low_pc [DW_FORM_addrx]     (indexed (00000001) address = 0x0000000000000042)59# CHECK:         DW_AT_high_pc [DW_FORM_data4]   (0x00000006)60 61# CHECK-DAG: .debug_line contents:62# CHECK:      Address Line63# CHECK-NEXT: --------------64# CHECK-NEXT: DW_LNE_set_address (0xffffffff)65# CHECK-NEXT: DW_LNS_copy66# CHECK-NEXT: DW_LNS_advance_pc (addr += 1, op-index += 0)67# CHECK-NEXT: DW_LNE_end_sequence68# CHECK-NEXT: DW_LNE_set_address (0x00000042)69# CHECK-NEXT: DW_LNS_copy70# CHECK-NEXT:   0x0000000000000042 171# CHECK-NEXT: DW_LNS_advance_pc (addr += 1, op-index += 0)72# CHECK-NEXT: DW_LNE_end_sequence73# CHECK:      Address Line74# CHECK-NEXT: --------------75# CHECK-NEXT: DW_LNE_set_address (0xffffffffffffffff)76# CHECK-NEXT: DW_LNS_copy77# CHECK-NEXT: DW_LNS_advance_pc (addr += 1, op-index += 0)78# CHECK-NEXT: DW_LNE_end_sequence79# CHECK-NEXT: DW_LNE_set_address (0x0000000000000042)80# CHECK-NEXT: DW_LNS_copy81# CHECK-NEXT:   0x0000000000000042 182# CHECK-NEXT: DW_LNS_advance_pc (addr += 1, op-index += 0)83# CHECK-NEXT: DW_LNE_end_sequence84 85# Dumping of the debug_addr, ranges, and rnglists sections don't do anything86# different with tombstoned addresses, but dump them just for87# documentation/comparison with the tombstone-filtered renderings in the88# debug_info section above89 90# CHECK-DAG: .debug_addr contents:91# CHECK-NEXT: addr_size = 0x0492# CHECK-NEXT: Addrs: [93# CHECK-NEXT: 0xffffffff94# CHECK-NEXT: 0x0000004295# CHECK-NEXT: ]96# CHECK-NEXT: addr_size = 0x0897# CHECK-NEXT: Addrs: [98# CHECK-NEXT: 0xffffffffffffffff99# CHECK-NEXT: 0x0000000000000042100# CHECK-NEXT: ]101 102# CHECK-DAG: .debug_ranges contents:103# CHECK-NEXT: fffffffe fffffffe104# CHECK-NEXT: 00000042 00000048105# CHECK-NEXT: <End of list>106# FIXME: Would be nice if we didn't assume all the contributions were of the107#        same address size, instead dumping them based on the address size of108#        the unit that references them. Maybe optimistically guessing at any109#        unreferenced chunks. (this would be more like libdwarf/dwarfdump).110#        But for now, these 64bit address ranges are mangled/being rendered111#        here as though they were a 32 bit address range.112# CHECK-NEXT: fffffffe ffffffff113# CHECK-NEXT: fffffffe ffffffff114# CHECK-NEXT: 00000042 00000000115# CHECK-NEXT: 00000048 00000000116# CHECK-NEXT: <End of list>117 118# CHECK-DAG: .debug_rnglists contents:119# CHECK-NEXT: addr_size = 0x04120# CHECK-NEXT: ranges:121# CHECK-NEXT: [DW_RLE_start_length ]:  0xffffffff, 0x00000006122# CHECK-NEXT: [DW_RLE_start_length ]:  0x00000042, 0x00000006123# CHECK-NEXT: [DW_RLE_startx_length]:  0x00000000, 0x00000006124# CHECK-NEXT: [DW_RLE_startx_length]:  0x00000001, 0x00000006125# CHECK-NEXT: [DW_RLE_start_end    ]: [0xffffffff, 0xffffffff)126# CHECK-NEXT: [DW_RLE_start_end    ]: [0x00000042, 0x00000048)127# CHECK-NEXT: [DW_RLE_startx_endx  ]:  0x00000000, 0x00000000128# CHECK-NEXT: [DW_RLE_startx_endx  ]:  0x00000001, 0x00000001129# CHECK-NEXT: [DW_RLE_base_address ]:  0x00000040130# CHECK-NEXT: [DW_RLE_offset_pair  ]:  0x00000002, 0x00000008 => [0x00000042, 0x00000048)131# CHECK-NEXT: [DW_RLE_base_address ]:  0xffffffff132# CHECK-NEXT: [DW_RLE_offset_pair  ]:  0x00000002, 0x00000008 => dead code133# CHECK-NEXT: [DW_RLE_base_addressx]:  0x00000000134# FIXME: Don't print "computed" values that aren't really computed/instead135#        still refer to the index instead of the resulting address136# CHECK-NEXT: [DW_RLE_offset_pair  ]:  0x00000000, 0x00000006 => [0x00000000, 0x00000006)137# CHECK-NEXT: [DW_RLE_base_addressx]:  0x00000001138# CHECK-NEXT: [DW_RLE_offset_pair  ]:  0x00000000, 0x00000006 => [0x00000001, 0x00000007)139# CHECK-NEXT: [DW_RLE_end_of_list  ]140# CHECK-NEXT: addr_size = 0x08141# CHECK-NEXT: ranges:142# CHECK-NEXT: [DW_RLE_start_length ]:  0xffffffffffffffff, 0x0000000000000006143# CHECK-NEXT: [DW_RLE_start_length ]:  0x0000000000000042, 0x0000000000000006144# CHECK-NEXT: [DW_RLE_startx_length]:  0x0000000000000000, 0x0000000000000006145# CHECK-NEXT: [DW_RLE_startx_length]:  0x0000000000000001, 0x0000000000000006146# CHECK-NEXT: [DW_RLE_start_end    ]: [0xffffffffffffffff, 0xffffffffffffffff)147# CHECK-NEXT: [DW_RLE_start_end    ]: [0x0000000000000042, 0x0000000000000048)148# CHECK-NEXT: [DW_RLE_startx_endx  ]:  0x0000000000000000, 0x0000000000000000149# CHECK-NEXT: [DW_RLE_startx_endx  ]:  0x0000000000000001, 0x0000000000000001150# CHECK-NEXT: [DW_RLE_base_address ]:  0x0000000000000040151# CHECK-NEXT: [DW_RLE_offset_pair  ]:  0x0000000000000002, 0x0000000000000008 => [0x0000000000000042, 0x0000000000000048)152# CHECK-NEXT: [DW_RLE_base_address ]:  0xffffffffffffffff153# CHECK-NEXT: [DW_RLE_offset_pair  ]:  0x0000000000000002, 0x0000000000000008 => dead code154# CHECK-NEXT: [DW_RLE_base_addressx]:  0x0000000000000000155# CHECK-NEXT: [DW_RLE_offset_pair  ]:  0x0000000000000000, 0x0000000000000006 => [0x0000000000000000, 0x0000000000000006)156# CHECK-NEXT: [DW_RLE_base_addressx]:  0x0000000000000001157# CHECK-NEXT: [DW_RLE_offset_pair  ]:  0x0000000000000000, 0x0000000000000006 => [0x0000000000000001, 0x0000000000000007)158# CHECK-NEXT: [DW_RLE_end_of_list  ]159 160	.section	.debug_abbrev,"",@progbits161.Ldebug_abbrev4:162	.byte	1                               # Abbreviation Code163	.byte	17                              # DW_TAG_compile_unit164	.byte	1                               # DW_CHILDREN_yes165	.byte	85                              # DW_AT_ranges166	.byte	23                              # DW_FORM_sec_offset167	.byte	0                               # EOM(1)168	.byte	0                               # EOM(2)169	.byte	2                               # Abbreviation Code170	.byte	46                              # DW_TAG_subprogram171	.byte	0                               # DW_CHILDREN_no172	.byte	17                              # DW_AT_low_pc173	.byte	1                               # DW_FORM_addr174	.byte	18                              # DW_AT_high_pc175	.byte	6                               # DW_FORM_data4176	.byte	0                               # EOM(1)177	.byte	0                               # EOM(2)178	.byte	0                               # EOM(3)179.Ldebug_abbrev5:180	.byte	1                               # Abbreviation Code181	.byte	17                              # DW_TAG_compile_unit182	.byte	1                               # DW_CHILDREN_yes183	.byte	115                             # DW_AT_addr_base184	.byte	23                              # DW_FORM_sec_offset185	.byte	85                              # DW_AT_ranges186	.byte	23                              # DW_FORM_sec_offset187	.byte	0                               # EOM(1)188	.byte	0                               # EOM(2)189	.byte	2                               # Abbreviation Code190	.byte	46                              # DW_TAG_subprogram191	.byte	0                               # DW_CHILDREN_no192	.byte	17                              # DW_AT_low_pc193	.byte	27                              # DW_FORM_addrx194	.byte	18                              # DW_AT_high_pc195	.byte	6                               # DW_FORM_data4196	.byte	0                               # EOM(1)197	.byte	0                               # EOM(2)198	.byte	0                               # EOM(3)199 200	.section	.debug_info,"",@progbits201	.long	.Ldebug_info4_end-.Ldebug_info4_begin # Length of Unit202.Ldebug_info4_begin:203	.short	4                               # DWARF version number204	.long	.Ldebug_abbrev4                 # Offset Into Abbrev. Section205	.byte	4                               # Address Size (in bytes)206	.byte	1                               # Abbrev [1] 0xb:0x4a DW_TAG_compile_unit207	.long	.Ldebug_ranges                  # DW_AT_ranges208	.byte	2                               # Abbrev [2] 0x2a:0x15 DW_TAG_subprogram209	.long	0xffffffff                      # DW_AT_low_pc210	.long	0x6                             # DW_AT_high_pc211	.byte	2                               # Abbrev [2] 0x3f:0x15 DW_TAG_subprogram212	.long	0x42                            # DW_AT_low_pc213	.long	0x6                             # DW_AT_high_pc214	.byte	0                               # End Of Children Mark215.Ldebug_info4_end:216	.long	.Ldebug_info5_end-.Ldebug_info5_begin # Length of Unit217.Ldebug_info5_begin:218	.short	5                               # DWARF version number219	.byte	1                               # DWARF Unit Type220	.byte	4                               # Address Size (in bytes)221	.long	.Ldebug_abbrev5                 # Offset Into Abbrev. Section222	.byte	1                               # Abbrev [1] 0xb:0x4a DW_TAG_compile_unit223	.long	.Ldebug_addr_base               # DW_AT_addr_base224	.long	.Ldebug_rnglists                # DW_AT_ranges225	.byte	2                               # Abbrev [2] 0x2a:0x15 DW_TAG_subprogram226	.uleb128 0                              # DW_AT_low_pc227	.long	0x6                             # DW_AT_high_pc228	.byte	2                               # Abbrev [2] 0x3f:0x15 DW_TAG_subprogram229	.uleb128 1                              # DW_AT_low_pc230	.long	0x6                             # DW_AT_high_pc231	.byte	0                               # End Of Children Mark232.Ldebug_info5_end:233	.long	.Ldebug_info4_64_end-.Ldebug_info4_64_begin # Length of Unit234.Ldebug_info4_64_begin:235	.short	4                               # DWARF version number236	.long	.Ldebug_abbrev4                 # Offset Into Abbrev. Section237	.byte	8                               # Address Size (in bytes)238	.byte	1                               # Abbrev [1] 0xb:0x4a DW_TAG_compile_unit239	.long	.Ldebug_ranges_64               # DW_AT_ranges240	.byte	2                               # Abbrev [2] 0x2a:0x15 DW_TAG_subprogram241	.quad	0xffffffffffffffff              # DW_AT_low_pc242	.long	0x6                             # DW_AT_high_pc243	.byte	2                               # Abbrev [2] 0x3f:0x15 DW_TAG_subprogram244	.quad	0x42                            # DW_AT_low_pc245	.long	0x6                             # DW_AT_high_pc246	.byte	0                               # End Of Children Mark247.Ldebug_info4_64_end:248	.long	.Ldebug_info5_64_end-.Ldebug_info5_64_begin # Length of Unit249.Ldebug_info5_64_begin:250	.short	5                               # DWARF version number251	.byte	1                               # DWARF Unit Type252	.byte	8                               # Address Size (in bytes)253	.long	.Ldebug_abbrev5                 # Offset Into Abbrev. Section254	.byte	1                               # Abbrev [1] 0xb:0x4a DW_TAG_compile_unit255	.long	.Ldebug_addr_64_base            # DW_AT_addr_base256	.long	.Ldebug_rnglists_64             # DW_AT_ranges257	.byte	2                               # Abbrev [2] 0x2a:0x15 DW_TAG_subprogram258	.uleb128 0                              # DW_AT_low_pc259	.long	0x6                             # DW_AT_high_pc260	.byte	2                               # Abbrev [2] 0x3f:0x15 DW_TAG_subprogram261	.uleb128 1                              # DW_AT_low_pc262	.long	0x6                             # DW_AT_high_pc263	.byte	0                               # End Of Children Mark264.Ldebug_info5_64_end:265 266	.section	.debug_ranges,"",@progbits267.Ldebug_ranges:268	.long	0xfffffffe269	.long	0xfffffffe270	.long	0x42271	.long	0x48272	.long	0273	.long	0274.Ldebug_ranges_64:275	.quad	0xfffffffffffffffe276	.quad	0xfffffffffffffffe277	.quad	0x42278	.quad	0x48279	.quad	0280	.quad	0281 282	.section	.debug_rnglists,"",@progbits283	.long	.Ldebug_rnglists_end-.Ldebug_rnglists_begin # Length284.Ldebug_rnglists_begin:285	.short	5                               # Version286	.byte	4                               # Address size287	.byte	0                               # Segment selector size288	.long	0                               # Offset entry count289.Ldebug_rnglists:290	.byte	7                               # DW_RLE_start_length291	.long	0xffffffff                      #   start address292	.uleb128 0x6                            #   length293	.byte	7                               # DW_RLE_start_length294	.long	0x42                            #   start address295	.uleb128 0x6                            #   length296	.byte	3                               # DW_RLE_startx_length297	.uleb128 0                              #   start index298	.uleb128 0x6                            #   length299	.byte	3                               # DW_RLE_startx_length300	.uleb128 1                              #   start index301	.uleb128 0x6                            #   length302	.byte	6                               # DW_RLE_start_end303	.long	0xffffffff                      #   start address304	.long	0xffffffff                      #   end address305	.byte	6                               # DW_RLE_start_end306	.long	0x42                            #   start address307	.long   0x48                            #   length308	.byte	2                               # DW_RLE_startx_endx309	.uleb128 0                              #   start index310	.uleb128 0                              #   end index311	.byte	2                               # DW_RLE_startx_endx312	.uleb128 1                              #   start index313	.uleb128 1                              #   end index314	.byte	5                               # DW_RLE_base_address315	.long	0x40                            #   address316	.byte	4                               # DW_RLE_offset_pair317	.uleb128 2                              #   start offset318	.uleb128 8                              #   end offset319	.byte	5                               # DW_RLE_base_address320	.long	0xffffffff                      #   address321	.byte	4                               # DW_RLE_offset_pair322	.uleb128 2                              #   start offset323	.uleb128 8                              #   end offset324	.byte	1                               # DW_RLE_base_addressx325	.uleb128 0                              #   address326	.byte	4                               # DW_RLE_offset_pair327	.uleb128 0                              #   start offset328	.uleb128 6                              #   end offset329	.byte	1                               # DW_RLE_base_addressx330	.uleb128 1                              #   address331	.byte	4                               # DW_RLE_offset_pair332	.uleb128 0                              #   start offset333	.uleb128 6                              #   end offset334	.byte	0                               # DW_RLE_end_of_list335.Ldebug_rnglists_end:336	.long	.Ldebug_rnglists_64_end-.Ldebug_rnglists_64_begin # Length337.Ldebug_rnglists_64_begin:338	.short	5                               # Version339	.byte	8                               # Address size340	.byte	0                               # Segment selector size341	.long	0                               # Offset entry count342.Ldebug_rnglists_64:343	.byte	7                               # DW_RLE_start_length344	.quad	0xffffffffffffffff              #   start address345	.uleb128 0x6                            #   length346	.byte	7                               # DW_RLE_start_length347	.quad	0x42                            #   start address348	.uleb128 0x6                            #   length349	.byte	3                               # DW_RLE_startx_length350	.uleb128 0                              #   start index351	.uleb128 0x6                            #   length352	.byte	3                               # DW_RLE_startx_length353	.uleb128 1                              #   start index354	.uleb128 0x6                            #   length355	.byte	6                               # DW_RLE_start_end356	.quad	0xffffffffffffffff              #   start address357	.quad	0xffffffffffffffff              #   end address358	.byte	6                               # DW_RLE_start_end359	.quad	0x42                            #   start address360	.quad   0x48                            #   length361	.byte	2                               # DW_RLE_startx_endx362	.uleb128 0                              #   start index363	.uleb128 0                              #   end index364	.byte	2                               # DW_RLE_startx_endx365	.uleb128 1                              #   start index366	.uleb128 1                              #   end index367	.byte	5                               # DW_RLE_base_address368	.quad	0x40                            #   address369	.byte	4                               # DW_RLE_offset_pair370	.uleb128 2                              #   start offset371	.uleb128 8                              #   end offset372	.byte	5                               # DW_RLE_base_address373	.quad	0xffffffffffffffff              #   address374	.byte	4                               # DW_RLE_offset_pair375	.uleb128 2                              #   start offset376	.uleb128 8                              #   end offset377	.byte	1                               # DW_RLE_base_addressx378	.uleb128 0                              #   address379	.byte	4                               # DW_RLE_offset_pair380	.uleb128 0                              #   start offset381	.uleb128 6                              #   end offset382	.byte	1                               # DW_RLE_base_addressx383	.uleb128 1                              #   address384	.byte	4                               # DW_RLE_offset_pair385	.uleb128 0                              #   start offset386	.uleb128 6                              #   end offset387	.byte	0                               # DW_RLE_end_of_list388.Ldebug_rnglists_64_end:389 390	.section	.debug_addr,"",@progbits391	.long	.Ldebug_addr_end-.Ldebug_addr_begin # Length of contribution392.Ldebug_addr_begin:393	.short	5                               # DWARF version number394	.byte	4                               # Address size395	.byte	0                               # Segment selector size396.Ldebug_addr_base:397	.long	0xffffffff398	.long	0x42399.Ldebug_addr_end:400	.long	.Ldebug_addr_64_end-.Ldebug_addr_64_begin # Length of contribution401.Ldebug_addr_64_begin:402	.short	5                               # DWARF version number403	.byte	8                               # Address size404	.byte	0                               # Segment selector size405.Ldebug_addr_64_base:406	.quad	0xffffffffffffffff407	.quad	0x42408.Ldebug_addr_64_end:409 410	.section	.debug_line,"",@progbits411.Ldebug_line5:412	.long   .Ldebug_line5_end-.Ldebug_line5_begin   # Length of Unit (DWARF-32 format)413.Ldebug_line5_begin:414	.short  5               # DWARF version number415	.byte   4               # Address Size416	.byte   0               # Segment Selector Size417	.long   .Ldebug_line5_header_end-.Ldebug_line5_header_begin     # Length of Prologue418.Ldebug_line5_header_begin:419	.byte   1               # Minimum Instruction Length420	.byte   1               # Maximum Operations per Instruction421	.byte   1               # Default is_stmt422	.byte   -5              # Line Base423	.byte   14              # Line Range424	.byte   13              # Opcode Base425	.byte   0               # Standard Opcode Lengths426	.byte   1427	.byte   1428	.byte   1429	.byte   1430	.byte   0431	.byte   0432	.byte   0433	.byte   1434	.byte   0435	.byte   0436	.byte   1437	# Directory table format438	.byte   1               # One element per directory entry439	.byte   1               # DW_LNCT_path440	.byte   0x08            # DW_FORM_string441	# Directory table entries442	.byte   1               # Two directory entries443	.asciz "dir1"444	# File table format445	.byte   2               # Four elements per file entry446	.byte   2               # DW_LNCT_directory_index447	.byte   0x0b            # DW_FORM_data1448	.byte   1               # DW_LNCT_path449	.byte   0x08            # DW_FORM_string450	# File table entries451	.byte   1               # Two file entries452	.byte   1453	.asciz   "file1"454.Ldebug_line5_header_end:455	.byte   0               # Extended opcode456	.byte   5               #   Size 5457	.byte   2               #   Opcode: DW_LNE_set_address458	.long   0xffffffff      #     address459	.byte	1               # DW_LNS_copy460	.byte	2               # DW_LNS_advance_pc461	.uleb128 1              #   instruction increment462	.byte   0               # Extended opcode463	.byte   1               #   Size 1464	.byte   1               #   Opcode: DW_LNE_end_sequence465	.byte   0               # Extended opcode466	.byte   5               #   Size 5467	.byte   2               #   Opcode: DW_LNE_set_address468	.long   0x42            #     address469	.byte	1               # DW_LNS_copy470	.byte	2               # DW_LNS_advance_pc471	.uleb128 1              #   instruction increment472	.byte   0               # Extended opcode473	.byte   1               #   Size 1474	.byte   1               #   Opcode: DW_LNE_end_sequence475.Ldebug_line5_end:476 477.Ldebug_line5_64:478	.long   .Ldebug_line5_64_end-.Ldebug_line5_64_begin   # Length of Unit (DWARF-32 format)479.Ldebug_line5_64_begin:480	.short  5               # DWARF version number481	.byte   8               # Address Size482	.byte   0               # Segment Selector Size483	.long   .Ldebug_line5_64_header_end-.Ldebug_line5_64_header_begin     # Length of Prologue484.Ldebug_line5_64_header_begin:485	.byte   1               # Minimum Instruction Length486	.byte   1               # Maximum Operations per Instruction487	.byte   1               # Default is_stmt488	.byte   -5              # Line Base489	.byte   14              # Line Range490	.byte   13              # Opcode Base491	.byte   0               # Standard Opcode Lengths492	.byte   1493	.byte   1494	.byte   1495	.byte   1496	.byte   0497	.byte   0498	.byte   0499	.byte   1500	.byte   0501	.byte   0502	.byte   1503	# Directory table format504	.byte   1               # One element per directory entry505	.byte   1               # DW_LNCT_path506	.byte   0x08            # DW_FORM_string507	# Directory table entries508	.byte   1               # Two directory entries509	.asciz "dir1"510	# File table format511	.byte   2               # Four elements per file entry512	.byte   2               # DW_LNCT_directory_index513	.byte   0x0b            # DW_FORM_data1514	.byte   1               # DW_LNCT_path515	.byte   0x08            # DW_FORM_string516	# File table entries517	.byte   1               # Two file entries518	.byte   1519	.asciz   "file1"520.Ldebug_line5_64_header_end:521	.byte   0               # Extended opcode522	.byte   9               #   Size 9523	.byte   2               #   Opcode: DW_LNE_set_address524	.quad   0xffffffffffffffff #     address525	.byte	1               # DW_LNS_copy526	.byte	2               # DW_LNS_advance_pc527	.uleb128 1              #   instruction increment528	.byte   0               # Extended opcode529	.byte   1               #   Size 1530	.byte   1               #   Opcode: DW_LNE_end_sequence531	.byte   0               # Extended opcode532	.byte   9               #   Size 9533	.byte   2               #   Opcode: DW_LNE_set_address534	.quad   0x42            #     address535	.byte	1               # DW_LNS_copy536	.byte	2               # DW_LNS_advance_pc537	.uleb128 1              #   instruction increment538	.byte   0               # Extended opcode539	.byte   1               #   Size 1540	.byte   1               #   Opcode: DW_LNE_end_sequence541.Ldebug_line5_64_end:542 543