summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-05-21 17:49:10 +0000
committerAndy Polyakov <appro@openssl.org>2005-05-21 17:49:10 +0000
commit82d3dda8a1c598f326779b27ea22cf073ee23aed (patch)
treee8cc81ad29beae87d87d3e717f1e9b57ed17cead
parentfe8bf9560dbe5998e8857869508d2fe4b4f5dbf6 (diff)
Still SEGV trouble in .init segment under Solaris x86...
-rw-r--r--crypto/perlasm/x86unix.pl8
1 files changed, 7 insertions, 1 deletions
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)