From 81084c55dd7a86441beaa125d307e7ba2d456caf Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Tue, 14 May 2024 17:59:12 +1200 Subject: [PATCH] uClibc-ng: Add 1.0.48 Add the 1.0.48 and some additional patches from master which include some fixes for GCC 14 support. Signed-off-by: Chris Packham --- .../0000-futimesat-add-missing-header.patch | 24 +++++ ...rrect-sigreturn-stub-function-implem.patch | 91 +++++++++++++++++++ .../0002-iconv-fix-type-mismatches.patch | 45 +++++++++ .../0003-ldso-FDPIC-fix-type-mismatches.patch | 55 +++++++++++ .../0004-ldso-arm-fix-build-with-gcc-14.patch | 55 +++++++++++ .../1.0.48/0005-csky-allow-time64.patch | 39 ++++++++ ...-fix-noMMU-ELF-compile-with-gcc-14.x.patch | 25 +++++ ...protected-attribute-from-__pthread_k.patch | 34 +++++++ packages/uClibc-ng/1.0.48/chksum | 16 ++++ packages/uClibc-ng/1.0.48/version.desc | 0 10 files changed, 384 insertions(+) create mode 100644 packages/uClibc-ng/1.0.48/0000-futimesat-add-missing-header.patch create mode 100644 packages/uClibc-ng/1.0.48/0001-sparc64-Fix-incorrect-sigreturn-stub-function-implem.patch create mode 100644 packages/uClibc-ng/1.0.48/0002-iconv-fix-type-mismatches.patch create mode 100644 packages/uClibc-ng/1.0.48/0003-ldso-FDPIC-fix-type-mismatches.patch create mode 100644 packages/uClibc-ng/1.0.48/0004-ldso-arm-fix-build-with-gcc-14.patch create mode 100644 packages/uClibc-ng/1.0.48/0005-csky-allow-time64.patch create mode 100644 packages/uClibc-ng/1.0.48/0006-m68k-fix-noMMU-ELF-compile-with-gcc-14.x.patch create mode 100644 packages/uClibc-ng/1.0.48/0007-libpthread-drop-protected-attribute-from-__pthread_k.patch create mode 100644 packages/uClibc-ng/1.0.48/chksum create mode 100644 packages/uClibc-ng/1.0.48/version.desc diff --git a/packages/uClibc-ng/1.0.48/0000-futimesat-add-missing-header.patch b/packages/uClibc-ng/1.0.48/0000-futimesat-add-missing-header.patch new file mode 100644 index 00000000..53d183d7 --- /dev/null +++ b/packages/uClibc-ng/1.0.48/0000-futimesat-add-missing-header.patch @@ -0,0 +1,24 @@ +From 4bcf25e75df857806623ff80924675bf849a60d2 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 8 May 2024 10:08:08 +0200 +Subject: [PATCH 0/7] futimesat: add missing header + +--- + libc/sysdeps/linux/common/futimesat.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libc/sysdeps/linux/common/futimesat.c b/libc/sysdeps/linux/common/futimesat.c +index fd19fea7c..bf36550dd 100644 +--- a/libc/sysdeps/linux/common/futimesat.c ++++ b/libc/sysdeps/linux/common/futimesat.c +@@ -7,6 +7,7 @@ + */ + + #include ++#include + #include + + #ifdef __NR_futimesat +-- +2.43.2 + diff --git a/packages/uClibc-ng/1.0.48/0001-sparc64-Fix-incorrect-sigreturn-stub-function-implem.patch b/packages/uClibc-ng/1.0.48/0001-sparc64-Fix-incorrect-sigreturn-stub-function-implem.patch new file mode 100644 index 00000000..1a4e66da --- /dev/null +++ b/packages/uClibc-ng/1.0.48/0001-sparc64-Fix-incorrect-sigreturn-stub-function-implem.patch @@ -0,0 +1,91 @@ +From 035e048fd68141779c147e387f608e8da6713d57 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 8 May 2024 11:12:30 +0200 +Subject: [PATCH 1/7] sparc64: Fix incorrect sigreturn stub function + implementation + +--- + libc/sysdeps/linux/sparc64/Makefile.arch | 2 +- + libc/sysdeps/linux/sparc64/sigaction.c | 10 +--------- + libc/sysdeps/linux/sparc64/sigreturn_stub.S | 10 ++++++++++ + libc/sysdeps/linux/sparc64/sysdep.h | 9 +++++++++ + 4 files changed, 21 insertions(+), 10 deletions(-) + create mode 100644 libc/sysdeps/linux/sparc64/sigreturn_stub.S + +diff --git a/libc/sysdeps/linux/sparc64/Makefile.arch b/libc/sysdeps/linux/sparc64/Makefile.arch +index 37b539b3b..cc4000b78 100644 +--- a/libc/sysdeps/linux/sparc64/Makefile.arch ++++ b/libc/sysdeps/linux/sparc64/Makefile.arch +@@ -5,7 +5,7 @@ + + CSRC-y := __syscall_error.c sigaction.c + SSRC-y := __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S brk.S fork.S \ +- syscall.S pipe.S vfork.S clone.S ++ syscall.S pipe.S vfork.S clone.S sigreturn_stub.S + + CSRC-y += $(addprefix soft-fp/, \ + qp_add.c qp_cmp.c qp_cmpe.c qp_div.c qp_dtoq.c qp_feq.c qp_fge.c \ +diff --git a/libc/sysdeps/linux/sparc64/sigaction.c b/libc/sysdeps/linux/sparc64/sigaction.c +index d8aaad0fb..b28fa659a 100644 +--- a/libc/sysdeps/linux/sparc64/sigaction.c ++++ b/libc/sysdeps/linux/sparc64/sigaction.c +@@ -26,7 +26,7 @@ + + /* SPARC 64bit userland requires a kernel that has rt signals anyway. */ + +-static void __rt_sigreturn_stub (void); ++void __rt_sigreturn_stub (void); + + int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) + { +@@ -67,11 +67,3 @@ libc_hidden_weak(sigaction) + # endif + #endif + +-static void +-__rt_sigreturn_stub (void) +-{ +- __asm__ ("mov %0, %%g1\n\t" +- "ta 0x6d\n\t" +- : /* no outputs */ +- : "i" (__NR_rt_sigreturn)); +-} +diff --git a/libc/sysdeps/linux/sparc64/sigreturn_stub.S b/libc/sysdeps/linux/sparc64/sigreturn_stub.S +new file mode 100644 +index 000000000..a5c9bb47f +--- /dev/null ++++ b/libc/sysdeps/linux/sparc64/sigreturn_stub.S +@@ -0,0 +1,10 @@ ++#include ++ ++ nop ++ nop ++ ++ENTRY_NOCFI (__rt_sigreturn_stub) ++ mov __NR_rt_sigreturn, %g1 ++ ta 0x6d ++END_NOCFI (__rt_sigreturn_stub) ++ +diff --git a/libc/sysdeps/linux/sparc64/sysdep.h b/libc/sysdeps/linux/sparc64/sysdep.h +index 31008c34b..5a4c36348 100644 +--- a/libc/sysdeps/linux/sparc64/sysdep.h ++++ b/libc/sysdeps/linux/sparc64/sysdep.h +@@ -83,6 +83,15 @@ C_LABEL(name) \ + cfi_endproc; \ + .size name, . - name + ++#define ENTRY_NOCFI(name) \ ++ .align 4; \ ++ .global C_SYMBOL_NAME(name); \ ++ .type name, @function; \ ++C_LABEL(name) ++ ++#define END_NOCFI(name) \ ++ .size name, . - name ++ + #define LOC(name) .L##name + + #undef PSEUDO +-- +2.43.2 + diff --git a/packages/uClibc-ng/1.0.48/0002-iconv-fix-type-mismatches.patch b/packages/uClibc-ng/1.0.48/0002-iconv-fix-type-mismatches.patch new file mode 100644 index 00000000..fcee329e --- /dev/null +++ b/packages/uClibc-ng/1.0.48/0002-iconv-fix-type-mismatches.patch @@ -0,0 +1,45 @@ +From 04eae467796a784c79d016d8bc18cbb23ddffb74 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 1 May 2024 04:35:18 -0700 +Subject: [PATCH 2/7] iconv: fix type mismatches + +With gcc-14 warnings caused by type mismatches turn to errors: +- iconv_t is not a pointer type, convert the result directly to iconv_t + in combine_to_from() +- unsigned int is not the same as wchar_t, use temporary wchar_t wc as + an argument for utf8dec_wchar() + +Signed-off-by: Max Filippov +--- + libiconv/iconv.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/libiconv/iconv.c b/libiconv/iconv.c +index ec01f381d..0462f6e10 100644 +--- a/libiconv/iconv.c ++++ b/libiconv/iconv.c +@@ -142,7 +142,7 @@ struct stateful_cd { + + static iconv_t combine_to_from(size_t t, size_t f) + { +- return (void *)(f<<16 | t<<1 | 1); ++ return (iconv_t)(f<<16 | t<<1 | 1); + } + + static size_t extract_from(iconv_t cd) +@@ -382,7 +382,11 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri + switch (type) { + case UTF_8: + if (c < 128) break; +- l = utf8dec_wchar(&c, *in, *inb); ++ else { ++ wchar_t wc; ++ l = utf8dec_wchar(&wc, *in, *inb); ++ c = wc; ++ } + if (!l) l++; + else if (l == (size_t)-1) goto ilseq; + else if (l == (size_t)-2) goto starved; +-- +2.43.2 + diff --git a/packages/uClibc-ng/1.0.48/0003-ldso-FDPIC-fix-type-mismatches.patch b/packages/uClibc-ng/1.0.48/0003-ldso-FDPIC-fix-type-mismatches.patch new file mode 100644 index 00000000..c6fa3ef2 --- /dev/null +++ b/packages/uClibc-ng/1.0.48/0003-ldso-FDPIC-fix-type-mismatches.patch @@ -0,0 +1,55 @@ +From ac395a9d0c9ffb4ada09baf0b3f49e01087bf06e Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 1 May 2024 04:35:19 -0700 +Subject: [PATCH 3/7] ldso: FDPIC: fix type mismatches + +With gcc-14 warnings caused by type mismatches turn to errors: +- (void **) needs explicit conversion operator to become + struct funcdesc_value **entry +- both subexpressions of the ternary operator must be pointers +- %p should be used instead of %x to print a pointer + +Signed-off-by: Max Filippov +--- + ldso/ldso/fdpic/dl-inlines.h | 4 ++-- + ldso/ldso/fdpic/dl-sysdep.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ldso/ldso/fdpic/dl-inlines.h b/ldso/ldso/fdpic/dl-inlines.h +index 89e7a9a68..6a31ef3e6 100644 +--- a/ldso/ldso/fdpic/dl-inlines.h ++++ b/ldso/ldso/fdpic/dl-inlines.h +@@ -102,7 +102,7 @@ __dl_update_loadaddr_hdr(struct elf32_fdpic_loadaddr loadaddr, void *addr, + + #if defined (__SUPPORT_LD_DEBUG__) + if (_dl_debug) +- _dl_dprintf(_dl_debug_file, "%i: changed mapping %x at %x (old %x), size %x\n", ++ _dl_dprintf(_dl_debug_file, "%i: changed mapping %x at %x (old %p), size %x\n", + loadaddr.map->nsegs - 1, + segdata->p_vaddr, segdata->addr, oldaddr, segdata->p_memsz); + #endif +@@ -177,7 +177,7 @@ _dl_funcdesc_for (void *entry_point, void *got_value) + tpnt->funcdesc_ht = ht; + } + +- entry = htab_find_slot(ht, entry_point, 1, hash_pointer, eq_pointer); ++ entry = (struct funcdesc_value **)htab_find_slot(ht, entry_point, 1, hash_pointer, eq_pointer); + + if (entry == NULL) + _dl_exit(1); +diff --git a/ldso/ldso/fdpic/dl-sysdep.h b/ldso/ldso/fdpic/dl-sysdep.h +index 6ab303b37..81694dc76 100644 +--- a/ldso/ldso/fdpic/dl-sysdep.h ++++ b/ldso/ldso/fdpic/dl-sysdep.h +@@ -108,7 +108,7 @@ struct funcdesc_ht; + && ELF32_ST_TYPE((SYM)->st_info) == STT_FUNC \ + ? _dl_funcdesc_for ((void *)DL_RELOC_ADDR ((TPNT)->loadaddr, (SYM)->st_value), \ + (TPNT)->loadaddr.got_value) \ +- : DL_RELOC_ADDR ((TPNT)->loadaddr, (SYM)->st_value)) ++ : (void*)DL_RELOC_ADDR ((TPNT)->loadaddr, (SYM)->st_value)) + + #define DL_GET_READY_TO_RUN_EXTRA_PARMS \ + , struct elf32_fdpic_loadmap *dl_boot_progmap, Elf32_Addr dl_boot_got_pointer +-- +2.43.2 + diff --git a/packages/uClibc-ng/1.0.48/0004-ldso-arm-fix-build-with-gcc-14.patch b/packages/uClibc-ng/1.0.48/0004-ldso-arm-fix-build-with-gcc-14.patch new file mode 100644 index 00000000..6fa81a19 --- /dev/null +++ b/packages/uClibc-ng/1.0.48/0004-ldso-arm-fix-build-with-gcc-14.patch @@ -0,0 +1,55 @@ +From 44aee04d7864da97a79fc41eeac0695d5f21f861 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 1 May 2024 04:35:20 -0700 +Subject: [PATCH 4/7] ldso: arm: fix build with gcc-14 + +With gcc-14 warnings caused by type mismatches turn to errors: +- got_entry is a pointer in the _dl_linux_resolver(), but the function + _dl_linux_resolver() returns unsigned long. Convert got_entry to + unsigned long when returning +- first argument of _dl_funcdesc_for() is a pointer, but (symbol_addr + + reloc_value) is unsigned long in the _dl_do_reloc(). Convert function + argument to (void *) +- struct funcdesc_value::entry_point is a pointer, but DL_RELOC_ADDR + returns ElfW(Addr). Convert DL_RELOC_ADDR result to (void *) before + assigning to funcdesc_value::entry_point + +Signed-off-by: Max Filippov +--- + ldso/ldso/arm/elfinterp.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/ldso/ldso/arm/elfinterp.c b/ldso/ldso/arm/elfinterp.c +index 4c268356f..9c9a3e8ca 100644 +--- a/ldso/ldso/arm/elfinterp.c ++++ b/ldso/ldso/arm/elfinterp.c +@@ -92,7 +92,7 @@ unsigned long _dl_linux_resolver (struct elf_resolve *tpnt, int reloc_offet) + *got_entry = funcval; + #endif + +- return got_entry; ++ return (unsigned long)got_entry; + } + #else + unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry) +@@ -362,7 +362,7 @@ _dl_do_reloc (struct elf_resolve *tpnt,struct r_scope_elem *scope, + unsigned long reloc_value = *reloc_addr; + + if (symbol_addr) +- reloc_value = (unsigned long) _dl_funcdesc_for(symbol_addr + reloc_value, sym_ref.tpnt->loadaddr.got_value); ++ reloc_value = (unsigned long) _dl_funcdesc_for((void *)(symbol_addr + reloc_value), sym_ref.tpnt->loadaddr.got_value); + else + /* Relocation against an + undefined weak symbol: +@@ -429,7 +429,7 @@ _dl_do_lazy_reloc (struct elf_resolve *tpnt, struct r_scope_elem *scope, + { + struct funcdesc_value *dst = (struct funcdesc_value *) reloc_addr; + +- dst->entry_point = DL_RELOC_ADDR(tpnt->loadaddr, dst->entry_point); ++ dst->entry_point = (void *)DL_RELOC_ADDR(tpnt->loadaddr, dst->entry_point); + dst->got_value = tpnt->loadaddr.got_value; + } + break; +-- +2.43.2 + diff --git a/packages/uClibc-ng/1.0.48/0005-csky-allow-time64.patch b/packages/uClibc-ng/1.0.48/0005-csky-allow-time64.patch new file mode 100644 index 00000000..e1078f4f --- /dev/null +++ b/packages/uClibc-ng/1.0.48/0005-csky-allow-time64.patch @@ -0,0 +1,39 @@ +From 79485f17d59ad267dc1add87b23248dff9908132 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Fri, 10 May 2024 11:51:13 +0200 +Subject: [PATCH 5/7] csky: allow time64 + +--- + extra/Configs/Config.in | 1 + + libc/sysdeps/linux/csky/bits/uClibc_arch_features.h | 3 --- + 2 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in +index b814449b4..3a0136c99 100644 +--- a/extra/Configs/Config.in ++++ b/extra/Configs/Config.in +@@ -1028,6 +1028,7 @@ config UCLIBC_USE_TIME64 + bool "Use *time64 syscalls instead of 32bit ones (if possible)" + depends on TARGET_arc || \ + TARGET_arm || \ ++ TARGET_csky || \ + TARGET_i386 || \ + TARGET_m68k || \ + TARGET_microblaze || \ +diff --git a/libc/sysdeps/linux/csky/bits/uClibc_arch_features.h b/libc/sysdeps/linux/csky/bits/uClibc_arch_features.h +index 3f5dab80c..1b866cb90 100644 +--- a/libc/sysdeps/linux/csky/bits/uClibc_arch_features.h ++++ b/libc/sysdeps/linux/csky/bits/uClibc_arch_features.h +@@ -17,9 +17,6 @@ + /* can your target use syscall6() for mmap ? */ + #undef __UCLIBC_MMAP_HAS_6_ARGS__ + +-/* does your target use statx */ +-#define __UCLIBC_HAVE_STATX__ +- + #ifdef __CSKYABIV2__ + #undef __UCLIBC_SYSCALL_ALIGN_64BIT__ + #else +-- +2.43.2 + diff --git a/packages/uClibc-ng/1.0.48/0006-m68k-fix-noMMU-ELF-compile-with-gcc-14.x.patch b/packages/uClibc-ng/1.0.48/0006-m68k-fix-noMMU-ELF-compile-with-gcc-14.x.patch new file mode 100644 index 00000000..4a269d44 --- /dev/null +++ b/packages/uClibc-ng/1.0.48/0006-m68k-fix-noMMU-ELF-compile-with-gcc-14.x.patch @@ -0,0 +1,25 @@ +From ad21b95c97cdb8741922d163f132e9c726c2ce5b Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Sat, 11 May 2024 06:59:54 +0200 +Subject: [PATCH 6/7] m68k: fix noMMU ELF compile with gcc 14.x + +--- + libc/misc/internals/reloc_static_pie.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libc/misc/internals/reloc_static_pie.c b/libc/misc/internals/reloc_static_pie.c +index 81af7d666..cb2c4df87 100644 +--- a/libc/misc/internals/reloc_static_pie.c ++++ b/libc/misc/internals/reloc_static_pie.c +@@ -21,7 +21,7 @@ + #include + + #include +-#if defined(__mips__) || defined(__xtensa__) ++#if defined(__m68k__) || defined(__mips__) || defined(__xtensa__) + #include + #endif + +-- +2.43.2 + diff --git a/packages/uClibc-ng/1.0.48/0007-libpthread-drop-protected-attribute-from-__pthread_k.patch b/packages/uClibc-ng/1.0.48/0007-libpthread-drop-protected-attribute-from-__pthread_k.patch new file mode 100644 index 00000000..4d541d33 --- /dev/null +++ b/packages/uClibc-ng/1.0.48/0007-libpthread-drop-protected-attribute-from-__pthread_k.patch @@ -0,0 +1,34 @@ +From 55840f6209cf1169b1332d262fc8a9d2108e753d Mon Sep 17 00:00:00 2001 +From: Chris Packham +Date: Tue, 5 Sep 2023 21:14:32 +1200 +Subject: [PATCH 7/7] libpthread: drop protected attribute from + __pthread_key_create + +Building some C++ code with uclibc-ng, binutils-2.40 and gcc-13.2.0 we +get the following error + + ld.bfd: isl_test2.o: non-canonical reference to canonical protected function `__pthread_key_create' in x86_64-multilib-linux-uclibc/sysroot/lib64/libc.so.1 + ld.bfd: failed to set dynamic section sizes: bad value + +Drop the protected attribute to avoid the error. + +Signed-off-by: Chris Packham +--- + libpthread/nptl/pthread_key_create.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/libpthread/nptl/pthread_key_create.c b/libpthread/nptl/pthread_key_create.c +index 6e11bbeae..87999764e 100644 +--- a/libpthread/nptl/pthread_key_create.c ++++ b/libpthread/nptl/pthread_key_create.c +@@ -22,7 +22,6 @@ + + + int +-attribute_protected + __pthread_key_create ( + pthread_key_t *key, + void (*destr) (void *)) +-- +2.43.2 + diff --git a/packages/uClibc-ng/1.0.48/chksum b/packages/uClibc-ng/1.0.48/chksum new file mode 100644 index 00000000..c2453d90 --- /dev/null +++ b/packages/uClibc-ng/1.0.48/chksum @@ -0,0 +1,16 @@ +md5 uClibc-ng-1.0.48.tar.xz 22441c7511bc9f78e0ff0c6b9e298d6b +sha1 uClibc-ng-1.0.48.tar.xz 8ab27e44d0ce9a7f9da1e8dfa36b1c4b60418bc5 +sha256 uClibc-ng-1.0.48.tar.xz 3bf5fc6cc5cbc454b6c478424755c6f71e7c15578a2c966f02606aa5c5596e21 +sha512 uClibc-ng-1.0.48.tar.xz da19eeaaf17f1b00a771924fcef906c9ccb701b0204536922689d237765f0712bd348040124c3555cac2f3d93bbdb7bf087fe60af49ae7c60a06340c5f094d87 +md5 uClibc-ng-1.0.48.tar.lz b7a0f8c1cd9963698f6357aca59a47b9 +sha1 uClibc-ng-1.0.48.tar.lz fe96cfa39a4d63443631ac40f771803f1ae6bfe6 +sha256 uClibc-ng-1.0.48.tar.lz 994c2972bbba0c59b77a559aa67505684eecf5d9d5cbcfff3d1eed17925112f2 +sha512 uClibc-ng-1.0.48.tar.lz 51f0386e3ac5eb0221ad3bf2c9b5daac0caaf809eaceac6d5ec85b591aa5c542641450140d1689a3c1ad5aeb9675584a7ad7351a756b26d8ea11283a7a1cb893 +md5 uClibc-ng-1.0.48.tar.bz2 1f584b748fcb06d06419338c1237cb3a +sha1 uClibc-ng-1.0.48.tar.bz2 f8a30be35dafabb95de32aa2e4caab432d58f50c +sha256 uClibc-ng-1.0.48.tar.bz2 472c532a637ff98a99c17789d70e7f25c289ee5b7bc5177725302f9a32008bd7 +sha512 uClibc-ng-1.0.48.tar.bz2 9855a63e45b308e9276fa8c6da4eeebc2943d9f33877620a589de0911dcecc92794e1be03d13b350f5061342f6434e163a195f93adc76d01d4edb85f1a20ba9a +md5 uClibc-ng-1.0.48.tar.gz 44df58035e64bfd8c46bc7f89dea18cc +sha1 uClibc-ng-1.0.48.tar.gz bade11d254deeb9e608b2c4696e107d96d330b7c +sha256 uClibc-ng-1.0.48.tar.gz c8ac74fb6c53f96cf9ecde05c3e37a4e03a67aee013b2f3c388a3c43d20b311d +sha512 uClibc-ng-1.0.48.tar.gz f393ab0459a1b788da966c63befccc3c5ab642f087c65605a4f16f6533a2e966a3939c26a3978b671a531966d247c93722c1ef4b0a73bbdd93cfed86b089ea63 diff --git a/packages/uClibc-ng/1.0.48/version.desc b/packages/uClibc-ng/1.0.48/version.desc new file mode 100644 index 00000000..e69de29b