218 lines · plain
1# Note: This file is compiled from the following code, for 2# the purpose of creating an overflowed dwo section.3# The code is not further modified after being compiled.4# 5# clang -g -S -gsplit-dwarf -gdwarf-4 main.c6#7# #include <stdio.h>8# 9# void hello();10# 11# int main() {12# hello();13# return 0;14# }15 16 .text17 .file "main.c"18 .globl main # -- Begin function main19 .p2align 4, 0x9020 .type main,@function21main: # @main22.Lfunc_begin0:23 .file 1 "/xxxxxx/xxxx/xxxxxxxxxx/xxxxxxxx/hello" "main.c"24 .loc 1 5 0 # main.c:5:025 .cfi_startproc26# %bb.0:27 pushq %rbp28 .cfi_def_cfa_offset 1629 .cfi_offset %rbp, -1630 movq %rsp, %rbp31 .cfi_def_cfa_register %rbp32 subq $16, %rsp33 movl $0, -4(%rbp)34.Ltmp0:35 .loc 1 6 5 prologue_end # main.c:6:536 movb $0, %al37 callq hello38 xorl %eax, %eax39 .loc 1 7 5 # main.c:7:540 addq $16, %rsp41 popq %rbp42 .cfi_def_cfa %rsp, 843 retq44.Ltmp1:45.Lfunc_end0:46 .size main, .Lfunc_end0-main47 .cfi_endproc48 # -- End function49 .section .debug_abbrev,"",@progbits50 .byte 1 # Abbreviation Code51 .byte 17 # DW_TAG_compile_unit52 .byte 0 # DW_CHILDREN_no53 .byte 16 # DW_AT_stmt_list54 .byte 23 # DW_FORM_sec_offset55 .byte 27 # DW_AT_comp_dir56 .byte 14 # DW_FORM_strp57 .ascii "\264B" # DW_AT_GNU_pubnames58 .byte 25 # DW_FORM_flag_present59 .ascii "\260B" # DW_AT_GNU_dwo_name60 .byte 14 # DW_FORM_strp61 .ascii "\261B" # DW_AT_GNU_dwo_id62 .byte 7 # DW_FORM_data863 .byte 17 # DW_AT_low_pc64 .byte 1 # DW_FORM_addr65 .byte 18 # DW_AT_high_pc66 .byte 6 # DW_FORM_data467 .ascii "\263B" # DW_AT_GNU_addr_base68 .byte 23 # DW_FORM_sec_offset69 .byte 0 # EOM(1)70 .byte 0 # EOM(2)71 .byte 0 # EOM(3)72 .section .debug_info,"",@progbits73.Lcu_begin0:74 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit75.Ldebug_info_start0:76 .short 4 # DWARF version number77 .long .debug_abbrev # Offset Into Abbrev. Section78 .byte 8 # Address Size (in bytes)79 .byte 1 # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit80 .long .Lline_table_start0 # DW_AT_stmt_list81 .long .Lskel_string0 # DW_AT_comp_dir82 # DW_AT_GNU_pubnames83 .long .Lskel_string1 # DW_AT_GNU_dwo_name84 .quad -346972125991005518 # DW_AT_GNU_dwo_id85 .quad .Lfunc_begin0 # DW_AT_low_pc86 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc87 .long .Laddr_table_base0 # DW_AT_GNU_addr_base88.Ldebug_info_end0:89 .section .debug_str,"MS",@progbits,190.Lskel_string0:91 .asciz "/xxxxxx/xxxx/xxxxxxxxxx/xxxxxxxx/hello" # string offset=092.Lskel_string1:93 .asciz "main.dwo" # string offset=3994 .section .debug_str.dwo,"eMS",@progbits,195.Linfo_string0:96 .asciz "main" # string offset=097.Linfo_string1:98 .asciz "int" # string offset=599.Linfo_string2:100 .asciz "clang version 11.1.0 (https://github.com/llvm/llvm-project.git ed8f312fb1ca0bf525676906c7841db0cefcf5a7)" # string offset=9101.Linfo_string3:102 .asciz "main.c" # string offset=114103.Linfo_string4:104 .asciz "main.dwo" # string offset=121105 .section .debug_str_offsets.dwo,"e",@progbits106 .long 0107 .long 5108 .long 9109 .long 114110 .long 121111 .section .debug_info.dwo,"e",@progbits112 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit113.Ldebug_info_dwo_start0:114 .short 4 # DWARF version number115 .long 0 # Offset Into Abbrev. Section116 .byte 8 # Address Size (in bytes)117 .byte 1 # Abbrev [1] 0xb:0x22 DW_TAG_compile_unit118 .byte 2 # DW_AT_producer119 .short 12 # DW_AT_language120 .byte 3 # DW_AT_name121 .byte 4 # DW_AT_GNU_dwo_name122 .quad -346972125991005518 # DW_AT_GNU_dwo_id123 .byte 2 # Abbrev [2] 0x19:0xf DW_TAG_subprogram124 .byte 0 # DW_AT_low_pc125 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc126 .byte 1 # DW_AT_frame_base127 .byte 86128 .byte 0 # DW_AT_name129 .byte 1 # DW_AT_decl_file130 .byte 5 # DW_AT_decl_line131 .long 40 # DW_AT_type132 # DW_AT_external133 .byte 3 # Abbrev [3] 0x28:0x4 DW_TAG_base_type134 .byte 1 # DW_AT_name135 .byte 5 # DW_AT_encoding136 .byte 4 # DW_AT_byte_size137 .byte 0 # End Of Children Mark138.Ldebug_info_dwo_end0:139 .section .debug_abbrev.dwo,"e",@progbits140 .byte 1 # Abbreviation Code141 .byte 17 # DW_TAG_compile_unit142 .byte 1 # DW_CHILDREN_yes143 .byte 37 # DW_AT_producer144 .ascii "\202>" # DW_FORM_GNU_str_index145 .byte 19 # DW_AT_language146 .byte 5 # DW_FORM_data2147 .byte 3 # DW_AT_name148 .ascii "\202>" # DW_FORM_GNU_str_index149 .ascii "\260B" # DW_AT_GNU_dwo_name150 .ascii "\202>" # DW_FORM_GNU_str_index151 .ascii "\261B" # DW_AT_GNU_dwo_id152 .byte 7 # DW_FORM_data8153 .byte 0 # EOM(1)154 .byte 0 # EOM(2)155 .byte 2 # Abbreviation Code156 .byte 46 # DW_TAG_subprogram157 .byte 0 # DW_CHILDREN_no158 .byte 17 # DW_AT_low_pc159 .ascii "\201>" # DW_FORM_GNU_addr_index160 .byte 18 # DW_AT_high_pc161 .byte 6 # DW_FORM_data4162 .byte 64 # DW_AT_frame_base163 .byte 24 # DW_FORM_exprloc164 .byte 3 # DW_AT_name165 .ascii "\202>" # DW_FORM_GNU_str_index166 .byte 58 # DW_AT_decl_file167 .byte 11 # DW_FORM_data1168 .byte 59 # DW_AT_decl_line169 .byte 11 # DW_FORM_data1170 .byte 73 # DW_AT_type171 .byte 19 # DW_FORM_ref4172 .byte 63 # DW_AT_external173 .byte 25 # DW_FORM_flag_present174 .byte 0 # EOM(1)175 .byte 0 # EOM(2)176 .byte 3 # Abbreviation Code177 .byte 36 # DW_TAG_base_type178 .byte 0 # DW_CHILDREN_no179 .byte 3 # DW_AT_name180 .ascii "\202>" # DW_FORM_GNU_str_index181 .byte 62 # DW_AT_encoding182 .byte 11 # DW_FORM_data1183 .byte 11 # DW_AT_byte_size184 .byte 11 # DW_FORM_data1185 .byte 0 # EOM(1)186 .byte 0 # EOM(2)187 .byte 0 # EOM(3)188 .section .debug_addr,"",@progbits189.Laddr_table_base0:190 .quad .Lfunc_begin0191 .section .debug_gnu_pubnames,"",@progbits192 .long .LpubNames_end0-.LpubNames_begin0 # Length of Public Names Info193.LpubNames_begin0:194 .short 2 # DWARF Version195 .long .Lcu_begin0 # Offset of Compilation Unit Info196 .long 48 # Compilation Unit Length197 .long 25 # DIE offset198 .byte 48 # Attributes: FUNCTION, EXTERNAL199 .asciz "main" # External Name200 .long 0 # End Mark201.LpubNames_end0:202 .section .debug_gnu_pubtypes,"",@progbits203 .long .LpubTypes_end0-.LpubTypes_begin0 # Length of Public Types Info204.LpubTypes_begin0:205 .short 2 # DWARF Version206 .long .Lcu_begin0 # Offset of Compilation Unit Info207 .long 48 # Compilation Unit Length208 .long 40 # DIE offset209 .byte 144 # Attributes: TYPE, STATIC210 .asciz "int" # External Name211 .long 0 # End Mark212.LpubTypes_end0:213 .ident "clang version 11.1.0 (https://github.com/llvm/llvm-project.git ed8f312fb1ca0bf525676906c7841db0cefcf5a7)"214 .section ".note.GNU-stack","",@progbits215 .addrsig216 .addrsig_sym hello217 .section .debug_line,"",@progbits218.Lline_table_start0: