From 07d488daf66ed88a7b2758325eed7e45fac0aafb Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Tue, 28 Sep 2004 20:45:10 +0000 Subject: Fix Solaris 10_x86 shared build. -Bsymbolic is required to avoid "remaining relocations" in assembler modules. The latter seems to be new behaviour, elder as/ld managed to resolve this relocations as internal. It's possible to address this problem differently, but I settle for -Bsymbolic... PR: 546 --- crypto/perlasm/x86unix.pl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'crypto/perlasm') diff --git a/crypto/perlasm/x86unix.pl b/crypto/perlasm/x86unix.pl index 79c1abb99d..7d87eb1701 100644 --- a/crypto/perlasm/x86unix.pl +++ b/crypto/perlasm/x86unix.pl @@ -205,8 +205,8 @@ sub main'nop { &out0("nop"); } sub main'test { &out2("testl",@_); } sub main'bt { &out2("btl",@_); } sub main'leave { &out0("leave"); } -sub main'cpuid { &out0(".word\t0xa20f"); } -sub main'rdtsc { &out0(".word\t0x310f"); } +sub main'cpuid { &out0(".byte 0x0f; .byte 0xa2"); } +sub main'rdtsc { &out0(".byte 0x0f; .byte 0x31"); } sub main'halt { &out0("hlt"); } # SSE2 @@ -552,18 +552,18 @@ sub main'file_end pushf popl %eax xorl %ecx,%eax - bt \$21,%eax + btl \$21,%eax jnc 1f pushl %edi pushl %ebx movl %edx,%edi movl \$1,%eax - .word 0xa20f + .byte 0x0f; .byte 0xa2 orl \$1<<10,%edx movl %edx,0(%edi) popl %ebx popl %edi - .align 4 + .align $align 1: ___ push (@out,$tmp); @@ -708,6 +708,7 @@ sub main'initseg $tmp=<<___; .section .init call $under$f + .align $align ___ } elsif ($main'coff) -- cgit v1.2.3