代码拉取完成,页面将自动刷新
From dac9247d8988d13ea8902532168fccc09de60cda Mon Sep 17 00:00:00 2001
From: yinchuang <yinchuang@huawei.com>
Date: Mon, 17 Feb 2025 20:28:24 +0800
Subject: [PATCH] Enable mold links through whitelist
Signed-off-by: yinchuang <yinchuang@huawei.com>
---
check_pkg_in_whitelist | 5 +++
macros | 8 +++-
pkg_enable_mold_whitelist | 89 +++++++++++++++++++++++++++++++++++++++
3 files changed, 101 insertions(+), 1 deletion(-)
create mode 100755 check_pkg_in_whitelist
create mode 100644 pkg_enable_mold_whitelist
diff --git a/check_pkg_in_whitelist b/check_pkg_in_whitelist
new file mode 100755
index 0000000..63d6ebb
--- /dev/null
+++ b/check_pkg_in_whitelist
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if grep -Fxq $2 $1;then
+ echo "-fuse-ld=mold"
+fi
diff --git a/macros b/macros
index 7e393a4..a69e9d7 100644
--- a/macros
+++ b/macros
@@ -75,7 +75,13 @@
# flag when linking.
%_clang_extra_ldflags %{?_lto_cflags}
-%build_ldflags -Wl,-z,relro %{_ld_as_needed_flags} %{_ld_symbols_flags} %{_hardened_ldflags} %[ "%{toolchain}" == "clang" ? "%{?_clang_extra_ldflags}" : "" ]
+
+# Due to the stability of mold, we chose to use the whitelist to enable mold.
+%_use_mold %(%{_rpmconfigdir}/%{_vendor}/check_pkg_in_whitelist %{_rpmconfigdir}/%{_vendor}/pkg_enable_mold_whitelist %name)
+# User can override this variable to switch linker.
+%_ld_use %_use_mold
+
+%build_ldflags %{_ld_use} -Wl,-z,relro %{_ld_as_needed_flags} %{_ld_symbols_flags} %{_hardened_ldflags} %[ "%{toolchain}" == "clang" ? "%{?_clang_extra_ldflags}" : "" ]
%set_build_cc \
CC=%{__cc}; export CC ; \
diff --git a/pkg_enable_mold_whitelist b/pkg_enable_mold_whitelist
new file mode 100644
index 0000000..d81427a
--- /dev/null
+++ b/pkg_enable_mold_whitelist
@@ -0,0 +1,89 @@
+wxGTK3
+webkit2gtk3
+uboot-tools
+tog-pegasus
+texlive-base
+tensorflow
+stratovirt
+squid
+sqlite
+samba
+rust
+rpm-ostree
+R-language
+qt6-qtwebengine
+qt6-qttools
+qt6-qtquick3d
+qt6-qtdeclarative
+qt6-qtbase
+qt6-qt3d
+qt5-qtwebkit
+qt5-qtwebengine
+qt5-qtdeclarative
+qt5-qtbase
+qt
+qpid-proton
+qpdf
+pytorch
+python-scikit-learn
+python-ruff
+python-qt5
+python-lxml
+python3
+PyQt4
+proj
+postgresql
+poco
+php
+pcs
+pcp
+openmpi
+openjfx11
+openjdk-latest
+openjdk-21
+openjdk-17
+openjdk-11
+openjdk-1.8.0
+opengauss-server
+openblas
+oneDNN
+numpy
+nodejs
+net-snmp
+netavark
+mvapich2
+mstflint
+mpich
+mariadb
+lz4-java
+llvm-mlir
+llvm-bolt
+llvm
+libqmi
+kuasar
+ksh
+kata-containers
+hwinfo
+hdf5
+hbase
+hadoop
+guile
+grpc
+greatsql
+gperftools
+google-noto-emoji-fonts
+gettext
+geos
+gdb
+firefox
+festival
+erlang
+emacs
+eclipse
+dpdk
+Cython
+ComputeLibrary
+clang
+bazel
+bacula
+adwaita-qt
--
2.25.1
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。