Parcourir la source

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)
Sebastian Andrzej Siewior il y a 2 ans
Parent
commit
272138795f
1 fichiers modifiés avec 2 ajouts et 0 suppressions
  1. 2 0
      crypto/perlasm/x86asm.pl

+ 2 - 0
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