brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.9 KiB · 45fca52 Raw
222 lines · plain
1# clang++ main.cpp -g2 -gsplit-dwarf -S -fdebug-compilation-dir=.2# Modified assembly so that DW_AT_dwo_name has a partial path.3# int main() { return 0; }4 5	.text6	.file	"main.cpp"7	.globl	main                            # -- Begin function main8	.p2align	4, 0x909	.type	main,@function10main:                                   # @main11.Lfunc_begin0:12	.file	0 "." "main.cpp" md5 0xbb12fec8d002b1f0e06f7dee4604c6cc13	.loc	0 1 0                           # main.cpp:1:014	.cfi_startproc15# %bb.0:                                # %entry16	pushq	%rbp17	.cfi_def_cfa_offset 1618	.cfi_offset %rbp, -1619	movq	%rsp, %rbp20	.cfi_def_cfa_register %rbp21	movl	$0, -4(%rbp)22.Ltmp0:23	.loc	0 2 3 prologue_end              # main.cpp:2:324	xorl	%eax, %eax25	.loc	0 2 3 epilogue_begin is_stmt 0  # main.cpp:2:326	popq	%rbp27	.cfi_def_cfa %rsp, 828	retq29.Ltmp1:30.Lfunc_end0:31	.size	main, .Lfunc_end0-main32	.cfi_endproc33                                        # -- End function34	.section	.debug_abbrev,"",@progbits35	.byte	1                               # Abbreviation Code36	.byte	74                              # DW_TAG_skeleton_unit37	.byte	0                               # DW_CHILDREN_no38	.byte	16                              # DW_AT_stmt_list39	.byte	23                              # DW_FORM_sec_offset40	.byte	114                             # DW_AT_str_offsets_base41	.byte	23                              # DW_FORM_sec_offset42	.byte	27                              # DW_AT_comp_dir43	.byte	37                              # DW_FORM_strx144	.ascii	"\264B"                         # DW_AT_GNU_pubnames45	.byte	25                              # DW_FORM_flag_present46	.byte	118                             # DW_AT_dwo_name47	.byte	37                              # DW_FORM_strx148	.byte	17                              # DW_AT_low_pc49	.byte	27                              # DW_FORM_addrx50	.byte	18                              # DW_AT_high_pc51	.byte	6                               # DW_FORM_data452	.byte	115                             # DW_AT_addr_base53	.byte	23                              # DW_FORM_sec_offset54	.byte	0                               # EOM(1)55	.byte	0                               # EOM(2)56	.byte	0                               # EOM(3)57	.section	.debug_info,"",@progbits58.Lcu_begin0:59	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit60.Ldebug_info_start0:61	.short	5                               # DWARF version number62	.byte	4                               # DWARF Unit Type63	.byte	8                               # Address Size (in bytes)64	.long	.debug_abbrev                   # Offset Into Abbrev. Section65	.quad	631807471090475330066	.byte	1                               # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit67	.long	.Lline_table_start0             # DW_AT_stmt_list68	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base69	.byte	0                               # DW_AT_comp_dir70                                        # DW_AT_GNU_pubnames71	.byte	1                               # DW_AT_dwo_name72	.byte	0                               # DW_AT_low_pc73	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc74	.long	.Laddr_table_base0              # DW_AT_addr_base75.Ldebug_info_end0:76	.section	.debug_str_offsets,"",@progbits77	.long	12                              # Length of String Offsets Set78	.short	579	.short	080.Lstr_offsets_base0:81	.section	.debug_str,"MS",@progbits,182.Lskel_string0:83	.asciz	"."                             # string offset=084.Lskel_string1:85	.asciz	"objects/o1/split.dwo"                      # string offset=2 <--- Manually modified.86	.section	.debug_str_offsets,"",@progbits87	.long	.Lskel_string088	.long	.Lskel_string189	.section	.debug_str_offsets.dwo,"e",@progbits90	.long	24                              # Length of String Offsets Set91	.short	592	.short	093	.section	.debug_str.dwo,"eMS",@progbits,194.Linfo_string0:95	.asciz	"main"                          # string offset=096.Linfo_string1:97	.asciz	"int"                           # string offset=598.Linfo_string2:99	.asciz	"clang version 18.0.0"          # string offset=9100.Linfo_string3:101	.asciz	"main.cpp"                      # string offset=30102.Linfo_string4:103	.asciz	"objects/o1/split.dwo"                      # string offset=39 <--- Manually modified.104	.section	.debug_str_offsets.dwo,"e",@progbits105	.long	0106	.long	5107	.long	9108	.long	30109	.long	39110	.section	.debug_info.dwo,"e",@progbits111	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit112.Ldebug_info_dwo_start0:113	.short	5                               # DWARF version number114	.byte	5                               # DWARF Unit Type115	.byte	8                               # Address Size (in bytes)116	.long	0                               # Offset Into Abbrev. Section117	.quad	6318074710904753300118	.byte	1                               # Abbrev [1] 0x14:0x1a DW_TAG_compile_unit119	.byte	2                               # DW_AT_producer120	.short	33                              # DW_AT_language121	.byte	3                               # DW_AT_name122	.byte	4                               # DW_AT_dwo_name123	.byte	2                               # Abbrev [2] 0x1a: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	0                               # DW_AT_decl_file130	.byte	1                               # DW_AT_decl_line131	.long	41                              # DW_AT_type132                                        # DW_AT_external133	.byte	3                               # Abbrev [3] 0x29: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	.byte	37                              # DW_FORM_strx1145	.byte	19                              # DW_AT_language146	.byte	5                               # DW_FORM_data2147	.byte	3                               # DW_AT_name148	.byte	37                              # DW_FORM_strx1149	.byte	118                             # DW_AT_dwo_name150	.byte	37                              # DW_FORM_strx1151	.byte	0                               # EOM(1)152	.byte	0                               # EOM(2)153	.byte	2                               # Abbreviation Code154	.byte	46                              # DW_TAG_subprogram155	.byte	0                               # DW_CHILDREN_no156	.byte	17                              # DW_AT_low_pc157	.byte	27                              # DW_FORM_addrx158	.byte	18                              # DW_AT_high_pc159	.byte	6                               # DW_FORM_data4160	.byte	64                              # DW_AT_frame_base161	.byte	24                              # DW_FORM_exprloc162	.byte	3                               # DW_AT_name163	.byte	37                              # DW_FORM_strx1164	.byte	58                              # DW_AT_decl_file165	.byte	11                              # DW_FORM_data1166	.byte	59                              # DW_AT_decl_line167	.byte	11                              # DW_FORM_data1168	.byte	73                              # DW_AT_type169	.byte	19                              # DW_FORM_ref4170	.byte	63                              # DW_AT_external171	.byte	25                              # DW_FORM_flag_present172	.byte	0                               # EOM(1)173	.byte	0                               # EOM(2)174	.byte	3                               # Abbreviation Code175	.byte	36                              # DW_TAG_base_type176	.byte	0                               # DW_CHILDREN_no177	.byte	3                               # DW_AT_name178	.byte	37                              # DW_FORM_strx1179	.byte	62                              # DW_AT_encoding180	.byte	11                              # DW_FORM_data1181	.byte	11                              # DW_AT_byte_size182	.byte	11                              # DW_FORM_data1183	.byte	0                               # EOM(1)184	.byte	0                               # EOM(2)185	.byte	0                               # EOM(3)186	.section	.debug_addr,"",@progbits187	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution188.Ldebug_addr_start0:189	.short	5                               # DWARF version number190	.byte	8                               # Address size191	.byte	0                               # Segment selector size192.Laddr_table_base0:193	.quad	.Lfunc_begin0194.Ldebug_addr_end0:195	.section	.debug_gnu_pubnames,"",@progbits196	.long	.LpubNames_end0-.LpubNames_start0 # Length of Public Names Info197.LpubNames_start0:198	.short	2                               # DWARF Version199	.long	.Lcu_begin0                     # Offset of Compilation Unit Info200	.long	40                              # Compilation Unit Length201	.long	26                              # DIE offset202	.byte	48                              # Attributes: FUNCTION, EXTERNAL203	.asciz	"main"                          # External Name204	.long	0                               # End Mark205.LpubNames_end0:206	.section	.debug_gnu_pubtypes,"",@progbits207	.long	.LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info208.LpubTypes_start0:209	.short	2                               # DWARF Version210	.long	.Lcu_begin0                     # Offset of Compilation Unit Info211	.long	40                              # Compilation Unit Length212	.long	41                              # DIE offset213	.byte	144                             # Attributes: TYPE, STATIC214	.asciz	"int"                           # External Name215	.long	0                               # End Mark216.LpubTypes_end0:217	.ident	"clang version 18.0.0"218	.section	".note.GNU-stack","",@progbits219	.addrsig220	.section	.debug_line,"",@progbits221.Lline_table_start0:222