aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2014-09-20 21:19:00 +0200
committerjackpoz <giacomopoz@gmail.com>2014-09-20 22:35:13 +0200
commita209fc30ffa0f47f98a800a50621a8f4a2f280e7 (patch)
tree9ea150233f2da03368bb503eb225d8aa3eb6e34a
parent72d08a146f3ca8369f173b9293d564673155491a (diff)
Core/Misc: Avoid Helgrind reporting libstdc++ false positive race conditions
-rw-r--r--cmake/showoptions.cmake8
-rw-r--r--src/server/authserver/CMakeLists.txt1
-rw-r--r--src/server/collision/CMakeLists.txt1
-rw-r--r--src/server/game/CMakeLists.txt1
-rw-r--r--src/server/game/Scripting/ScriptMgr.h2
-rw-r--r--src/server/scripts/CMakeLists.txt1
-rw-r--r--src/server/shared/CMakeLists.txt1
-rw-r--r--src/server/shared/Define.h5
-rw-r--r--src/server/worldserver/CMakeLists.txt1
9 files changed, 20 insertions, 1 deletions
diff --git a/cmake/showoptions.cmake b/cmake/showoptions.cmake
index 2d21136d661..9b2c849ec39 100644
--- a/cmake/showoptions.cmake
+++ b/cmake/showoptions.cmake
@@ -93,5 +93,13 @@ if ( NOJEM )
message(" *** DO NOT DISABLE IT UNLESS YOU KNOW WHAT YOU'RE DOING!")
endif()
+if ( HELGRIND )
+ message("")
+ message(" *** HELGRIND - WARNING!")
+ message(" *** Please specify the valgrind include directory in VALGRIND_INCLUDE_DIR option if you get build errors")
+ message(" *** Please note that this is for DEBUGGING WITH HELGRIND only!")
+ add_definitions(-DHELGRIND)
+endif()
+
message("")
diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt
index d7f1eb4fa30..b40b8c906f4 100644
--- a/src/server/authserver/CMakeLists.txt
+++ b/src/server/authserver/CMakeLists.txt
@@ -60,6 +60,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/Server
${MYSQL_INCLUDE_DIR}
${OPENSSL_INCLUDE_DIR}
+ ${VALGRIND_INCLUDE_DIR}
)
add_executable(authserver
diff --git a/src/server/collision/CMakeLists.txt b/src/server/collision/CMakeLists.txt
index 378bd62a78a..1c5fcbee52e 100644
--- a/src/server/collision/CMakeLists.txt
+++ b/src/server/collision/CMakeLists.txt
@@ -76,6 +76,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/Maps
${CMAKE_CURRENT_SOURCE_DIR}/Models
${MYSQL_INCLUDE_DIR}
+ ${VALGRIND_INCLUDE_DIR}
)
add_library(collision STATIC
diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt
index d7d14e7bda4..d748be41503 100644
--- a/src/server/game/CMakeLists.txt
+++ b/src/server/game/CMakeLists.txt
@@ -203,6 +203,7 @@ include_directories(
${CMAKE_SOURCE_DIR}/src/server/scripts/PrecompiledHeaders
${MYSQL_INCLUDE_DIR}
${OPENSSL_INCLUDE_DIR}
+ ${VALGRIND_INCLUDE_DIR}
)
add_library(game STATIC
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index ae7b8f9947e..f6e76763f95 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -19,8 +19,8 @@
#ifndef SC_SCRIPTMGR_H
#define SC_SCRIPTMGR_H
-#include <atomic>
#include "Common.h"
+#include <atomic>
#include "DBCStores.h"
#include "QuestDef.h"
#include "SharedDefines.h"
diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt
index f193cf4aa6a..8c40a93e197 100644
--- a/src/server/scripts/CMakeLists.txt
+++ b/src/server/scripts/CMakeLists.txt
@@ -143,6 +143,7 @@ include_directories(
${CMAKE_SOURCE_DIR}/src/server/game/World
${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders
${MYSQL_INCLUDE_DIR}
+ ${VALGRIND_INCLUDE_DIR}
)
add_library(scripts STATIC
diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt
index a61248f01ea..7a02e415d69 100644
--- a/src/server/shared/CMakeLists.txt
+++ b/src/server/shared/CMakeLists.txt
@@ -77,6 +77,7 @@ include_directories(
${CMAKE_SOURCE_DIR}/src/server/game/Entities/Object
${MYSQL_INCLUDE_DIR}
${OPENSSL_INCLUDE_DIR}
+ ${VALGRIND_INCLUDE_DIR}
)
add_library(shared STATIC
diff --git a/src/server/shared/Define.h b/src/server/shared/Define.h
index e9a642f5e95..075dd39002f 100644
--- a/src/server/shared/Define.h
+++ b/src/server/shared/Define.h
@@ -31,6 +31,11 @@
# if !defined(_GLIBCXX_USE_NANOSLEEP)
# define _GLIBCXX_USE_NANOSLEEP
# endif
+# if defined(HELGRIND)
+# include <valgrind/helgrind.h>
+# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) ANNOTATE_HAPPENS_BEFORE(A)
+# define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) ANNOTATE_HAPPENS_AFTER(A)
+# endif
#endif
#include <cstddef>
diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt
index a7c2b9ebedc..a3677142f72 100644
--- a/src/server/worldserver/CMakeLists.txt
+++ b/src/server/worldserver/CMakeLists.txt
@@ -138,6 +138,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/TCSoap
${MYSQL_INCLUDE_DIR}
${OPENSSL_INCLUDE_DIR}
+ ${VALGRIND_INCLUDE_DIR}
)
add_executable(worldserver