diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl index 7487249c7..88a45b192 100755 --- a/crypto/perlasm/x86_64-xlate.pl +++ b/crypto/perlasm/x86_64-xlate.pl @@ -325,12 +325,12 @@ my $current_function; undef $self->{value}; $line = substr($line,@+[0]); $line =~ s/^\s+//; SWITCH: for ($dir) { - /\.(text|data)/ + /\.(text)/ && do { my $v=undef; $v="$current_segment\tENDS\n" if ($current_segment); - $current_segment = "_$1"; + $current_segment = "_$1\$"; $current_segment =~ tr/[a-z]/[A-Z]/; - $v.="$current_segment\tSEGMENT PARA"; + $v.="$current_segment\tSEGMENT ALIGN(64) 'CODE'"; $self->{value} = $v; last; }; diff --git a/crypto/perlasm/x86ms.pl b/crypto/perlasm/x86ms.pl index 3a2b4960c..d1cb7ee0a 100644 --- a/crypto/perlasm/x86ms.pl +++ b/crypto/perlasm/x86ms.pl @@ -258,7 +258,7 @@ sub main'function_begin push(@labels,$func); local($tmp)=<<"EOF"; -_TEXT\$ SEGMENT PARA +_TEXT\$ SEGMENT PAGE 'CODE' PUBLIC _$func $extra _$func PROC NEAR @@ -276,7 +276,7 @@ sub main'function_begin_B local($func,$extra)=@_; local($tmp)=<<"EOF"; -_TEXT\$ SEGMENT PARA +_TEXT\$ SEGMENT PAGE 'CODE' PUBLIC _$func $extra _$func PROC NEAR