From b576a7dbcf7d542924d066de81bce56087346ebe Mon Sep 17 00:00:00 2001 From: Nicole Mazzuca Date: Tue, 31 Oct 2023 13:30:04 -0700 Subject: [PATCH 1/2] [windows][ASan] Fix build PR #69625 broke the build - I put __cdecl on the wrong side of the `*` in function pointer declarations. Lesson learned - run check-all! --- compiler-rt/include/sanitizer/allocator_interface.h | 4 ++-- compiler-rt/include/sanitizer/dfsan_interface.h | 6 +++--- compiler-rt/include/sanitizer/msan_interface.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/compiler-rt/include/sanitizer/allocator_interface.h b/compiler-rt/include/sanitizer/allocator_interface.h index 19af06969e083..03eb03a11065d 100644 --- a/compiler-rt/include/sanitizer/allocator_interface.h +++ b/compiler-rt/include/sanitizer/allocator_interface.h @@ -83,8 +83,8 @@ void SANITIZER_CDECL __sanitizer_free_hook(const volatile void *ptr); other threads. */ int SANITIZER_CDECL __sanitizer_install_malloc_and_free_hooks( - void (*SANITIZER_CDECL malloc_hook)(const volatile void *, size_t), - void (*SANITIZER_CDECL free_hook)(const volatile void *)); + void (SANITIZER_CDECL *malloc_hook)(const volatile void *, size_t), + void (SANITIZER_CDECL *free_hook)(const volatile void *)); /* Drains allocator quarantines (calling thread's and global ones), returns freed memory back to OS and releases other non-essential internal allocator diff --git a/compiler-rt/include/sanitizer/dfsan_interface.h b/compiler-rt/include/sanitizer/dfsan_interface.h index 1084ec1f53cc0..16f2b67b93950 100644 --- a/compiler-rt/include/sanitizer/dfsan_interface.h +++ b/compiler-rt/include/sanitizer/dfsan_interface.h @@ -25,16 +25,16 @@ typedef uint8_t dfsan_label; typedef uint32_t dfsan_origin; /// Signature of the callback argument to dfsan_set_write_callback(). -typedef void (*SANITIZER_CDECL dfsan_write_callback_t)(int fd, const void *buf, +typedef void (SANITIZER_CDECL *dfsan_write_callback_t)(int fd, const void *buf, size_t count); /// Signature of the callback argument to dfsan_set_conditional_callback(). -typedef void (*SANITIZER_CDECL dfsan_conditional_callback_t)( +typedef void (SANITIZER_CDECL *dfsan_conditional_callback_t)( dfsan_label label, dfsan_origin origin); /// Signature of the callback argument to dfsan_set_reaches_function_callback(). /// The description is intended to hold the name of the variable. -typedef void (*SANITIZER_CDECL dfsan_reaches_function_callback_t)( +typedef void (SANITIZER_CDECL *dfsan_reaches_function_callback_t)( dfsan_label label, dfsan_origin origin, const char *file, unsigned int line, const char *function); diff --git a/compiler-rt/include/sanitizer/msan_interface.h b/compiler-rt/include/sanitizer/msan_interface.h index 459de87689488..946a4db262551 100644 --- a/compiler-rt/include/sanitizer/msan_interface.h +++ b/compiler-rt/include/sanitizer/msan_interface.h @@ -108,7 +108,7 @@ const char *SANITIZER_CDECL __msan_default_options(void); /* Deprecated. Call __sanitizer_set_death_callback instead. */ void SANITIZER_CDECL -__msan_set_death_callback(void (*SANITIZER_CDECL callback)(void)); +__msan_set_death_callback(void (SANITIZER_CDECL *callback)(void)); /* Update shadow for the application copy of size bytes from src to dst. Src and dst are application addresses. This function does not copy the From 3cbd8eab99ffb7278c71acf2134a6b8fc58ebefd Mon Sep 17 00:00:00 2001 From: Nicole Mazzuca Date: Tue, 31 Oct 2023 13:43:25 -0700 Subject: [PATCH 2/2] format --- compiler-rt/include/sanitizer/allocator_interface.h | 4 ++-- compiler-rt/include/sanitizer/dfsan_interface.h | 8 ++++---- compiler-rt/include/sanitizer/msan_interface.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/compiler-rt/include/sanitizer/allocator_interface.h b/compiler-rt/include/sanitizer/allocator_interface.h index 03eb03a11065d..a792e9f0136e6 100644 --- a/compiler-rt/include/sanitizer/allocator_interface.h +++ b/compiler-rt/include/sanitizer/allocator_interface.h @@ -83,8 +83,8 @@ void SANITIZER_CDECL __sanitizer_free_hook(const volatile void *ptr); other threads. */ int SANITIZER_CDECL __sanitizer_install_malloc_and_free_hooks( - void (SANITIZER_CDECL *malloc_hook)(const volatile void *, size_t), - void (SANITIZER_CDECL *free_hook)(const volatile void *)); + void(SANITIZER_CDECL *malloc_hook)(const volatile void *, size_t), + void(SANITIZER_CDECL *free_hook)(const volatile void *)); /* Drains allocator quarantines (calling thread's and global ones), returns freed memory back to OS and releases other non-essential internal allocator diff --git a/compiler-rt/include/sanitizer/dfsan_interface.h b/compiler-rt/include/sanitizer/dfsan_interface.h index 16f2b67b93950..4e52e1b54cd89 100644 --- a/compiler-rt/include/sanitizer/dfsan_interface.h +++ b/compiler-rt/include/sanitizer/dfsan_interface.h @@ -25,16 +25,16 @@ typedef uint8_t dfsan_label; typedef uint32_t dfsan_origin; /// Signature of the callback argument to dfsan_set_write_callback(). -typedef void (SANITIZER_CDECL *dfsan_write_callback_t)(int fd, const void *buf, - size_t count); +typedef void(SANITIZER_CDECL *dfsan_write_callback_t)(int fd, const void *buf, + size_t count); /// Signature of the callback argument to dfsan_set_conditional_callback(). -typedef void (SANITIZER_CDECL *dfsan_conditional_callback_t)( +typedef void(SANITIZER_CDECL *dfsan_conditional_callback_t)( dfsan_label label, dfsan_origin origin); /// Signature of the callback argument to dfsan_set_reaches_function_callback(). /// The description is intended to hold the name of the variable. -typedef void (SANITIZER_CDECL *dfsan_reaches_function_callback_t)( +typedef void(SANITIZER_CDECL *dfsan_reaches_function_callback_t)( dfsan_label label, dfsan_origin origin, const char *file, unsigned int line, const char *function); diff --git a/compiler-rt/include/sanitizer/msan_interface.h b/compiler-rt/include/sanitizer/msan_interface.h index 946a4db262551..6fedc03125453 100644 --- a/compiler-rt/include/sanitizer/msan_interface.h +++ b/compiler-rt/include/sanitizer/msan_interface.h @@ -108,7 +108,7 @@ const char *SANITIZER_CDECL __msan_default_options(void); /* Deprecated. Call __sanitizer_set_death_callback instead. */ void SANITIZER_CDECL -__msan_set_death_callback(void (SANITIZER_CDECL *callback)(void)); +__msan_set_death_callback(void(SANITIZER_CDECL *callback)(void)); /* Update shadow for the application copy of size bytes from src to dst. Src and dst are application addresses. This function does not copy the