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