ifeq ($(PKG_VERSION),0.9.32)
PKG_SOURCE_URL:=git://git.busybox.net/uClibc
PKG_SOURCE_PROTO:=git
- PKG_SOURCE_VERSION:=bb8551685e2efc42c65a01479b9f9bb8b860da01
+ PKG_SOURCE_VERSION:=9112a2398ec58b32cd1a1c6feae195bd8f9a46a2
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
LIBC_SO_VERSION:=$(PKG_VERSION)-rc2-git
--- a/include/string.h
+++ b/include/string.h
-@@ -357,18 +357,40 @@
+@@ -357,18 +357,40 @@ extern char *index (__const char *__s, i
/* Find the last occurrence of C in S (same as strrchr). */
extern char *rindex (__const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
--- a/include/sys/timex.h
+++ b/include/sys/timex.h
-@@ -116,9 +116,8 @@
+@@ -116,9 +116,8 @@ struct timex
__BEGIN_DECLS
ldso/ldso/ldso.c | 12 +++++++++---
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
-@@ -920,9 +920,15 @@
+@@ -918,9 +918,15 @@ void _dl_get_ready_to_run(struct elf_res
#ifdef __LDSO_LDD_SUPPORT__
/* End of the line for ldd.... */
if (trace_loaded_objects) {
--- a/libc/sysdeps/linux/avr32/bits/atomic.h
+++ b/libc/sysdeps/linux/avr32/bits/atomic.h
-@@ -28,6 +28,7 @@
+@@ -28,6 +28,7 @@ typedef uintmax_t uatomic_max_t;
#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
({ \
--- a/include/math.h
+++ b/include/math.h
-@@ -195,7 +195,7 @@
+@@ -195,7 +195,7 @@ extern int signgam;
/* ISO C99 defines some generic macros which work on any data type. */
/* Get the architecture specific values describing the floating-point
evaluation. The following symbols will get defined:
-@@ -315,6 +315,11 @@
+@@ -315,6 +315,11 @@ enum
#endif /* Use ISO C99. */
--- a/libc/stdio/_stdio.c
+++ b/libc/stdio/_stdio.c
-@@ -124,7 +124,7 @@
+@@ -124,7 +124,7 @@ static FILE _stdio_streams[] = {
__FLAG_NBF|__FLAG_WRITEONLY, \
2, \
NULL, \
--- a/Rules.mak
+++ b/Rules.mak
-@@ -481,6 +481,17 @@
+@@ -481,6 +481,17 @@ ifeq ($(TARGET_ARCH),i960)
SYMBOL_PREFIX=_
endif
endif
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
-@@ -102,6 +102,9 @@
+@@ -102,6 +102,9 @@ config TARGET_sh64
config TARGET_sparc
bool "sparc"
config TARGET_v850
bool "v850 (BROKEN)"
-@@ -203,6 +206,10 @@
+@@ -203,6 +206,10 @@ if TARGET_sparc
source "extra/Configs/Config.sparc"
endif
endif
--- a/extra/Configs/Config.in.arch
+++ b/extra/Configs/Config.in.arch
-@@ -149,7 +149,7 @@
+@@ -149,7 +149,7 @@ config UCLIBC_HAS_SOFT_FLOAT
config DO_C99_MATH
bool "Enable full C99 math library support"
depends on UCLIBC_HAS_FLOATS
+ string
--- a/include/elf.h
+++ b/include/elf.h
-@@ -337,6 +337,8 @@
+@@ -337,6 +337,8 @@ typedef struct
#define EM_XSTORMY16 0xad45
/* FRV magic number - no EABI available??. */
#define EM_CYGNUS_FRV 0x5441
-@@ -3063,6 +3065,55 @@
+@@ -3063,6 +3065,55 @@ typedef Elf32_Addr Elf32_Conflict;
/* Keep this the last entry. */
#define R_XTENSA_NUM 50
#endif
--- a/include/features.h
+++ b/include/features.h
-@@ -445,4 +445,10 @@
+@@ -445,4 +445,10 @@ uClibc was built without large file supp
# include <libc-internal.h>
#endif
#endif /* features.h */
--- a/ldso/ldso/dl-startup.c
+++ b/ldso/ldso/dl-startup.c
-@@ -164,10 +164,13 @@
+@@ -164,10 +164,13 @@ DL_START(unsigned long args)
aux_dat += 2;
}
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
-@@ -327,10 +327,12 @@
+@@ -327,10 +327,12 @@ void _dl_get_ready_to_run(struct elf_res
_dl_progname = argv[0];
}
+ .size _dl_ubicom32_resolve_pending, . - _dl_ubicom32_resolve_pending
--- a/libc/misc/Makefile.in
+++ b/libc/misc/Makefile.in
-@@ -12,7 +12,9 @@
+@@ -12,7 +12,9 @@ include $(top_srcdir)libc/misc/assert/Ma
include $(top_srcdir)libc/misc/ctype/Makefile.in
include $(top_srcdir)libc/misc/dirent/Makefile.in
include $(top_srcdir)libc/misc/error/Makefile.in
+ .set __GI_vfork,vfork
--- a/libpthread/linuxthreads.old/pthread.c
+++ b/libpthread/linuxthreads.old/pthread.c
-@@ -393,6 +393,10 @@
+@@ -393,6 +393,10 @@ void __pthread_initialize_minimal(void)
#endif
__libc_multiple_threads_ptr = __libc_pthread_init (ptr_pthread_functions);
}
-@@ -461,8 +465,11 @@
+@@ -461,8 +465,11 @@ static void pthread_initialize(void)
* __pthread_initial_thread_bos at address 0. These bounds are refined as we
* malloc other stack frames such that they don't overlap. -StS
*/
--- a/ldso/include/dl-elf.h
+++ b/ldso/include/dl-elf.h
-@@ -42,6 +42,10 @@
+@@ -42,6 +42,10 @@ extern int _dl_linux_resolve(void);
extern int _dl_fixup(struct dyn_elf *rpnt, int flag);
extern void _dl_protect_relro (struct elf_resolve *l);
/*
* Bitsize related settings for things ElfW()
* does not handle already
-@@ -163,7 +167,7 @@
- dynamic_info[tag] = (unsigned long) DL_RELOC_ADDR(load_off, dynamic_info[tag]); \
- } while (0)
- /* Don't adjust .dynamic unnecessarily. */
-- if (load_off != 0) {
-+ if (DL_LOADADDR_ISSET(load_off)) {
+@@ -166,7 +170,7 @@ unsigned int __dl_parse_dynamic_info(Elf
+ we'd have to walk all the loadsegs to find out if it was
+ actually unnecessary, so skip this optimization. */
+ #ifndef __FDPIC__
+- if (load_off != 0)
++ if (DL_LOADADDR_ISSET(load_off))
+ #endif
+ {
ADJUST_DYN_INFO(DT_HASH, load_off);
- ADJUST_DYN_INFO(DT_PLTGOT, load_off);
- ADJUST_DYN_INFO(DT_STRTAB, load_off);
--- a/ldso/ldso/ubicom32/dl-sysdep.h
+++ b/ldso/ldso/ubicom32/dl-sysdep.h
-@@ -101,6 +101,7 @@
+@@ -101,6 +101,7 @@ do { \
} while (0)
#define DL_LOADADDR_TYPE struct elf32_fdpic_loadaddr
extra/Configs/Config.arm | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
-diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
-index b060ace..3b90e67 100644
--- a/extra/Configs/Config.arm
+++ b/extra/Configs/Config.arm
@@ -30,13 +30,6 @@ config CONFIG_ARM_EABI
+ depends on !CONFIG_GENERIC_ARM && !CONFIG_ARM610 && !CONFIG_ARM710
+ help
+ Use BX instruction for THUMB aware architectures.
---
-1.7.1
-
extra/Configs/Config.arm | 31 ++++++++++++++++++++++++++++---
2 files changed, 32 insertions(+), 6 deletions(-)
-diff --git a/Rules.mak b/Rules.mak
-index eecdc64..2a16908 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -348,9 +348,10 @@ ifeq ($(TARGET_ARCH),arm)
endif
ifeq ($(TARGET_ARCH),mips)
-diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
-index 3b90e67..c9c40d4 100644
--- a/extra/Configs/Config.arm
+++ b/extra/Configs/Config.arm
@@ -64,70 +64,95 @@ config CONFIG_ARM710
+ depends on HAS_THUMB
help
Use BX instruction for THUMB aware architectures.
---
-1.7.1
-
extra/Configs/Config.arm | 125 ++--------------------------------------------
2 files changed, 5 insertions(+), 139 deletions(-)
-diff --git a/Rules.mak b/Rules.mak
-index 2a16908..09741a6 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -332,25 +332,6 @@ ifeq ($(TARGET_ARCH),arm)
CPU_CFLAGS-$(COMPILE_IN_THUMB_MODE)+=-mthumb
endif
-diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
-index c9c40d4..6c75a00 100644
--- a/extra/Configs/Config.arm
+++ b/extra/Configs/Config.arm
@@ -30,129 +30,14 @@ config CONFIG_ARM_EABI
- depends on HAS_THUMB
help
Use BX instruction for THUMB aware architectures.
---
-1.7.1
-
extra/Configs/Config.arm | 23 ++++++++---------------
1 files changed, 8 insertions(+), 15 deletions(-)
-diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
-index 6c75a00..227b90c 100644
--- a/extra/Configs/Config.arm
+++ b/extra/Configs/Config.arm
@@ -12,23 +12,16 @@ config FORCE_OPTIONS_FOR_ARCH
-choice
- prompt "Target ABI"
-- default CONFIG_ARM_OABI
+- default CONFIG_ARM_EABI
+config CONFIG_ARM_EABI
+ bool "Build for EABI"
help
config COMPILE_IN_THUMB_MODE
bool "Build using Thumb mode"
---
-1.7.1
-
libc/sysdeps/linux/arm/sysdep.h | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
-diff --git a/ldso/ldso/arm/dl-startup.h b/ldso/ldso/arm/dl-startup.h
-index a95389d..2dfdaff 100644
--- a/ldso/ldso/arm/dl-startup.h
+++ b/ldso/ldso/arm/dl-startup.h
@@ -7,6 +7,7 @@
#if !defined(__thumb__)
__asm__(
-diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h
-index 013f88c..e498695 100644
--- a/libc/sysdeps/linux/arm/sysdep.h
+++ b/libc/sysdeps/linux/arm/sysdep.h
@@ -21,6 +21,7 @@
#include <sys/syscall.h>
/* For Linux we can use the system call table in the header file
---
-1.7.1
-
libc/sysdeps/linux/arm/bits/arm_asm.h | 9 ++++++++-
2 files changed, 11 insertions(+), 2 deletions(-)
-diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
-index 227b90c..9aa9e56 100644
--- a/extra/Configs/Config.arm
+++ b/extra/Configs/Config.arm
@@ -33,4 +33,6 @@ config COMPILE_IN_THUMB_MODE
+ Say 'y' to use BX to return from functions on your thumb-aware
+ processor. Say 'y' if you need to use interworking. Say 'n' if not.
+ It is safe to say 'y' even if you're not doing interworking.
-diff --git a/libc/sysdeps/linux/arm/bits/arm_asm.h b/libc/sysdeps/linux/arm/bits/arm_asm.h
-index 1d87df6..921c9a3 100644
--- a/libc/sysdeps/linux/arm/bits/arm_asm.h
+++ b/libc/sysdeps/linux/arm/bits/arm_asm.h
@@ -24,5 +24,12 @@
+#endif /* __USE_BX__ */
+#endif /* _ARM_ASM_H */
---
-1.7.1
-
libc/sysdeps/linux/arm/bits/huge_val.h | 4 ++--
3 files changed, 9 insertions(+), 15 deletions(-)
-diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm
-index 9aa9e56..85f2515 100644
--- a/extra/Configs/Config.arm
+++ b/extra/Configs/Config.arm
@@ -12,17 +12,6 @@ config FORCE_OPTIONS_FOR_ARCH
config COMPILE_IN_THUMB_MODE
bool "Build using Thumb mode"
select USE_BX
-diff --git a/libc/sysdeps/linux/arm/Makefile.arch b/libc/sysdeps/linux/arm/Makefile.arch
-index b53c539..14279e0 100644
--- a/libc/sysdeps/linux/arm/Makefile.arch
+++ b/libc/sysdeps/linux/arm/Makefile.arch
@@ -24,7 +24,12 @@ ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y)
libc-static-y += $(ARCH_OUT)/aeabi_lcsts.o $(ARCH_OUT)/aeabi_math.o \
$(ARCH_OUT)/aeabi_sighandlers.o
libc-nonshared-y += $(ARCH_OUT)/aeabi_lcsts.os $(ARCH_OUT)/aeabi_math.os \
-diff --git a/libc/sysdeps/linux/arm/bits/huge_val.h b/libc/sysdeps/linux/arm/bits/huge_val.h
-index a215f3c..745e0bb 100644
--- a/libc/sysdeps/linux/arm/bits/huge_val.h
+++ b/libc/sysdeps/linux/arm/bits/huge_val.h
@@ -32,7 +32,7 @@
# if __BYTE_ORDER == __BIG_ENDIAN
# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
# endif
---
-1.7.1
-