perlasm/x86_64-xlate.pl: address errors and warnings in elderly perls.
authorAndy Polyakov <appro@openssl.org>
Thu, 23 Jun 2016 13:49:20 +0000 (15:49 +0200)
committerAndy Polyakov <appro@openssl.org>
Fri, 24 Jun 2016 20:10:19 +0000 (22:10 +0200)
Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/perlasm/x86_64-xlate.pl

index 885690507ecf53e6279ea17a105aec9a706e6768..60b98d74075e3ce7ff4178766623619bfd42ab04 100755 (executable)
@@ -170,8 +170,8 @@ my %globals;
            if ($self->{op} eq "ret") {
                $self->{op} = "";
                if ($win64 && $current_function->{abi} eq "svr4") {
-                   $self->{op} = "mov  rdi,QWORD${PTR}[8+rsp]\t;WIN64 epilogue\n\t".
-                                 "mov  rsi,QWORD${PTR}[16+rsp]\n\t";
+                   $self->{op} = "mov  rdi,QWORD$PTR\[8+rsp\]\t;WIN64 epilogue\n\t".
+                                 "mov  rsi,QWORD$PTR\[16+rsp\]\n\t";
                }
                $self->{op} .= "DB\t0F3h,0C3h\t\t;repret";
            } elsif ($self->{op} =~ /^(pop|push)f/) {
@@ -210,6 +210,7 @@ my %globals;
            # Solaris /usr/ccs/bin/as can't handle multiplications
            # in $self->{value}
            my $value = $self->{value};
+           no warnings;    # oct might complain about overflow, ignore here...
            $value =~ s/(?<![\w\$\.])(0x?[0-9a-f]+)/oct($1)/egi;
            if ($value =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg) {
                $self->{value} = $value;
@@ -227,7 +228,7 @@ my %globals;
        my      $self = {};
        my      $ret;
 
-       # optional * ---vvv--- appears in indirect jmp/call
+       # optional * ----vvv--- appears in indirect jmp/call
        if ($$line =~ /^(\*?)([^\(,]*)\(([%\w,]+)\)/) {
            bless $self, $class;
            $self->{asterisk} = $1;
@@ -400,8 +401,8 @@ my %globals;
            my $func =  "$current_function->{name}" .
                        ($nasm ? ":" : "\tPROC $current_function->{scope}") .
                        "\n";
-           $func .= "  mov     QWORD${PTR}[8+rsp],rdi\t;WIN64 prologue\n";
-           $func .= "  mov     QWORD${PTR}[16+rsp],rsi\n";
+           $func .= "  mov     QWORD$PTR\[8+rsp\],rdi\t;WIN64 prologue\n";
+           $func .= "  mov     QWORD$PTR\[16+rsp\],rsi\n";
            $func .= "  mov     rax,rsp\n";
            $func .= "${decor}SEH_begin_$current_function->{name}:";
            $func .= ":" if ($masm);
@@ -412,8 +413,8 @@ my %globals;
            $func .= "  mov     rsi,rdx\n" if ($narg>1);
            $func .= "  mov     rdx,r8\n"  if ($narg>2);
            $func .= "  mov     rcx,r9\n"  if ($narg>3);
-           $func .= "  mov     r8,QWORD${PTR}[40+rsp]\n" if ($narg>4);
-           $func .= "  mov     r9,QWORD${PTR}[48+rsp]\n" if ($narg>5);
+           $func .= "  mov     r8,QWORD$PTR\[40+rsp\]\n" if ($narg>4);
+           $func .= "  mov     r9,QWORD$PTR\[48+rsp\]\n" if ($narg>5);
            $func .= "\n";
        } else {
           "$current_function->{name}".