Files
TheRock/compiler/amd-llvm/llvm/test/tools/llvm-ranlib/aix-X-option.test
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

130 lines
5.2 KiB
Plaintext

# REQUIRES: system-aix
## Test the -X option.
## The option specifies the type of object file on which llvm-ranlib will operate.
# RUN: rm -rf %t && mkdir %t && cd %t
# RUN: yaml2obj --docnum=1 -DFLAG=0x1DF %s -o t32_1.o
# RUN: yaml2obj --docnum=1 -DFLAG=0x1F7 %s -o t64_1.o
# RUN: yaml2obj --docnum=2 -DFLAG=0x1DF %s -o t32_2.o
# RUN: yaml2obj --docnum=2 -DFLAG=0x1F7 %s -o t64_2.o
# RUN: llvm-ar qS t_all.a t32_1.o t64_1.o t32_2.o t64_2.o
# RUN: cp t_all.a t_X32.a
# RUN: cp t_all.a t_X64.a
# RUN: cp t_all.a t_X32_64.a
## Test the OBJECT_MODE environment variable when adding symbol table.
# RUN: env -u OBJECT_MODE llvm-ranlib t_X32.a
# RUN: llvm-nm --print-armap t_X32.a 2>&1 | FileCheck --check-prefixes=GLOB32 --implicit-check-not="in t64" %s
# RUN: cp t_all.a t_X32.a
# RUN: env OBJECT_MODE=32 llvm-ranlib t_X32.a
# RUN: llvm-nm --print-armap t_X32.a 2>&1 | FileCheck --check-prefixes=GLOB32 --implicit-check-not="in t64" %s
# RUN: env OBJECT_MODE=64 llvm-ranlib t_X64.a
# RUN: llvm-nm --print-armap t_X64.a 2>&1 | FileCheck --check-prefixes=GLOB64 --implicit-check-not="in t32" %s
# RUN: env OBJECT_MODE=32_64 llvm-ranlib t_X32_64.a
# RUN: llvm-nm --print-armap t_X32_64.a 2>&1 | FileCheck --check-prefixes=GLOB32,GLOB64 %s
# RUN: cp t_all.a t_X32_64.a
# RUN: env OBJECT_MODE=any llvm-ranlib t_X32_64.a
# RUN: llvm-nm --print-armap t_X32_64.a 2>&1 | FileCheck --check-prefixes=GLOB32,GLOB64 %s
# RUN: cp t_all.a t_X32.a
# RUN: cp t_all.a t_X64.a
# RUN: cp t_all.a t_X32_64.a
## Test the -X option when adding symbol table.
# RUN: llvm-ranlib -X32 t_X32.a
# RUN: llvm-nm --print-armap t_X32.a 2>&1 | FileCheck --check-prefixes=GLOB32 --implicit-check-not="in t64" %s
# RUN: llvm-ranlib -X64 t_X32.a
# RUN: llvm-nm --print-armap t_X32.a 2>&1 | FileCheck --check-prefixes=GLOB32,GLOB64 %s
# RUN: llvm-ranlib -X64 t_X64.a
# RUN: llvm-nm --print-armap t_X64.a 2>&1 | FileCheck --check-prefixes=GLOB64 --implicit-check-not="in t32" %s
# RUN: llvm-ranlib -X32 t_X64.a
# RUN: llvm-nm --print-armap t_X32.a 2>&1 | FileCheck --check-prefixes=GLOB32,GLOB64 %s
# RUN: llvm-ranlib -X32_64 t_X32_64.a
# RUN: llvm-nm --print-armap t_X32_64.a 2>&1 | FileCheck --check-prefixes=GLOB32,GLOB64 %s
# RUN: cp t_all.a t_X32_64.a
# RUN: llvm-ranlib -Xany t_X32_64.a
# RUN: llvm-nm --print-armap t_X32_64.a 2>&1 | FileCheck --check-prefixes=GLOB32,GLOB64 %s
# RUN: cp t_all.a t_X32.a
# RUN: cp t_all.a t_X64.a
## Test that the -X option will override the "OBJECT_MODE" environment variable.
# RUN: env OBJECT_MODE=32_64 llvm-ranlib -X32 t_X32.a
# RUN: llvm-nm --print-armap t_X32.a 2>&1 | FileCheck --check-prefixes=GLOB32 --implicit-check-not="in t64" %s
# RUN: env OBJECT_MODE=32 llvm-ranlib -X64 t_X64.a
# RUN: llvm-nm --print-armap t_X64.a 2>&1 | FileCheck --check-prefixes=GLOB64 --implicit-check-not="in t32" %s
# GLOB32: sym1_0x1DF in t32_1.o
# GLOB32-NEXT: sym2_0x1DF in t32_1.o
# GLOB32-NEXT: sym3_0x1DF in t32_2.o
# GLOB32-NEXT: sym4_0x1DF in t32_2.o
# GLOB64: sym1_0x1F7 in t64_1.o
# GLOB64-NEXT: sym2_0x1F7 in t64_1.o
# GLOB64-NEXT: sym3_0x1F7 in t64_2.o
# GLOB64-NEXT: sym4_0x1F7 in t64_2.o
## Test invalid -X option and OBJECT_MODE enviornment var.
# RUN: not env OBJECT_MODE= llvm-ranlib t_X32.a 2>&1 | FileCheck --implicit-check-not="error:" --check-prefixes=INVALID-OBJECT-MODE %s
# RUN: not env OBJECT_MODE="" llvm-ranlib t_X32.a 2>&1 | FileCheck --implicit-check-not="error:" --check-prefixes=INVALID-OBJECT-MODE %s
# RUN: not env OBJECT_MODE=31 llvm-ranlib t_X64.a 2>&1 | FileCheck --implicit-check-not="error:" --check-prefixes=INVALID-OBJECT-MODE %s
# RUN: not llvm-ranlib -X t_X64.a 2>&1 | FileCheck --implicit-check-not="error:" --check-prefixes=INVALID-X-OPTION %s
# RUN: not llvm-ranlib -X31 t_X64.a 2>&1 | FileCheck --implicit-check-not="error:" --check-prefixes=INVALID-X-OPTION %s
# INVALID-OBJECT-MODE: error: the OBJECT_MODE environment variable has an invalid value. OBJECT_MODE must be 32, 64, 32_64, or any
# INVALID-X-OPTION: error: the specified object mode is not valid. Specify -X32, -X64, -X32_64, or -Xany
--- !XCOFF
FileHeader:
MagicNumber: [[FLAG]]
Sections:
- Name: .data
Flags: [ STYP_DATA ]
Symbols:
- Name: sym1_[[FLAG]]
Section: .data
Type: 0x4000
StorageClass: C_EXT
AuxEntries:
- Type: AUX_CSECT
SymbolAlignmentAndType: 0x09
StorageMappingClass: XMC_RW
- Name: sym2_[[FLAG]]
Section: .data
Type: 0x4000
StorageClass: C_EXT
AuxEntries:
- Type: AUX_CSECT
SymbolAlignmentAndType: 0x09
StorageMappingClass: XMC_RW
--- !XCOFF
FileHeader:
MagicNumber: [[FLAG]]
Sections:
- Name: .text
Flags: [ STYP_DATA ]
Symbols:
- Name: sym3_[[FLAG]]
Section: .text
Type: 0x4000
StorageClass: C_EXT
AuxEntries:
- Type: AUX_CSECT
SymbolAlignmentAndType: 0x09
StorageMappingClass: XMC_PR
- Name: sym4_[[FLAG]]
Section: .text
Type: 0x4000
StorageClass: C_EXT
AuxEntries:
- Type: AUX_CSECT
SymbolAlignmentAndType: 0x09
StorageMappingClass: XMC_PR