openssl/crypto
Daniel Bevenius 178fa72ed5 Add aix64-gcc-as architecture and p2align callback
This commit adds an architecture named aix64-gcc-as which can generate
assembler source code compatible with AIX assembler (as) instead of the
GNU Assembler (gas). This architecture name is then used in a callback
for the .p2align directive which is not available in AIX as.

The motivation for this addition came out of an issue we ran into when
working on upgrading OpenSSL in Node.js. We ran into the following
compilation error on one of the CI machines that uses AIX:

  05:39:05 Assembler:
  05:39:05 crypto/bn/ppc64-mont-fixed.s: line 4: Error In Syntax

This machine is using AIX Version 7.2 and does not have gas installed
and the .p2align directive is causing this error. After asking around if
it would be possible to install GAS on this machine I learned that AIX
GNU utils are not maintained as well as the native AIX ones and we
(Red Hat/IBM) have run into issues with the GNU utils in the past and if
possible it would be preferable to be able to use the AIX native
assembler.

Refs: https://github.com/nodejs/node/pull/38512

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15638)
2021-06-08 18:52:53 +10:00
..
aes aes: rename new bsaes_ symbols -> ossl_bsaes_ ones 2021-05-27 09:35:50 +10:00
aria
asn1 Give ASN.1 objects the ability to report their libctx/propq 2021-06-05 17:39:27 +10:00
async err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
bf
bio BIO_write-ex(): Improve behavior in corner cases and documentation 2021-06-08 15:17:11 +10:00
bn bn: remove TODOs 2021-06-02 16:30:15 +10:00
buffer err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
camellia
cast
chacha Properly restore XMM registers in ChaCha20's AVX-512(VL) assembly 2021-05-21 13:05:18 +02:00
cmac Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
cmp Give ASN.1 objects the ability to report their libctx/propq 2021-06-05 17:39:27 +10:00
cms Use the new ASN.1 libctx aware functions in CMS 2021-06-05 17:39:10 +10:00
comp comp: remove TODOs 2021-06-02 16:30:15 +10:00
conf Add NCONF_get_section_names() 2021-06-02 12:40:02 +10:00
crmf crmf: remove TODOs 2021-06-02 16:30:15 +10:00
ct ct: remove TODOs 2021-06-02 16:30:15 +10:00
des
dh Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
dsa Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
dso dso: remove TODOs 2021-06-02 16:30:15 +10:00
ec ec: remove TODOs 2021-06-02 16:30:15 +10:00
encode_decode ENCODER: use property definitions instead of getting implementation parameters 2021-06-05 20:30:47 +10:00
engine Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
err DECODER: use property definitions instead of getting implementation parameters 2021-06-05 20:30:11 +10:00
ess err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
evp Add a gettable for provider ciphers to return the EVP_CIPH_RAND_KEY flag 2021-06-08 15:16:06 +10:00
ffc Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
hmac Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
http http: remove TODOs 2021-06-02 16:30:15 +10:00
idea
kdf
lhash
md2
md4
md5 Remove unused code from the fips module 2021-05-08 20:44:41 +10:00
mdc2
modes Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
objects err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
ocsp ocsp: remove TODOs 2021-06-02 16:30:15 +10:00
pem pem: remove TODOs 2021-06-02 16:30:15 +10:00
perlasm Add aix64-gcc-as architecture and p2align callback 2021-06-08 18:52:53 +10:00
pkcs7 Teach more of the ASN.1 code about libctx/propq 2021-06-05 17:39:10 +10:00
pkcs12 Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
poly1305 Drop libimplementations.a 2021-05-07 10:17:23 +02:00
property property: move additional query functions to property_query.c 2021-06-05 20:40:30 +10:00
rand Elimination of some sources not needed in the FIPS_MODULE 2021-06-07 08:37:09 +02:00
rc2 Update copyright year 2021-05-06 13:03:23 +01:00
rc4
rc5
ripemd Drop libimplementations.a 2021-05-07 10:17:23 +02:00
rsa Move libssl related defines used by fips provider to prov_ssl.h 2021-06-04 17:06:47 +02:00
seed Use <> for #include openssl/xxx 2021-05-27 09:56:41 +10:00
sha Update copyright year 2021-05-20 14:22:33 +01:00
siphash
sm2 Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
sm3
sm4
srp add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
stack
store store: include internal header 2021-06-02 20:45:51 +10:00
ts Check the return value of ASN1_STRING_length 2021-06-03 17:09:02 +02:00
txt_db
ui err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
whrlpool A few cleanups of the provider build.infos 2021-05-12 13:23:33 +02:00
x509 X509_digest_sig: Handle RSA-PSS and EDDSA certificates 2021-06-08 09:20:15 +02:00
alphacpuid.pl
arm64cpuid.pl
arm_arch.h Update copyright year 2021-05-20 14:22:33 +01:00
armcap.c Initialise OPENSSL_armcap_P to 0 before setting it based on capabilities, not after 2021-05-28 10:28:29 +10:00
armv4cpuid.pl
asn1_dsa.c
bsearch.c
build.info FIPS: don't include crypto/passphrase.c in libfips.a 2021-06-05 10:32:13 +02:00
c64xpluscpuid.pl
context.c Add the concept of a child OSSL_LIB_CTX 2021-05-11 14:56:55 +01:00
core_algorithm.c Fix pointer passed to provider_unquery_operation 2021-05-17 10:22:27 +10:00
core_fetch.c
core_namemap.c Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
cpt_err.c err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
cpuid.c
cryptlib.c crypto: remove TODOs 2021-06-02 16:30:15 +10:00
ctype.c Use <> for #include openssl/xxx 2021-05-27 09:56:41 +10:00
cversion.c
der_writer.c
dllmain.c
ebcdic.c
ex_data.c Add the ability for ex_data to have a priority 2021-05-11 14:56:55 +01:00
getenv.c
ia64cpuid.S
info.c
init.c OPENSSL_init_crypto must return 0 when cleanup was done 2021-06-03 17:42:21 +02:00
initthread.c Fix a memleak in the FIPS provider 2021-05-24 09:39:15 +10:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c
mem.c
mips_arch.h
o_dir.c
o_fopen.c
o_init.c
o_str.c
o_time.c
packet.c Move libssl related defines used by fips provider to prov_ssl.h 2021-06-04 17:06:47 +02:00
param_build_set.c
param_build.c
params_dup.c
params_from_text.c
params.c
pariscid.pl
passphrase.c
ppc_arch.h
ppccap.c ppc: fix ambiguous if if else statement 2021-06-01 15:04:05 +10:00
ppccpuid.pl
provider_child.c Ensure mirroring of properties works for subsequent updates 2021-05-20 09:35:41 +01:00
provider_conf.c Add NCONF_get0_libctx() 2021-06-02 12:40:02 +10:00
provider_core.c crypto: remove TODOs 2021-06-02 16:30:15 +10:00
provider_local.h
provider_predefined.c
provider.c Rename also the OSSL_PROVIDER_name() function 2021-06-01 12:43:57 +02:00
punycode.c
README-sparse_array.md
s390x_arch.h
s390xcap.c
s390xcpuid.pl
self_test_core.c Update copyright year 2021-05-20 14:22:33 +01:00
sparc_arch.h
sparccpuid.S
sparcv9cap.c sparc: fix cross compile build 2021-06-01 15:04:05 +10:00
sparse_array.c
threads_lib.c
threads_none.c
threads_pthread.c
threads_win.c
trace.c Rework and make DEBUG macros consistent. 2021-05-28 10:04:31 +02:00
uid.c
vms_rms.h
x86_64cpuid.pl
x86cpuid.pl