gnu_call_site.s
3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# RUN: llvm-mc %s -filetype obj -triple i686-pc-linux -o %t
# RUN: llvm-dwarfdump %t | FileCheck %s
# CHECK: DW_TAG_subprogram
# CHECK-NEXT: DW_AT_external (true)
# CHECK-NEXT: DW_AT_name ("fn4")
# CHECK-NEXT: DW_AT_linkage_name ("test")
# CHECK-NEXT: DW_AT_low_pc (0x0000000000000000)
# CHECK-NEXT: DW_AT_high_pc (0x0000000000000000)
# CHECK-NEXT: DW_AT_frame_base (DW_OP_call_frame_cfa)
# CHECK-NEXT: DW_AT_GNU_all_call_sites (true)
# CHECK: DW_TAG_GNU_call_site
# CHECK-NEXT: DW_AT_low_pc (0x0000000000000000)
# CHECK-NEXT: DW_AT_abstract_origin (0x00000021 "test")
# CHECK: DW_TAG_GNU_call_site_parameter
# CHECK-NEXT: DW_AT_location (DW_OP_reg0 EAX)
# CHECK-NEXT: DW_AT_GNU_call_site_value (DW_OP_addr 0x0)
.section .debug_info,"",@progbits
.long 0x47
.value 0x4
.long 0
.byte 0x4
.uleb128 0x1 # DW_TAG_compile_unit [1]
.long 0
.byte 0x0
.long 0
.long 0
.long 0
.long 0
.uleb128 0xe # DW_TAG_subprogram [14]
.string "fn4"
.long 0
.long 0
.long 0
.uleb128 0x1 # DW_AT_GNU_all_call_sites
.byte 0x9c
.uleb128 0x12 # DW_TAG_GNU_call_site [18]
.long 0x0
.long 0x21
.uleb128 0x13 # DW_TAG_GNU_call_site_parameter [19]
.uleb128 0x1
.byte 0x50
.uleb128 0x5
.byte 0x3
.long X
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.section .debug_abbrev,"",@progbits
.uleb128 0x1
.uleb128 0x11 # DW_TAG_compile_unit, DW_CHILDREN_yes
.byte 0x1
.uleb128 0x25 # DW_AT_producer, DW_FORM_strp
.uleb128 0xe
.uleb128 0x13 # DW_AT_language, DW_FORM_data1
.uleb128 0xb
.uleb128 0x3 # DW_AT_name, DW_FORM_strp
.uleb128 0xe
.uleb128 0x1b # DW_AT_comp_dir, DW_FORM_strp
.uleb128 0xe
.uleb128 0x11 # DW_AT_low_pc, DW_FORM_addr
.uleb128 0x1
.uleb128 0x12 # DW_AT_high_pc, DW_FORM_data4
.uleb128 0x6
.byte 0
.byte 0
.uleb128 0xe # [14]
.uleb128 0x2e # DW_TAG_subprogram, DW_CHILDREN_yes
.byte 0x1
.uleb128 0x3f # DW_AT_external, DW_FORM_flag_present
.uleb128 0x19
.uleb128 0x3 # DW_AT_name, DW_FORM_string
.uleb128 0x8
.uleb128 0x6e # DW_AT_linkage_name, DW_FORM_strp
.uleb128 0xe
.uleb128 0x11 # DW_AT_low_pc, DW_FORM_addr
.uleb128 0x1
.uleb128 0x12 # DW_AT_high_pc, DW_FORM_data4
.uleb128 0x6
.uleb128 0x40 # DW_AT_frame_base, DW_FORM_exprloc
.uleb128 0x18
.uleb128 0x2117 # DW_AT_GNU_all_call_sites, DW_FORM_flag_present
.uleb128 0x19
.byte 0
.byte 0
.uleb128 0x12 # [18]
.uleb128 0x4109 # DW_TAG_GNU_call_site, DW_CHILDREN_yes
.byte 0x1
.uleb128 0x11 # DW_AT_low_pc, DW_FORM_addr
.uleb128 0x1
.uleb128 0x31 # DW_AT_abstract_origin, DW_FORM_ref4
.uleb128 0x13
.byte 0
.byte 0
.uleb128 0x13 # [19]
.uleb128 0x410a # DW_TAG_GNU_call_site_parameter, DW_CHILDREN_no
.byte 0
.uleb128 0x2 # DW_AT_location, DW_FORM_exprloc
.uleb128 0x18
.uleb128 0x2111 # DW_AT_GNU_call_site_value, DW_FORM_exprloc
.uleb128 0x18
.byte 0
.byte 0
.byte 0
.section .debug_str,"MS",@progbits,1
.string "test"