From 272138795ffa63d5811e985f98cac94acf658dbe Mon Sep 17 00:00:00 2001 From: Sebastian Andrzej Siewior Date: Thu, 19 May 2022 21:51:18 +0200 Subject: [PATCH] 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 Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/18353) --- crypto/perlasm/x86asm.pl | 2 ++ 1 file changed, 2 insertions(+) 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