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
278 lines
9.7 KiB
ArmAsm
278 lines
9.7 KiB
ArmAsm
# REQUIRES: x86
|
|
|
|
# RUN: split-file %s %t
|
|
# RUN: llvm-mc --triple=x86_64-pc-linux -filetype=obj %t/a.s -o %t/a.o
|
|
# RUN: %lldb %t/a.o -o "settings set target.source-map . %t" \
|
|
# RUN: -o "settings set interpreter.stop-command-source-on-error false" \
|
|
# RUN: -s %t/commands -o exit 2>&1 | FileCheck %s
|
|
|
|
#--- commands
|
|
# CASE 0: function at the start of the file
|
|
source list -n func0
|
|
# CHECK-LABEL: source list -n func0
|
|
# CHECK-NEXT: File: file0.c
|
|
# CHECK-NEXT: 1 content of file0.c:1
|
|
# CHECK-NEXT: 2 content of file0.c:2
|
|
# CHECK-NEXT: 3 content of file0.c:3
|
|
# CHECK-NEXT: 4 content of file0.c:4
|
|
# CHECK-NEXT: 5 content of file0.c:5
|
|
# CHECK-NEXT: 6 content of file0.c:6
|
|
# CHECK-NEXT: 7 content of file0.c:7
|
|
# CHECK-NEXT: 8 content of file0.c:8
|
|
# CHECK-NEXT: 9 content of file0.c:9
|
|
# CHECK-NEXT: 10 content of file0.c:10
|
|
|
|
# CASE 1: function in the middle of the file
|
|
source list -n func1
|
|
# CHECK-NEXT: source list -n func1
|
|
# CHECK-NEXT: File: file0.c
|
|
# CHECK-NEXT: 5 content of file0.c:5
|
|
# CHECK-NEXT: 6 content of file0.c:6
|
|
# CHECK-NEXT: 7 content of file0.c:7
|
|
# CHECK-NEXT: 8 content of file0.c:8
|
|
# CHECK-NEXT: 9 content of file0.c:9
|
|
# CHECK-NEXT: 10 content of file0.c:10
|
|
# CHECK-NEXT: 11 content of file0.c:11
|
|
# CHECK-NEXT: 12 content of file0.c:12
|
|
# CHECK-NEXT: 13 content of file0.c:13
|
|
# CHECK-NEXT: 14 content of file0.c:14
|
|
# CHECK-NEXT: 15 content of file0.c:15
|
|
# CHECK-NEXT: 16 content of file0.c:16
|
|
# CHECK-NEXT: 17 content of file0.c:17
|
|
|
|
# CASE 2: function at the end of the file
|
|
source list -n func2
|
|
# CHECK-NEXT: source list -n func2
|
|
# CHECK-NEXT: File: file0.c
|
|
# CHECK-NEXT: 20 content of file0.c:20
|
|
# CHECK-NEXT: 21 content of file0.c:21
|
|
# CHECK-NEXT: 22 content of file0.c:22
|
|
# CHECK-NEXT: 23 content of file0.c:23
|
|
# CHECK-NEXT: 24 content of file0.c:24
|
|
# CHECK-NEXT: 25 content of file0.c:25
|
|
# CHECK-NEXT: 26 content of file0.c:26
|
|
# CHECK-NEXT: 27 content of file0.c:27
|
|
# CHECK-NEXT: 28 content of file0.c:28
|
|
# CHECK-NEXT: 29 content of file0.c:29
|
|
# CHECK-NEXT: 30 content of file0.c:30
|
|
|
|
# CASE 3: function ends in a different file
|
|
source list -n func3
|
|
# CHECK-NEXT: source list -n func3
|
|
# CHECK-NEXT: File: file0.c
|
|
# CHECK-NEXT: 1 content of file0.c:1
|
|
# CHECK-NEXT: 2 content of file0.c:2
|
|
# CHECK-NEXT: 3 content of file0.c:3
|
|
# CHECK-NEXT: 4 content of file0.c:4
|
|
# CHECK-NEXT: 5 content of file0.c:5
|
|
# CHECK-NEXT: 6 content of file0.c:6
|
|
# CHECK-NEXT: 7 content of file0.c:7
|
|
# CHECK-NEXT: 8 content of file0.c:8
|
|
# CHECK-NEXT: 9 content of file0.c:9
|
|
# CHECK-NEXT: 10 content of file0.c:10
|
|
|
|
# CASE 4: function has no line entry with line!=0
|
|
source list -n func4
|
|
# CHECK-LABEL: source list -n func4
|
|
# CHECK: error: Could not find line information for function "func4".
|
|
|
|
# CASE 5: discontinuous function
|
|
source list -n func5
|
|
# CHECK-LABEL: source list -n func5
|
|
# CHECK-NEXT: File: file0.c
|
|
# CHECK-NEXT: 1 content of file0.c:1
|
|
# CHECK-NEXT: 2 content of file0.c:2
|
|
# CHECK-NEXT: 3 content of file0.c:3
|
|
# CHECK-NEXT: 4 content of file0.c:4
|
|
# CHECK-NEXT: 5 content of file0.c:5
|
|
# CHECK-NEXT: 6 content of file0.c:6
|
|
# CHECK-NEXT: 7 content of file0.c:7
|
|
# CHECK-NEXT: 8 content of file0.c:8
|
|
# CHECK-NEXT: 9 content of file0.c:9
|
|
# CHECK-NEXT: 10 content of file0.c:10
|
|
|
|
|
|
#--- a.s
|
|
.file 0 "." "file0.c"
|
|
.file 1 "." "file1.c"
|
|
.text
|
|
func0:
|
|
.loc 0 1
|
|
nop
|
|
.loc 0 5
|
|
nop
|
|
.Lfunc0_end:
|
|
|
|
func1:
|
|
.loc 0 10
|
|
nop
|
|
.loc 0 12
|
|
nop
|
|
.Lfunc1_end:
|
|
|
|
func2:
|
|
.loc 0 25
|
|
nop
|
|
.loc 0 30
|
|
nop
|
|
.Lfunc2_end:
|
|
|
|
func3:
|
|
.loc 0 1
|
|
nop
|
|
.loc 0 5
|
|
nop
|
|
.loc 1 5
|
|
nop
|
|
.Lfunc3_end:
|
|
|
|
func4:
|
|
.loc 0 0
|
|
nop
|
|
.Lfunc4_end:
|
|
|
|
func5.__part.1:
|
|
.loc 0 1
|
|
nop
|
|
.Lfunc5.__part.1_end:
|
|
|
|
.Lpadding:
|
|
nop
|
|
|
|
func5:
|
|
.loc 0 5
|
|
nop
|
|
.Lfunc5_end:
|
|
|
|
.Ltext_end:
|
|
|
|
.section .debug_abbrev,"",@progbits
|
|
.byte 1 # Abbreviation Code
|
|
.byte 17 # DW_TAG_compile_unit
|
|
.byte 1 # DW_CHILDREN_yes
|
|
.byte 3 # DW_AT_name
|
|
.byte 8 # DW_FORM_string
|
|
.byte 37 # DW_AT_producer
|
|
.byte 8 # DW_FORM_string
|
|
.byte 19 # DW_AT_language
|
|
.byte 5 # DW_FORM_data2
|
|
.byte 17 # DW_AT_low_pc
|
|
.byte 1 # DW_FORM_addr
|
|
.byte 18 # DW_AT_high_pc
|
|
.byte 1 # DW_FORM_addr
|
|
.byte 16 # DW_AT_stmt_list
|
|
.byte 23 # DW_FORM_sec_offset
|
|
.byte 0 # EOM(1)
|
|
.byte 0 # EOM(2)
|
|
.byte 2 # Abbreviation Code
|
|
.byte 46 # DW_TAG_subprogram
|
|
.byte 0 # DW_CHILDREN_no
|
|
.byte 17 # DW_AT_low_pc
|
|
.byte 1 # DW_FORM_addr
|
|
.byte 18 # DW_AT_high_pc
|
|
.byte 1 # DW_FORM_addr
|
|
.byte 3 # DW_AT_name
|
|
.byte 8 # DW_FORM_string
|
|
.byte 0 # EOM(1)
|
|
.byte 0 # EOM(2)
|
|
.byte 3 # Abbreviation Code
|
|
.byte 46 # DW_TAG_subprogram
|
|
.byte 0 # DW_CHILDREN_no
|
|
.byte 85 # DW_AT_ranges
|
|
.byte 23 # DW_FORM_sec_offset
|
|
.byte 3 # DW_AT_name
|
|
.byte 8 # DW_FORM_string
|
|
.byte 0 # EOM(1)
|
|
.byte 0 # EOM(2)
|
|
.byte 0 # EOM(3)
|
|
.section .debug_info,"",@progbits
|
|
.Lcu_begin0:
|
|
.long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
|
|
.Ldebug_info_start0:
|
|
.short 5 # DWARF version number
|
|
.byte 1 # DWARF Unit Type
|
|
.byte 8 # Address Size (in bytes)
|
|
.long .debug_abbrev # Offset Into Abbrev. Section
|
|
.byte 1 # Abbrev DW_TAG_compile_unit
|
|
.asciz "file0.c" # DW_AT_producer
|
|
.asciz "Hand-written DWARF" # DW_AT_producer
|
|
.short 29 # DW_AT_language
|
|
.quad .text # DW_AT_low_pc
|
|
.quad .Ltext_end # DW_AT_high_pc
|
|
.long .Lline_table_start0 # DW_AT_stmt_list
|
|
.rept 5
|
|
.byte 2 # Abbrev DW_TAG_subprogram
|
|
.quad func\+ # DW_AT_low_pc
|
|
.quad .Lfunc\+_end # DW_AT_high_pc
|
|
.asciz "func\+" # DW_AT_name
|
|
.endr
|
|
.byte 3 # Abbrev DW_TAG_subprogram
|
|
.long .Ldebug_ranges0
|
|
.asciz "func5" # DW_AT_name
|
|
.byte 0 # End Of Children Mark
|
|
.Ldebug_info_end0:
|
|
|
|
.section .debug_rnglists,"",@progbits
|
|
.long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length
|
|
.Ldebug_list_header_start0:
|
|
.short 5 # Version
|
|
.byte 8 # Address size
|
|
.byte 0 # Segment selector size
|
|
.long 2 # Offset entry count
|
|
.Lrnglists_table_base0:
|
|
.long .Ldebug_ranges0-.Lrnglists_table_base0
|
|
.Ldebug_ranges0:
|
|
.byte 6 # DW_RLE_start_end
|
|
.quad func5
|
|
.quad .Lfunc5_end
|
|
.byte 6 # DW_RLE_start_end
|
|
.quad func5.__part.1
|
|
.quad .Lfunc5.__part.1_end
|
|
.byte 0 # DW_RLE_end_of_list
|
|
.Ldebug_list_header_end0:
|
|
.section .debug_line,"",@progbits
|
|
.Lline_table_start0:
|
|
|
|
#--- file0.c
|
|
content of file0.c:1
|
|
content of file0.c:2
|
|
content of file0.c:3
|
|
content of file0.c:4
|
|
content of file0.c:5
|
|
content of file0.c:6
|
|
content of file0.c:7
|
|
content of file0.c:8
|
|
content of file0.c:9
|
|
content of file0.c:10
|
|
content of file0.c:11
|
|
content of file0.c:12
|
|
content of file0.c:13
|
|
content of file0.c:14
|
|
content of file0.c:15
|
|
content of file0.c:16
|
|
content of file0.c:17
|
|
content of file0.c:18
|
|
content of file0.c:19
|
|
content of file0.c:20
|
|
content of file0.c:21
|
|
content of file0.c:22
|
|
content of file0.c:23
|
|
content of file0.c:24
|
|
content of file0.c:25
|
|
content of file0.c:26
|
|
content of file0.c:27
|
|
content of file0.c:28
|
|
content of file0.c:29
|
|
content of file0.c:30
|
|
#--- file1.c
|
|
content of file1.c:1
|
|
content of file1.c:2
|
|
content of file1.c:3
|
|
content of file1.c:4
|
|
content of file1.c:5
|
|
content of file1.c:6
|
|
content of file1.c:7
|
|
content of file1.c:8
|
|
content of file1.c:9
|
|
content of file1.c:10
|