From b8435c6523d9377f04d5e21629f3dc68b8865016 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Mon, 23 Nov 2020 15:31:45 -0800 Subject: [PATCH] heaptrack_preload: Make noexcept attribute conditional musl does not define these functions with noexcept and hence compiler complains about them Upstream-Status: Pending Signed-off-by: Khem Raj --- src/track/heaptrack_preload.cpp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/track/heaptrack_preload.cpp b/src/track/heaptrack_preload.cpp index 63110ce..ee85331 100644 --- a/src/track/heaptrack_preload.cpp +++ b/src/track/heaptrack_preload.cpp @@ -171,11 +171,17 @@ void init() } } +#ifdef __GLIBC__ +#define NOEXECPT noexcept +#else +#define NOEXECPT +#endif + extern "C" { /// TODO: memalign, pvalloc, ...? -void* malloc(size_t size) noexcept +void* malloc(size_t size) NOEXECPT { if (!hooks::malloc) { hooks::init(); @@ -186,7 +192,7 @@ void* malloc(size_t size) noexcept return ptr; } -void free(void* ptr) noexcept +void free(void* ptr) NOEXECPT { if (!hooks::free) { hooks::init(); @@ -204,7 +210,7 @@ void free(void* ptr) noexcept hooks::free(ptr); } -void* realloc(void* ptr, size_t size) noexcept +void* realloc(void* ptr, size_t size) NOEXECPT { if (!hooks::realloc) { hooks::init(); @@ -219,7 +225,7 @@ void* realloc(void* ptr, size_t size) noexcept return ret; } -void* calloc(size_t num, size_t size) noexcept +void* calloc(size_t num, size_t size) NOEXECPT { if (!hooks::calloc) { hooks::init(); @@ -235,7 +241,7 @@ void* calloc(size_t num, size_t size) noexcept } #if HAVE_CFREE -void cfree(void* ptr) noexcept +void cfree(void* ptr) NOEXECPT { if (!hooks::cfree) { hooks::init(); @@ -252,7 +258,7 @@ void cfree(void* ptr) noexcept } #endif -int posix_memalign(void** memptr, size_t alignment, size_t size) noexcept +int posix_memalign(void** memptr, size_t alignment, size_t size) NOEXECPT { if (!hooks::posix_memalign) { hooks::init(); @@ -268,7 +274,7 @@ int posix_memalign(void** memptr, size_t alignment, size_t size) noexcept } #if HAVE_ALIGNED_ALLOC -void* aligned_alloc(size_t alignment, size_t size) noexcept +void* aligned_alloc(size_t alignment, size_t size) NOEXECPT { if (!hooks::aligned_alloc) { hooks::init(); @@ -285,7 +291,7 @@ void* aligned_alloc(size_t alignment, size_t size) noexcept #endif #if HAVE_VALLOC -void* valloc(size_t size) noexcept +void* valloc(size_t size) NOEXECPT { if (!hooks::valloc) { hooks::init(); @@ -301,7 +307,7 @@ void* valloc(size_t size) noexcept } #endif -void* dlopen(const char* filename, int flag) noexcept +void* dlopen(const char* filename, int flag) NOEXECPT { if (!hooks::dlopen) { hooks::init(); @@ -316,7 +322,7 @@ void* dlopen(const char* filename, int flag) noexcept return ret; } -int dlclose(void* handle) noexcept +int dlclose(void* handle) NOEXECPT { if (!hooks::dlclose) { hooks::init();