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
143 lines
6.3 KiB
ArmAsm
143 lines
6.3 KiB
ArmAsm
## Test that lldb handles (mainly, that it doesn't crash) the situation where
|
|
## two skeleton compile units have the same DWO ID (and try to claim the same
|
|
## split unit from the DWP file. This can sometimes happen when the compile unit
|
|
## is nearly empty (e.g. because LTO has optimized all of it away).
|
|
|
|
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s --defsym MAIN=0 > %t
|
|
# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj %s > %t.dwp
|
|
# RUN: %lldb %t -o "image lookup -t my_enum_type" \
|
|
# RUN: -o "image dump separate-debug-info" -o exit | FileCheck %s
|
|
|
|
## Check that we're able to access the type within the split unit (no matter
|
|
## which skeleton unit it ends up associated with). Completely ignoring the unit
|
|
## might also be reasonable.
|
|
# CHECK: image lookup -t my_enum_type
|
|
# CHECK: 1 match found
|
|
# CHECK: name = "my_enum_type", byte-size = 4, compiler_type = "enum my_enum_type {
|
|
# CHECK-NEXT: }"
|
|
#
|
|
## Check that we get some indication of the error.
|
|
# CHECK: image dump separate-debug-info
|
|
# CHECK: Dwo ID Err Dwo Path
|
|
# CHECK: 0xdeadbeefbaadf00d E multiple compile units with Dwo ID 0xdeadbeefbaadf00d
|
|
|
|
.set DWO_ID, 0xdeadbeefbaadf00d
|
|
|
|
## The main file.
|
|
.ifdef MAIN
|
|
.section .debug_abbrev,"",@progbits
|
|
.byte 1 # Abbreviation Code
|
|
.byte 74 # DW_TAG_compile_unit
|
|
.byte 0 # DW_CHILDREN_no
|
|
.byte 0x76 # DW_AT_dwo_name
|
|
.byte 8 # DW_FORM_string
|
|
.byte 0 # EOM(1)
|
|
.byte 0 # EOM(2)
|
|
.byte 0 # EOM(3)
|
|
|
|
|
|
.section .debug_info,"",@progbits
|
|
.irpc I,01
|
|
.Lcu_begin\I:
|
|
.long .Ldebug_info_end\I-.Ldebug_info_start\I # Length of Unit
|
|
.Ldebug_info_start\I:
|
|
.short 5 # DWARF version number
|
|
.byte 4 # DWARF Unit Type
|
|
.byte 8 # Address Size (in bytes)
|
|
.long .debug_abbrev # Offset Into Abbrev. Section
|
|
.quad DWO_ID # DWO id
|
|
.byte 1 # Abbrev [1] DW_TAG_compile_unit
|
|
.ascii "foo"
|
|
.byte '0' + \I
|
|
.asciz ".dwo\0" # DW_AT_dwo_name
|
|
.Ldebug_info_end\I:
|
|
.endr
|
|
|
|
.else
|
|
## DWP file starts here.
|
|
|
|
.section .debug_abbrev.dwo,"e",@progbits
|
|
.LAbbrevBegin:
|
|
.byte 1 # Abbreviation Code
|
|
.byte 17 # DW_TAG_compile_unit
|
|
.byte 1 # DW_CHILDREN_yes
|
|
.byte 37 # DW_AT_producer
|
|
.byte 8 # DW_FORM_string
|
|
.byte 19 # DW_AT_language
|
|
.byte 5 # DW_FORM_data2
|
|
.byte 0 # EOM(1)
|
|
.byte 0 # EOM(2)
|
|
.byte 2 # Abbreviation Code
|
|
.byte 4 # DW_TAG_enumeration_type
|
|
.byte 0 # DW_CHILDREN_no
|
|
.byte 3 # DW_AT_name
|
|
.byte 8 # DW_FORM_string
|
|
.byte 73 # DW_AT_type
|
|
.byte 19 # DW_FORM_ref4
|
|
.byte 11 # DW_AT_byte_size
|
|
.byte 11 # DW_FORM_data1
|
|
.byte 0 # EOM(1)
|
|
.byte 0 # EOM(2)
|
|
.byte 4 # Abbreviation Code
|
|
.byte 36 # DW_TAG_base_type
|
|
.byte 0 # DW_CHILDREN_no
|
|
.byte 3 # DW_AT_name
|
|
.byte 8 # DW_FORM_string
|
|
.byte 62 # DW_AT_encoding
|
|
.byte 11 # DW_FORM_data1
|
|
.byte 11 # DW_AT_byte_size
|
|
.byte 11 # DW_FORM_data1
|
|
.byte 0 # EOM(1)
|
|
.byte 0 # EOM(2)
|
|
.byte 0 # EOM(3)
|
|
.LAbbrevEnd:
|
|
.section .debug_info.dwo,"e",@progbits
|
|
.LCUBegin:
|
|
.Lcu_begin1:
|
|
.long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit
|
|
.Ldebug_info_start1:
|
|
.short 5 # DWARF version number
|
|
.byte 5 # DWARF Unit Type
|
|
.byte 8 # Address Size (in bytes)
|
|
.long 0 # Offset Into Abbrev. Section
|
|
.quad DWO_ID # DWO id
|
|
.byte 1 # Abbrev [1] DW_TAG_compile_unit
|
|
.asciz "Hand-written DWARF" # DW_AT_producer
|
|
.short 12 # DW_AT_language
|
|
.byte 2 # Abbrev [2] DW_TAG_enumeration_type
|
|
.asciz "my_enum_type" # DW_AT_name
|
|
.long .Lint-.Lcu_begin1 # DW_AT_type
|
|
.byte 4 # DW_AT_byte_size
|
|
.Lint:
|
|
.byte 4 # Abbrev [4] DW_TAG_base_type
|
|
.asciz "int" # DW_AT_name
|
|
.byte 5 # DW_AT_encoding
|
|
.byte 4 # DW_AT_byte_size
|
|
.byte 0 # End Of Children Mark
|
|
.Ldebug_info_end1:
|
|
.LCUEnd:
|
|
.section .debug_cu_index, "", @progbits
|
|
## Header:
|
|
.short 5 # Version
|
|
.short 0 # Padding
|
|
.long 2 # Section count
|
|
.long 1 # Unit count
|
|
.long 2 # Slot count
|
|
## Hash Table of Signatures:
|
|
.quad 0
|
|
.quad DWO_ID
|
|
## Parallel Table of Indexes:
|
|
.long 0
|
|
.long 1
|
|
## Table of Section Offsets:
|
|
## Row 0:
|
|
.long 1 # DW_SECT_INFO
|
|
.long 3 # DW_SECT_ABBREV
|
|
## Row 1:
|
|
.long 0 # Offset in .debug_info.dwo
|
|
.long 0 # Offset in .debug_abbrev.dwo
|
|
## Table of Section Sizes:
|
|
.long .LCUEnd-.LCUBegin # Size in .debug_info.dwo
|
|
.long .LAbbrevEnd-.LAbbrevBegin # Size in .debug_abbrev.dwo
|
|
.endif
|