[openssl] master update

Richard Levitte levitte at openssl.org
Mon Mar 2 02:18:38 UTC 2020


The branch master has been updated
       via  ccceeb48000d5fae95f38d2c4dd02cdd89ca1ee1 (commit)
      from  15e5b96933e98fe3046ce4e881c42ee07e8fe255 (commit)


- Log -----------------------------------------------------------------
commit ccceeb48000d5fae95f38d2c4dd02cdd89ca1ee1
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Feb 27 06:03:52 2020 +0100

    crypto/perlasm/x86_64-xlate.pl: detect GNU as to deal with quirks
    
    It turns out that GNU as and Solaris as don't have compatible ideas on
    the .section syntax, so we need to check if we're using GNU as or
    another assembler and adapt this .section syntax accordingly.
    
    Fixes #11132
    
    Reviewed-by: Tomas Mraz <tmraz at fedoraproject.org>
    (Merged from https://github.com/openssl/openssl/pull/11191)

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

Summary of changes:
 crypto/perlasm/x86_64-xlate.pl | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
index f87f1a5b96..197bc48873 100755
--- a/crypto/perlasm/x86_64-xlate.pl
+++ b/crypto/perlasm/x86_64-xlate.pl
@@ -83,6 +83,10 @@ my $PTR=" PTR";
 my $nasmref=2.03;
 my $nasm=0;
 
+# GNU as indicator, as opposed to $gas, which indicates acceptable
+# syntax
+my $gnuas=0;
+
 if    ($flavour eq "mingw64")	{ $gas=1; $elf=0; $win64=1;
 				  $prefix=`echo __USER_LABEL_PREFIX__ | $ENV{CC} -E -P -`;
 				  $prefix =~ s|\R$||; # Better chomp
@@ -100,6 +104,12 @@ elsif (!$gas)
     $elf=0;
     $decor="\$L\$";
 }
+# Find out if we're using GNU as
+elsif (`$ENV{CC} -Wa,-v -c -o /dev/null -x assembler /dev/null 2>&1`
+		=~ /GNU assembler version ([2-9]\.[0-9]+)/)
+{
+    $gnuas=1;
+}
 
 my $cet_property;
 if ($flavour =~ /elf/) {
@@ -108,8 +118,10 @@ if ($flavour =~ /elf/) {
 	# with Intel CET support in order for linker to mark output with
 	# Intel CET support.
 	my $p2align=3; $p2align=2 if ($flavour eq "elf32");
+	my $section='.note.gnu.property, #alloc';
+	$section='".note.gnu.property", "a"' if $gnuas;
 	$cet_property = <<_____;
-	.section ".note.gnu.property", "a"
+	.section $section
 	.p2align $p2align
 	.long 1f - 0f
 	.long 4f - 1f


More information about the openssl-commits mailing list