diff options
-rw-r--r-- | toolchain/musl/common.mk | 4 | ||||
-rw-r--r-- | toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch | 12 | ||||
-rw-r--r-- | toolchain/musl/patches/800-mips_pie_debug.patch | 61 |
3 files changed, 8 insertions, 69 deletions
diff --git a/toolchain/musl/common.mk b/toolchain/musl/common.mk index 040127c3bc..0901fe7d6f 100644 --- a/toolchain/musl/common.mk +++ b/toolchain/musl/common.mk @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/target.mk PKG_NAME:=musl -PKG_VERSION:=1.2.3 +PKG_VERSION:=1.2.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://musl.libc.org/releases/ -PKG_HASH:=7d5b0b6062521e4627e099e4c9dc8248d32a30285e959b7eecaa780cf8cfd4a4 +PKG_HASH:=7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039 LIBC_SO_VERSION:=$(PKG_VERSION) PATCH_DIR:=$(PATH_PREFIX)/patches diff --git a/toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch b/toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch index 2a7436cf84..7a1ab3f99a 100644 --- a/toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch +++ b/toolchain/musl/patches/600-nftw-support-common-gnu-extension.patch @@ -33,7 +33,7 @@ Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com> #include <ftw.h> #include <dirent.h> #include <fcntl.h> -@@ -72,8 +73,20 @@ static int do_nftw(char *path, int (*fn) +@@ -74,8 +75,20 @@ static int do_nftw(char *path, int (*fn) if (!fd_limit) close(dfd); } @@ -56,7 +56,7 @@ Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com> for (; h; h = h->chain) if (h->dev == st.st_dev && h->ino == st.st_ino) -@@ -101,7 +114,10 @@ static int do_nftw(char *path, int (*fn) +@@ -103,7 +116,10 @@ static int do_nftw(char *path, int (*fn) strcpy(path+j+1, de->d_name); if ((r=do_nftw(path, fn, fd_limit-1, flags, &new))) { closedir(d); @@ -68,7 +68,7 @@ Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com> } } closedir(d); -@@ -112,8 +128,16 @@ static int do_nftw(char *path, int (*fn) +@@ -114,8 +130,16 @@ static int do_nftw(char *path, int (*fn) } path[l] = 0; @@ -87,9 +87,9 @@ Signed-off-by: Tony Ambardar <Tony.Ambardar@gmail.com> return 0; } -@@ -139,4 +163,5 @@ int nftw(const char *path, int (*fn)(con +@@ -140,3 +164,5 @@ int nftw(const char *path, int (*fn)(con + pthread_setcancelstate(cs, 0); return r; } - ++ +#undef nftw64 - weak_alias(nftw, nftw64); diff --git a/toolchain/musl/patches/800-mips_pie_debug.patch b/toolchain/musl/patches/800-mips_pie_debug.patch deleted file mode 100644 index 80fe15e841..0000000000 --- a/toolchain/musl/patches/800-mips_pie_debug.patch +++ /dev/null @@ -1,61 +0,0 @@ -Fix DT_DEBUG handling on MIPS in musl libc. -With this change gdb will load the symbol files for shared libraries on MIPS too. - -This patch was taken from this thread: https://www.openwall.com/lists/musl/2022/01/09/4 - ---- a/arch/mips/reloc.h -+++ b/arch/mips/reloc.h -@@ -29,6 +29,7 @@ - - #define NEED_MIPS_GOT_RELOCS 1 - #define DT_DEBUG_INDIRECT DT_MIPS_RLD_MAP -+#define DT_DEBUG_INDIRECT_REL DT_MIPS_RLD_MAP_REL - #define ARCH_SYM_REJECT_UND(s) (!((s)->st_other & STO_MIPS_PLT)) - - #define CRTJMP(pc,sp) __asm__ __volatile__( \ ---- a/arch/mips64/reloc.h -+++ b/arch/mips64/reloc.h -@@ -38,6 +38,7 @@ - - #define NEED_MIPS_GOT_RELOCS 1 - #define DT_DEBUG_INDIRECT DT_MIPS_RLD_MAP -+#define DT_DEBUG_INDIRECT_REL DT_MIPS_RLD_MAP_REL - #define ARCH_SYM_REJECT_UND(s) (!((s)->st_other & STO_MIPS_PLT)) - - #define CRTJMP(pc,sp) __asm__ __volatile__( \ ---- a/arch/mipsn32/reloc.h -+++ b/arch/mipsn32/reloc.h -@@ -29,6 +29,7 @@ - - #define NEED_MIPS_GOT_RELOCS 1 - #define DT_DEBUG_INDIRECT DT_MIPS_RLD_MAP -+#define DT_DEBUG_INDIRECT_REL DT_MIPS_RLD_MAP_REL - #define ARCH_SYM_REJECT_UND(s) (!((s)->st_other & STO_MIPS_PLT)) - - #define CRTJMP(pc,sp) __asm__ __volatile__( \ ---- a/ldso/dynlink.c -+++ b/ldso/dynlink.c -@@ -1923,6 +1923,10 @@ void __dls3(size_t *sp, size_t *auxv) - size_t *ptr = (size_t *) app.dynv[i+1]; - *ptr = (size_t)&debug; - } -+ if (app.dynv[i]==DT_DEBUG_INDIRECT_REL) { -+ size_t *ptr = (size_t *)((size_t)&app.dynv[i] + app.dynv[i+1]); -+ *ptr = (size_t)&debug; -+ } - } - - /* This must be done before final relocations, since it calls ---- a/src/internal/dynlink.h -+++ b/src/internal/dynlink.h -@@ -92,6 +92,10 @@ struct fdpic_dummy_loadmap { - #define DT_DEBUG_INDIRECT 0 - #endif - -+#ifndef DT_DEBUG_INDIRECT_REL -+#define DT_DEBUG_INDIRECT_REL 0 -+#endif -+ - #define AUX_CNT 32 - #define DYN_CNT 32 - |