openssl: aix64-gcc: openssl-3.0.0-alpha17 does not build using gcc without no-asm
gcc -maix64 -pthread -O -DB_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/var/pd/ssl\"" -DENGINESDIR="\"/usr/pd/lib/engines-3\"" -DMODULESDIR="\"/usr/pd/lib/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o crypto/bn/libcrypto-shlib-ppc-mont.o crypto/bn/ppc-mont.s
gcc -maix64 -pthread -O -DB_ENDIAN -DOPENSSL_PIC -DOPENSSLDIR="\"/var/pd/ssl\"" -DENGINESDIR="\"/usr/pd/lib/engines-3\"" -DMODULESDIR="\"/usr/pd/lib/ossl-modules\"" -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -c -o crypto/bn/libcrypto-shlib-ppc64-mont-fixed.o crypto/bn/ppc64-mont-fixed.s
Assembler:
crypto/bn/ppc64-mont-fixed.s: line 4: Error In Syntax
make[1]: *** [Makefile:6969: crypto/bn/libcrypto-shlib-ppc64-mont-fixed.o] Error 1
make[1]: Leaving directory '/home/xxx/openssl-3.0.0-alpha17'
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix7.1.0.0/9.3.1/lto-wrapper
Target: powerpc-ibm-aix7.1.0.0
Configured with: ../gcc-9.3.1-20200408/configure --with-as=/usr/bin/as --with-ld=/usr/bin/ld --enable-languages=c,c++ --prefix=/opt/freeware --mandir=/opt/freeware/man --infodir=/opt/freeware/info --enable-version-specific-runtime-libs --disable-nls --enable-decimal-float=dpd --enable-bootstrap --build=powerpc-ibm-aix7.1.0.0
Thread model: aix
gcc version 9.3.1 20200408 (GCC)
openssl-3.0.0-alpha13 was the latest version I tried and was compiling fine.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 16 (11 by maintainers)
Commits related to this issue
- bn: Drop use of .p2align pseudo-op This works on Linux but breaks the build on AIX. Fixes #15748 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> — committed to martin-schwenke/openssl by martin-schwenke 3 years ago
- bn: Drop use of .p2align pseudo-op This works on Linux but breaks the build on AIX. Fixes #15748 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> Rev... — committed to devnexen/openssl by martin-schwenke 3 years ago
- bn: Drop use of .p2align pseudo-op This works on Linux but breaks the build on AIX. Fixes #15748 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> Rev... — committed to deece/openssl by martin-schwenke 3 years ago
Thanks to you for doing the testing!
I’ll get a patch for that ready tomorrow, along with one for the other issue that I noticed.
Without line 4, the compilation succeed for
ppc64-mont-fixed.s. openssl still cannot be compiled because of another error later in build process (I will open a new issue) but removing the line fix at least this problem.Thank you!
Yep, seems pretty clear, especially since the extra instruction doesn’t move the error. I was wondering if those directives count as lines. I have seen things like pre-processor directives mess with line numbering…
Can you please take out that no-op
orthat I asked you to add and try deleting that 4th line saying:and try building again?
I don’t see
.p2alignin any other Power assembly in the OpenSSL code, so I’m guessing we shouldn’t be doing that if the code is meant to be portable…Thanks!
Will try to get on an AIX machine to test this. Our testing was with gcc on Linux.
Until then, @gv74 can you please paste the output of
head crypto/bn/ppc64-mont-fixed.s? The first thing I’m wondering is whether Perl is running correctly and properly generating correct assembly. Thanks…