[compiler-rt] 6680d4e - "Reland "[hwasan] Provide aliases for c allocation functions for Fuchsia"
Leonard Chan via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 18 11:26:47 PDT 2023
Author: Leonard Chan
Date: 2023-04-18T18:26:01Z
New Revision: 6680d4e42f544db6f73ff45a1ea730565da12822
URL: https://github.com/llvm/llvm-project/commit/6680d4e42f544db6f73ff45a1ea730565da12822
DIFF: https://github.com/llvm/llvm-project/commit/6680d4e42f544db6f73ff45a1ea730565da12822.diff
LOG: "Reland "[hwasan] Provide aliases for c allocation functions for Fuchsia"
This reverts commit cdf71d2ccd84ed7b8891924b04d1603f344038e9.
Relanding this because this only affects fuchsia builders and we moved
our hwasan builders to a non-blocking pool in the meantime.
Added:
Modified:
compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp b/compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
index ad359b12904b3..59ad633879bd5 100644
--- a/compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
+++ b/compiler-rt/lib/hwasan/hwasan_allocation_functions.cpp
@@ -16,10 +16,9 @@
#include "interception/interception.h"
#include "sanitizer_common/sanitizer_allocator_dlsym.h"
#include "sanitizer_common/sanitizer_allocator_interface.h"
+#include "sanitizer_common/sanitizer_mallinfo.h"
#include "sanitizer_common/sanitizer_tls_get_addr.h"
-#if !SANITIZER_FUCHSIA
-
using namespace __hwasan;
struct DlsymAlloc : public DlSymAllocator<DlsymAlloc> {
@@ -155,12 +154,19 @@ void *__sanitizer_malloc(uptr size) {
} // extern "C"
-#if HWASAN_WITH_INTERCEPTORS
+#if HWASAN_WITH_INTERCEPTORS || SANITIZER_FUCHSIA
+#if SANITIZER_FUCHSIA
+// Fuchsia does not use WRAP/wrappers used for the interceptor infrastructure.
+# define INTERCEPTOR_ALIAS(RET, FN, ARGS...) \
+ extern "C" SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE RET FN( \
+ ARGS) ALIAS("__sanitizer_" #FN)
+#else
# define INTERCEPTOR_ALIAS(RET, FN, ARGS...) \
extern "C" SANITIZER_INTERFACE_ATTRIBUTE RET WRAP(FN)(ARGS) \
ALIAS("__sanitizer_" #FN); \
extern "C" SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE RET FN( \
ARGS) ALIAS("__sanitizer_" #FN)
+#endif
INTERCEPTOR_ALIAS(int, posix_memalign, void **memptr, SIZE_T alignment,
SIZE_T size);
@@ -183,5 +189,3 @@ INTERCEPTOR_ALIAS(int, mallopt, int cmd, int value);
INTERCEPTOR_ALIAS(void, malloc_stats, void);
# endif
#endif // #if HWASAN_WITH_INTERCEPTORS
-
-#endif // SANITIZER_FUCHSIA
More information about the llvm-commits
mailing list