Unverified Kaydet (Commit) 3015fb8c authored tarafından Gregory P. Smith's avatar Gregory P. Smith Kaydeden (comit) GitHub

bpo-35214: Add _Py_ prefix to MEMORY_SANITIZER def. (GH-10503)

Rename our new MEMORY_SANITIZER define to _Py_MEMORY_SANITIZER.
Project based C Preprocessor namespacing at its finest. :P
üst 0dc1e45d
...@@ -56,8 +56,8 @@ ...@@ -56,8 +56,8 @@
/* A convenient way for code to know if clang's memory sanitizer is enabled. */ /* A convenient way for code to know if clang's memory sanitizer is enabled. */
#if defined(__has_feature) #if defined(__has_feature)
# if __has_feature(memory_sanitizer) # if __has_feature(memory_sanitizer)
# if !defined(MEMORY_SANITIZER) # if !defined(_Py_MEMORY_SANITIZER)
# define MEMORY_SANITIZER # define _Py_MEMORY_SANITIZER
# endif # endif
# endif # endif
#endif #endif
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
#include <alloca.h> #include <alloca.h>
#endif #endif
#ifdef MEMORY_SANITIZER #ifdef _Py_MEMORY_SANITIZER
#include <sanitizer/msan_interface.h> #include <sanitizer/msan_interface.h>
#endif #endif
...@@ -1129,7 +1129,7 @@ PyObject *_ctypes_callproc(PPROC pProc, ...@@ -1129,7 +1129,7 @@ PyObject *_ctypes_callproc(PPROC pProc,
rtype = _ctypes_get_ffi_type(restype); rtype = _ctypes_get_ffi_type(restype);
resbuf = alloca(max(rtype->size, sizeof(ffi_arg))); resbuf = alloca(max(rtype->size, sizeof(ffi_arg)));
#ifdef MEMORY_SANITIZER #ifdef _Py_MEMORY_SANITIZER
/* ffi_call actually initializes resbuf, but from asm, which /* ffi_call actually initializes resbuf, but from asm, which
* MemorySanitizer can't detect. Avoid false positives from MSan. */ * MemorySanitizer can't detect. Avoid false positives from MSan. */
if (resbuf != NULL) { if (resbuf != NULL) {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#include <dirent.h> #include <dirent.h>
#endif #endif
#ifdef MEMORY_SANITIZER #ifdef _Py_MEMORY_SANITIZER
# include <sanitizer/msan_interface.h> # include <sanitizer/msan_interface.h>
#endif #endif
...@@ -291,7 +291,7 @@ _close_open_fds_safe(int start_fd, PyObject* py_fds_to_keep) ...@@ -291,7 +291,7 @@ _close_open_fds_safe(int start_fd, PyObject* py_fds_to_keep)
sizeof(buffer))) > 0) { sizeof(buffer))) > 0) {
struct linux_dirent64 *entry; struct linux_dirent64 *entry;
int offset; int offset;
#ifdef MEMORY_SANITIZER #ifdef _Py_MEMORY_SANITIZER
__msan_unpoison(buffer, bytes); __msan_unpoison(buffer, bytes);
#endif #endif
for (offset = 0; offset < bytes; offset += entry->d_reclen) { for (offset = 0; offset < bytes; offset += entry->d_reclen) {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#define PY_SSIZE_T_CLEAN #define PY_SSIZE_T_CLEAN
#include "Python.h" #include "Python.h"
#if defined(HAVE_GETC_UNLOCKED) && !defined(MEMORY_SANITIZER) #if defined(HAVE_GETC_UNLOCKED) && !defined(_Py_MEMORY_SANITIZER)
/* clang MemorySanitizer doesn't yet understand getc_unlocked. */ /* clang MemorySanitizer doesn't yet understand getc_unlocked. */
#define GETC(f) getc_unlocked(f) #define GETC(f) getc_unlocked(f)
#define FLOCKFILE(f) flockfile(f) #define FLOCKFILE(f) flockfile(f)
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
# endif # endif
#endif #endif
#ifdef MEMORY_SANITIZER #ifdef _Py_MEMORY_SANITIZER
# include <sanitizer/msan_interface.h> # include <sanitizer/msan_interface.h>
#endif #endif
...@@ -147,7 +147,7 @@ py_getrandom(void *buffer, Py_ssize_t size, int blocking, int raise) ...@@ -147,7 +147,7 @@ py_getrandom(void *buffer, Py_ssize_t size, int blocking, int raise)
else { else {
n = syscall(SYS_getrandom, dest, n, flags); n = syscall(SYS_getrandom, dest, n, flags);
} }
# ifdef MEMORY_SANITIZER # ifdef _Py_MEMORY_SANITIZER
if (n > 0) { if (n > 0) {
__msan_unpoison(dest, n); __msan_unpoison(dest, n);
} }
......
...@@ -17,7 +17,7 @@ double _Py_force_double(double x) ...@@ -17,7 +17,7 @@ double _Py_force_double(double x)
/* inline assembly for getting and setting the 387 FPU control word on /* inline assembly for getting and setting the 387 FPU control word on
gcc/x86 */ gcc/x86 */
#ifdef MEMORY_SANITIZER #ifdef _Py_MEMORY_SANITIZER
__attribute__((no_sanitize_memory)) __attribute__((no_sanitize_memory))
#endif #endif
unsigned short _Py_get_387controlword(void) { unsigned short _Py_get_387controlword(void) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment