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
113 lines
3.3 KiB
ArmAsm
113 lines
3.3 KiB
ArmAsm
// This tests that default-null weak symbols (a GNU extension) are created
|
|
// properly via the .weak directive.
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | llvm-readobj --symbols - | FileCheck %s
|
|
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj --symbols - | FileCheck %s
|
|
|
|
.def _main;
|
|
.scl 2;
|
|
.type 32;
|
|
.endef
|
|
.text
|
|
.globl _main
|
|
.align 16, 0x90
|
|
_main: # @main
|
|
# %bb.0: # %entry
|
|
subl $4, %esp
|
|
movl $_test_weak, %eax
|
|
testl %eax, %eax
|
|
je LBB0_2
|
|
# %bb.1: # %if.then
|
|
call _test_weak
|
|
movl $1, %eax
|
|
addl $4, %esp
|
|
ret
|
|
LBB0_2: # %return
|
|
xorl %eax, %eax
|
|
addl $4, %esp
|
|
ret
|
|
|
|
.weak _test_weak
|
|
|
|
.weak _test_weak_alias
|
|
_test_weak_alias=_main
|
|
|
|
.weak weakfunc
|
|
.globl weakfunc
|
|
weakfunc:
|
|
ret
|
|
|
|
// CHECK: Symbols [
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: _main
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: .text
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Function
|
|
// CHECK-NEXT: StorageClass: External
|
|
// CHECK-NEXT: AuxSymbolCount: 0
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: _test_weak
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: WeakExternal
|
|
// CHECK-NEXT: AuxSymbolCount: 1
|
|
// CHECK-NEXT: AuxWeakExternal {
|
|
// CHECK-NEXT: Linked: .weak._test_weak.default
|
|
// CHECK-NEXT: Search: Alias
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: .weak._test_weak.default._main
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: IMAGE_SYM_ABSOLUTE
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: External
|
|
// CHECK-NEXT: AuxSymbolCount: 0
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: _test_weak_alias
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: WeakExternal
|
|
// CHECK-NEXT: AuxSymbolCount: 1
|
|
// CHECK-NEXT: AuxWeakExternal {
|
|
// CHECK-NEXT: Linked: _main
|
|
// CHECK-NEXT: Search: Alias
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: weakfunc
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: WeakExternal
|
|
// CHECK-NEXT: AuxSymbolCount: 1
|
|
// CHECK-NEXT: AuxWeakExternal {
|
|
// CHECK-NEXT: Linked: .weak.weakfunc.default
|
|
// CHECK-NEXT: Search: Alias
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: .weak.weakfunc.default
|
|
// CHECK-NOT: Value: 0
|
|
// CHECK-NOT: Symbol {
|
|
// CHECK: Section: .text
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: External
|
|
// CHECK-NEXT: AuxSymbolCount: 0
|
|
// CHECK-NEXT: }
|