CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
559 lines
17 KiB
YAML
559 lines
17 KiB
YAML
## Test that reconstructs a MachO binary from YAML and generates a callsite-enabled gsym from it - and then verifies the gsym.
|
|
## See llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info.test for the script to generate this yaml file
|
|
|
|
# RUN: split-file %s %t
|
|
# RUN: yaml2obj %t/call_sites.exe.yaml -o %t/call_sites.exe
|
|
|
|
# RUN: llvm-gsymutil --num-threads=1 --convert=%t/call_sites.exe --callsites-yaml-file=%t/callsites.yaml -o %t/call_sites_exe.gsym
|
|
|
|
# Dump the GSYM file and check the output for callsite information
|
|
# RUN: llvm-gsymutil %t/call_sites_exe.gsym | FileCheck --check-prefix=CHECK-GSYM %s
|
|
|
|
|
|
# CHECK-GSYM: FunctionInfo @ 0x[[#%x,]]: [0x[[#%x,]] - 0x[[#%x,]]) "func_mainBin_dec_call_everything"
|
|
# CHECK-GSYM-NEXT: CallSites (by relative return offset):
|
|
# CHECK-GSYM-NEXT: 0x[[#%x,]] Flags[InternalCall] MatchRegex[func_mainBin_dec_01]
|
|
# CHECK-GSYM-NEXT: 0x[[#%x,]] Flags[InternalCall] MatchRegex[func_mainBin_dec_02]
|
|
# CHECK-GSYM-NEXT: 0x[[#%x,]] Flags[InternalCall] MatchRegex[func_mainBin_dec_03]
|
|
# CHECK-GSYM-NEXT: 0x[[#%x,]] Flags[InternalCall] MatchRegex[func_mainBin_inc_01]
|
|
# CHECK-GSYM-NEXT: 0x[[#%x,]] Flags[InternalCall] MatchRegex[func_mainBin_inc_02]
|
|
# CHECK-GSYM-NEXT: 0x[[#%x,]] Flags[InternalCall] MatchRegex[func_mainBin_inc_03]
|
|
# CHECK-GSYM-NEXT: 0x[[#%x,]] Flags[None] MatchRegex[.*func.*]
|
|
# CHECK-GSYM-NEXT: 0x[[#%x,]] Flags[ExternalCall] MatchRegex[.*extern_func.*]
|
|
|
|
|
|
#--- callsites.yaml
|
|
functions:
|
|
- name: func_mainBin_dec_call_everything
|
|
callsites:
|
|
- return_offset: 0x0C
|
|
match_regex: ["func_mainBin_dec_01"]
|
|
flags:
|
|
- "InternalCall"
|
|
- return_offset: 0x10
|
|
match_regex: ["func_mainBin_dec_02"]
|
|
flags:
|
|
- "InternalCall"
|
|
- return_offset: 0x14
|
|
match_regex: ["func_mainBin_dec_03"]
|
|
flags:
|
|
- "InternalCall"
|
|
- return_offset: 24
|
|
match_regex: ["func_mainBin_inc_01"]
|
|
flags:
|
|
- "InternalCall"
|
|
- return_offset: 28
|
|
match_regex: ["func_mainBin_inc_02"]
|
|
flags:
|
|
- "InternalCall"
|
|
- return_offset: 32
|
|
match_regex: ["func_mainBin_inc_03"]
|
|
flags:
|
|
- "InternalCall"
|
|
- return_offset: 44
|
|
match_regex: [".*func.*"]
|
|
- return_offset: 56
|
|
match_regex: [".*extern_func.*"]
|
|
flags:
|
|
- "ExternalCall"
|
|
|
|
|
|
#--- call_sites.exe.yaml
|
|
--- !mach-o
|
|
FileHeader:
|
|
magic: 0xFEEDFACF
|
|
cputype: 0x100000C
|
|
cpusubtype: 0x0
|
|
filetype: 0x2
|
|
ncmds: 14
|
|
sizeofcmds: 760
|
|
flags: 0x200085
|
|
reserved: 0x0
|
|
LoadCommands:
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 72
|
|
segname: __PAGEZERO
|
|
vmaddr: 0
|
|
vmsize: 4294967296
|
|
fileoff: 0
|
|
filesize: 0
|
|
maxprot: 0
|
|
initprot: 0
|
|
nsects: 0
|
|
flags: 0
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 152
|
|
segname: __TEXT
|
|
vmaddr: 4294967296
|
|
vmsize: 16384
|
|
fileoff: 0
|
|
filesize: 16384
|
|
maxprot: 5
|
|
initprot: 5
|
|
nsects: 1
|
|
flags: 0
|
|
Sections:
|
|
- sectname: __text
|
|
segname: __TEXT
|
|
addr: 0x100000338
|
|
size: 216
|
|
offset: 0x338
|
|
align: 2
|
|
reloff: 0x0
|
|
nreloc: 0
|
|
flags: 0x80000400
|
|
reserved1: 0x0
|
|
reserved2: 0x0
|
|
reserved3: 0x0
|
|
content: 28000090090140B929050051090100B9C0035FD628000090090140B929050051090100B9C0035FD628000090090140B929050051090100B9C0035FD628000090090140B929050011090100B9C0035FD628000090090140B929050011090100B9C0035FD628000090090140B929050011090100B9C0035FD6FD7BBFA9FD030091E0FFFF97E4FFFF97E8FFFF97ECFFFF97F0FFFF97F4FFFF971F2003D5A8E1015800013FD61F2003D588E1015800013FD6280000901F0100B9FD7BC1A8C0035FD6FD7BBFA9FD030091ECFFFF9700008052FD7BC1A8C0035FD6
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 152
|
|
segname: __DATA
|
|
vmaddr: 4294983680
|
|
vmsize: 16384
|
|
fileoff: 16384
|
|
filesize: 0
|
|
maxprot: 3
|
|
initprot: 3
|
|
nsects: 1
|
|
flags: 0
|
|
Sections:
|
|
- sectname: __common
|
|
segname: __DATA
|
|
addr: 0x100004000
|
|
size: 24
|
|
offset: 0x0
|
|
align: 3
|
|
reloff: 0x0
|
|
nreloc: 0
|
|
flags: 0x1
|
|
reserved1: 0x0
|
|
reserved2: 0x0
|
|
reserved3: 0x0
|
|
- cmd: LC_SEGMENT_64
|
|
cmdsize: 72
|
|
segname: __LINKEDIT
|
|
vmaddr: 4295000064
|
|
vmsize: 1648
|
|
fileoff: 16384
|
|
filesize: 1648
|
|
maxprot: 1
|
|
initprot: 1
|
|
nsects: 0
|
|
flags: 0
|
|
- cmd: LC_DYLD_INFO_ONLY
|
|
cmdsize: 48
|
|
rebase_off: 0
|
|
rebase_size: 0
|
|
bind_off: 0
|
|
bind_size: 0
|
|
weak_bind_off: 0
|
|
weak_bind_size: 0
|
|
lazy_bind_off: 0
|
|
lazy_bind_size: 0
|
|
export_off: 16384
|
|
export_size: 232
|
|
- cmd: LC_SYMTAB
|
|
cmdsize: 24
|
|
symoff: 16632
|
|
nsyms: 34
|
|
stroff: 17176
|
|
strsize: 568
|
|
- cmd: LC_DYSYMTAB
|
|
cmdsize: 80
|
|
ilocalsym: 0
|
|
nlocalsym: 22
|
|
iextdefsym: 22
|
|
nextdefsym: 12
|
|
iundefsym: 34
|
|
nundefsym: 0
|
|
tocoff: 0
|
|
ntoc: 0
|
|
modtaboff: 0
|
|
nmodtab: 0
|
|
extrefsymoff: 0
|
|
nextrefsyms: 0
|
|
indirectsymoff: 0
|
|
nindirectsyms: 0
|
|
extreloff: 0
|
|
nextrel: 0
|
|
locreloff: 0
|
|
nlocrel: 0
|
|
- cmd: LC_LOAD_DYLINKER
|
|
cmdsize: 32
|
|
name: 12
|
|
Content: '/usr/lib/dyld'
|
|
ZeroPadBytes: 7
|
|
- cmd: LC_UUID
|
|
cmdsize: 24
|
|
uuid: 4C4C44E9-5555-3144-A1D3-328233D00078
|
|
- cmd: LC_BUILD_VERSION
|
|
cmdsize: 32
|
|
platform: 1
|
|
minos: 720896
|
|
sdk: 720896
|
|
ntools: 1
|
|
Tools:
|
|
- tool: 4
|
|
version: 1310720
|
|
- cmd: LC_MAIN
|
|
cmdsize: 24
|
|
entryoff: 1016
|
|
stacksize: 0
|
|
- cmd: LC_FUNCTION_STARTS
|
|
cmdsize: 16
|
|
dataoff: 16616
|
|
datasize: 16
|
|
- cmd: LC_DATA_IN_CODE
|
|
cmdsize: 16
|
|
dataoff: 16632
|
|
datasize: 0
|
|
- cmd: LC_CODE_SIGNATURE
|
|
cmdsize: 16
|
|
dataoff: 17744
|
|
datasize: 288
|
|
LinkEditData:
|
|
ExportTrie:
|
|
TerminalSize: 0
|
|
NodeOffset: 0
|
|
Name: ''
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 0
|
|
NodeOffset: 5
|
|
Name: _
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 2
|
|
NodeOffset: 52
|
|
Name: _mh_execute_header
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 56
|
|
Name: main
|
|
Flags: 0x0
|
|
Address: 0x3F8
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 0
|
|
NodeOffset: 61
|
|
Name: g_
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 4
|
|
NodeOffset: 104
|
|
Name: volatile_var
|
|
Flags: 0x0
|
|
Address: 0x4000
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 4
|
|
NodeOffset: 110
|
|
Name: func_ptr
|
|
Flags: 0x0
|
|
Address: 0x4008
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 4
|
|
NodeOffset: 116
|
|
Name: extern_func_ptr
|
|
Flags: 0x0
|
|
Address: 0x4010
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 0
|
|
NodeOffset: 122
|
|
Name: func_mainBin_
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 0
|
|
NodeOffset: 139
|
|
Name: dec_
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 3
|
|
NodeOffset: 163
|
|
Name: call_everything
|
|
Flags: 0x0
|
|
Address: 0x3B0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 0
|
|
NodeOffset: 168
|
|
Name: '0'
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 3
|
|
NodeOffset: 182
|
|
Name: '1'
|
|
Flags: 0x0
|
|
Address: 0x338
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 187
|
|
Name: '3'
|
|
Flags: 0x0
|
|
Address: 0x360
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 192
|
|
Name: '2'
|
|
Flags: 0x0
|
|
Address: 0x34C
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 0
|
|
NodeOffset: 197
|
|
Name: inc_0
|
|
Flags: 0x0
|
|
Address: 0x0
|
|
Other: 0x0
|
|
ImportName: ''
|
|
Children:
|
|
- TerminalSize: 3
|
|
NodeOffset: 211
|
|
Name: '2'
|
|
Flags: 0x0
|
|
Address: 0x388
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 216
|
|
Name: '1'
|
|
Flags: 0x0
|
|
Address: 0x374
|
|
Other: 0x0
|
|
ImportName: ''
|
|
- TerminalSize: 3
|
|
NodeOffset: 221
|
|
Name: '3'
|
|
Flags: 0x0
|
|
Address: 0x39C
|
|
Other: 0x0
|
|
ImportName: ''
|
|
NameList:
|
|
- n_strx: 235
|
|
n_type: 0x64
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 0
|
|
- n_strx: 295
|
|
n_type: 0x66
|
|
n_sect: 0
|
|
n_desc: 1
|
|
n_value: 0
|
|
- n_strx: 353
|
|
n_type: 0x24
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968312
|
|
- n_strx: 1
|
|
n_type: 0x24
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 24
|
|
- n_strx: 359
|
|
n_type: 0x24
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968120
|
|
- n_strx: 1
|
|
n_type: 0x24
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 20
|
|
- n_strx: 380
|
|
n_type: 0x24
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968140
|
|
- n_strx: 1
|
|
n_type: 0x24
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 20
|
|
- n_strx: 401
|
|
n_type: 0x24
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968160
|
|
- n_strx: 1
|
|
n_type: 0x24
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 20
|
|
- n_strx: 422
|
|
n_type: 0x24
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968180
|
|
- n_strx: 1
|
|
n_type: 0x24
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 20
|
|
- n_strx: 443
|
|
n_type: 0x24
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968200
|
|
- n_strx: 1
|
|
n_type: 0x24
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 20
|
|
- n_strx: 464
|
|
n_type: 0x24
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968220
|
|
- n_strx: 1
|
|
n_type: 0x24
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 20
|
|
- n_strx: 485
|
|
n_type: 0x24
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968240
|
|
- n_strx: 1
|
|
n_type: 0x24
|
|
n_sect: 0
|
|
n_desc: 0
|
|
n_value: 72
|
|
- n_strx: 519
|
|
n_type: 0x20
|
|
n_sect: 2
|
|
n_desc: 0
|
|
n_value: 4294983680
|
|
- n_strx: 535
|
|
n_type: 0x20
|
|
n_sect: 2
|
|
n_desc: 0
|
|
n_value: 4294983688
|
|
- n_strx: 547
|
|
n_type: 0x20
|
|
n_sect: 2
|
|
n_desc: 0
|
|
n_value: 4294983696
|
|
- n_strx: 1
|
|
n_type: 0x64
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 0
|
|
- n_strx: 2
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968312
|
|
- n_strx: 8
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968120
|
|
- n_strx: 29
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968140
|
|
- n_strx: 50
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968160
|
|
- n_strx: 71
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968180
|
|
- n_strx: 92
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968200
|
|
- n_strx: 113
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968220
|
|
- n_strx: 134
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 0
|
|
n_value: 4294968240
|
|
- n_strx: 168
|
|
n_type: 0xF
|
|
n_sect: 2
|
|
n_desc: 0
|
|
n_value: 4294983680
|
|
- n_strx: 184
|
|
n_type: 0xF
|
|
n_sect: 2
|
|
n_desc: 0
|
|
n_value: 4294983688
|
|
- n_strx: 196
|
|
n_type: 0xF
|
|
n_sect: 2
|
|
n_desc: 0
|
|
n_value: 4294983696
|
|
- n_strx: 215
|
|
n_type: 0xF
|
|
n_sect: 1
|
|
n_desc: 16
|
|
n_value: 4294967296
|
|
StringTable:
|
|
- ' '
|
|
- _main
|
|
- _func_mainBin_dec_01
|
|
- _func_mainBin_dec_02
|
|
- _func_mainBin_dec_03
|
|
- _func_mainBin_inc_01
|
|
- _func_mainBin_inc_02
|
|
- _func_mainBin_inc_03
|
|
- _func_mainBin_dec_call_everything
|
|
- _g_volatile_var
|
|
- _g_func_ptr
|
|
- _g_extern_func_ptr
|
|
- __mh_execute_header
|
|
- '/tmp/_______________________________________/call_sites.cpp'
|
|
- '/tmp/_______________________________________/call_sites.o'
|
|
- _main
|
|
- _func_mainBin_dec_01
|
|
- _func_mainBin_dec_02
|
|
- _func_mainBin_dec_03
|
|
- _func_mainBin_inc_01
|
|
- _func_mainBin_inc_02
|
|
- _func_mainBin_inc_03
|
|
- _func_mainBin_dec_call_everything
|
|
- _g_volatile_var
|
|
- _g_func_ptr
|
|
- _g_extern_func_ptr
|
|
- ''
|
|
- ''
|
|
FunctionStarts: [ 0x338, 0x34C, 0x360, 0x374, 0x388, 0x39C, 0x3B0, 0x3F8 ]
|
|
...
|