153 lines · plain
1# This file was generated by:2# clang++ -g -O0 -S -fdebug-compilation-dir='/proc/self/cwd' -gpubnames a.cpp3 4# Then manually changing the first .debug_names abbrev, so that the5# DW_IDX_die_offset uses DW_FORM_flag_present (invalid) & the DW_IDX_parent6# uses DW_FORM_ref4. Also updated the sizes of the values in the entry7# that uses the abbrev, to match the sizes of the forms.8 9# Contents of a.cpp10# int main (int argc, char **argv) { }11 12# REQUIRES: x8613# RUN: llvm-mc -filetype=obj -triple=x86_64 %s -o %t1.o14# RUN: not ld.lld --debug-names %t1.o -o /dev/null 2>&1 \15# RUN: | FileCheck -DFILE=%t1.o --implicit-check-not=error: %s16 17# CHECK: error: [[FILE]]:(.debug_names): unrecognized form encoding 25 in abbrev table18 19 .text20 .globl main # -- Begin function main21 .p2align 4, 0x9022 .type main,@function23main: # @main24.Lfunc_begin0:25 .cfi_startproc26# %bb.0: # %entry27 pushq %rbp28 .cfi_def_cfa_offset 1629 .cfi_offset %rbp, -1630 movq %rsp, %rbp31 .cfi_def_cfa_register %rbp32 movl %edi, -4(%rbp)33 movq %rsi, -16(%rbp)34.Ltmp0:35 xorl %eax, %eax36 popq %rbp37 .cfi_def_cfa %rsp, 838 retq39.Ltmp1:40.Lfunc_end0:41 .size main, .Lfunc_end0-main42 .cfi_endproc43 # -- End function44 .section .debug_abbrev,"",@progbits45 .byte 0 # EOM(1)46 .byte 0 # EOM(2)47 .byte 0 # EOM(3)48 .section .debug_info,"",@progbits49.Lcu_begin0:50 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit51.Ldebug_info_start0:52 .short 5 # DWARF version number53 .byte 1 # DWARF Unit Type54 .byte 8 # Address Size (in bytes)55 .long .debug_abbrev # Offset Into Abbrev. Section56.Ldebug_info_end0:57 .section .debug_str_offsets,"",@progbits58 .long 36 # Length of String Offsets Set59 .short 560 .short 061.Lstr_offsets_base0:62 .section .debug_str,"MS",@progbits,163.Linfo_string0:64 .asciz "clang version 19.0.0git (git@github.com:llvm/llvm-project.git 53b14cd9ce2b57da73d173fc876d2e9e199f5640)" # string offset=065.Linfo_string1:66 .asciz "a.cpp" # string offset=10467.Linfo_string2:68 .asciz "/proc/self/cwd" # string offset=11069.Linfo_string3:70 .asciz "main" # string offset=12571.Linfo_string4:72 .asciz "int" # string offset=13073.Linfo_string5:74 .asciz "argc" # string offset=13475.Linfo_string6:76 .asciz "argv" # string offset=13977.Linfo_string7:78 .asciz "char" # string offset=14479.Laddr_table_base0:80 .quad .Lfunc_begin081.Ldebug_addr_end0:82 .section .debug_names,"",@progbits83 .long .Lnames_end0-.Lnames_start0 # Header: unit length84.Lnames_start0:85 .short 5 # Header: version86 .short 0 # Header: padding87 .long 1 # Header: compilation unit count88 .long 0 # Header: local type unit count89 .long 0 # Header: foreign type unit count90 .long 3 # Header: bucket count91 .long 3 # Header: name count92 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size93 .long 8 # Header: augmentation string size94 .ascii "LLVM0700" # Header: augmentation string95 .long .Lcu_begin0 # Compilation unit 096 .long 0 # Bucket 097 .long 1 # Bucket 198 .long 2 # Bucket 299 .long 2090499946 # Hash in Bucket 1100 .long 193495088 # Hash in Bucket 2101 .long 2090147939 # Hash in Bucket 2102 .long .Linfo_string3 # String in Bucket 1: main103 .long .Linfo_string4 # String in Bucket 2: int104 .long .Linfo_string7 # String in Bucket 2: char105 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 1106 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 2107 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 2108.Lnames_abbrev_start0:109 .byte 1 # Abbrev code110 .byte 46 # DW_TAG_subprogram111 .byte 3 # DW_IDX_die_offset112 .byte 25 # DW_FORM_flag_present113 .byte 4 # DW_IDX_parent114 .byte 19 # DW_FORM_ref4115 .byte 0 # End of abbrev116 .byte 0 # End of abbrev117 .byte 2 # Abbrev code118 .byte 36 # DW_TAG_base_type119 .byte 3 # DW_IDX_die_offset120 .byte 19 # DW_FORM_ref4121 .byte 4 # DW_IDX_parent122 .byte 25 # DW_FORM_flag_present123 .byte 0 # End of abbrev124 .byte 0 # End of abbrev125 .byte 0 # End of abbrev list126.Lnames_abbrev_end0:127.Lnames_entries0:128.Lnames0:129.L1:130 .byte 1 # Abbreviation code131 .byte 35 # DW_IDX_die_offset132 .long 0 # DW_IDX_parent133 # End of list: main134.Lnames1:135.L0:136 .byte 2 # Abbreviation code137 .long 73 # DW_IDX_die_offset138 .byte 0 # DW_IDX_parent139 # End of list: int140.Lnames2:141.L2:142 .byte 2 # Abbreviation code143 .long 87 # DW_IDX_die_offset144 .byte 0 # DW_IDX_parent145 # End of list: char146 .p2align 2, 0x0147.Lnames_end0:148 .ident "clang version 19.0.0git (git@github.com:llvm/llvm-project.git 53b14cd9ce2b57da73d173fc876d2e9e199f5640)"149 .section ".note.GNU-stack","",@progbits150 .addrsig151 .section .debug_line,"",@progbits152.Lline_table_start0:153