summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-04-23 13:34:19 +0000
committerAlexey Samsonov <samsonov@google.com>2013-04-23 13:34:19 +0000
commit11347bf5f008b5970f699241617381d95526d73d (patch)
tree5bf0630f4eff254fd6908f18c5ac72cd93c411e6
parentb6c8e47a72d526232f4d3e3b36232f30f8818733 (diff)
downloadcompiler-rt-11347bf5f008b5970f699241617381d95526d73d.tar.gz
[MSan] Make a few interface functions accept 'const void *' instead of 'void*'
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@180102 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/sanitizer/msan_interface.h12
-rw-r--r--lib/msan/msan.cc6
-rw-r--r--lib/msan/msan_interceptors.cc6
-rw-r--r--lib/msan/msan_interface_internal.h12
4 files changed, 18 insertions, 18 deletions
diff --git a/include/sanitizer/msan_interface.h b/include/sanitizer/msan_interface.h
index ceba6611b..9eff7b597 100644
--- a/include/sanitizer/msan_interface.h
+++ b/include/sanitizer/msan_interface.h
@@ -27,10 +27,10 @@ extern "C" {
/* Set raw origin for the memory range. */
- void __msan_set_origin(void *a, size_t size, uint32_t origin);
+ void __msan_set_origin(const void *a, size_t size, uint32_t origin);
/* Get raw origin for an address. */
- uint32_t __msan_get_origin(void *a);
+ uint32_t __msan_get_origin(const void *a);
/* Returns non-zero if tracking origins. */
int __msan_get_track_origins();
@@ -39,14 +39,14 @@ extern "C" {
uint32_t __msan_get_umr_origin();
/* Make memory region fully initialized (without changing its contents). */
- void __msan_unpoison(void *a, size_t size);
+ void __msan_unpoison(const void *a, size_t size);
/* Make memory region fully uninitialized (without changing its contents). */
- void __msan_poison(void *a, size_t size);
+ void __msan_poison(const void *a, size_t size);
/* Make memory region partially uninitialized (without changing its contents).
*/
- void __msan_partial_poison(void* data, void* shadow, size_t size);
+ void __msan_partial_poison(const void* data, void* shadow, size_t size);
/* Returns the offset of the first (at least partially) poisoned byte in the
memory range, or -1 if the whole range is good. */
@@ -76,7 +76,7 @@ extern "C" {
/* Tell MSan about newly allocated memory (ex.: custom allocator).
Memory will be marked uninitialized, with origin at the call site. */
- void __msan_allocated_memory(void* data, size_t size);
+ void __msan_allocated_memory(const void* data, size_t size);
#else // __has_feature(memory_sanitizer)
diff --git a/lib/msan/msan.cc b/lib/msan/msan.cc
index dc11ed0c7..e872abf0b 100644
--- a/lib/msan/msan.cc
+++ b/lib/msan/msan.cc
@@ -379,7 +379,7 @@ int __msan_get_param_tls_offset() {
return param_tls_p - tls_base_p;
}
-void __msan_partial_poison(void* data, void* shadow, uptr size) {
+void __msan_partial_poison(const void* data, void* shadow, uptr size) {
internal_memcpy((void*)MEM_TO_SHADOW((uptr)data), shadow, size);
}
@@ -388,7 +388,7 @@ void __msan_load_unpoisoned(void *src, uptr size, void *dst) {
__msan_unpoison(dst, size);
}
-void __msan_set_origin(void *a, uptr size, u32 origin) {
+void __msan_set_origin(const void *a, uptr size, u32 origin) {
// Origin mapping is 4 bytes per 4 bytes of application memory.
// Here we extend the range such that its left and right bounds are both
// 4 byte aligned.
@@ -442,7 +442,7 @@ const char *__msan_get_origin_descr_if_stack(u32 id) {
}
-u32 __msan_get_origin(void *a) {
+u32 __msan_get_origin(const void *a) {
if (!__msan_track_origins) return 0;
uptr x = (uptr)a;
uptr aligned = x & ~3ULL;
diff --git a/lib/msan/msan_interceptors.cc b/lib/msan/msan_interceptors.cc
index a94005069..4bdf06681 100644
--- a/lib/msan/msan_interceptors.cc
+++ b/lib/msan/msan_interceptors.cc
@@ -746,7 +746,7 @@ INTERCEPTOR(void *, malloc, SIZE_T size) {
return MsanReallocate(&stack, 0, size, sizeof(u64), false);
}
-void __msan_allocated_memory(void* data, uptr size) {
+void __msan_allocated_memory(const void* data, uptr size) {
GET_MALLOC_STACK_TRACE;
if (flags()->poison_in_malloc)
__msan_poison(data, size);
@@ -981,12 +981,12 @@ void *fast_memcpy(void *dst, const void *src, SIZE_T n) {
// These interface functions reside here so that they can use
// fast_memset, etc.
-void __msan_unpoison(void *a, uptr size) {
+void __msan_unpoison(const void *a, uptr size) {
if (!MEM_IS_APP(a)) return;
fast_memset((void*)MEM_TO_SHADOW((uptr)a), 0, size);
}
-void __msan_poison(void *a, uptr size) {
+void __msan_poison(const void *a, uptr size) {
if (!MEM_IS_APP(a)) return;
fast_memset((void*)MEM_TO_SHADOW((uptr)a),
__msan::flags()->poison_heap_with_zeroes ? 0 : -1, size);
diff --git a/lib/msan/msan_interface_internal.h b/lib/msan/msan_interface_internal.h
index e1cd13c3f..d295a0565 100644
--- a/lib/msan/msan_interface_internal.h
+++ b/lib/msan/msan_interface_internal.h
@@ -38,7 +38,7 @@ SANITIZER_INTERFACE_ATTRIBUTE __attribute__((noreturn))
void __msan_warning_noreturn();
SANITIZER_INTERFACE_ATTRIBUTE
-void __msan_unpoison(void *a, uptr size);
+void __msan_unpoison(const void *a, uptr size);
SANITIZER_INTERFACE_ATTRIBUTE
void __msan_clear_and_unpoison(void *a, uptr size);
SANITIZER_INTERFACE_ATTRIBUTE
@@ -54,7 +54,7 @@ void __msan_copy_origin(void *dst, const void *src, uptr size);
SANITIZER_INTERFACE_ATTRIBUTE
void __msan_move_poison(void *dst, const void *src, uptr size);
SANITIZER_INTERFACE_ATTRIBUTE
-void __msan_poison(void *a, uptr size);
+void __msan_poison(const void *a, uptr size);
SANITIZER_INTERFACE_ATTRIBUTE
void __msan_poison_stack(void *a, uptr size);
@@ -69,11 +69,11 @@ SANITIZER_INTERFACE_ATTRIBUTE
sptr __msan_test_shadow(const void *x, uptr size);
SANITIZER_INTERFACE_ATTRIBUTE
-void __msan_set_origin(void *a, uptr size, u32 origin);
+void __msan_set_origin(const void *a, uptr size, u32 origin);
SANITIZER_INTERFACE_ATTRIBUTE
void __msan_set_alloca_origin(void *a, uptr size, const char *descr);
SANITIZER_INTERFACE_ATTRIBUTE
-u32 __msan_get_origin(void *a);
+u32 __msan_get_origin(const void *a);
SANITIZER_INTERFACE_ATTRIBUTE
void __msan_clear_on_return();
@@ -114,12 +114,12 @@ u32 __msan_get_umr_origin();
SANITIZER_INTERFACE_ATTRIBUTE
const char *__msan_get_origin_descr_if_stack(u32 id);
SANITIZER_INTERFACE_ATTRIBUTE
-void __msan_partial_poison(void* data, void* shadow, uptr size);
+void __msan_partial_poison(const void* data, void* shadow, uptr size);
// Tell MSan about newly allocated memory (ex.: custom allocator).
// Memory will be marked uninitialized, with origin at the call site.
SANITIZER_INTERFACE_ATTRIBUTE
-void __msan_allocated_memory(void* data, uptr size);
+void __msan_allocated_memory(const void* data, uptr size);
} // extern "C"
#endif // MSAN_INTERFACE_INTERNAL_H