aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpg <pg@yandex-team.com>2023-08-30 04:40:44 +0300
committerpg <pg@yandex-team.com>2023-08-30 05:04:37 +0300
commitd41c3a928314a3cbea37acf3cc44efcafe2fd5dc (patch)
treed0975249eec150af8dc4ed0c9dc941358b8a8f88
parent635636bcdbea259fd424ea6e3870b003be140923 (diff)
downloadydb-d41c3a928314a3cbea37acf3cc44efcafe2fd5dc.tar.gz
-rw-r--r--build/conf/compilers/gnu_compiler.conf2
-rw-r--r--build/conf/go.conf10
-rw-r--r--build/scripts/link_exe.py6
-rw-r--r--build/ymake.core.conf10
-rw-r--r--library/cpp/sanitizer/include/ya.make4
5 files changed, 26 insertions, 6 deletions
diff --git a/build/conf/compilers/gnu_compiler.conf b/build/conf/compilers/gnu_compiler.conf
index d88d1769b8d..57004dec9ba 100644
--- a/build/conf/compilers/gnu_compiler.conf
+++ b/build/conf/compilers/gnu_compiler.conf
@@ -50,6 +50,8 @@ elsewhen ($PIE == "yes") {
when ($CLANG16 == "yes") {
CFLAGS+=-Wno-array-parameter -Wno-deprecate-lax-vec-conv-all -Wno-unqualified-std-cast-call -Wno-unused-but-set-parameter -Wno-unused-command-line-argument -Wno-unused-but-set-variable -Wno-implicit-function-declaration -Wno-int-conversion -Wno-incompatible-function-pointer-types -Wno-implicit-int -Wno-address-of-packed-member
+ # naughty, naughty
+ LDFLAGS+=-L/CLANG16_YES_PLEASE
}
when ($ARCH_XTENSA == "yes") {
diff --git a/build/conf/go.conf b/build/conf/go.conf
index 664ebd95cc7..aa9d01b59cb 100644
--- a/build/conf/go.conf
+++ b/build/conf/go.conf
@@ -867,8 +867,14 @@ module GO_PROGRAM: _GO_BASE_UNIT {
}
when ($NEED_PROFILE_RUNTIME == "yes") {
- LDFLAGS+=-resource-dir=contrib/libs/clang-rt
- PEERDIR+=contrib/libs/clang14-rt/lib/profile
+ when ($CLANG16 == "yes") {
+ LDFLAGS+=-resource-dir=contrib/libs/clang-rt
+ PEERDIR+=contrib/libs/clang16-rt/lib/profile
+ }
+ otherwise {
+ LDFLAGS+=-resource-dir=contrib/libs/clang-rt
+ PEERDIR+=contrib/libs/clang14-rt/lib/profile
+ }
}
}
diff --git a/build/scripts/link_exe.py b/build/scripts/link_exe.py
index 72d86082694..6d1839e575e 100644
--- a/build/scripts/link_exe.py
+++ b/build/scripts/link_exe.py
@@ -56,8 +56,10 @@ def fix_sanitize_flag(cmd):
if flag.startswith('--target') and 'linux' not in flag.lower():
# use toolchained sanitize libraries
return cmd
-
- CLANG_RT = 'contrib/libs/clang14-rt/lib/'
+ if 'CLANG16_YES_PLEASE' in str(cmd):
+ CLANG_RT = 'contrib/libs/clang16-rt/lib/'
+ else:
+ CLANG_RT = 'contrib/libs/clang14-rt/lib/'
sanitize_flags = {
'-fsanitize=address': CLANG_RT + 'asan',
'-fsanitize=memory': CLANG_RT + 'msan',
diff --git a/build/ymake.core.conf b/build/ymake.core.conf
index 8396cb233ee..5a0547da723 100644
--- a/build/ymake.core.conf
+++ b/build/ymake.core.conf
@@ -964,8 +964,14 @@ module _LINK_UNIT: _BASE_UNIT {
}
when ($NEED_PROFILE_RUNTIME == "yes") {
- LDFLAGS+=-resource-dir=contrib/libs/clang-rt
- PEERDIR+=contrib/libs/clang14-rt/lib/profile
+ when ($CLANG16 == "yes") {
+ LDFLAGS+=-resource-dir=contrib/libs/clang-rt
+ PEERDIR+=contrib/libs/clang16-rt/lib/profile
+ }
+ otherwise {
+ LDFLAGS+=-resource-dir=contrib/libs/clang-rt
+ PEERDIR+=contrib/libs/clang14-rt/lib/profile
+ }
}
when ($USE_LIBCXXRT == "yes") {
diff --git a/library/cpp/sanitizer/include/ya.make b/library/cpp/sanitizer/include/ya.make
index 4c7261d76a2..7bc70e531db 100644
--- a/library/cpp/sanitizer/include/ya.make
+++ b/library/cpp/sanitizer/include/ya.make
@@ -4,7 +4,11 @@ NO_SANITIZE()
NO_RUNTIME()
+IF (CLANG16)
+ADDINCL(GLOBAL contrib/libs/clang16-rt/include)
+ELSE()
ADDINCL(GLOBAL contrib/libs/clang14-rt/include)
+ENDIF()
END()