brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.5 KiB · 8599dd0 Raw
285 lines · plain
1# int foo() { return 0; }2# int main() { return foo(); }3# clang++ -ffunction-sections -g2 -gdwarf-4 -gsplit-dwarf -S main.cpp4 5	.text6	.file	"main.cpp"7	.section	.text._Z3foov,"ax",@progbits8	.globl	_Z3foov                         # -- Begin function _Z3foov9	.p2align	4, 0x9010	.type	_Z3foov,@function11_Z3foov:                                # @_Z3foov12.Lfunc_begin0:13	.file	1 "." "main.cpp"14	.loc	1 1 0                           # main.cpp:1:015	.cfi_startproc16# %bb.0:                                # %entry17	pushq	%rbp18	.cfi_def_cfa_offset 1619	.cfi_offset %rbp, -1620	movq	%rsp, %rbp21	.cfi_def_cfa_register %rbp22.Ltmp0:23	.loc	1 1 13 prologue_end             # main.cpp:1:1324	xorl	%eax, %eax25	.loc	1 1 13 epilogue_begin is_stmt 0 # main.cpp:1:1326	popq	%rbp27	.cfi_def_cfa %rsp, 828	retq29.Ltmp1:30.Lfunc_end0:31	.size	_Z3foov, .Lfunc_end0-_Z3foov32	.cfi_endproc33                                        # -- End function34	.section	.text.main,"ax",@progbits35	.globl	main                            # -- Begin function main36	.p2align	4, 0x9037	.type	main,@function38main:                                   # @main39.Lfunc_begin1:40	.loc	1 2 0 is_stmt 1                 # main.cpp:2:041	.cfi_startproc42# %bb.0:                                # %entry43	pushq	%rbp44	.cfi_def_cfa_offset 1645	.cfi_offset %rbp, -1646	movq	%rsp, %rbp47	.cfi_def_cfa_register %rbp48	subq	$16, %rsp49	movl	$0, -4(%rbp)50.Ltmp2:51	.loc	1 2 21 prologue_end             # main.cpp:2:2152	callq	_Z3foov53	.loc	1 2 14 epilogue_begin is_stmt 0 # main.cpp:2:1454	addq	$16, %rsp55	popq	%rbp56	.cfi_def_cfa %rsp, 857	retq58.Ltmp3:59.Lfunc_end1:60	.size	main, .Lfunc_end1-main61	.cfi_endproc62                                        # -- End function63	.section	.debug_abbrev,"",@progbits64	.byte	1                               # Abbreviation Code65	.byte	17                              # DW_TAG_compile_unit66	.byte	0                               # DW_CHILDREN_no67	.byte	16                              # DW_AT_stmt_list68	.byte	23                              # DW_FORM_sec_offset69	.byte	27                              # DW_AT_comp_dir70	.byte	14                              # DW_FORM_strp71	.ascii	"\264B"                         # DW_AT_GNU_pubnames72	.byte	25                              # DW_FORM_flag_present73	.ascii	"\260B"                         # DW_AT_GNU_dwo_name74	.byte	14                              # DW_FORM_strp75	.ascii	"\261B"                         # DW_AT_GNU_dwo_id76	.byte	7                               # DW_FORM_data877	.byte	17                              # DW_AT_low_pc78	.byte	1                               # DW_FORM_addr79	.byte	85                              # DW_AT_ranges80	.byte	23                              # DW_FORM_sec_offset81	.ascii	"\263B"                         # DW_AT_GNU_addr_base82	.byte	23                              # DW_FORM_sec_offset83	.byte	0                               # EOM(1)84	.byte	0                               # EOM(2)85	.byte	0                               # EOM(3)86	.section	.debug_info,"",@progbits87.Lcu_begin0:88	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit89.Ldebug_info_start0:90	.short	4                               # DWARF version number91	.long	.debug_abbrev                   # Offset Into Abbrev. Section92	.byte	8                               # Address Size (in bytes)93	.byte	1                               # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit94	.long	.Lline_table_start0             # DW_AT_stmt_list95	.long	.Lskel_string0                  # DW_AT_comp_dir96                                        # DW_AT_GNU_pubnames97	.long	.Lskel_string1                  # DW_AT_GNU_dwo_name98	.quad	-252790171939032967             # DW_AT_GNU_dwo_id99	.quad	0                               # DW_AT_low_pc100	.long	.Ldebug_ranges0                 # DW_AT_ranges101	.long	.Laddr_table_base0              # DW_AT_GNU_addr_base102.Ldebug_info_end0:103	.section	.debug_ranges,"",@progbits104.Ldebug_ranges0:105	.quad	.Lfunc_begin0106	.quad	.Lfunc_end0107	.quad	.Lfunc_begin1108	.quad	.Lfunc_end1109	.quad	0110	.quad	0111	.section	.debug_str,"MS",@progbits,1112.Lskel_string0:113	.asciz	"." # string offset=0114.Lskel_string1:115	.asciz	"main.dwo"                      # string offset=58116	.section	.debug_str.dwo,"eMS",@progbits,1117.Linfo_string0:118	.asciz	"_Z3foov"                       # string offset=0119.Linfo_string1:120	.asciz	"foo"                           # string offset=8121.Linfo_string2:122	.asciz	"int"                           # string offset=12123.Linfo_string3:124	.asciz	"main"                          # string offset=16125.Linfo_string4:126	.asciz	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)" # string offset=21127.Linfo_string5:128	.asciz	"main.cpp"                      # string offset=126129.Linfo_string6:130	.asciz	"main.dwo"                      # string offset=135131	.section	.debug_str_offsets.dwo,"e",@progbits132	.long	0133	.long	8134	.long	12135	.long	16136	.long	21137	.long	126138	.long	135139	.section	.debug_info.dwo,"e",@progbits140	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit141.Ldebug_info_dwo_start0:142	.short	4                               # DWARF version number143	.long	0                               # Offset Into Abbrev. Section144	.byte	8                               # Address Size (in bytes)145	.byte	1                               # Abbrev [1] 0xb:0x32 DW_TAG_compile_unit146	.byte	4                               # DW_AT_producer147	.short	33                              # DW_AT_language148	.byte	5                               # DW_AT_name149	.byte	6                               # DW_AT_GNU_dwo_name150	.quad	-252790171939032967             # DW_AT_GNU_dwo_id151	.byte	2                               # Abbrev [2] 0x19:0x10 DW_TAG_subprogram152	.byte	0                               # DW_AT_low_pc153	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc154	.byte	1                               # DW_AT_frame_base155	.byte	86156	.byte	0                               # DW_AT_linkage_name157	.byte	1                               # DW_AT_name158	.byte	1                               # DW_AT_decl_file159	.byte	1                               # DW_AT_decl_line160	.long	56                              # DW_AT_type161                                        # DW_AT_external162	.byte	3                               # Abbrev [3] 0x29:0xf DW_TAG_subprogram163	.byte	1                               # DW_AT_low_pc164	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc165	.byte	1                               # DW_AT_frame_base166	.byte	86167	.byte	3                               # DW_AT_name168	.byte	1                               # DW_AT_decl_file169	.byte	2                               # DW_AT_decl_line170	.long	56                              # DW_AT_type171                                        # DW_AT_external172	.byte	4                               # Abbrev [4] 0x38:0x4 DW_TAG_base_type173	.byte	2                               # DW_AT_name174	.byte	5                               # DW_AT_encoding175	.byte	4                               # DW_AT_byte_size176	.byte	0                               # End Of Children Mark177.Ldebug_info_dwo_end0:178	.section	.debug_abbrev.dwo,"e",@progbits179	.byte	1                               # Abbreviation Code180	.byte	17                              # DW_TAG_compile_unit181	.byte	1                               # DW_CHILDREN_yes182	.byte	37                              # DW_AT_producer183	.ascii	"\202>"                         # DW_FORM_GNU_str_index184	.byte	19                              # DW_AT_language185	.byte	5                               # DW_FORM_data2186	.byte	3                               # DW_AT_name187	.ascii	"\202>"                         # DW_FORM_GNU_str_index188	.ascii	"\260B"                         # DW_AT_GNU_dwo_name189	.ascii	"\202>"                         # DW_FORM_GNU_str_index190	.ascii	"\261B"                         # DW_AT_GNU_dwo_id191	.byte	7                               # DW_FORM_data8192	.byte	0                               # EOM(1)193	.byte	0                               # EOM(2)194	.byte	2                               # Abbreviation Code195	.byte	46                              # DW_TAG_subprogram196	.byte	0                               # DW_CHILDREN_no197	.byte	17                              # DW_AT_low_pc198	.ascii	"\201>"                         # DW_FORM_GNU_addr_index199	.byte	18                              # DW_AT_high_pc200	.byte	6                               # DW_FORM_data4201	.byte	64                              # DW_AT_frame_base202	.byte	24                              # DW_FORM_exprloc203	.byte	110                             # DW_AT_linkage_name204	.ascii	"\202>"                         # DW_FORM_GNU_str_index205	.byte	3                               # DW_AT_name206	.ascii	"\202>"                         # DW_FORM_GNU_str_index207	.byte	58                              # DW_AT_decl_file208	.byte	11                              # DW_FORM_data1209	.byte	59                              # DW_AT_decl_line210	.byte	11                              # DW_FORM_data1211	.byte	73                              # DW_AT_type212	.byte	19                              # DW_FORM_ref4213	.byte	63                              # DW_AT_external214	.byte	25                              # DW_FORM_flag_present215	.byte	0                               # EOM(1)216	.byte	0                               # EOM(2)217	.byte	3                               # Abbreviation Code218	.byte	46                              # DW_TAG_subprogram219	.byte	0                               # DW_CHILDREN_no220	.byte	17                              # DW_AT_low_pc221	.ascii	"\201>"                         # DW_FORM_GNU_addr_index222	.byte	18                              # DW_AT_high_pc223	.byte	6                               # DW_FORM_data4224	.byte	64                              # DW_AT_frame_base225	.byte	24                              # DW_FORM_exprloc226	.byte	3                               # DW_AT_name227	.ascii	"\202>"                         # DW_FORM_GNU_str_index228	.byte	58                              # DW_AT_decl_file229	.byte	11                              # DW_FORM_data1230	.byte	59                              # DW_AT_decl_line231	.byte	11                              # DW_FORM_data1232	.byte	73                              # DW_AT_type233	.byte	19                              # DW_FORM_ref4234	.byte	63                              # DW_AT_external235	.byte	25                              # DW_FORM_flag_present236	.byte	0                               # EOM(1)237	.byte	0                               # EOM(2)238	.byte	4                               # Abbreviation Code239	.byte	36                              # DW_TAG_base_type240	.byte	0                               # DW_CHILDREN_no241	.byte	3                               # DW_AT_name242	.ascii	"\202>"                         # DW_FORM_GNU_str_index243	.byte	62                              # DW_AT_encoding244	.byte	11                              # DW_FORM_data1245	.byte	11                              # DW_AT_byte_size246	.byte	11                              # DW_FORM_data1247	.byte	0                               # EOM(1)248	.byte	0                               # EOM(2)249	.byte	0                               # EOM(3)250	.section	.debug_addr,"",@progbits251.Laddr_table_base0:252	.quad	.Lfunc_begin0253	.quad	.Lfunc_begin1254	.section	.debug_gnu_pubnames,"",@progbits255	.long	.LpubNames_end0-.LpubNames_start0 # Length of Public Names Info256.LpubNames_start0:257	.short	2                               # DWARF Version258	.long	.Lcu_begin0                     # Offset of Compilation Unit Info259	.long	48                              # Compilation Unit Length260	.long	41                              # DIE offset261	.byte	48                              # Attributes: FUNCTION, EXTERNAL262	.asciz	"main"                          # External Name263	.long	25                              # DIE offset264	.byte	48                              # Attributes: FUNCTION, EXTERNAL265	.asciz	"foo"                           # External Name266	.long	0                               # End Mark267.LpubNames_end0:268	.section	.debug_gnu_pubtypes,"",@progbits269	.long	.LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info270.LpubTypes_start0:271	.short	2                               # DWARF Version272	.long	.Lcu_begin0                     # Offset of Compilation Unit Info273	.long	48                              # Compilation Unit Length274	.long	56                              # DIE offset275	.byte	144                             # Attributes: TYPE, STATIC276	.asciz	"int"                           # External Name277	.long	0                               # End Mark278.LpubTypes_end0:279	.ident	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)"280	.section	".note.GNU-stack","",@progbits281	.addrsig282	.addrsig_sym _Z3foov283	.section	.debug_line,"",@progbits284.Lline_table_start0:285