Mercurial > hg > aboriginal
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, "++")) {