From: Andy Polyakov Date: Sat, 21 May 2005 17:51:12 +0000 (+0000) Subject: Still SEGV trouble in .init segment under Solaris x86... X-Git-Tag: OpenSSL_0_9_8-beta2~9 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=225f4daf15427481d5a33fb330a46fd69e71bcf7;p=oweals%2Fopenssl.git Still SEGV trouble in .init segment under Solaris x86... --- diff --git a/crypto/perlasm/x86unix.pl b/crypto/perlasm/x86unix.pl index 305a55bf62..18d4fbff45 100644 --- a/crypto/perlasm/x86unix.pl +++ b/crypto/perlasm/x86unix.pl @@ -537,7 +537,8 @@ sub main'file_end if ($main'elf && grep {/%[x]*mm[0-7]/i} @out) { local($tmp); - push (@out,"\n.comm\t${under}OPENSSL_ia32cap_P,4,4\n"); + push (@out,"\n.section\t.bss\n"); + push (@out,".comm\t${under}OPENSSL_ia32cap_P,4,4\n"); push (@out,".section\t.init\n"); # One can argue that it's wasteful to craft every @@ -572,6 +573,8 @@ sub main'file_end movl %edx,0(%edi) popl %ebx popl %edi + jmp 1f + .align $align 1: ___ push (@out,$tmp); @@ -716,6 +719,9 @@ sub main'initseg $tmp=<<___; .section .init call $under$f + jmp 1f +.align $align +1: ___ } elsif ($main'coff)