[openssl] master update

Dr. Paul Dale pauli at openssl.org
Tue Jun 8 08:53:24 UTC 2021


The branch master has been updated
       via  178fa72ed5c6b26ac3d6bab1a45e732ee6458565 (commit)
      from  fccf3dcef42f12b0ac2b1ab8979125a2511dc271 (commit)


- Log -----------------------------------------------------------------
commit 178fa72ed5c6b26ac3d6bab1a45e732ee6458565
Author: Daniel Bevenius <daniel.bevenius at gmail.com>
Date:   Mon Jun 7 06:01:54 2021 +0200

    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 at openssl.org>
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15638)

-----------------------------------------------------------------------

Summary of changes:
 Configurations/10-main.conf | 4 ++++
 crypto/perlasm/ppc-xlate.pl | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 138ad8a6ae..dfff5ea4ae 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -1212,6 +1212,10 @@ my %targets = (
         AR               => add("-X64"),
         RANLIB           => add("-X64"),
     },
+    "aix64-gcc-as" => {
+        inherit_from     => [ "aix64-gcc" ],
+        perlasm_scheme   => "aix64-as",
+    },
     "aix-cc" => {
         inherit_from     => [ "aix-common" ],
         CC               => "cc",
diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl
index 14fd06dec4..c81fb6a47a 100755
--- a/crypto/perlasm/ppc-xlate.pl
+++ b/crypto/perlasm/ppc-xlate.pl
@@ -83,6 +83,10 @@ my $text = sub {
     $ret = ".abiversion	2\n".$ret	if ($flavour =~ /linux.*64(le|v2)/);
     $ret;
 };
+my $p2align = sub {
+    my $ret = ($flavour =~ /aix64-as/) ? "" : ".p2align $line";
+    $ret;
+};
 my $machine = sub {
     my $junk = shift;
     my $arch = shift;


More information about the openssl-commits mailing list