diff options
| author | robot-piglet <[email protected]> | 2025-05-22 13:24:33 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-05-22 14:15:24 +0300 |
| commit | 4cb99ccde48dd62f5296e5203973e345b7ae265c (patch) | |
| tree | 9bba418b061b384c2a590d814fbacee96cde5718 /contrib | |
| parent | c77c9275fd1d47b32d28772616889a217dea4b2d (diff) | |
Intermediate changes
commit_hash:60788997a56acd9e08cf68366cf5861243a61cba
Diffstat (limited to 'contrib')
9 files changed, 30 insertions, 16 deletions
diff --git a/contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym b/contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym index 149266d27fc..7b0fcdf701b 100644 --- a/contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym +++ b/contrib/libs/cxxsupp/builtins/.yandex_meta/build.ym @@ -1,6 +1,6 @@ {% extends '//builtin/bag.ym' %} -{% block current_version %}20.1.4{% endblock %} +{% block current_version %}20.1.5{% endblock %} {% block current_url %} https://github.com/llvm/llvm-project/releases/download/llvmorg-{{self.version().strip()}}/compiler-rt-{{self.version().strip()}}.src.tar.xz diff --git a/contrib/libs/cxxsupp/builtins/ya.make b/contrib/libs/cxxsupp/builtins/ya.make index 5335f7cc9fc..3b86670e076 100644 --- a/contrib/libs/cxxsupp/builtins/ya.make +++ b/contrib/libs/cxxsupp/builtins/ya.make @@ -12,9 +12,9 @@ LICENSE( LICENSE_TEXTS(.yandex_meta/licenses.list.txt) -VERSION(20.1.4) +VERSION(20.1.5) -ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.4/compiler-rt-20.1.4.src.tar.xz) +ORIGINAL_SOURCE(https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.5/compiler-rt-20.1.5.src.tar.xz) NO_COMPILER_WARNINGS() diff --git a/contrib/restricted/google/benchmark/.yandex_meta/override.nix b/contrib/restricted/google/benchmark/.yandex_meta/override.nix index 48bdca47f1e..e36f8bcc55e 100644 --- a/contrib/restricted/google/benchmark/.yandex_meta/override.nix +++ b/contrib/restricted/google/benchmark/.yandex_meta/override.nix @@ -1,11 +1,11 @@ pkgs: attrs: with pkgs; with attrs; rec { - version = "1.9.3"; + version = "1.9.4"; src = fetchFromGitHub { owner = "google"; repo = "benchmark"; rev = "v${version}"; - hash = "sha256-iPK3qLrZL2L08XW1a7SGl7GAt5InQ5nY+Dn8hBuxSOg="; + hash = "sha256-P7wJcKkIBoWtN9FCRticpBzYbEZPq71a0iW/2oDTZRU="; }; buildInputs = [ gtest ]; diff --git a/contrib/restricted/google/benchmark/src/benchmark.cc b/contrib/restricted/google/benchmark/src/benchmark.cc index 48a2accdf90..8672c8a94f8 100644 --- a/contrib/restricted/google/benchmark/src/benchmark.cc +++ b/contrib/restricted/google/benchmark/src/benchmark.cc @@ -815,6 +815,12 @@ int InitializeStreams() { return 0; } +template <typename T> +std::make_unsigned_t<T> get_as_unsigned(T v) { + using UnsignedT = std::make_unsigned_t<T>; + return static_cast<UnsignedT>(v); +} + } // end namespace internal void MaybeReenterWithoutASLR(int /*argc*/, char** argv) { @@ -829,15 +835,23 @@ void MaybeReenterWithoutASLR(int /*argc*/, char** argv) { if (curr_personality == -1) return; // If ASLR is already disabled, we have nothing more to do. - if (curr_personality & ADDR_NO_RANDOMIZE) return; + if (internal::get_as_unsigned(curr_personality) & ADDR_NO_RANDOMIZE) return; // Try to change the personality to disable ASLR. - const auto prev_personality = personality( - static_cast<unsigned long>(curr_personality) | ADDR_NO_RANDOMIZE); + const auto proposed_personality = + internal::get_as_unsigned(curr_personality) | ADDR_NO_RANDOMIZE; + const auto prev_personality = personality(proposed_personality); // Have we failed to change the personality? That may happen. if (prev_personality == -1) return; + // Make sure the parsona has been updated with the no-ASLR flag, + // otherwise we will try to reenter infinitely. + // This seems impossible, but can happen in some docker configurations. + const auto new_personality = personality(0xffffffff); + if ((internal::get_as_unsigned(new_personality) & ADDR_NO_RANDOMIZE) == 0) + return; + execv(argv[0], argv); // The exec() functions return only if an error has occurred, // in which case we want to just continue as-is. diff --git a/contrib/restricted/google/benchmark/src/sysinfo.cc b/contrib/restricted/google/benchmark/src/sysinfo.cc index ea1dae40f14..4ca249da4fd 100644 --- a/contrib/restricted/google/benchmark/src/sysinfo.cc +++ b/contrib/restricted/google/benchmark/src/sysinfo.cc @@ -439,7 +439,7 @@ std::vector<CPUInfo::CacheInfo> GetCacheSizes() { return GetCacheSizesWindows(); #elif defined(BENCHMARK_OS_QNX) return GetCacheSizesQNX(); -#elif defined(BENCHMARK_OS_QURT) +#elif defined(BENCHMARK_OS_QURT) || defined(__EMSCRIPTEN__) return std::vector<CPUInfo::CacheInfo>(); #else return GetCacheSizesFromKVFS(); diff --git a/contrib/restricted/google/benchmark/test/ya.make b/contrib/restricted/google/benchmark/test/ya.make index 27a3a0fb0fc..3e2b7047516 100644 --- a/contrib/restricted/google/benchmark/test/ya.make +++ b/contrib/restricted/google/benchmark/test/ya.make @@ -4,7 +4,7 @@ GTEST(benchmark_gtest) WITHOUT_LICENSE_TEXTS() -VERSION(1.9.3) +VERSION(1.9.4) LICENSE(Apache-2.0) diff --git a/contrib/restricted/google/benchmark/tools/compare/ya.make b/contrib/restricted/google/benchmark/tools/compare/ya.make index 39eafaddf36..8bfa31414ad 100644 --- a/contrib/restricted/google/benchmark/tools/compare/ya.make +++ b/contrib/restricted/google/benchmark/tools/compare/ya.make @@ -4,9 +4,9 @@ PY3_PROGRAM() WITHOUT_LICENSE_TEXTS() -VERSION(1.9.3) +VERSION(1.9.4) -ORIGINAL_SOURCE(https://github.com/google/benchmark/archive/v1.9.3.tar.gz) +ORIGINAL_SOURCE(https://github.com/google/benchmark/archive/v1.9.4.tar.gz) LICENSE(Apache-2.0) diff --git a/contrib/restricted/google/benchmark/tools/ya.make b/contrib/restricted/google/benchmark/tools/ya.make index 90fb103e020..c49a52e605b 100644 --- a/contrib/restricted/google/benchmark/tools/ya.make +++ b/contrib/restricted/google/benchmark/tools/ya.make @@ -1,6 +1,6 @@ # Generated by devtools/yamaker. -VERSION(1.9.3) +VERSION(1.9.4) IF (NOT USE_STL_SYSTEM) IF (NOT USE_SYSTEM_PYTHON OR NOT _SYSTEM_PYTHON27) diff --git a/contrib/restricted/google/benchmark/ya.make b/contrib/restricted/google/benchmark/ya.make index 5218377accd..88a14ddd1eb 100644 --- a/contrib/restricted/google/benchmark/ya.make +++ b/contrib/restricted/google/benchmark/ya.make @@ -2,9 +2,9 @@ LIBRARY() -VERSION(1.9.3) +VERSION(1.9.4) -ORIGINAL_SOURCE(https://github.com/google/benchmark/archive/v1.9.3.tar.gz) +ORIGINAL_SOURCE(https://github.com/google/benchmark/archive/v1.9.4.tar.gz) LICENSE(Apache-2.0) @@ -21,7 +21,7 @@ NO_UTIL() CFLAGS( GLOBAL -DBENCHMARK_STATIC_DEFINE - -DBENCHMARK_VERSION=\"v1.9.3\" + -DBENCHMARK_VERSION=\"v1.9.4\" -DHAVE_POSIX_REGEX -DHAVE_PTHREAD_AFFINITY -DHAVE_STD_REGEX |
