PA-RISC assembly pack: make it work with GNU assembler for HP-UX.
[openssl.git] / crypto / sha / asm / sha1-parisc.pl
index 822288e66104a53f8b30ee64a4c914675564a787..88f4f2e4be1b269c7207582dfa2719874d454ef4 100644 (file)
@@ -260,8 +260,20 @@ $code.=<<___;
        .STRINGZ "SHA1 block transform for PA-RISC, CRYPTOGAMS by <appro\@openssl.org>"
 ___
 
-$code =~ s/\`([^\`]*)\`/eval $1/gem;
-$code =~ s/,\*/,/gm            if ($SIZE_T==4);
-$code =~ s/\bbv\b/bve/gm       if ($SIZE_T==8);
-print $code;
+if (`$ENV{CC} -Wa,-v -c -o /dev/null -x assembler /dev/null 2>&1`
+       =~ /GNU assembler/) {
+    $gnuas = 1;
+}
+
+foreach(split("\n",$code)) {
+       s/\`([^\`]*)\`/eval $1/ge;
+
+       s/(\.LEVEL\s+2\.0)W/$1w/        if ($gnuas && $SIZE_T==8);
+       s/\.SPACE\s+\$TEXT\$/.text/     if ($gnuas && $SIZE_T==8);
+       s/\.SUBSPA.*//                  if ($gnuas && $SIZE_T==8);
+       s/,\*/,/                        if ($SIZE_T==4);
+       s/\bbv\b/bve/                   if ($SIZE_T==8);
+
+       print $_,"\n";
+}
 close STDOUT;