16
16
#include " interception/interception.h"
17
17
#include " sanitizer_common/sanitizer_allocator_dlsym.h"
18
18
#include " sanitizer_common/sanitizer_allocator_interface.h"
19
+ #include " sanitizer_common/sanitizer_mallinfo.h"
19
20
#include " sanitizer_common/sanitizer_tls_get_addr.h"
20
21
21
- #if !SANITIZER_FUCHSIA
22
-
23
22
using namespace __hwasan ;
24
23
25
24
struct DlsymAlloc : public DlSymAllocator <DlsymAlloc> {
@@ -155,12 +154,19 @@ void *__sanitizer_malloc(uptr size) {
155
154
156
155
} // extern "C"
157
156
158
- #if HWASAN_WITH_INTERCEPTORS
157
+ #if HWASAN_WITH_INTERCEPTORS || SANITIZER_FUCHSIA
158
+ #if SANITIZER_FUCHSIA
159
+ // Fuchsia does not use WRAP/wrappers used for the interceptor infrastructure.
160
+ # define INTERCEPTOR_ALIAS (RET, FN, ARGS... ) \
161
+ extern " C" SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE RET FN ( \
162
+ ARGS) ALIAS(" __sanitizer_" #FN)
163
+ #else
159
164
# define INTERCEPTOR_ALIAS (RET, FN, ARGS... ) \
160
165
extern " C" SANITIZER_INTERFACE_ATTRIBUTE RET WRAP (FN)(ARGS) \
161
166
ALIAS(" __sanitizer_" #FN); \
162
167
extern " C" SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE RET FN ( \
163
168
ARGS) ALIAS(" __sanitizer_" #FN)
169
+ #endif
164
170
165
171
INTERCEPTOR_ALIAS (int , posix_memalign, void **memptr, SIZE_T alignment,
166
172
SIZE_T size);
@@ -183,5 +189,3 @@ INTERCEPTOR_ALIAS(int, mallopt, int cmd, int value);
183
189
INTERCEPTOR_ALIAS (void , malloc_stats, void );
184
190
# endif
185
191
#endif // #if HWASAN_WITH_INTERCEPTORS
186
-
187
- #endif // SANITIZER_FUCHSIA
0 commit comments