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
115 lines
3.1 KiB
ArmAsm
115 lines
3.1 KiB
ArmAsm
REQUIRES: aarch64
|
|
RUN: split-file %s %t.dir && cd %t.dir
|
|
|
|
#--- text-func.s
|
|
.text
|
|
.globl func
|
|
.p2align 2, 0x0
|
|
func:
|
|
mov w0, #1
|
|
ret
|
|
|
|
.section .wowthk$aa,"xr",discard,thunk
|
|
.globl thunk
|
|
.p2align 2
|
|
thunk:
|
|
ret
|
|
|
|
.section .hybmp$x,"yi"
|
|
.symidx func
|
|
.symidx thunk
|
|
.word 1 // entry thunk
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows text-func.s -o text-func.obj
|
|
// RUN: not lld-link -machine:arm64ec -dll -noentry -out:test.dll text-func.obj 2>&1 | FileCheck -check-prefix=FUNC-NON-COMDAT %s
|
|
// FUNC-NON-COMDAT: error: non COMDAT symbol 'func' in hybrid map
|
|
|
|
#--- offset-func.s
|
|
.section .text,"xr",discard,func
|
|
// Add an instruction before func label to make adding entry thunk offset in the padding impossible.
|
|
mov w0, #2
|
|
.globl func
|
|
.p2align 2, 0x0
|
|
func:
|
|
mov w0, #1
|
|
ret
|
|
|
|
.section .wowthk$aa,"xr",discard,thunk
|
|
.globl thunk
|
|
.p2align 2
|
|
thunk:
|
|
ret
|
|
|
|
.section .hybmp$x,"yi"
|
|
.symidx func
|
|
.symidx thunk
|
|
.word 1 // entry thunk
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows offset-func.s -o offset-func.obj
|
|
// RUN: not lld-link -machine:arm64ec -dll -noentry -out:test.dll offset-func.obj 2>&1 | FileCheck -check-prefix=FUNC-NON-COMDAT %s
|
|
|
|
#--- undef-func.s
|
|
.section .wowthk$aa,"xr",discard,thunk
|
|
.globl thunk
|
|
.p2align 2
|
|
thunk:
|
|
ret
|
|
|
|
.section .hybmp$x,"yi"
|
|
.symidx func
|
|
.symidx thunk
|
|
.word 1 // entry thunk
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows undef-func.s -o undef-func.obj
|
|
// RUN: not lld-link -machine:arm64ec -dll -noentry -out:test.dll undef-func.obj 2>&1 | FileCheck -check-prefix=UNDEF-FUNC %s
|
|
// UNDEF-FUNC: error: undefined symbol: func (EC symbol)
|
|
|
|
#--- undef-thunk.s
|
|
.section .text,"xr",discard,func
|
|
.globl func
|
|
.p2align 2, 0x0
|
|
func:
|
|
mov w0, #1
|
|
ret
|
|
|
|
.section .hybmp$x,"yi"
|
|
.symidx func
|
|
.symidx thunk
|
|
.word 1 // entry thunk
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows undef-thunk.s -o undef-thunk.obj
|
|
// RUN: not lld-link -machine:arm64ec -dll -noentry -out:test.dll undef-thunk.obj 2>&1 | FileCheck -check-prefix=UNDEF-THUNK %s
|
|
// UNDEF-THUNK: error: undefined symbol: thunk (EC symbol)
|
|
|
|
#--- invalid-type.s
|
|
.section .text,"xr",discard,func
|
|
.globl func
|
|
.p2align 2, 0x0
|
|
func:
|
|
mov w0, #1
|
|
ret
|
|
|
|
.section .wowthk$aa,"xr",discard,thunk
|
|
.globl thunk
|
|
.p2align 2
|
|
thunk:
|
|
ret
|
|
|
|
.section .hybmp$x,"yi"
|
|
.symidx func
|
|
.symidx thunk
|
|
.word 3
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows invalid-type.s -o invalid-type.obj
|
|
// RUN: lld-link -machine:arm64ec -dll -noentry -out:test.dll invalid-type.obj 2>&1 | FileCheck -check-prefix=INVALID-TYPE %s
|
|
// INVALID-TYPE: warning: Ignoring unknown EC thunk type 3
|
|
|
|
#--- invalid-size.s
|
|
.section .hybmp$x,"yi"
|
|
.symidx func
|
|
.symidx thunk
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple=arm64ec-windows invalid-size.s -o invalid-size.obj
|
|
// RUN: not lld-link -machine:arm64ec -dll -noentry -out:test.dll invalid-size.obj 2>&1 | FileCheck -check-prefix=INVALID-SIZE %s
|
|
// INVALID-SIZE: error: Invalid .hybmp chunk size 8
|