aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2024-12-23 05:11:58 +0800
committerH.J. Lu <hjl.tools@gmail.com>2024-12-23 06:28:55 +0800
commita2b0ff98a0d44259cc5f6bd7d3a3676ae9f8996a (patch)
tree7816983cdeea6e6c32dd005c76da785811ea3047 /sysdeps/unix/sysv
parent3fb895ac88e99201573352b1abc18db4340ecede (diff)
downloadglibc-a2b0ff98a0d44259cc5f6bd7d3a3676ae9f8996a.zip
glibc-a2b0ff98a0d44259cc5f6bd7d3a3676ae9f8996a.tar.gz
glibc-a2b0ff98a0d44259cc5f6bd7d3a3676ae9f8996a.tar.bz2
include/sys/cdefs.h: Add __attribute_optimization_barrier__
Add __attribute_optimization_barrier__ to disable inlining and cloning on a function. For Clang, expand it to __attribute__ ((optnone)) Otherwise, expand it to __attribute__ ((noinline, clone)) Co-Authored-By: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/tst-cet-property-2.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/tst-cet-setcontext-1.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/tst-cet-vfork-1.c2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c2
4 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-cet-property-2.c b/sysdeps/unix/sysv/linux/x86_64/tst-cet-property-2.c
index 5274a09..2b0126b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/tst-cet-property-2.c
+++ b/sysdeps/unix/sysv/linux/x86_64/tst-cet-property-2.c
@@ -25,7 +25,7 @@
extern void bar (void);
void
-__attribute__ ((noclone, noinline))
+__attribute_optimization_barrier__
test (void (*func_p) (void))
{
func_p ();
diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-cet-setcontext-1.c b/sysdeps/unix/sysv/linux/x86_64/tst-cet-setcontext-1.c
index 388931f..c9d49bd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/tst-cet-setcontext-1.c
+++ b/sysdeps/unix/sysv/linux/x86_64/tst-cet-setcontext-1.c
@@ -30,7 +30,7 @@ static ucontext_t ctx[5];
static atomic_int done;
static void
-__attribute__((noinline, noclone))
+__attribute_optimization_barrier__
f2 (void)
{
printf ("start f2\n");
diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-cet-vfork-1.c b/sysdeps/unix/sysv/linux/x86_64/tst-cet-vfork-1.c
index 56d7753..cf23bd4 100644
--- a/sysdeps/unix/sysv/linux/x86_64/tst-cet-vfork-1.c
+++ b/sysdeps/unix/sysv/linux/x86_64/tst-cet-vfork-1.c
@@ -25,7 +25,7 @@
#include <x86intrin.h>
#include <support/test-driver.h>
-__attribute__ ((noclone, noinline))
+__attribute_optimization_barrier__
static void
do_test_1 (void)
{
diff --git a/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c
index ae4dd82..c3b2afe 100644
--- a/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c
+++ b/sysdeps/unix/sysv/linux/x86_64/tst-gnu2-tls2-amx.c
@@ -27,7 +27,7 @@ extern int arch_prctl (int, ...);
#define X86_XSTATE_TILEDATA_ID 18
/* Initialize tile config. */
-__attribute__ ((noinline, noclone))
+__attribute_optimization_barrier__
static void
init_tile_config (__tilecfg *tileinfo)
{