[scudo] Add default implementations for weak functions

Summary:
This is in preparation for platforms where `SANITIZER_SUPPORTS_WEAK_HOOKS` is 0.
They require a default implementation.

Reviewers: alekseyshl

Reviewed By: alekseyshl

Subscribers: delcypher, llvm-commits, #sanitizers

Differential Revision: https://reviews.llvm.org/D42557

llvm-svn: 323795
This commit is contained in:
Kostya Kortchinsky 2018-01-30 17:59:49 +00:00
parent 1d53101387
commit 4223af42b8
3 changed files with 22 additions and 2 deletions

View File

@ -736,6 +736,18 @@ uptr __sanitizer_get_allocated_size(const void *Ptr) {
return Instance.getUsableSize(Ptr);
}
#if !SANITIZER_SUPPORTS_WEAK_HOOKS
SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_malloc_hook,
void *Ptr, uptr Size) {
(void)Ptr;
(void)Size;
}
SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_free_hook, void *Ptr) {
(void)Ptr;
}
#endif
// Interface functions
void __scudo_set_rss_limit(uptr LimitMb, s32 HardLimit) {

View File

@ -12,13 +12,12 @@
//===----------------------------------------------------------------------===//
#include "scudo_flags.h"
#include "scudo_interface_internal.h"
#include "scudo_utils.h"
#include "sanitizer_common/sanitizer_flags.h"
#include "sanitizer_common/sanitizer_flag_parser.h"
SANITIZER_INTERFACE_WEAK_DEF(const char*, __scudo_default_options, void);
namespace __scudo {
static Flags ScudoFlags; // Use via getFlags().
@ -119,3 +118,9 @@ Flags *getFlags() {
}
} // namespace __scudo
#if !SANITIZER_SUPPORTS_WEAK_HOOKS
SANITIZER_INTERFACE_WEAK_DEF(const char*, __scudo_default_options, void) {
return "";
}
#endif

View File

@ -20,6 +20,9 @@ using __sanitizer::uptr;
using __sanitizer::s32;
extern "C" {
SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE
const char* __scudo_default_options();
SANITIZER_INTERFACE_ATTRIBUTE
void __scudo_set_rss_limit(uptr LimitMb, s32 HardLimit);
} // extern "C"