brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.8 KiB · 536ca62 Raw
305 lines · plain
1# Binary and .o was generated by:2# 1) clang++ -g -gsplit-dwarf=single splitdwarf-single-issue.cpp -O3 -o splitdwarf-single-issue.s -S3# 2) Split in to two .s by making a copy and removing .dwo sections from skeleton .s.4#5# Input .cpp file6# __attribute__((nodebug)) __attribute__((optnone)) void f1() {7# }8#9# __attribute__((always_inline)) inline void f2() {10#11#   f1();12# }13#14# int main() {15#16#   f2();17# }18 19# RUN: rm -rf %t20# RUN: mkdir -p %t21# RUN: llvm-mc --filetype=obj --triple=x86_64-pc-linux %s -o %t/symbolize-debug-fission-single -g22# RUN: llvm-mc --filetype=obj --triple=x86_64-pc-linux %s --defsym INCDWO=1 -o %t/symbolize-debug-fission-single.o -g23# RUN: cd %t24# RUN: llvm-symbolizer  0x0000000000000011 -a --obj=%t/symbolize-debug-fission-single \25# RUN:   | FileCheck %s26 27# CHECK:      0x1128# CHECK-NEXT: f2()29# CHECK-NEXT: {{.*}}splitdwarf-single-issue.cpp:7:330# CHECK-NEXT: main31# CHECK-NEXT: {{.*}}splitdwarf-single-issue.cpp:13:332 33	.text34	.file	"splitdwarf-single-issue.cpp"35	.globl	_Z2f1v                          # -- Begin function _Z2f1v36	.p2align	4, 0x9037	.type	_Z2f1v,@function38_Z2f1v:                                 # @_Z2f1v39.Lfunc_begin0:40	.cfi_startproc41# %bb.0:                                # %entry42	retq43.Lfunc_end0:44	.size	_Z2f1v, .Lfunc_end0-_Z2f1v45	.cfi_endproc46                                        # -- End function47	.globl	main                            # -- Begin function main48	.p2align	4, 0x9049	.type	main,@function50main:                                   # @main51.Lfunc_begin1:52	.file	1 "." "splitdwarf-single-issue.cpp"53	.loc	1 11 0                          # splitdwarf-single-issue.cpp:11:054	.cfi_startproc55# %bb.0:                                # %entry56	pushq	%rax57	.cfi_def_cfa_offset 1658.Ltmp0:59	.loc	1 7 3 prologue_end              # splitdwarf-single-issue.cpp:7:360	callq	_Z2f1v61.Ltmp1:62	.loc	1 15 1                          # splitdwarf-single-issue.cpp:15:163	xorl	%eax, %eax64	popq	%rcx65	.cfi_def_cfa_offset 866	retq67.Ltmp2:68.Lfunc_end1:69	.size	main, .Lfunc_end1-main70	.cfi_endproc71                                        # -- End function72	.section	.debug_abbrev,"",@progbits73	.byte	1                               # Abbreviation Code74	.byte	17                              # DW_TAG_compile_unit75	.byte	0                               # DW_CHILDREN_no76	.byte	16                              # DW_AT_stmt_list77	.byte	23                              # DW_FORM_sec_offset78	.byte	27                              # DW_AT_comp_dir79	.byte	14                              # DW_FORM_strp80	.ascii	"\264B"                         # DW_AT_GNU_pubnames81	.byte	25                              # DW_FORM_flag_present82	.ascii	"\260B"                         # DW_AT_GNU_dwo_name83	.byte	14                              # DW_FORM_strp84	.ascii	"\261B"                         # DW_AT_GNU_dwo_id85	.byte	7                               # DW_FORM_data886	.byte	17                              # DW_AT_low_pc87	.byte	1                               # DW_FORM_addr88	.byte	18                              # DW_AT_high_pc89	.byte	6                               # DW_FORM_data490	.ascii	"\263B"                         # DW_AT_GNU_addr_base91	.byte	23                              # DW_FORM_sec_offset92	.byte	0                               # EOM(1)93	.byte	0                               # EOM(2)94	.byte	0                               # EOM(3)95	.section	.debug_info,"",@progbits96.Lcu_begin0:97	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit98.Ldebug_info_start0:99	.short	4                               # DWARF version number100	.long	.debug_abbrev                   # Offset Into Abbrev. Section101	.byte	8                               # Address Size (in bytes)102	.byte	1                               # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit103	.long	.Lline_table_start0             # DW_AT_stmt_list104	.long	.Lskel_string0                  # DW_AT_comp_dir105                                        # DW_AT_GNU_pubnames106	.long	.Lskel_string1                  # DW_AT_GNU_dwo_name107	.quad	-4321749769762995760            # DW_AT_GNU_dwo_id108	.quad	.Lfunc_begin1                   # DW_AT_low_pc109	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc110	.long	.Laddr_table_base0              # DW_AT_GNU_addr_base111.Ldebug_info_end0:112	.section	.debug_str,"MS",@progbits,1113.Lskel_string0:114	.asciz	"." # string offset=0115.Lskel_string1:116	.asciz	"symbolize-debug-fission-single.o"     # string offset=37117	.section	.debug_addr,"",@progbits118.Laddr_table_base0:119	.quad	.Lfunc_begin1120	.quad	.Ltmp0121	.section	.debug_gnu_pubnames,"",@progbits122	.long	.LpubNames_end0-.LpubNames_start0 # Length of Public Names Info123.LpubNames_start0:124	.short	2                               # DWARF Version125	.long	.Lcu_begin0                     # Offset of Compilation Unit Info126	.long	48                              # Compilation Unit Length127	.long	31                              # DIE offset128	.byte	48                              # Attributes: FUNCTION, EXTERNAL129	.asciz	"main"                          # External Name130	.long	25                              # DIE offset131	.byte	48                              # Attributes: FUNCTION, EXTERNAL132	.asciz	"f2"                            # External Name133	.long	0                               # End Mark134.LpubNames_end0:135	.section	.debug_gnu_pubtypes,"",@progbits136	.long	.LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info137.LpubTypes_start0:138	.short	2                               # DWARF Version139	.long	.Lcu_begin0                     # Offset of Compilation Unit Info140	.long	48                              # Compilation Unit Length141	.long	60                              # DIE offset142	.byte	144                             # Attributes: TYPE, STATIC143	.asciz	"int"                           # External Name144	.long	0                               # End Mark145.LpubTypes_end0:146	.ident	"clang version 13.0.0 (https://github.com/llvm/llvm-project.git f0363d3d38b9a3b831b1bb6fa602eff54ac928fa)"147	.section	".note.GNU-stack","",@progbits148	.addrsig149	.section	.debug_line,"",@progbits150.Lline_table_start0:151.ifdef INCDWO152	.section	.debug_str.dwo,"eMS",@progbits,1153.Linfo_string0:154	.asciz	"_Z2f2v"                        # string offset=0155.Linfo_string1:156	.asciz	"f2"                            # string offset=7157.Linfo_string2:158	.asciz	"main"                          # string offset=10159.Linfo_string3:160	.asciz	"int"                           # string offset=15161.Linfo_string4:162	.asciz	"clang version 13.0.0 (https://github.com/llvm/llvm-project.git f0363d3d38b9a3b831b1bb6fa602eff54ac928fa)" # string offset=19163.Linfo_string5:164	.asciz	"splitdwarf-single-issue.cpp"   # string offset=124165.Linfo_string6:166	.asciz	"symbolize-debug-fission-single.o"     # string offset=152167	.section	.debug_str_offsets.dwo,"e",@progbits168	.long	0169	.long	7170	.long	10171	.long	15172	.long	19173	.long	124174	.long	152175	.section	.debug_info.dwo,"e",@progbits176	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit177.Ldebug_info_dwo_start0:178	.short	4                               # DWARF version number179	.long	0                               # Offset Into Abbrev. Section180	.byte	8                               # Address Size (in bytes)181	.byte	1                               # Abbrev [1] 0xb:0x36 DW_TAG_compile_unit182	.byte	4                               # DW_AT_producer183	.short	33                              # DW_AT_language184	.byte	5                               # DW_AT_name185	.byte	6                               # DW_AT_GNU_dwo_name186	.quad	-4321749769762995760            # DW_AT_GNU_dwo_id187	.byte	2                               # Abbrev [2] 0x19:0x6 DW_TAG_subprogram188	.byte	0                               # DW_AT_linkage_name189	.byte	1                               # DW_AT_name190	.byte	1                               # DW_AT_decl_file191	.byte	5                               # DW_AT_decl_line192                                        # DW_AT_external193	.byte	1                               # DW_AT_inline194	.byte	3                               # Abbrev [3] 0x1f:0x1d DW_TAG_subprogram195	.byte	0                               # DW_AT_low_pc196	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc197	.byte	1                               # DW_AT_frame_base198	.byte	87199                                        # DW_AT_GNU_all_call_sites200	.byte	2                               # DW_AT_name201	.byte	1                               # DW_AT_decl_file202	.byte	11                              # DW_AT_decl_line203	.long	60                              # DW_AT_type204                                        # DW_AT_external205	.byte	4                               # Abbrev [4] 0x2e:0xd DW_TAG_inlined_subroutine206	.long	25                              # DW_AT_abstract_origin207	.byte	1                               # DW_AT_low_pc208	.long	.Ltmp1-.Ltmp0                   # DW_AT_high_pc209	.byte	1                               # DW_AT_call_file210	.byte	13                              # DW_AT_call_line211	.byte	3                               # DW_AT_call_column212	.byte	0                               # End Of Children Mark213	.byte	5                               # Abbrev [5] 0x3c:0x4 DW_TAG_base_type214	.byte	3                               # DW_AT_name215	.byte	5                               # DW_AT_encoding216	.byte	4                               # DW_AT_byte_size217	.byte	0                               # End Of Children Mark218.Ldebug_info_dwo_end0:219	.section	.debug_abbrev.dwo,"e",@progbits220	.byte	1                               # Abbreviation Code221	.byte	17                              # DW_TAG_compile_unit222	.byte	1                               # DW_CHILDREN_yes223	.byte	37                              # DW_AT_producer224	.ascii	"\202>"                         # DW_FORM_GNU_str_index225	.byte	19                              # DW_AT_language226	.byte	5                               # DW_FORM_data2227	.byte	3                               # DW_AT_name228	.ascii	"\202>"                         # DW_FORM_GNU_str_index229	.ascii	"\260B"                         # DW_AT_GNU_dwo_name230	.ascii	"\202>"                         # DW_FORM_GNU_str_index231	.ascii	"\261B"                         # DW_AT_GNU_dwo_id232	.byte	7                               # DW_FORM_data8233	.byte	0                               # EOM(1)234	.byte	0                               # EOM(2)235	.byte	2                               # Abbreviation Code236	.byte	46                              # DW_TAG_subprogram237	.byte	0                               # DW_CHILDREN_no238	.byte	110                             # DW_AT_linkage_name239	.ascii	"\202>"                         # DW_FORM_GNU_str_index240	.byte	3                               # DW_AT_name241	.ascii	"\202>"                         # DW_FORM_GNU_str_index242	.byte	58                              # DW_AT_decl_file243	.byte	11                              # DW_FORM_data1244	.byte	59                              # DW_AT_decl_line245	.byte	11                              # DW_FORM_data1246	.byte	63                              # DW_AT_external247	.byte	25                              # DW_FORM_flag_present248	.byte	32                              # DW_AT_inline249	.byte	11                              # DW_FORM_data1250	.byte	0                               # EOM(1)251	.byte	0                               # EOM(2)252	.byte	3                               # Abbreviation Code253	.byte	46                              # DW_TAG_subprogram254	.byte	1                               # DW_CHILDREN_yes255	.byte	17                              # DW_AT_low_pc256	.ascii	"\201>"                         # DW_FORM_GNU_addr_index257	.byte	18                              # DW_AT_high_pc258	.byte	6                               # DW_FORM_data4259	.byte	64                              # DW_AT_frame_base260	.byte	24                              # DW_FORM_exprloc261	.ascii	"\227B"                         # DW_AT_GNU_all_call_sites262	.byte	25                              # DW_FORM_flag_present263	.byte	3                               # DW_AT_name264	.ascii	"\202>"                         # DW_FORM_GNU_str_index265	.byte	58                              # DW_AT_decl_file266	.byte	11                              # DW_FORM_data1267	.byte	59                              # DW_AT_decl_line268	.byte	11                              # DW_FORM_data1269	.byte	73                              # DW_AT_type270	.byte	19                              # DW_FORM_ref4271	.byte	63                              # DW_AT_external272	.byte	25                              # DW_FORM_flag_present273	.byte	0                               # EOM(1)274	.byte	0                               # EOM(2)275	.byte	4                               # Abbreviation Code276	.byte	29                              # DW_TAG_inlined_subroutine277	.byte	0                               # DW_CHILDREN_no278	.byte	49                              # DW_AT_abstract_origin279	.byte	19                              # DW_FORM_ref4280	.byte	17                              # DW_AT_low_pc281	.ascii	"\201>"                         # DW_FORM_GNU_addr_index282	.byte	18                              # DW_AT_high_pc283	.byte	6                               # DW_FORM_data4284	.byte	88                              # DW_AT_call_file285	.byte	11                              # DW_FORM_data1286	.byte	89                              # DW_AT_call_line287	.byte	11                              # DW_FORM_data1288	.byte	87                              # DW_AT_call_column289	.byte	11                              # DW_FORM_data1290	.byte	0                               # EOM(1)291	.byte	0                               # EOM(2)292	.byte	5                               # Abbreviation Code293	.byte	36                              # DW_TAG_base_type294	.byte	0                               # DW_CHILDREN_no295	.byte	3                               # DW_AT_name296	.ascii	"\202>"                         # DW_FORM_GNU_str_index297	.byte	62                              # DW_AT_encoding298	.byte	11                              # DW_FORM_data1299	.byte	11                              # DW_AT_byte_size300	.byte	11                              # DW_FORM_data1301	.byte	0                               # EOM(1)302	.byte	0                               # EOM(2)303	.byte	0                               # EOM(3)304.endif305