summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/perlasm/x86nasm.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/perlasm/x86nasm.pl')
-rw-r--r--src/lib/libcrypto/perlasm/x86nasm.pl15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/lib/libcrypto/perlasm/x86nasm.pl b/src/lib/libcrypto/perlasm/x86nasm.pl
index ca2511c9eb..ce2bed9bb2 100644
--- a/src/lib/libcrypto/perlasm/x86nasm.pl
+++ b/src/lib/libcrypto/perlasm/x86nasm.pl
@@ -19,8 +19,6 @@ sub ::generic
19 { $_[0] = "NEAR $_[0]"; } 19 { $_[0] = "NEAR $_[0]"; }
20 elsif ($opcode eq "lea" && $#_==1) # wipe storage qualifier from lea 20 elsif ($opcode eq "lea" && $#_==1) # wipe storage qualifier from lea
21 { $_[1] =~ s/^[^\[]*\[/\[/o; } 21 { $_[1] =~ s/^[^\[]*\[/\[/o; }
22 elsif ($opcode eq "clflush" && $#_==0)
23 { $_[0] =~ s/^[^\[]*\[/\[/o; }
24 } 22 }
25 &::emit($opcode,@_); 23 &::emit($opcode,@_);
26 1; 24 1;
@@ -69,7 +67,6 @@ sub get_mem
69} 67}
70sub ::BP { &get_mem("BYTE",@_); } 68sub ::BP { &get_mem("BYTE",@_); }
71sub ::DWP { &get_mem("DWORD",@_); } 69sub ::DWP { &get_mem("DWORD",@_); }
72sub ::WP { &get_mem("WORD",@_); }
73sub ::QWP { &get_mem("",@_); } 70sub ::QWP { &get_mem("",@_); }
74sub ::BC { (($::mwerks)?"":"BYTE ")."@_"; } 71sub ::BC { (($::mwerks)?"":"BYTE ")."@_"; }
75sub ::DWC { (($::mwerks)?"":"DWORD ")."@_"; } 72sub ::DWC { (($::mwerks)?"":"DWORD ")."@_"; }
@@ -117,7 +114,7 @@ sub ::file_end
117{ if (grep {/\b${nmdecor}OPENSSL_ia32cap_P\b/i} @out) 114{ if (grep {/\b${nmdecor}OPENSSL_ia32cap_P\b/i} @out)
118 { my $comm=<<___; 115 { my $comm=<<___;
119${drdecor}segment .bss 116${drdecor}segment .bss
120${drdecor}common ${nmdecor}OPENSSL_ia32cap_P 8 117${drdecor}common ${nmdecor}OPENSSL_ia32cap_P 4
121___ 118___
122 # comment out OPENSSL_ia32cap_P declarations 119 # comment out OPENSSL_ia32cap_P declarations
123 grep {s/(^extern\s+${nmdecor}OPENSSL_ia32cap_P)/\;$1/} @out; 120 grep {s/(^extern\s+${nmdecor}OPENSSL_ia32cap_P)/\;$1/} @out;
@@ -138,8 +135,7 @@ sub ::public_label
138 135
139sub ::data_byte 136sub ::data_byte
140{ push(@out,(($::mwerks)?".byte\t":"db\t").join(',',@_)."\n"); } 137{ push(@out,(($::mwerks)?".byte\t":"db\t").join(',',@_)."\n"); }
141sub ::data_short 138
142{ push(@out,(($::mwerks)?".word\t":"dw\t").join(',',@_)."\n"); }
143sub ::data_word 139sub ::data_word
144{ push(@out,(($::mwerks)?".long\t":"dd\t").join(',',@_)."\n"); } 140{ push(@out,(($::mwerks)?".long\t":"dd\t").join(',',@_)."\n"); }
145 141
@@ -167,11 +163,4 @@ sub ::dataseg
167 else { push(@out,"section\t.data align=4\n"); } 163 else { push(@out,"section\t.data align=4\n"); }
168} 164}
169 165
170sub ::safeseh
171{ my $nm=shift;
172 push(@out,"%if __NASM_VERSION_ID__ >= 0x02030000\n");
173 push(@out,"safeseh ".&::LABEL($nm,$nmdecor.$nm)."\n");
174 push(@out,"%endif\n");
175}
176
1771; 1661;