aboutsummaryrefslogtreecommitdiff
path: root/crypto/modes
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2018-06-24 13:29:29 +0200
committerAndy Polyakov <appro@openssl.org>2018-06-25 16:45:48 +0200
commit1753d1237429bace72a944f7654ce4b1c4364f60 (patch)
tree138ed7f4272c857f387d88b6dc5bae575a1c2f83 /crypto/modes
parent8d58f0171e743ebda2b676016800f0a4cd66a1da (diff)
downloadopenssl-1753d1237429bace72a944f7654ce4b1c4364f60.zip
openssl-1753d1237429bace72a944f7654ce4b1c4364f60.tar.gz
openssl-1753d1237429bace72a944f7654ce4b1c4364f60.tar.bz2
PA-RISC assembly pack: make it work with GNU assembler for HP-UX.
Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6583)
Diffstat (limited to 'crypto/modes')
-rw-r--r--crypto/modes/asm/ghash-parisc.pl12
1 files changed, 11 insertions, 1 deletions
diff --git a/crypto/modes/asm/ghash-parisc.pl b/crypto/modes/asm/ghash-parisc.pl
index fef2db1..654d9e9 100644
--- a/crypto/modes/asm/ghash-parisc.pl
+++ b/crypto/modes/asm/ghash-parisc.pl
@@ -724,6 +724,11 @@ sub assemble {
ref($opcode) eq 'CODE' ? &$opcode($mod,$args) : "\t$mnemonic$mod\t$args";
}
+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;
if ($SIZE_T==4) {
@@ -731,7 +736,12 @@ foreach (split("\n",$code)) {
s/cmpb,\*/comb,/;
s/,\*/,/;
}
- s/\bbv\b/bve/ if ($SIZE_T==8);
+
+ 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/\bbv\b/bve/ if ($SIZE_T==8);
+
print $_,"\n";
}