239 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-5 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 0 "/xxxx/xxxxxxxxxx/xxxxxxxx/hello" "main.c" md5 0x77ee8a574e83e137b0f31f877848b7ec24 .loc 0 5 0 # main.c:5:025 .cfi_startproc26# %bb.0: # %entry27 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 0 6 5 prologue_end # main.c:6:536 movb $0, %al37 callq hello38 xorl %eax, %eax39 .loc 0 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 74 # DW_TAG_skeleton_unit52 .byte 0 # DW_CHILDREN_no53 .byte 16 # DW_AT_stmt_list54 .byte 23 # DW_FORM_sec_offset55 .byte 114 # DW_AT_str_offsets_base56 .byte 23 # DW_FORM_sec_offset57 .byte 27 # DW_AT_comp_dir58 .byte 37 # DW_FORM_strx159 .ascii "\264B" # DW_AT_GNU_pubnames60 .byte 25 # DW_FORM_flag_present61 .byte 118 # DW_AT_dwo_name62 .byte 37 # DW_FORM_strx163 .byte 17 # DW_AT_low_pc64 .byte 27 # DW_FORM_addrx65 .byte 18 # DW_AT_high_pc66 .byte 6 # DW_FORM_data467 .byte 115 # DW_AT_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 5 # DWARF version number77 .byte 4 # DWARF Unit Type78 .byte 8 # Address Size (in bytes)79 .long .debug_abbrev # Offset Into Abbrev. Section80 .quad -34697212599100551881 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit82 .long .Lline_table_start0 # DW_AT_stmt_list83 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base84 .byte 0 # DW_AT_comp_dir85 # DW_AT_GNU_pubnames86 .byte 1 # DW_AT_dwo_name87 .byte 0 # DW_AT_low_pc88 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc89 .long .Laddr_table_base0 # DW_AT_addr_base90.Ldebug_info_end0:91 .section .debug_str_offsets,"",@progbits92 .long 1293 .short 594 .short 095.Lstr_offsets_base0:96 .section .debug_str,"MS",@progbits,197.Lskel_string0:98 .asciz "/xxxx/xxxxxxxxxx/xxxxxxxx/hello" # string offset=099.Lskel_string1:100 .asciz "main.dwo" # string offset=32101 .section .debug_str_offsets,"",@progbits102 .long .Lskel_string0103 .long .Lskel_string1104 .section .debug_str_offsets.dwo,"e",@progbits105 .long 24106 .short 5107 .short 0108 .section .debug_str.dwo,"eMS",@progbits,1109.Linfo_string0:110 .asciz "main" # string offset=0111.Linfo_string1:112 .asciz "int" # string offset=5113.Linfo_string2:114 .asciz "clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1a0dc1e010bf5c8034bd4a53340fc0dc3e90549a)" # string offset=9115.Linfo_string3:116 .asciz "main.c" # string offset=114117.Linfo_string4:118 .asciz "main.dwo" # string offset=121119 .section .debug_str_offsets.dwo,"e",@progbits120 .long 0121 .long 5122 .long 9123 .long 114124 .long 121125 .section .debug_info.dwo,"e",@progbits126 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit127.Ldebug_info_dwo_start0:128 .short 5 # DWARF version number129 .byte 5 # DWARF Unit Type130 .byte 8 # Address Size (in bytes)131 .long 0 # Offset Into Abbrev. Section132 .quad -346972125991005518133 .byte 1 # Abbrev [1] 0x14:0x1a DW_TAG_compile_unit134 .byte 2 # DW_AT_producer135 .short 12 # DW_AT_language136 .byte 3 # DW_AT_name137 .byte 4 # DW_AT_dwo_name138 .byte 2 # Abbrev [2] 0x1a:0xf DW_TAG_subprogram139 .byte 0 # DW_AT_low_pc140 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc141 .byte 1 # DW_AT_frame_base142 .byte 86143 .byte 0 # DW_AT_name144 .byte 0 # DW_AT_decl_file145 .byte 5 # DW_AT_decl_line146 .long 41 # DW_AT_type147 # DW_AT_external148 .byte 3 # Abbrev [3] 0x29:0x4 DW_TAG_base_type149 .byte 1 # DW_AT_name150 .byte 5 # DW_AT_encoding151 .byte 4 # DW_AT_byte_size152 .byte 0 # End Of Children Mark153 .fill 4294967233154.Ldebug_info_dwo_end0:155 .section .debug_abbrev.dwo,"e",@progbits156 .byte 1 # Abbreviation Code157 .byte 17 # DW_TAG_compile_unit158 .byte 1 # DW_CHILDREN_yes159 .byte 37 # DW_AT_producer160 .byte 37 # DW_FORM_strx1161 .byte 19 # DW_AT_language162 .byte 5 # DW_FORM_data2163 .byte 3 # DW_AT_name164 .byte 37 # DW_FORM_strx1165 .byte 118 # DW_AT_dwo_name166 .byte 37 # DW_FORM_strx1167 .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 27 # DW_FORM_addrx174 .byte 18 # DW_AT_high_pc175 .byte 6 # DW_FORM_data4176 .byte 64 # DW_AT_frame_base177 .byte 24 # DW_FORM_exprloc178 .byte 3 # DW_AT_name179 .byte 37 # DW_FORM_strx1180 .byte 58 # DW_AT_decl_file181 .byte 11 # DW_FORM_data1182 .byte 59 # DW_AT_decl_line183 .byte 11 # DW_FORM_data1184 .byte 73 # DW_AT_type185 .byte 19 # DW_FORM_ref4186 .byte 63 # DW_AT_external187 .byte 25 # DW_FORM_flag_present188 .byte 0 # EOM(1)189 .byte 0 # EOM(2)190 .byte 3 # Abbreviation Code191 .byte 36 # DW_TAG_base_type192 .byte 0 # DW_CHILDREN_no193 .byte 3 # DW_AT_name194 .byte 37 # DW_FORM_strx1195 .byte 62 # DW_AT_encoding196 .byte 11 # DW_FORM_data1197 .byte 11 # DW_AT_byte_size198 .byte 11 # DW_FORM_data1199 .byte 0 # EOM(1)200 .byte 0 # EOM(2)201 .byte 0 # EOM(3)202 .section .debug_addr,"",@progbits203 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution204.Ldebug_addr_start0:205 .short 5 # DWARF version number206 .byte 8 # Address size207 .byte 0 # Segment selector size208.Laddr_table_base0:209 .quad .Lfunc_begin0210.Ldebug_addr_end0:211 .section .debug_gnu_pubnames,"",@progbits212 .long .LpubNames_end0-.LpubNames_begin0 # Length of Public Names Info213.LpubNames_begin0:214 .short 2 # DWARF Version215 .long .Lcu_begin0 # Offset of Compilation Unit Info216 .long 40 # Compilation Unit Length217 .long 26 # DIE offset218 .byte 48 # Attributes: FUNCTION, EXTERNAL219 .asciz "main" # External Name220 .long 0 # End Mark221.LpubNames_end0:222 .section .debug_gnu_pubtypes,"",@progbits223 .long .LpubTypes_end0-.LpubTypes_begin0 # Length of Public Types Info224.LpubTypes_begin0:225 .short 2 # DWARF Version226 .long .Lcu_begin0 # Offset of Compilation Unit Info227 .long 40 # Compilation Unit Length228 .long 41 # DIE offset229 .byte 144 # Attributes: TYPE, STATIC230 .asciz "int" # External Name231 .long 0 # End Mark232.LpubTypes_end0:233 .ident "clang version 11.1.0 (https://github.com/llvm/llvm-project.git 1a0dc1e010bf5c8034bd4a53340fc0dc3e90549a)"234 .section ".note.GNU-stack","",@progbits235 .addrsig236 .addrsig_sym hello237 .section .debug_line,"",@progbits238.Lline_table_start0:239