Module Name:    src
Committed By:   christos
Date:           Sat Jun  4 18:22:46 UTC 2016

Modified Files:
        src/crypto/external/bsd/openssl/dist/crypto: x86_64cpuid.pl
        src/crypto/external/bsd/openssl/dist/crypto/perlasm: x86gas.pl
        src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386: x86cpuid.S
        src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64:
            x86_64cpuid.S

Log Message:
revert, everything coredumps with this change.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
    src/crypto/external/bsd/openssl/dist/crypto/x86_64cpuid.pl
cvs rdiff -u -r1.2 -r1.3 \
    src/crypto/external/bsd/openssl/dist/crypto/perlasm/x86gas.pl
cvs rdiff -u -r1.10 -r1.11 \
    src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/x86cpuid.S
cvs rdiff -u -r1.7 -r1.8 \
    src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/crypto/external/bsd/openssl/dist/crypto/x86_64cpuid.pl
diff -u src/crypto/external/bsd/openssl/dist/crypto/x86_64cpuid.pl:1.4 src/crypto/external/bsd/openssl/dist/crypto/x86_64cpuid.pl:1.5
--- src/crypto/external/bsd/openssl/dist/crypto/x86_64cpuid.pl:1.4	Fri Jun  3 11:41:57 2016
+++ src/crypto/external/bsd/openssl/dist/crypto/x86_64cpuid.pl	Sat Jun  4 14:22:45 2016
@@ -20,9 +20,8 @@ open OUT,"| \"$^X\" $xlate $flavour $out
 print<<___;
 .extern		OPENSSL_cpuid_setup
 .hidden		OPENSSL_cpuid_setup
-.section	.ctors
-	.align 8
-	.quad	OPENSSL_cpuid_setup
+.section	.init
+	call	OPENSSL_cpuid_setup
 
 .hidden	OPENSSL_ia32cap_P
 .comm	OPENSSL_ia32cap_P,8,4

Index: src/crypto/external/bsd/openssl/dist/crypto/perlasm/x86gas.pl
diff -u src/crypto/external/bsd/openssl/dist/crypto/perlasm/x86gas.pl:1.2 src/crypto/external/bsd/openssl/dist/crypto/perlasm/x86gas.pl:1.3
--- src/crypto/external/bsd/openssl/dist/crypto/perlasm/x86gas.pl:1.2	Fri Jun  3 11:41:57 2016
+++ src/crypto/external/bsd/openssl/dist/crypto/perlasm/x86gas.pl	Sat Jun  4 14:22:46 2016
@@ -215,8 +215,14 @@ sub ::initseg
 .long	$f
 ___
     }
-    elsif ($::elf || $::coff) # Let the linker use whatever it wants.
-    {   $initseg.=<<___;
+    elsif ($::elf)
+    {	$initseg.=<<___;
+.section	.init
+	call	$f
+___
+    }
+    elsif ($::coff)
+    {   $initseg.=<<___;	# applies to both Cygwin and Mingw
 .section	.ctors
 .long	$f
 ___

Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/x86cpuid.S
diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/x86cpuid.S:1.10 src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/x86cpuid.S:1.11
--- src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/x86cpuid.S:1.10	Fri Jun  3 11:42:15 2016
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/i386/x86cpuid.S	Sat Jun  4 14:22:46 2016
@@ -342,5 +342,7 @@ OPENSSL_ia32_rdrand:
 	ret
 .size	OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin
 .comm	OPENSSL_ia32cap_P,8,4
-.section	.ctors
-.long	OPENSSL_cpuid_setup
+.section	.init
+	PIC_PROLOGUE
+	call	PIC_PLT(OPENSSL_cpuid_setup)
+	PIC_EPILOGUE

Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S
diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S:1.7 src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S:1.8
--- src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S:1.7	Fri Jun  3 11:42:15 2016
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/x86_64/x86_64cpuid.S	Sat Jun  4 14:22:46 2016
@@ -1,9 +1,8 @@
 #include <machine/asm.h>
 
 .globl	OPENSSL_cpuid_setup
-.section	.ctors
-.align	8
-.quad	OPENSSL_cpuid_setup
+.section	.init
+	call	PIC_PLT(OPENSSL_cpuid_setup)
 
 .hidden	OPENSSL_ia32cap_P
 .comm	OPENSSL_ia32cap_P,8,4

Reply via email to