[openwrt/openwrt] toolchain/musl: fix loongarch64 ldso file name

LEDE Commits lede-commits at lists.infradead.org
Fri May 3 23:40:56 PDT 2024


981213 pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/197d90dc31741a5510cd2218eff0befa935312cd

commit 197d90dc31741a5510cd2218eff0befa935312cd
Author: Weijie Gao <hackpascal at gmail.com>
AuthorDate: Thu Apr 18 00:08:24 2024 +0800

    toolchain/musl: fix loongarch64 ldso file name
    
    GCC has changed musl dynamic linker name from
    ld-musl-loongarch-lp64d.so.1 to ld-musl-loongarch64.so.1 recently [1].
    
    This means there are two dynamic linker names will be used across different
    ersions of GCC. But musl 1.2.5 only supports the new name while the GCC
    we're currently using uses the old name.
    
    To maintain compatibility with all versions of GCC, the musl is then patched
    to generate two symbolic links to libc.so with both old and new names.
    
    [1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8bccee51f0deac64b79cd9ad75df599422f4c8ff
    
    Signed-off-by: Weijie Gao <hackpascal at gmail.com>
---
 .../musl/patches/400-fix-loongarch64-ldso-file-name.patch      | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/toolchain/musl/patches/400-fix-loongarch64-ldso-file-name.patch b/toolchain/musl/patches/400-fix-loongarch64-ldso-file-name.patch
new file mode 100644
index 0000000000..a19ceb4583
--- /dev/null
+++ b/toolchain/musl/patches/400-fix-loongarch64-ldso-file-name.patch
@@ -0,0 +1,10 @@
+--- a/Makefile
++++ b/Makefile
+@@ -218,6 +218,7 @@ $(DESTDIR)$(includedir)/%: $(srcdir)/inc
+ 
+ $(DESTDIR)$(LDSO_PATHNAME): $(DESTDIR)$(libdir)/libc.so
+ 	$(INSTALL) -D -l libc.so $@ || true
++	$(if $(filter loongarch64,$(ARCH)$(SUBARCH)),$(INSTALL) -D -l libc.so $(subst $(ARCH)$(SUBARCH).so.1,loongarch-lp64d.so.1,$@) || true)
+ 
+ install-libs: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),)
+ 




More information about the lede-commits mailing list