1From b8435c6523d9377f04d5e21629f3dc68b8865016 Mon Sep 17 00:00:00 2001 2From: Khem Raj <raj.khem@gmail.com> 3Date: Mon, 23 Nov 2020 15:31:45 -0800 4Subject: [PATCH] heaptrack_preload: Make noexcept attribute conditional 5 6musl does not define these functions with noexcept and hence compiler 7complains about them 8 9Upstream-Status: Pending 10Signed-off-by: Khem Raj <raj.khem@gmail.com> 11--- 12 src/track/heaptrack_preload.cpp | 26 ++++++++++++++++---------- 13 1 file changed, 16 insertions(+), 10 deletions(-) 14 15diff --git a/src/track/heaptrack_preload.cpp b/src/track/heaptrack_preload.cpp 16index 63110ce..ee85331 100644 17--- a/src/track/heaptrack_preload.cpp 18+++ b/src/track/heaptrack_preload.cpp 19@@ -171,11 +171,17 @@ void init() 20 } 21 } 22 23+#ifdef __GLIBC__ 24+#define NOEXECPT noexcept 25+#else 26+#define NOEXECPT 27+#endif 28+ 29 extern "C" { 30 31 /// TODO: memalign, pvalloc, ...? 32 33-void* malloc(size_t size) noexcept 34+void* malloc(size_t size) NOEXECPT 35 { 36 if (!hooks::malloc) { 37 hooks::init(); 38@@ -186,7 +192,7 @@ void* malloc(size_t size) noexcept 39 return ptr; 40 } 41 42-void free(void* ptr) noexcept 43+void free(void* ptr) NOEXECPT 44 { 45 if (!hooks::free) { 46 hooks::init(); 47@@ -204,7 +210,7 @@ void free(void* ptr) noexcept 48 hooks::free(ptr); 49 } 50 51-void* realloc(void* ptr, size_t size) noexcept 52+void* realloc(void* ptr, size_t size) NOEXECPT 53 { 54 if (!hooks::realloc) { 55 hooks::init(); 56@@ -219,7 +225,7 @@ void* realloc(void* ptr, size_t size) noexcept 57 return ret; 58 } 59 60-void* calloc(size_t num, size_t size) noexcept 61+void* calloc(size_t num, size_t size) NOEXECPT 62 { 63 if (!hooks::calloc) { 64 hooks::init(); 65@@ -235,7 +241,7 @@ void* calloc(size_t num, size_t size) noexcept 66 } 67 68 #if HAVE_CFREE 69-void cfree(void* ptr) noexcept 70+void cfree(void* ptr) NOEXECPT 71 { 72 if (!hooks::cfree) { 73 hooks::init(); 74@@ -252,7 +258,7 @@ void cfree(void* ptr) noexcept 75 } 76 #endif 77 78-int posix_memalign(void** memptr, size_t alignment, size_t size) noexcept 79+int posix_memalign(void** memptr, size_t alignment, size_t size) NOEXECPT 80 { 81 if (!hooks::posix_memalign) { 82 hooks::init(); 83@@ -268,7 +274,7 @@ int posix_memalign(void** memptr, size_t alignment, size_t size) noexcept 84 } 85 86 #if HAVE_ALIGNED_ALLOC 87-void* aligned_alloc(size_t alignment, size_t size) noexcept 88+void* aligned_alloc(size_t alignment, size_t size) NOEXECPT 89 { 90 if (!hooks::aligned_alloc) { 91 hooks::init(); 92@@ -285,7 +291,7 @@ void* aligned_alloc(size_t alignment, size_t size) noexcept 93 #endif 94 95 #if HAVE_VALLOC 96-void* valloc(size_t size) noexcept 97+void* valloc(size_t size) NOEXECPT 98 { 99 if (!hooks::valloc) { 100 hooks::init(); 101@@ -301,7 +307,7 @@ void* valloc(size_t size) noexcept 102 } 103 #endif 104 105-void* dlopen(const char* filename, int flag) noexcept 106+void* dlopen(const char* filename, int flag) NOEXECPT 107 { 108 if (!hooks::dlopen) { 109 hooks::init(); 110@@ -316,7 +322,7 @@ void* dlopen(const char* filename, int flag) noexcept 111 return ret; 112 } 113 114-int dlclose(void* handle) noexcept 115+int dlclose(void* handle) NOEXECPT 116 { 117 if (!hooks::dlclose) { 118 hooks::init(); 119