diff options
author | unknown <tsmith@ramayana.hindu.god> | 2008-05-09 00:38:17 -0600 |
---|---|---|
committer | unknown <tsmith@ramayana.hindu.god> | 2008-05-09 00:38:17 -0600 |
commit | c3afb478eb9e38f939db85f4704db97560df4de1 (patch) | |
tree | 557c59334866c6874b2080f4a24273e43430fa10 /storage | |
parent | f72c7e0ac5aedfa20dc426839f848ca78bf8e7f8 (diff) | |
download | mariadb-git-c3afb478eb9e38f939db85f4704db97560df4de1.tar.gz |
Bug #34297: MySQL Server crashes when processing large table
Remove optimizations on innobase/mem/* to avoid apparent compiler bug which
causes memory overruns. See also bug 19424, and probably bug 36366.
This is done in 5.1+; 5.0 already has this workaround in place.
storage/innobase/CMakeLists.txt:
Remove optimizations on innobase/mem/* to avoid apparent compiler bug which
causes memory overruns. See bug 34297, bug 19424, and probably bug 36366.
Diffstat (limited to 'storage')
-rwxr-xr-x | storage/innobase/CMakeLists.txt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt index c4246abd30d..021a47f0398 100755 --- a/storage/innobase/CMakeLists.txt +++ b/storage/innobase/CMakeLists.txt @@ -17,6 +17,14 @@ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX") ADD_DEFINITIONS(-DMYSQL_SERVER -D_WIN32 -D_LIB) +# Bug 19424 - InnoDB: Possibly a memory overrun of the buffer being freed (64-bit Visual C) +# Removing Win64 compiler optimizations for all innodb/mem/* files. +IF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8) + SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/storage/innobase/mem/mem0mem.c + ${CMAKE_SOURCE_DIR}/storage/innobase/mem/mem0pool.c + PROPERTIES COMPILE_FLAGS -Od) +ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio" AND CMAKE_SIZEOF_VOID_P MATCHES 8) + INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_SOURCE_DIR}/storage/innobase/include ${CMAKE_SOURCE_DIR}/storage/innobase/handler |