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
#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);
}
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);
}
}
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;
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);
+++ /dev/null
-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
-