aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2025-01-06 16:20:27 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2025-01-06 16:31:02 +0300
commit5098d8d5e47c4228968a0f28ab95f43cd52abc2e (patch)
tree7bb3da14c1150696006794b8afe9370fce4658ef
parent8d6b1d92f402825e2759564bc561ea677f0f802d (diff)
downloadydb-5098d8d5e47c4228968a0f28ab95f43cd52abc2e.tar.gz
Intermediate changes
commit_hash:eb0650680daaad11cb87780fed3a94fb37d55eee
-rw-r--r--contrib/libs/libfuzzer/.yandex_meta/override.nix5
-rw-r--r--contrib/libs/libfuzzer/CODE_OWNERS.TXT8
-rw-r--r--contrib/libs/libfuzzer/lib/fuzzer/FuzzerDriver.cpp1
-rw-r--r--contrib/libs/libfuzzer/lib/fuzzer/FuzzerFork.cpp2
-rw-r--r--contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilLinux.cpp2
-rw-r--r--contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilWindows.cpp31
-rw-r--r--contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make2
-rw-r--r--contrib/libs/libfuzzer/ya.make4
8 files changed, 44 insertions, 11 deletions
diff --git a/contrib/libs/libfuzzer/.yandex_meta/override.nix b/contrib/libs/libfuzzer/.yandex_meta/override.nix
index 6a7b1610a3..3ddd79e032 100644
--- a/contrib/libs/libfuzzer/.yandex_meta/override.nix
+++ b/contrib/libs/libfuzzer/.yandex_meta/override.nix
@@ -1,11 +1,11 @@
pkgs: attrs: with pkgs; with attrs; rec {
- version = "18.1.8";
+ version = "19.1.6";
src = fetchFromGitHub {
owner = "llvm";
repo = "llvm-project";
rev = "llvmorg-${version}";
- hash = "sha256-iiZKMRo/WxJaBXct9GdAcAT3cz9d9pnAcO1mmR6oPNE=";
+ hash = "sha256-LD4nIjZTSZJtbgW6tZopbTF5Mq0Tenj2gbuPXhtOeUI=";
};
sourceRoot = "source/compiler-rt";
@@ -26,6 +26,7 @@ pkgs: attrs: with pkgs; with attrs; rec {
"-DCOMPILER_RT_BUILD_MEMPROF=OFF"
"-DCOMPILER_RT_BUILD_BUILTINS=OFF"
"-DCOMPILER_RT_BUILD_CRT=OFF"
+ "-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF"
"-DCOMPILER_RT_BUILD_XRAY=OFF"
"-DCOMPILER_RT_BUILD_ORC=OFF"
"-DCOMPILER_RT_BUILD_GWP_ASAN=OFF"
diff --git a/contrib/libs/libfuzzer/CODE_OWNERS.TXT b/contrib/libs/libfuzzer/CODE_OWNERS.TXT
index ad136edf96..bd51a1073c 100644
--- a/contrib/libs/libfuzzer/CODE_OWNERS.TXT
+++ b/contrib/libs/libfuzzer/CODE_OWNERS.TXT
@@ -67,3 +67,11 @@ D: ThreadSanitizer
N: Bill Wendling
E: isanbard@gmail.com
D: Profile runtime library
+
+N: Christopher Apple, David Trevelyan
+E: cja-private@pm.me, realtime.sanitizer@gmail.com
+D: Realtime Sanitizer (RTSan)
+
+N: Alexander Shaposhnikov
+E: alexander.v.shaposhnikov@gmail.com
+D: Numerical Sanitizer (NSAN)
diff --git a/contrib/libs/libfuzzer/lib/fuzzer/FuzzerDriver.cpp b/contrib/libs/libfuzzer/lib/fuzzer/FuzzerDriver.cpp
index 1937b14bc9..093cd9e3c3 100644
--- a/contrib/libs/libfuzzer/lib/fuzzer/FuzzerDriver.cpp
+++ b/contrib/libs/libfuzzer/lib/fuzzer/FuzzerDriver.cpp
@@ -229,6 +229,7 @@ static void PulseThread() {
static void WorkerThread(const Command &BaseCmd, std::atomic<unsigned> *Counter,
unsigned NumJobs, std::atomic<bool> *HasErrors) {
+ ScopedDisableMsanInterceptorChecks S;
while (true) {
unsigned C = (*Counter)++;
if (C >= NumJobs) break;
diff --git a/contrib/libs/libfuzzer/lib/fuzzer/FuzzerFork.cpp b/contrib/libs/libfuzzer/lib/fuzzer/FuzzerFork.cpp
index c248a1d246..e544cd846e 100644
--- a/contrib/libs/libfuzzer/lib/fuzzer/FuzzerFork.cpp
+++ b/contrib/libs/libfuzzer/lib/fuzzer/FuzzerFork.cpp
@@ -349,7 +349,7 @@ void FuzzWithFork(Random &Rand, const FuzzingOptions &Options,
&NewFeatures, Env.Cov, &NewCov, CFPath,
/*Verbose=*/false, /*IsSetCoverMerge=*/false);
Env.Features.insert(NewFeatures.begin(), NewFeatures.end());
- Env.Cov.insert(NewFeatures.begin(), NewFeatures.end());
+ Env.Cov.insert(NewCov.begin(), NewCov.end());
RemoveFile(CFPath);
}
diff --git a/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilLinux.cpp b/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilLinux.cpp
index 5729448b0b..e5409f22f0 100644
--- a/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilLinux.cpp
+++ b/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilLinux.cpp
@@ -44,7 +44,7 @@ void SetThreadName(std::thread &thread, const std::string &name) {
#if LIBFUZZER_LINUX || LIBFUZZER_FREEBSD
(void)pthread_setname_np(thread.native_handle(), name.c_str());
#elif LIBFUZZER_NETBSD
- (void)pthread_set_name_np(thread.native_handle(), "%s", name.c_str());
+ (void)pthread_setname_np(thread.native_handle(), "%s", const_cast<char *>(name.c_str()));
#endif
}
diff --git a/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilWindows.cpp b/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilWindows.cpp
index 7177016680..da3eb3cfb3 100644
--- a/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilWindows.cpp
+++ b/contrib/libs/libfuzzer/lib/fuzzer/FuzzerUtilWindows.cpp
@@ -21,10 +21,15 @@
#include <signal.h>
#include <stdio.h>
#include <sys/types.h>
+// clang-format off
#include <windows.h>
-
-// This must be included after windows.h.
+// These must be included after windows.h.
+// archicture need to be set before including
+// libloaderapi
+#include <libloaderapi.h>
+#include <stringapiset.h>
#include <psapi.h>
+// clang-format on
namespace fuzzer {
@@ -234,8 +239,26 @@ size_t PageSize() {
}
void SetThreadName(std::thread &thread, const std::string &name) {
- // TODO ?
- // to UTF-8 then SetThreadDescription ?
+#ifndef __MINGW32__
+ // Not setting the thread name in MinGW environments. MinGW C++ standard
+ // libraries can either use native Windows threads or pthreads, so we
+ // don't know with certainty what kind of thread handle we're getting
+ // from thread.native_handle() here.
+ typedef HRESULT(WINAPI * proc)(HANDLE, PCWSTR);
+ HMODULE kbase = GetModuleHandleA("KernelBase.dll");
+ proc ThreadNameProc =
+ reinterpret_cast<proc>(GetProcAddress(kbase, "SetThreadDescription"));
+ if (ThreadNameProc) {
+ std::wstring buf;
+ auto sz = MultiByteToWideChar(CP_UTF8, 0, name.data(), -1, nullptr, 0);
+ if (sz > 0) {
+ buf.resize(sz);
+ if (MultiByteToWideChar(CP_UTF8, 0, name.data(), -1, &buf[0], sz) > 0) {
+ (void)ThreadNameProc(thread.native_handle(), buf.c_str());
+ }
+ }
+ }
+#endif
}
} // namespace fuzzer
diff --git a/contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make b/contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make
index a27f6fa1e6..b1c8ad932e 100644
--- a/contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make
+++ b/contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make
@@ -8,7 +8,7 @@ LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
SUBSCRIBER(g:cpp-contrib)
-VERSION(18.1.8)
+VERSION(19.1.6)
PEERDIR(
contrib/libs/afl/llvm_mode
diff --git a/contrib/libs/libfuzzer/ya.make b/contrib/libs/libfuzzer/ya.make
index 59598cb1cf..671393801b 100644
--- a/contrib/libs/libfuzzer/ya.make
+++ b/contrib/libs/libfuzzer/ya.make
@@ -12,9 +12,9 @@ LICENSE(
LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
-VERSION(18.1.8)
+VERSION(19.1.6)
-ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/archive/llvmorg-18.1.8.tar.gz)
+ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/archive/llvmorg-19.1.6.tar.gz)
SET(SANITIZER_CFLAGS)