Skip to content

OpenBLAS build broken on AIX #5946

Description

@ayappanec

/opt/IBM/openxlC/17.1.2/bin/ibm-clang_r -c -O2 -DSMALL_MATRIX_OPT -DGEMM_GEMV_FORWARD -DSBGEMM_GEMV_FORWARD -DMAX_STACK_ALLOC=2048 -fopenmp -DHAVE_P10_SUPPORT -Wall -DF_INTERFACE_IBM -fPIC -DDYNAMIC_ARCH -DSMP_SERVER -DUSE_OPENMP -DNO_WARMUP -DMAX_CPU_NUMBER=16 -DMAX_PARALLEL_NUMBER=1 -DBUILD_BFLOAT16 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION="0.3.34.dev" -DUSE_OPENMP -fopenmp -fno-integrated-as -m64 -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=lsame -DASMFNAME=lsame_ -DNAME=lsame_ -DCNAME=lsame -DCHAR_NAME="lsame_" -DCHAR_CNAME="lsame" -DNO_AFFINITY -DTS= -I.. -DF_INTERFACE ../kernel/power/lsame.S -o lsame.o
Assembler:
/tmp/lsame-fa9d22.s: line 62: 1252-016 The specified opcode or pseudo-op is not valid.
Use supported instructions or pseudo-ops only.
.ibm-clang: error: assembler command failed with exit code 1 (use -v to see invocation)
Assembler:
/tmp/cabs-3215e4.s: line 62: 1252-016 The specified opcode or pseudo-op is not valid.
Use supported instructions or pseudo-ops only.
.ibm-clang: error: assembler command failed with exit code 1 (use -v to see invocation)
Assembler:
/tmp/cabs-153920.s: line 62: 1252-016 The specified opcode or pseudo-op is not valid.
Use supported instructions or pseudo-ops only.
.ibm-clang: error: assembler command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:188: lsame.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:176: scabs1.o] Error 1
make[1]: *** [Makefile:179: dcabs1.o] Error 1
make[1]: Leaving directory '/home/buildusr/jenkins/workspace/OpenBLAS-openxl/OpenBLAS/kernel'
make: *** [Makefile:208: libs] Error 1

Checking the assembly file shows error pointing to "PROLOGUE_EXPORT".

Looks like the recent change from #5577 caused this regression on AIX.

Activity

  1. martin-frbg commented on Jul 27, 2026

    @martin-frbg
    Collaborator

    Curious as the split into PROLOGUE (with .hidden attribute) and PROLOGUE_EXPORT was defined for Linux and BSD only.

    The only AIX system I still have access to is OSUOSL's "cfarm119" in the GCC Compile Farm, which appears to be a POWER8. Unfortunately it has ibm-clang 17.1.1 only, which already fails with an internal compiler error when compiling the DOT kernels. A gcc-based build on the same machine works fine, however - even without having a definition of PROLOGUE_EXPORT

  2. martin-frbg commented on Jul 27, 2026

    @martin-frbg
    Collaborator

    It appears to be the lack of a definition for PROLOGUE_EXPORT that causes the lsame.S build issue with ibm-clang. the gcc compilation appears to take an entirely different path and compile the POWER8 lsame.c instead of the POWER6 lsame.S
    Copying the contents of PROLOGUE to PROLOGUE_EXPORT trivially solves the problem - I suspect the background is that #5577 does not add any symbol hiding to LAPACK, but LSAME is reimplemented for most if not all targets. (This suggests that Solaris builds are probably broken in the exact same way right now)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions