aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormikhnenko <mikhnenko@yandex-team.com>2025-02-13 10:04:41 +0300
committermikhnenko <mikhnenko@yandex-team.com>2025-02-13 10:26:08 +0300
commitb851dfa31f2b199b1bf0ea6b93c06a4b44ff8ee0 (patch)
treea7f9e75923fb2a4a61c153298301662878783fbc
parentaf2655364d8f70831f427296f46c41a1e71341c2 (diff)
downloadydb-b851dfa31f2b199b1bf0ea6b93c06a4b44ff8ee0.tar.gz
Use llvm_tools instead of binutils
commit_hash:98d2b568a63569d1859bb67f533ce37ea1b77eae
-rw-r--r--build/ya.conf.json2
-rw-r--r--build/ymake.core.conf27
-rwxr-xr-xbuild/ymake_conf.py3
3 files changed, 21 insertions, 11 deletions
diff --git a/build/ya.conf.json b/build/ya.conf.json
index 270a8d48cc..9e0d37efcb 100644
--- a/build/ya.conf.json
+++ b/build/ya.conf.json
@@ -552,6 +552,7 @@
"cxx_compiler": "$(CLANG)/bin/clang++",
"llvm-symbolizer": "$(CLANG)/bin/llvm-symbolizer",
"match_root": "CLANG",
+ "nm": "$(CLANG)/bin/llvm-nm",
"objcopy": "$(CLANG)/bin/llvm-objcopy",
"profiles": "$(XCODE_TOOLS_ROOT-sbr:799017771)/Xcode/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles",
"simctl": "$(XCODE_TOOLS_ROOT-sbr:799017771)/Xcode/SystemRoot/PrivateFrameworks/CoreSimulator.framework/Resources/bin/simctl",
@@ -1229,6 +1230,7 @@
"cxx_compiler": "$(CLANG)/bin/clang++",
"llvm-symbolizer": "$(CLANG)/bin/llvm-symbolizer",
"match_root": "CLANG",
+ "nm": "$(CLANG)/bin/llvm-nm",
"objcopy": "$(CLANG)/bin/llvm-objcopy",
"profiles": "$(XCODE_TOOLS_ROOT-sbr:799017771)/Xcode/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles",
"simctl": "$(XCODE_TOOLS_ROOT-sbr:799017771)/Xcode/SystemRoot/PrivateFrameworks/CoreSimulator.framework/Resources/bin/simctl",
diff --git a/build/ymake.core.conf b/build/ymake.core.conf
index 34a2f5dbb2..3f5f5b3a44 100644
--- a/build/ymake.core.conf
+++ b/build/ymake.core.conf
@@ -824,8 +824,9 @@ module _BASE_UNIT: _BARE_UNIT {
DEFAULT(SWIG_LANG python)
DEFAULT(GP_FLAGS -CtTLANSI-C -Dk* -c)
- when ($NEED_BINUTILS_PEERDIR && $BINUTILS_USED && $NEED_PLATFORM_PEERDIRS == "yes") {
- PEERDIR+=build/platform/binutils
+ when ($NEED_LLVM_TOOLS_PEERDIR && $NEED_PLATFORM_PEERDIRS == "yes") {
+ PEERDIR+=build/platform/clang
+ LLVM_TOOLS_ROOT=$CLANG18_RESOURCE_GLOBAL
}
when ($TIDY_ENABLED == "yes") {
@@ -2536,20 +2537,25 @@ when ($BT_MINSIZEREL == "yes" || $LINKER_ICF == "yes") {
OBJCOPY_TOOL=$OBJCOPY_TOOL_VENDOR
OBJDUMP_TOOL=$OBJDUMP_TOOL_VENDOR
STRIP_TOOL=$STRIP_TOOL_VENDOR
-NEED_BINUTILS_PEERDIR=
-BINUTILS_USED=
+NM_TOOL=$NM_TOOL_VENDOR
+NEED_LLVM_TOOLS_PEERDIR=
+LLVM_TOOLS_ROOT=
when (!$OBJCOPY_TOOL_VENDOR) {
- OBJCOPY_TOOL=$BINUTILS_ROOT_RESOURCE_GLOBAL/bin/objcopy
- NEED_BINUTILS_PEERDIR=yes
+ OBJCOPY_TOOL=${LLVM_TOOLS_ROOT}/bin/llvm-objcopy
+ NEED_LLVM_TOOLS_PEERDIR=yes
}
when (!$OBJDUMP_TOOL_VENDOR) {
- OBJDUMP_TOOL=$BINUTILS_ROOT_RESOURCE_GLOBAL/bin/objdump
- NEED_BINUTILS_PEERDIR=yes
+ OBJDUMP_TOOL=${LLVM_TOOLS_ROOT}/bin/llvm-objdump
+ NEED_LLVM_TOOLS_PEERDIR=yes
}
when (!$STRIP_TOOL_VENDOR) {
- STRIP_TOOL=$BINUTILS_ROOT_RESOURCE_GLOBAL/bin/strip
- NEED_BINUTILS_PEERDIR=yes
+ STRIP_TOOL=${LLVM_TOOLS_ROOT}/bin/llvm-strip
+ NEED_LLVM_TOOLS_PEERDIR=yes
+}
+when (!$NM_TOOL_VENDOR) {
+ NM_TOOL=${LLVM_TOOLS_ROOT}/bin/llvm-nm
+ NEED_LLVM_TOOLS_PEERDIR=yes
}
SPLIT_DWARF_VALUE=no
@@ -2586,7 +2592,6 @@ when ($SPLIT_DWARF_VALUE == "yes" && $NO_SPLIT_DWARF != "yes" && $NO_DEBUGINFO !
$OBJCOPY_TOOL --only-keep-debug $TARGET $SPLIT_DWARF_OUTPUT && \
$STRIP_TOOL --strip-debug $TARGET && \
$OBJCOPY_TOOL --remove-section=.gnu_debuglink --add-gnu-debuglink $SPLIT_DWARF_OUTPUT $TARGET
- BINUTILS_USED=yes
}
### @usage: EXTRALIBS_STATIC(Libs...)
diff --git a/build/ymake_conf.py b/build/ymake_conf.py
index 83a8fc726e..1c5dbfa7f9 100755
--- a/build/ymake_conf.py
+++ b/build/ymake_conf.py
@@ -1067,6 +1067,7 @@ class GnuToolchainOptions(ToolchainOptions):
self.objcopy = self.params.get('objcopy')
self.objdump = self.params.get('objdump')
self.isystem = self.params.get('isystem')
+ self.nm = self.params.get('nm')
self.dwarf_tool = self.target.find_in_dict(self.params.get('dwarf_tool'))
@@ -1665,6 +1666,7 @@ class LD(Linker):
self.strip = self.tc.strip
self.objcopy = self.tc.objcopy
self.objdump = self.tc.objdump
+ self.nm = self.tc.nm
self.musl = Setting('MUSL', convert=to_bool)
@@ -1728,6 +1730,7 @@ class LD(Linker):
emit('STRIP_TOOL_VENDOR', self.strip)
emit('OBJCOPY_TOOL_VENDOR', self.objcopy)
emit('OBJDUMP_TOOL_VENDOR', self.objdump)
+ emit('NM_TOOL_VENDOR', self.nm)
emit('_LD_FLAGS', self.ld_flags)
emit('LD_SDK_VERSION', self.ld_sdk)