diff options
| author | Marcos Pividori <mpividori@google.com> | 2017-01-29 05:44:59 +0000 |
|---|---|---|
| committer | Marcos Pividori <mpividori@google.com> | 2017-01-29 05:44:59 +0000 |
| commit | 8650f5d1a19aeaeb91757db6df82ad352eb25e9b (patch) | |
| tree | 2adbe8d7172c3a0c6bcda6a1966cad17624abf64 /compiler-rt/lib/sanitizer_common/sanitizer_common.cc | |
| parent | 3a556111b9e40aa68f8f9dbb4309b4179b7a7fe2 (diff) | |
| download | bcm5719-llvm-8650f5d1a19aeaeb91757db6df82ad352eb25e9b.tar.gz bcm5719-llvm-8650f5d1a19aeaeb91757db6df82ad352eb25e9b.zip | |
General definition for weak functions
In this diff, I define a general macro for defining weak functions
with a default implementation: "SANITIZER_INTERFACE_WEAK_DEF()".
This way, we simplify the implementation for different platforms.
For example, we cannot define weak functions on Windows, but we can
use linker pragmas to create an alias to a default implementation.
All of these implementation details are hidden in the new macro.
Also, as I modify the name for exported weak symbols on Windows, I
needed to temporarily disable "dll_host" test for asan, which checks
the list of functions included in asan_win_dll_thunk.
Differential Revision: https://reviews.llvm.org/D28596
llvm-svn: 293419
Diffstat (limited to 'compiler-rt/lib/sanitizer_common/sanitizer_common.cc')
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_common.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_common.cc b/compiler-rt/lib/sanitizer_common/sanitizer_common.cc index 9824a5198b5..63a73594e37 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_common.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_common.cc @@ -505,9 +505,9 @@ int __sanitizer_install_malloc_and_free_hooks(void (*malloc_hook)(const void *, return InstallMallocFreeHooks(malloc_hook, free_hook); } -#if !SANITIZER_GO && !SANITIZER_SUPPORTS_WEAK_HOOKS -SANITIZER_INTERFACE_ATTRIBUTE SANITIZER_WEAK_ATTRIBUTE -void __sanitizer_print_memory_profile(int top_percent) { +#if !SANITIZER_GO +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_print_memory_profile, + int top_percent) { (void)top_percent; } #endif |

