From 0f81a44b37eec6e0b21bb95934d9fb529720591b Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 15 Nov 2018 00:51:41 -0800 Subject: perlasm: avoid rep ret The original hardcodes returns as .byte 0xf3,0xc3, aka "rep ret". We replace this by "ret". "rep ret" was meant to help with AMD K8 chips, cf. http://repzret.org/p/repzret. It makes no sense to continue to use this kludge for code that won't even run on ancient AMD chips. --- src/crypto/zinc/perlasm/x86_64-xlate.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crypto/zinc/perlasm/x86_64-xlate.pl b/src/crypto/zinc/perlasm/x86_64-xlate.pl index 8a18c5b..0fe1516 100644 --- a/src/crypto/zinc/perlasm/x86_64-xlate.pl +++ b/src/crypto/zinc/perlasm/x86_64-xlate.pl @@ -164,7 +164,7 @@ my %globals; $epilogue = "movq 8(%rsp),%rdi\n\t" . "movq 16(%rsp),%rsi\n\t"; } - $epilogue . ".byte 0xf3,0xc3"; + $epilogue . "ret"; } elsif ($self->{op} eq "call" && !$elf && $current_segment eq ".init") { ".p2align\t3\n\t.quad"; } else { -- cgit v1.2.3-59-g8ed1b