brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · b94b787 Raw
153 lines · plain
1# REQUIRES: lld2 3# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj > %t.o4# RUN: ld.lld %t.o -o %t -z separate-code5# RUN: lldb-test symbols --find=function --name=inl --function-flags=method %t \6# RUN:   | FileCheck %s7 8# CHECK: Function: {{.*}} mangled = "_Z8externali"9# CHECK: Blocks: {{.*}} range = [0x00201000-0x00201002)10# CHECK-NEXT: range = [0x00201000-0x00201002), name = "inl", mangled = _ZN1S3inlEi11 12 13# Generated via:14#   clang -O2 -g -S15 16# from file:17#   int forward(int);18#   struct S {19#     static int inl(int a) { return forward(a); }20#   };21#   int external(int a) { return S::inl(a); }22 23# and then simplified.24 25	.text26_Z8externali:27.Lfunc_begin0:28	jmp	_Z7forwardi29.Lfunc_end0:30 31.globl _start32_start:33_Z7forwardi:34        ret35 36	.section	.debug_str,"MS",@progbits,137.Linfo_string0:38	.asciz	"clang version 7.0.0 (trunk 332830) (llvm/trunk 332835) with manual modifications"39.Linfo_string3:40	.asciz	"_ZN1S3inlEi"41.Linfo_string4:42	.asciz	"inl"43.Linfo_string6:44	.asciz	"S"45.Linfo_string8:46	.asciz	"_Z8externali"47.Linfo_string9:48	.asciz	"external"49	.section	.debug_abbrev,"",@progbits50	.byte	1                       # Abbreviation Code51	.byte	17                      # DW_TAG_compile_unit52	.byte	1                       # DW_CHILDREN_yes53	.byte	37                      # DW_AT_producer54	.byte	14                      # DW_FORM_strp55	.byte	19                      # DW_AT_language56	.byte	5                       # DW_FORM_data257	.byte	17                      # DW_AT_low_pc58	.byte	1                       # DW_FORM_addr59	.byte	18                      # DW_AT_high_pc60	.byte	6                       # DW_FORM_data461	.byte	0                       # EOM(1)62	.byte	0                       # EOM(2)63	.byte	2                       # Abbreviation Code64	.byte	19                      # DW_TAG_structure_type65	.byte	1                       # DW_CHILDREN_yes66	.byte	3                       # DW_AT_name67	.byte	14                      # DW_FORM_strp68	.byte	11                      # DW_AT_byte_size69	.byte	11                      # DW_FORM_data170	.byte	0                       # EOM(1)71	.byte	0                       # EOM(2)72	.byte	3                       # Abbreviation Code73	.byte	46                      # DW_TAG_subprogram74	.byte	0                       # DW_CHILDREN_no75	.byte	110                     # DW_AT_linkage_name76	.byte	14                      # DW_FORM_strp77	.byte	3                       # DW_AT_name78	.byte	14                      # DW_FORM_strp79	.byte	0                       # EOM(1)80	.byte	0                       # EOM(2)81	.byte	6                       # Abbreviation Code82	.byte	46                      # DW_TAG_subprogram83	.byte	0                       # DW_CHILDREN_no84	.byte	71                      # DW_AT_specification85	.byte	19                      # DW_FORM_ref486	.byte	32                      # DW_AT_inline87	.byte	11                      # DW_FORM_data188	.byte	0                       # EOM(1)89	.byte	0                       # EOM(2)90	.byte	8                       # Abbreviation Code91	.byte	46                      # DW_TAG_subprogram92	.byte	1                       # DW_CHILDREN_yes93	.byte	17                      # DW_AT_low_pc94	.byte	1                       # DW_FORM_addr95	.byte	18                      # DW_AT_high_pc96	.byte	6                       # DW_FORM_data497	.byte	110                     # DW_AT_linkage_name98	.byte	14                      # DW_FORM_strp99	.byte	3                       # DW_AT_name100	.byte	14                      # DW_FORM_strp101	.byte	0                       # EOM(1)102	.byte	0                       # EOM(2)103	.byte	10                      # Abbreviation Code104	.byte	29                      # DW_TAG_inlined_subroutine105	.byte	1                       # DW_CHILDREN_yes106	.byte	49                      # DW_AT_abstract_origin107	.byte	19                      # DW_FORM_ref4108	.byte	17                      # DW_AT_low_pc109	.byte	1                       # DW_FORM_addr110	.byte	18                      # DW_AT_high_pc111	.byte	6                       # DW_FORM_data4112	.byte	0                       # EOM(1)113	.byte	0                       # EOM(2)114	.byte	0                       # EOM(3)115	.section	.debug_info,"",@progbits116.Lcu_begin0:117	.long	.Lcu_end0-.Lcu_start0   # Length of Unit118.Lcu_start0:119	.short	4                       # DWARF version number120	.long	.debug_abbrev           # Offset Into Abbrev. Section121	.byte	8                       # Address Size (in bytes)122	.byte	1                       # Abbrev [1] 0xb:0x9e DW_TAG_compile_unit123	.long	.Linfo_string0          # DW_AT_producer124	.short	4                       # DW_AT_language125	.quad	.Lfunc_begin0           # DW_AT_low_pc126	.long	.Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc127	.byte	2                       # Abbrev [2] 0x2a:0x1f DW_TAG_structure_type128	.long	.Linfo_string6          # DW_AT_name129	.byte	1                       # DW_AT_byte_size130.Linl_spec:131	.byte	3                       # Abbrev [3] 0x33:0x15 DW_TAG_subprogram132	.long	.Linfo_string3          # DW_AT_linkage_name133	.long	.Linfo_string4          # DW_AT_name134	.byte	0                       # End Of Children Mark135.Linl_abstract:136	.byte	6                       # Abbrev [6] 0x50:0x12 DW_TAG_subprogram137	.long	.Linl_spec              # DW_AT_specification138	.byte	1                       # DW_AT_inline139.Linl_a_abstract:140	.byte	8                       # Abbrev [8] 0x62:0x46 DW_TAG_subprogram141	.quad	.Lfunc_begin0           # DW_AT_low_pc142	.long	.Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc143	.long	.Linfo_string8          # DW_AT_linkage_name144	.long	.Linfo_string9          # DW_AT_name145	.byte	10                      # Abbrev [10] 0x8c:0x1b DW_TAG_inlined_subroutine146	.long	.Linl_abstract          # DW_AT_abstract_origin147	.quad	.Lfunc_begin0           # DW_AT_low_pc148	.long	.Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc149	.byte	0                       # End Of Children Mark150	.byte	0                       # End Of Children Mark151	.byte	0                       # End Of Children Mark152.Lcu_end0:153