144 Star 1 Fork 110

src-openEuler/openEuler-rpm-config
关闭

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0002-Enable-mold-links-through-whitelist.patch 2.64 KB
一键复制 编辑 原始数据 按行查看 历史
yinchuang 提交于 2025-02-17 20:30 +08:00 . Enable mold links through whitelist
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
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/openEuler-rpm-config.git
git@gitee.com:src-openeuler/openEuler-rpm-config.git
src-openeuler
openEuler-rpm-config
openEuler-rpm-config
openEuler-25.03

搜索帮助