summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <sebastian@breakpoint.cc>2022-05-19 21:51:18 +0200
committerPauli <pauli@openssl.org>2022-05-24 13:16:06 +1000
commit272138795ffa63d5811e985f98cac94acf658dbe (patch)
tree88714247b1dfbcd54fdb9bcf50979b898607044f
parent9968c77539d6f7c5b1dcf0162fd4b57c144318c7 (diff)
downloadopenssl-new-272138795ffa63d5811e985f98cac94acf658dbe.tar.gz
x86asm: Generate endbr32 based on __CET__.
The VIA Nehemiah CPU is a x86-32 CPU without SSE2 support. It does not support multi byte nops and considers the endb32 opcode as an invalid instruction. Add an ifdef around the endbr32 opcode on x86-32. Fixes: #18334 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18353)
-rw-r--r--crypto/perlasm/x86asm.pl2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/perlasm/x86asm.pl b/crypto/perlasm/x86asm.pl
index be462cec6e..2ec16c5571 100644
--- a/crypto/perlasm/x86asm.pl
+++ b/crypto/perlasm/x86asm.pl
@@ -174,7 +174,9 @@ sub ::vprotd
sub ::endbranch
{
+ &::generic("#ifdef __CET__\n");
&::data_byte(0xf3,0x0f,0x1e,0xfb);
+ &::generic("#endif\n");
}
# label management