From deec799746e92ab0487eca489499ade08a2610bf Mon Sep 17 00:00:00 2001 From: Caroline Tice Date: Mon, 8 Jan 2018 10:25:12 -0800 Subject: [GCC] Commit retpoline patch code, for fixing security issues. This applies the Intel GCC code patches, to allow compiling with appropriate flags for mitigating the indirect branch variant of the speculative execution security flaw. Bug: None Test: This is already in place in ChromeOS and has been tested on the ChromeOS kernels. Change-Id: Ideffb433b697f1fe7e4ca2c1eaa968160abfcc8b --- .../i386/patch-functions-force-no-patching.c | 27 ---------------------- 1 file changed, 27 deletions(-) delete mode 100644 gcc-4.9/gcc/testsuite/gcc.target/i386/patch-functions-force-no-patching.c (limited to 'gcc-4.9/gcc/testsuite/gcc.target/i386/patch-functions-force-no-patching.c') diff --git a/gcc-4.9/gcc/testsuite/gcc.target/i386/patch-functions-force-no-patching.c b/gcc-4.9/gcc/testsuite/gcc.target/i386/patch-functions-force-no-patching.c deleted file mode 100644 index cad6f2da6..000000000 --- a/gcc-4.9/gcc/testsuite/gcc.target/i386/patch-functions-force-no-patching.c +++ /dev/null @@ -1,27 +0,0 @@ -/* { dg-do compile } */ -/* { dg-require-effective-target lp64 } */ -/* { dg-options "-mpatch-functions-for-instrumentation -mno-patch-functions-main-always" } */ - -/* Even complicated functions shouldn't get patched if they have the - never_patch_for_instrumentation attribute. */ - -/* { dg-final { scan-assembler-not ".byte\t0xeb,0x09(.*).byte\t0x90" } } */ -/* { dg-final { scan-assembler-not "ret(.*).byte\t0x90(.*).byte\t0x90" } } */ - -__attribute__ ((never_patch_for_instrumentation)) -int foo () { - volatile unsigned x = 0; - volatile unsigned y = 1; - x += y; - x *= y; - while (++x) - foo (); - return y; -} - - -int main () -{ - int x = 0; - return 0; -} -- cgit v1.2.3