From: Sebastian Andrzej Siewior Date: Thu, 19 May 2022 19:51:18 +0000 (+0200) Subject: x86asm: Generate endbr32 based on __CET__. X-Git-Tag: openssl-3.2.0-alpha1~2627 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=272138795ffa63d5811e985f98cac94acf658dbe;p=thirdparty%2Fopenssl.git 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) --- diff --git a/crypto/perlasm/x86asm.pl b/crypto/perlasm/x86asm.pl index be462cec6ee..2ec16c5571d 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