From 4575c2b19ec5e1ee485703c35811a08194ef6842 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Tue, 11 Oct 2022 14:39:50 -0400 Subject: [PATCH] src/jemalloc.c: Avoid copy() attribute in Clang --- src/jemalloc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/jemalloc.c b/src/jemalloc.c index 134a35c3..5076e5ea 100644 --- a/src/jemalloc.c +++ b/src/jemalloc.c @@ -3334,7 +3334,12 @@ JEMALLOC_EXPORT void *(*__memalign_hook)(size_t alignment, size_t size) = * be implemented also, so none of glibc's malloc.o functions are added to the * link. */ -# define ALIAS(je_fn) __attribute__((alias (#je_fn), copy(je_fn))) +# ifdef __clang__ + /* Clang doesn't support GCC's copy() attribute. */ +# define ALIAS(je_fn) __attribute__((alias (#je_fn), used)) +# else +# define ALIAS(je_fn) __attribute__((alias (#je_fn), copy(je_fn))) +# endif /* To force macro expansion of je_ prefix before stringification. */ # define PREALIAS(je_fn) ALIAS(je_fn) # ifdef JEMALLOC_OVERRIDE___LIBC_CALLOC