aboutsummaryrefslogtreecommitdiff
path: root/stdlib/tst-swapcontext1.c
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 /stdlib/tst-swapcontext1.c
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 'stdlib/tst-swapcontext1.c')
-rw-r--r--stdlib/tst-swapcontext1.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/stdlib/tst-swapcontext1.c b/stdlib/tst-swapcontext1.c
index c96b8a2..8b1590d 100644
--- a/stdlib/tst-swapcontext1.c
+++ b/stdlib/tst-swapcontext1.c
@@ -29,7 +29,7 @@ const char *fmt2 = "\e[34m";
#define handle_error(msg) \
do { perror(msg); exit(EXIT_FAILURE); } while (0)
-__attribute__((noinline, noclone))
+__attribute_optimization_barrier__
static void
func4(ucontext_t *uocp, ucontext_t *ucp, const char *str, const char *fmt)
{
@@ -39,7 +39,7 @@ func4(ucontext_t *uocp, ucontext_t *ucp, const char *str, const char *fmt)
printf(" %sfunc4: returning\e[0m\n", fmt);
}
-__attribute__((noinline, noclone))
+__attribute_optimization_barrier__
static void
func3(ucontext_t *uocp, ucontext_t *ucp, const char *str, const char *fmt)
{
@@ -48,7 +48,7 @@ func3(ucontext_t *uocp, ucontext_t *ucp, const char *str, const char *fmt)
printf(" %sfunc3: returning\e[0m\n", fmt);
}
-__attribute__((noinline, noclone))
+__attribute_optimization_barrier__
static void
func1(void)
{
@@ -59,7 +59,7 @@ func1(void)
}
}
-__attribute__((noinline, noclone))
+__attribute_optimization_barrier__
static void
func2(void)
{