From b8435c6523d9377f04d5e21629f3dc68b8865016 Mon Sep 17 00:00:00 2001
|
From: Khem Raj <raj.khem@gmail.com>
|
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 <raj.khem@gmail.com>
|
---
|
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();
|