changeset 1519:83de80c10db8

Upgrade to uClibc 0.9.33.1 (and use NPTL), and busybox 1.19.4.
author Rob Landley <rob@landley.net>
date Thu, 19 Apr 2012 00:09:11 -0500
parents b8dbb8d7d6cc
children 30d9bc95559e
files download.sh sources/baseconfig-busybox sources/baseconfig-uClibc sources/patches/uClibc-fix-arm-unwind-001.patch sources/patches/uClibc-fixclone.patch sources/patches/uClibc-fixm68k.patch sources/patches/uClibc-fixmmap64.patch sources/patches/uClibc-fixx86.patch sources/patches/uClibc-mmu.patch sources/patches/uClibc-schedparam.patch sources/root-filesystem/etc/passwd sources/targets/m68k sources/toys/ccwrap.c
diffstat 13 files changed, 60 insertions(+), 187 deletions(-) [+]
line wrap: on
line diff
--- a/download.sh	Mon Apr 16 21:31:22 2012 -0500
+++ b/download.sh	Thu Apr 19 00:09:11 2012 -0500
@@ -21,15 +21,16 @@
 # Building a cross compile toolchain requires linux headers, uClibc,
 # binutils, and gcc.
 
+URL=http://uclibc.org/downloads/uClibc-0.9.33.1.tar.bz2 \
+SHA1=8360891d368726a8c6d9ac3e1431c73bb8e99b0b \
+ALT=http://uclibc.org/downloads/uClibc-snapshot.tar.bz2 \
+maybe_fork "download || dienow"
+
 URL=http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.3.tar.bz2 \
 SHA1=dc10fd59e5afbe0f74de06862435dd8bed07ca6a \
 ALT=http://kernel.org/pub/linux/kernel/v3.0/testing/linux-3.0-rc1.tar.bz2 \
 maybe_fork "download || dienow"
 
-URL=http://uclibc.org/downloads/uClibc-0.9.32.1.tar.bz2 \
-SHA1=0c13c8cb0c3fd4de039ac8a5b5bd723ef928f554 \
-ALT=http://uclibc.org/downloads/uClibc-snapshot.tar.bz2 \
-maybe_fork "download || dienow"
 
 # 2.17 was the last GPLv2 release of binutils
 
@@ -56,8 +57,12 @@
 # BusyBox.  Adding a native toolchain requires binutils and gcc (above) plus
 # make and bash.
 
-URL=http://www.busybox.net/downloads/busybox-1.19.3.tar.bz2 \
-SHA1=692754db46b129c70921ffb84eaef679061c0952 \
+URL=http://landley.net/toybox/downloads/toybox-0.2.1.tar.bz2 \
+SHA1=0b3a27aa96de3104396253469efccc4a16fecfa4 \
+maybe_fork "download || dienow"
+
+URL=http://www.busybox.net/downloads/busybox-1.19.4.tar.bz2 \
+SHA1=5d7db83d8efbadc19c86ec236e673504bbf43517 \
 #ALT=http://busybox.net/downloads/busybox-snapshot.tar.bz2 \
 maybe_fork "download || dienow"
 
--- a/sources/baseconfig-busybox	Mon Apr 16 21:31:22 2012 -0500
+++ b/sources/baseconfig-busybox	Thu Apr 19 00:09:11 2012 -0500
@@ -192,4 +192,6 @@
 CONFIG_KILL=y
 CONFIG_KILLALL=y
 
-
+CONFIG_LONG_OPTS=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
+CONFIG_FEATURE_TAR_FROM=y
--- a/sources/baseconfig-uClibc	Mon Apr 16 21:31:22 2012 -0500
+++ b/sources/baseconfig-uClibc	Thu Apr 19 00:09:11 2012 -0500
@@ -27,9 +27,10 @@
 UCLIBC_STATIC_LDCONFIG=y
 LDSO_RUNPATH=y
 LDSO_SEARCH_INTERP_PATH=y
+LDSO_LD_LIBRARY_PATH=y
 UCLIBC_CTOR_DTOR=y
-#UCLIBC_HAS_THREADS_NATIVE=y
-LINUXTHREADS_OLD=y
+UCLIBC_HAS_THREADS_NATIVE=y
+#LINUXTHREADS_OLD=y
 UCLIBC_HAS_SYSLOG=y
 UCLIBC_HAS_LFS=y
 MALLOC_GLIBC_COMPAT=y
@@ -93,6 +94,7 @@
 UCLIBC_BUILD_NOEXECSTACK=y
 UCLIBC_HAS_LIBNSL_STUB=y
 UCLIBC_HAS_UTMPX=y
+UCLIBC_LINUX_MODULE_26=y
 
 # Optional internationalization stuff
 
--- a/sources/patches/uClibc-fix-arm-unwind-001.patch	Mon Apr 16 21:31:22 2012 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
---- a/libc/sysdeps/linux/arm/Makefile.arch	2007-03-06 02:06:26.000000000 -0600
-+++ b/libc/sysdeps/linux/arm/Makefile.arch	2009-04-06 02:59:26.000000000 -0500
-@@ -15,7 +15,7 @@
- ifeq ($(CONFIG_ARM_EABI),y)
- CSRC += aeabi_assert.c aeabi_atexit.c aeabi_errno_addr.c \
- 	aeabi_localeconv.c aeabi_memclr.c aeabi_memcpy.c \
--	aeabi_memmove.c aeabi_memset.c find_exidx.c
-+	aeabi_memmove.c aeabi_memset.c find_exidx.c aeabi_unwind_cpp_pr1.c
- SSRC += syscall-eabi.S
- ARCH_OBJ_FILTEROUT := syscall.c
- ifeq ($(UCLIBC_HAS_WCHAR),y)
--- a/sources/patches/uClibc-fixclone.patch	Mon Apr 16 21:31:22 2012 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-The sh4 and sparc targets have assembly implementations of clone.S that don't
-get used, and thus the build breaks.  Also, sparc is missing a header file in
-pthreads.old that exists in pthreads.new.
-
-diff --git a/libc/sysdeps/linux/sh/Makefile.arch b/libc/sysdeps/linux/sh/Makefile.arch
-index 92e262b..6cbc681 100644
---- a/libc/sysdeps/linux/sh/Makefile.arch
-+++ b/libc/sysdeps/linux/sh/Makefile.arch
-@@ -9,4 +9,4 @@
- CSRC := \
- 	mmap.c pipe.c __init_brk.c brk.c sbrk.c pread_write.c cacheflush.c
- 
--SSRC := setjmp.S __longjmp.S ___fpscr_values.S vfork.S
-+SSRC := setjmp.S __longjmp.S ___fpscr_values.S vfork.S clone.S
-diff --git a/libc/sysdeps/linux/sparc/Makefile.arch b/libc/sysdeps/linux/sparc/Makefile.arch
-index d0cae9f..820b2fa 100644
---- a/libc/sysdeps/linux/sparc/Makefile.arch
-+++ b/libc/sysdeps/linux/sparc/Makefile.arch
-@@ -13,7 +13,7 @@ SSRC := \
- 
- ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
- CSRC += sigaction.c
--SSRC += fork.S vfork.S
-+SSRC += fork.S vfork.S clone.S
- endif
- 
- # check weather __LONG_DOUBLE_128__ is defined (long double support)
---- /dev/null	2011-07-15 06:34:19.820919508 -0500
-+++ uClibc/libpthread/linuxthreads.old/sysdeps/sparc/tcb-offsets.h	2011-07-23 19:53:02.079880519 -0500
-@@ -0,0 +1 @@
-+#include "../../../linuxthreads/sysdeps/pthread/tcb-offsets.h"
--- a/sources/patches/uClibc-fixm68k.patch	Mon Apr 16 21:31:22 2012 -0500
+++ b/sources/patches/uClibc-fixm68k.patch	Thu Apr 19 00:09:11 2012 -0500
@@ -1,12 +1,20 @@
---- uClibc/Rules.mak	2010-04-02 10:34:27.000000000 -0500
-+++ uClibc.bak/Rules.mak	2010-04-12 00:08:21.000000000 -0500
-@@ -173,7 +173,9 @@
+Avoid an internal compiler error in inet_ntoa.c for m68k.
+
+--- uClibc.bak/Rules.mak	2012-04-11 12:04:21.000000000 -0500
++++ uClibc/Rules.mak	2012-04-18 23:56:18.746334332 -0500
+@@ -226,6 +226,7 @@
  
  OPTIMIZATION:=
  # Use '-Os' optimization if available, else use -O2, allow Config to override
 +ifneq ($(TARGET_ARCH),m68k)
- OPTIMIZATION+=$(call check_gcc,-Os,-O2)
+ $(eval $(call check-gcc-var,-Os))
+ ifneq ($(CFLAG_-Os),)
+ OPTIMIZATION += $(CFLAG_-Os)
+@@ -233,6 +234,7 @@
+ $(eval $(call check-gcc-var,-O2))
+ OPTIMIZATION += $(CFLAG_-O2)
+ endif
 +endif
  # Use the gcc 3.4 -funit-at-a-time optimization when available
- OPTIMIZATION+=$(call check_gcc,-funit-at-a-time,)
- # shrinks code by about 0.1%
+ $(eval $(call check-gcc-var,-funit-at-a-time))
+ OPTIMIZATION += $(CFLAG_-funit-at-a-time)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/patches/uClibc-fixmmap64.patch	Thu Apr 19 00:09:11 2012 -0500
@@ -0,0 +1,23 @@
+commit 7b736592c14d1e7ec0b2f035849d7cecf34d5f25
+Author: Mike Frysinger <vapier@gentoo.org>
+Date:   Wed Apr 11 16:01:29 2012 -0400
+
+    mmap64: include stdint.h for uint64_t
+    
+    Some targets include this implicitly, but pull it in explicitly for those
+    which don't to fix building for them.
+    
+    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+diff --git a/libc/sysdeps/linux/common/mmap64.c b/libc/sysdeps/linux/common/mmap64.c
+index 3c97c84..cebf961 100644
+--- a/libc/sysdeps/linux/common/mmap64.c
++++ b/libc/sysdeps/linux/common/mmap64.c
+@@ -10,6 +10,7 @@
+ #ifdef __UCLIBC_HAS_LFS__
+ 
+ #include <errno.h>
++#include <stdint.h>
+ #include <unistd.h>
+ #include <sys/mman.h>
+ #include <sys/syscall.h>
--- a/sources/patches/uClibc-fixx86.patch	Mon Apr 16 21:31:22 2012 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-commit 8245f3b4638fdff2011c2657af1bb211def704bc
-Author: Phil Blundell <pb@pbcl.net>
-Date:   Sat Jun 11 01:10:46 2011 -0400
-
-    Fix __libc_epoll_pwait compile failure on x86
-    
-    This prevents "memory input 7 is not directly addressable" errors.
-    
-    | libc/sysdeps/linux/common/epoll.c: In function '__libc_epoll_pwait':
-    | libc/sysdeps/linux/common/epoll.c:71:80: error: memory input 7 is not directly addressable
-    | libc/sysdeps/linux/common/epoll.c:75:86: error: memory input 7 is not directly addressable
-    | make: *** [libc/sysdeps/linux/common/epoll.o] Error 1
-    | make: *** Waiting for unfinished jobs....
-    
-    Signed-off-by: Phil Blundell <pb@pbcl.net>
-    Signed-off-by: Jason Woodward <jason.woodward@timesys.com>
-    Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-diff --git a/libc/sysdeps/linux/common/epoll.c b/libc/sysdeps/linux/common/epoll.c
-index 85b0cfd..ab3e73b 100644
---- a/libc/sysdeps/linux/common/epoll.c
-+++ b/libc/sysdeps/linux/common/epoll.c
-@@ -67,12 +67,13 @@ extern __typeof(epoll_pwait) __libc_epoll_pwait;
- int __libc_epoll_pwait(int epfd, struct epoll_event *events, int maxevents,
- 						int timeout, const sigset_t *set)
- {
-+    int nsig = _NSIG / 8;
- 	if (SINGLE_THREAD_P)
--		return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
-+		return INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
- # ifdef __UCLIBC_HAS_THREADS_NATIVE__
- 	else {
- 		int oldtype = LIBC_CANCEL_ASYNC ();
--		int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, _NSIG / 8);
-+		int result = INLINE_SYSCALL(epoll_pwait, 6, epfd, events, maxevents, timeout, set, nsig);
- 		LIBC_CANCEL_RESET (oldtype);
- 		return result;
- 	}
--- a/sources/patches/uClibc-mmu.patch	Mon Apr 16 21:31:22 2012 -0500
+++ b/sources/patches/uClibc-mmu.patch	Thu Apr 19 00:09:11 2012 -0500
@@ -35,77 +35,6 @@
 -	select ARCH_HAS_MMU
  	select ARCH_HAS_NO_LDSO
  	select UCLIBC_HAS_LFS
-diff -ru uClibc.bak/extra/Configs/Config.arm uClibc/extra/Configs/Config.arm
---- uClibc.bak/extra/Configs/Config.arm	2011-12-30 05:11:07.000000000 -0600
-+++ uClibc/extra/Configs/Config.arm	2012-01-28 21:51:10.565745340 -0600
-@@ -55,11 +55,9 @@
- 
- config CONFIG_ARM610
- 	bool "Arm 610"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM710
- 	bool "Arm 710"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM7TDMI
- 	bool "Arm 7TDMI"
-@@ -67,35 +65,27 @@
- 
- config CONFIG_ARM720T
- 	bool "Arm 720T"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM920T
- 	bool "Arm 920T"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM922T
- 	bool "Arm 922T"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM926T
- 	bool "Arm 926T"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM10T
- 	bool "Arm 10T"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM1136JF_S
- 	bool "Arm 1136JF-S"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM1176JZ_S
- 	bool "Arm 1176JZ-S"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM1176JZF_S
- 	bool "Arm 1176JZF-S"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM_CORTEX_M3
- 	bool "Arm Cortex-M3"
-@@ -109,19 +99,15 @@
- 
- config CONFIG_ARM_SA110
- 	bool "Intel StrongArm SA-110"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM_SA1100
- 	bool "Intel StrongArm SA-1100"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM_XSCALE
- 	bool "Intel Xscale"
--	select ARCH_HAS_MMU
- 
- config CONFIG_ARM_IWMMXT
- 	bool "Intel Xscale With WMMX PXA27x"
--	select ARCH_HAS_MMU
- 
- endchoice
- 
 diff -ru uClibc.bak/extra/Configs/Config.avr32 uClibc/extra/Configs/Config.avr32
 --- uClibc.bak/extra/Configs/Config.avr32	2011-12-30 05:11:07.000000000 -0600
 +++ uClibc/extra/Configs/Config.avr32	2012-01-28 21:51:10.575746540 -0600
--- a/sources/patches/uClibc-schedparam.patch	Mon Apr 16 21:31:22 2012 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-diff -ru uClibc/libc/sysdeps/linux/common/bits/sched.h uClibc.bak/libc/sysdeps/linux/common/bits/sched.h
---- uClibc/libc/sysdeps/linux/common/bits/sched.h	2010-04-02 10:34:27.000000000 -0500
-+++ uClibc.bak/libc/sysdeps/linux/common/bits/sched.h	2010-10-15 13:38:43.000000000 -0500
-@@ -61,6 +61,7 @@
- # define CLONE_STOPPED	0x02000000 /* Start in stopped state.  */
- #endif
- 
-+#undef sched_param
- /* The official definition.  */
- struct sched_param
-   {
-@@ -82,6 +83,8 @@
- 
- __END_DECLS
- 
-+#else
-+#define sched_param __sched_param
- #endif	/* need schedparam */
- 
- #if !defined __defined_schedparam \
--- a/sources/root-filesystem/etc/passwd	Mon Apr 16 21:31:22 2012 -0500
+++ b/sources/root-filesystem/etc/passwd	Thu Apr 19 00:09:11 2012 -0500
@@ -1,2 +1,2 @@
-root:x:0:0:root:/home/root:/bin/sh
+root::0:0:root:/home/root:/bin/sh
 guest:x:500:500:guest:/home/guest:/bin/sh
--- a/sources/targets/m68k	Mon Apr 16 21:31:22 2012 -0500
+++ b/sources/targets/m68k	Thu Apr 19 00:09:11 2012 -0500
@@ -20,6 +20,7 @@
 UCLIBC_CONFIG="
 TARGET_m68k=y
 UCLIBC_HAS_FPU=y
+LINUXTHREADS_OLD=y
 "
 
 LINUX_CONFIG="
--- a/sources/toys/ccwrap.c	Mon Apr 16 21:31:22 2012 -0500
+++ b/sources/toys/ccwrap.c	Thu Apr 19 00:09:11 2012 -0500
@@ -173,6 +173,9 @@
 		prefixlen -= 2;
 
 		// TODO: put support for wrapping the linker here.
+	} else if (!strcmp(toolprefix+prefixlen-3, "cpp")) {
+		prefixlen -=3;
+		linking = 0;
 
 	// Wrapping the c++ compiler?
 	} else if (!strcmp(toolprefix+prefixlen-2, "++")) {