mirror of
https://github.com/holub/mame
synced 2025-10-04 16:34:53 +03:00
some MemorySanitizer preparations:
- put memory initialization in src/emu/emualloc.c behind NO_MEMORY_INITIALIZATION define - disable memory initialization when msan is used - use origin tracking for msan when clang is used
This commit is contained in:
parent
28aff9d786
commit
d9c98de098
11
makefile
11
makefile
@ -440,6 +440,12 @@ ifneq ($(BUILD_JPEGLIB),1)
|
||||
DEFS += -DUSE_SYSTEM_JPEGLIB
|
||||
endif
|
||||
|
||||
# disable initialization of memory in malloc overload
|
||||
ifdef SANITIZE
|
||||
ifneq (,$(findstring memory,$(SANITIZE)))
|
||||
DEFS += -DNO_MEMORY_INITIALIZATION
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
#-------------------------------------------------
|
||||
@ -536,6 +542,11 @@ CCOMFLAGS += -fsanitize=$(SANITIZE)
|
||||
ifneq (,$(findstring thread,$(SANITIZE)))
|
||||
CCOMFLAGS += -fPIE
|
||||
endif
|
||||
ifneq (,$(findstring memory,$(SANITIZE)))
|
||||
ifneq (,$(findstring clang,$(CC)))
|
||||
CCOMFLAGS += -fsanitize-memory-track-origins
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#-------------------------------------------------
|
||||
|
@ -150,7 +150,7 @@ void *malloc_file_line(size_t size, const char *file, int line)
|
||||
// add a new entry
|
||||
memory_entry::allocate(size, result, file, line);
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
#if !defined(NO_MEMORY_INITIALIZATION) && defined(MAME_DEBUG)
|
||||
memset(result, 0xdd, size);
|
||||
#endif
|
||||
|
||||
@ -174,7 +174,7 @@ void *malloc_array_file_line(size_t size, const char *file, int line)
|
||||
// add a new entry
|
||||
memory_entry::allocate(size, result, file, line);
|
||||
|
||||
#ifdef MAME_DEBUG
|
||||
#if !defined(NO_MEMORY_INITIALIZATION) && defined(MAME_DEBUG)
|
||||
memset(result, 0xdd, size);
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user