Files
TheRock/compiler/amd-llvm/llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
T
derek.holloway 7502bf64a4
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
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

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 ]
...