summaryrefslogtreecommitdiffstats
path: root/toolchain
diff options
context:
space:
mode:
authorAndre Heider <a.heider@gmail.com>2023-01-27 17:53:02 +0100
committerChristian Marangi <ansuelsmth@gmail.com>2023-07-04 20:25:41 +0200
commit3cae2db2d1a4edd06e8b4d1585e0ba3f2848eeda (patch)
treef234c0a1a16ac44e9d46c35a3547401f9d3daa7a /toolchain
parentb1fa9e3d2bbbcbb1da522f23ac83d411136b74de (diff)
downloadopenwrt-3cae2db2d1a4edd06e8b4d1585e0ba3f2848eeda.tar.gz
openwrt-3cae2db2d1a4edd06e8b4d1585e0ba3f2848eeda.tar.bz2
openwrt-3cae2db2d1a4edd06e8b4d1585e0ba3f2848eeda.zip
toolchain: add mold as additional linker
Install it as $tripple-ld.mold in order to use -fuse-ld=mold. Signed-off-by: Andre Heider <a.heider@gmail.com>
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/Makefile2
-rw-r--r--toolchain/mold/Makefile22
2 files changed, 23 insertions, 1 deletions
diff --git a/toolchain/Makefile b/toolchain/Makefile
index c0046293c9..09c16f72a7 100644
--- a/toolchain/Makefile
+++ b/toolchain/Makefile
@@ -27,7 +27,7 @@
curdir:=toolchain
# subdirectories to descend into
-$(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/initial gcc/final $(LIBC) fortify-headers) $(if $(CONFIG_NASM),nasm)
+$(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/initial gcc/final $(LIBC) fortify-headers) $(if $(CONFIG_NASM),nasm) $(if $(CONFIG_USE_MOLD),mold)
# builddir dependencies
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
diff --git a/toolchain/mold/Makefile b/toolchain/mold/Makefile
new file mode 100644
index 0000000000..a2acba89d3
--- /dev/null
+++ b/toolchain/mold/Makefile
@@ -0,0 +1,22 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/toolchain-build.mk
+
+define Host/Configure
+endef
+
+define Host/Compile
+endef
+
+define Host/Install
+ $(INSTALL_DIR) $(TOOLCHAIN_DIR)/bin
+ $(INSTALL_BIN) $(STAGING_DIR_HOST)/bin/mold $(TOOLCHAIN_DIR)/bin/$(REAL_GNU_TARGET_NAME)-ld.mold
+endef
+
+define Host/Clean
+endef
+
+$(eval $(call HostBuild))