From: H.J. Lu Date: Sat, 14 Dec 2019 17:48:18 +0000 (-0800) Subject: x86: Always generate .note.gnu.property section for ELF outputs X-Git-Tag: openssl-3.0.0-alpha1~507 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;ds=sidebyside;h=96f0b8adddc4ffc8599c60b5755b0d9c19a9c84b;p=oweals%2Fopenssl.git x86: Always generate .note.gnu.property section for ELF outputs We should always generate .note.gnu.property section in x86 assembly codes for ELF outputs to mark Intel CET support since all input files must be marked with Intel CET support in order for linker to mark output with Intel CET support. Verified with $ CC="gcc -Wl,-z,cet-report=error" ./Configure shared linux-x86 -fcf-protection $ make $ make test Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/11044) --- diff --git a/crypto/perlasm/x86gas.pl b/crypto/perlasm/x86gas.pl index 25d1c16aac..2875a1f716 100644 --- a/crypto/perlasm/x86gas.pl +++ b/crypto/perlasm/x86gas.pl @@ -173,6 +173,26 @@ sub ::file_end else { push (@out,"$tmp\n"); } } push(@out,$initseg) if ($initseg); + if ($::elf) { + push(@out," + .section \".note.gnu.property\", \"a\" + .p2align 2 + .long 1f - 0f + .long 4f - 1f + .long 5 +0: + .asciz \"GNU\" +1: + .p2align 2 + .long 0xc0000002 + .long 3f - 2f +2: + .long 3 +3: + .p2align 2 +4: +"); + } } sub ::data_byte { push(@out,".byte\t".join(',',@_)."\n"); }