aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/libfuzzer
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2024-12-06 02:01:51 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-12-06 02:17:27 +0300
commit791c95291cdeb78d59b058c8575f99cef4a94c86 (patch)
tree19eb2cc795c2769ef3ba6b7b178c50f30576b89a /contrib/libs/libfuzzer
parente287ae0f50d11631c6c478a92fe31439cd031146 (diff)
downloadydb-791c95291cdeb78d59b058c8575f99cef4a94c86.tar.gz
Intermediate changes
commit_hash:253107c849a56d8c7ba480eeeba03813d825cc50
Diffstat (limited to 'contrib/libs/libfuzzer')
-rw-r--r--contrib/libs/libfuzzer/.yandex_meta/__init__.py11
-rw-r--r--contrib/libs/libfuzzer/.yandex_meta/override.nix47
-rw-r--r--contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make4
-rw-r--r--contrib/libs/libfuzzer/ya.make2
4 files changed, 40 insertions, 24 deletions
diff --git a/contrib/libs/libfuzzer/.yandex_meta/__init__.py b/contrib/libs/libfuzzer/.yandex_meta/__init__.py
index adc152aeb9..fee8fba77d 100644
--- a/contrib/libs/libfuzzer/.yandex_meta/__init__.py
+++ b/contrib/libs/libfuzzer/.yandex_meta/__init__.py
@@ -1,5 +1,6 @@
from devtools.yamaker.modules import Linkable, Switch
-from devtools.yamaker.platform_macros import LLVM_VERSION
+
+# from devtools.yamaker.platform_macros import LLVM_VERSION
from devtools.yamaker.project import CMakeNinjaNixProject
@@ -46,14 +47,16 @@ def post_install(self):
llvm_libfuzzer = CMakeNinjaNixProject(
- owners=["g:cpp-contrib"],
- nixattr=f"llvmPackages_{LLVM_VERSION}.compiler-rt",
+ nixattr="llvmPackages_14.compiler-rt",
arcdir="contrib/libs/libfuzzer",
- build_targets=["clang_rt.fuzzer-x86_64", "libfuzzer-afl.so"],
copy_sources=[
"include/fuzzer/FuzzedDataProvider.h",
"lib/fuzzer/standalone/StandaloneFuzzTargetMain.c",
],
+ install_targets=[
+ "clang_rt.fuzzer-x86_64",
+ "fuzzer-afl",
+ ],
put={
"clang_rt.fuzzer-x86_64": ".",
"fuzzer-afl": "lib/fuzzer/afl",
diff --git a/contrib/libs/libfuzzer/.yandex_meta/override.nix b/contrib/libs/libfuzzer/.yandex_meta/override.nix
index 56f7afce72..6e09bfa07f 100644
--- a/contrib/libs/libfuzzer/.yandex_meta/override.nix
+++ b/contrib/libs/libfuzzer/.yandex_meta/override.nix
@@ -1,27 +1,40 @@
pkgs: attrs: with pkgs; with attrs; rec {
version = "15.0.5";
- src = let
- pname = "compiler-rt";
- source = fetchFromGitHub {
- owner = "llvm";
- repo = "llvm-project";
- rev = "llvmorg-${version}";
- hash = "sha256-lYwtqpodBLPgA+BpdesZ5JetcLccpBKSrE1Pqyj+Wvw=";
- };
- in (runCommand "${pname}-src-${version}" {} (''
- mkdir -p "$out"
- cp -r ${source}/cmake "$out"
- cp -r ${source}/${pname} "$out"
- '')).overrideAttrs(attrs: rec {
- urls = source.urls;
- });
- sourceRoot = "compiler-rt-src-${version}/compiler-rt";
+ src = fetchFromGitHub {
+ owner = "llvm";
+ repo = "llvm-project";
+ rev = "llvmorg-${version}";
+ hash = "sha256-lYwtqpodBLPgA+BpdesZ5JetcLccpBKSrE1Pqyj+Wvw=";
+ };
+
+ sourceRoot = "source/compiler-rt";
patches = [
./cmake-afl.patch
./no-fuchsia.patch
];
- NIX_CFLAGS_COMPILE = [ ]; # Remove SCUDO_DEFAULT_OPTIONS.
+ cmakeFlags = [
+ "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
+ "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
+
+ # Build only necessary subset (i. e. libfuzzer)
+ "-DCOMPILER_RT_BUILD_LIBFUZZER=ON"
+ "-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
+ "-DCOMPILER_RT_BUILD_PROFILE=OFF"
+ "-DCOMPILER_RT_BUILD_MEMPROF=OFF"
+ "-DCOMPILER_RT_BUILD_BUILTINS=OFF"
+ "-DCOMPILER_RT_BUILD_CRT=OFF"
+ "-DCOMPILER_RT_BUILD_XRAY=OFF"
+ "-DCOMPILER_RT_BUILD_ORC=OFF"
+ "-DCOMPILER_RT_BUILD_GWP_ASAN=OFF"
+
+ # Link against external libcxx
+ "-DCOMPILER_RT_USE_LIBCXX=OFF"
+ ];
+
+ # Remove SCUDO_DEFAULT_OPTIONS
+ env = {};
+ NIX_CFLAGS_COMPILE = [];
}
diff --git a/contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make b/contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make
index 87855c497b..f6f3a61871 100644
--- a/contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make
+++ b/contrib/libs/libfuzzer/lib/fuzzer/afl/ya.make
@@ -2,14 +2,14 @@
LIBRARY()
-VERSION(15.0.5)
-
LICENSE(Apache-2.0 WITH LLVM-exception)
LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
SUBSCRIBER(g:cpp-contrib)
+VERSION(15.0.5)
+
PEERDIR(
contrib/libs/afl/llvm_mode
)
diff --git a/contrib/libs/libfuzzer/ya.make b/contrib/libs/libfuzzer/ya.make
index b3db84a8c4..bd9b1ea640 100644
--- a/contrib/libs/libfuzzer/ya.make
+++ b/contrib/libs/libfuzzer/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.05.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()