diff options
author | Martin Liska <mliska@suse.cz> | 2020-10-16 10:03:04 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2020-10-16 10:57:03 +0200 |
commit | 0b997f6e07771c98178ea09f4a8c4446baaf84da (patch) | |
tree | c3ef933f3fda4195644c6734b2c212e9f77718e3 /libsanitizer/tsan/tsan_platform_linux.cpp | |
parent | 4a70aa7a627c0b918ce1da75c0dbe088539e420f (diff) | |
download | gcc-0b997f6e07771c98178ea09f4a8c4446baaf84da.zip gcc-0b997f6e07771c98178ea09f4a8c4446baaf84da.tar.gz gcc-0b997f6e07771c98178ea09f4a8c4446baaf84da.tar.bz2 |
libsanitizer: merge from master
Diffstat (limited to 'libsanitizer/tsan/tsan_platform_linux.cpp')
-rw-r--r-- | libsanitizer/tsan/tsan_platform_linux.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/libsanitizer/tsan/tsan_platform_linux.cpp b/libsanitizer/tsan/tsan_platform_linux.cpp index 33fa586..710e7ec 100644 --- a/libsanitizer/tsan/tsan_platform_linux.cpp +++ b/libsanitizer/tsan/tsan_platform_linux.cpp @@ -8,25 +8,26 @@ // // This file is a part of ThreadSanitizer (TSan), a race detector. // -// Linux- and FreeBSD-specific code. +// Linux- and BSD-specific code. //===----------------------------------------------------------------------===// - #include "sanitizer_common/sanitizer_platform.h" -#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_NETBSD +#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_NETBSD || \ + SANITIZER_OPENBSD #include "sanitizer_common/sanitizer_common.h" #include "sanitizer_common/sanitizer_libc.h" #include "sanitizer_common/sanitizer_linux.h" #include "sanitizer_common/sanitizer_platform_limits_netbsd.h" +#include "sanitizer_common/sanitizer_platform_limits_openbsd.h" #include "sanitizer_common/sanitizer_platform_limits_posix.h" #include "sanitizer_common/sanitizer_posix.h" #include "sanitizer_common/sanitizer_procmaps.h" -#include "sanitizer_common/sanitizer_stoptheworld.h" #include "sanitizer_common/sanitizer_stackdepot.h" +#include "sanitizer_common/sanitizer_stoptheworld.h" +#include "tsan_flags.h" #include "tsan_platform.h" #include "tsan_rtl.h" -#include "tsan_flags.h" #include <fcntl.h> #include <pthread.h> @@ -383,12 +384,16 @@ static uptr UnmangleLongJmpSp(uptr mangled_sp) { #endif } -#ifdef __powerpc__ +#if SANITIZER_NETBSD +# ifdef __x86_64__ +# define LONG_JMP_SP_ENV_SLOT 6 +# else +# error unsupported +# endif +#elif defined(__powerpc__) # define LONG_JMP_SP_ENV_SLOT 0 #elif SANITIZER_FREEBSD # define LONG_JMP_SP_ENV_SLOT 2 -#elif SANITIZER_NETBSD -# define LONG_JMP_SP_ENV_SLOT 6 #elif SANITIZER_LINUX # ifdef __aarch64__ # define LONG_JMP_SP_ENV_SLOT 13 @@ -512,4 +517,5 @@ void cur_thread_finalize() { } // namespace __tsan -#endif // SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_NETBSD +#endif // SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_NETBSD || + // SANITIZER_OPENBSD |