From 525d78e46cf83f4fd800b028035f8fb15451f877 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 31 Dec 2010 14:44:08 +0100 Subject: ignore Config.in.arch, it is generated --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6aed8ed9e..056debe46 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,4 @@ target/packages/pkg-enabled target/packages/Config.in target/config/Config.in.system.default target/config/Config.in.system +target/config/Config.in.arch -- cgit v1.2.3 From f90936ae8ecd92261804e63bb27ac3939c631900 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 31 Dec 2010 14:45:08 +0100 Subject: remove generated files --- target/config/Config.in.arch | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 target/config/Config.in.arch diff --git a/target/config/Config.in.arch b/target/config/Config.in.arch deleted file mode 100644 index 592d973f2..000000000 --- a/target/config/Config.in.arch +++ /dev/null @@ -1,3 +0,0 @@ -source "target/config/Config.in.arch.default" -config ADK_LINUX_ARM - bool -- cgit v1.2.3 From 099aecb016cc3a4aa8a00c801fb7cb79ecc6d7cd Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 31 Dec 2010 14:45:38 +0100 Subject: add patch from uClibc trunk, otherwise mipsel build breaks --- toolchain/uClibc/patches/trunk.patch | 196 +++++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 toolchain/uClibc/patches/trunk.patch diff --git a/toolchain/uClibc/patches/trunk.patch b/toolchain/uClibc/patches/trunk.patch new file mode 100644 index 000000000..2d2c9f683 --- /dev/null +++ b/toolchain/uClibc/patches/trunk.patch @@ -0,0 +1,196 @@ +diff --git a/Makefile.in b/Makefile.in +index b4dcf6b..d7a5fca 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -23,7 +23,7 @@ export KCONFIG_CONFIG + + ifeq ($(HAVE_DOT_CONFIG),y) + +-all: pregen libs ++all: headers pregen libs + libs: pregen + + # In this section, we need .config +@@ -260,6 +260,7 @@ HEADERS_RM-$(UCLIBC_HAS_WCHAR) += wchar.h wctype.h + HEADERS_RM-$(UCLIBC_HAS_WORDEXP) += wordexp.h + HEADERS_RM-$(UCLIBC_HAS_XATTR) += sys/xattr.h + HEADERS_RM-$(UCLIBC_HAS_XLOCALE) += xlocale.h ++HEADERS_RM-$(UCLIBC_HAS_LOCALE) += bits/uClibc_ctype.h + HEADERS_RM-$(UCLIBC_LINUX_SPECIFIC) += sys/fsuid.h sys/inotify.h sys/perm.h \ + sys/personality.h \ + sys/prctl.h \ +diff --git a/extra/locale/Makefile b/extra/locale/Makefile +index 11f362a..ff229e2 100644 +--- a/extra/locale/Makefile ++++ b/extra/locale/Makefile +@@ -4,10 +4,10 @@ + # + # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + # +- + top_srcdir=../../ +-top_builddir=../../ ++top_builddir=$(if $(O),$(O),../../)/ ++ + all: objs +-include $(top_builddir)Rules.mak ++include $(top_srcdir)Rules.mak + include Makefile.in + include $(top_srcdir)Makerules +diff --git a/libc/sysdeps/linux/sparc/Makefile.arch b/libc/sysdeps/linux/sparc/Makefile.arch +index 91c6e85..d0cae9f 100644 +--- a/libc/sysdeps/linux/sparc/Makefile.arch ++++ b/libc/sysdeps/linux/sparc/Makefile.arch +@@ -16,9 +16,15 @@ CSRC += sigaction.c + SSRC += fork.S vfork.S + endif + ++# check weather __LONG_DOUBLE_128__ is defined (long double support) ++UCLIBC_SPARC_HAS_LONG_DOUBLE=$(shell if [ "x`$(CC) -E -dM -xc /dev/null 2>&1 | grep __LONG_DOUBLE_128__`" != "x" ]; then echo "y"; fi) ++ifeq ($(UCLIBC_SPARC_HAS_LONG_DOUBLE),y) + CSRC += $(foreach f, \ + q_div.c q_fle.c q_mul.c q_qtoll.c q_stoq.c \ + mp_clz_tab.c q_dtoq.c q_flt.c q_neg.c q_qtos.c q_sub.c \ + q_add.c q_feq.c q_fne.c q_qtod.c q_qtou.c q_ulltoq.c \ + q_cmp.c q_fge.c q_itoq.c q_qtoull.c q_util.c \ + q_cmpe.c q_fgt.c q_lltoq.c q_qtoi.c q_sqrt.c q_utoq.c, soft-fp/$(f)) ++else ++CSRC += qp_ops.c ++endif +diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c +index 614cad1..db43634 100644 +--- a/libpthread/linuxthreads/pthread.c ++++ b/libpthread/linuxthreads/pthread.c +@@ -49,7 +49,7 @@ extern int _h_errno; + /* We need the global/static resolver state here. */ + # include + # undef _res +-extern struct __res_state _res; ++extern struct __res_state *__resp; + # endif + #endif + +@@ -73,9 +73,6 @@ struct _pthread_descr_struct __pthread_initial_thread = { + #if !(USE_TLS && HAVE___THREAD) + .p_errnop = &_errno, + .p_h_errnop = &_h_errno, +-# if defined __UCLIBC_HAS_IPv4__ || defined __UCLIBC_HAS_IPV6__ +- .p_resp = &_res, +-# endif + #endif + .p_userstack = 1, + .p_resume_count = __ATOMIC_INITIALIZER, +@@ -544,14 +541,14 @@ static void pthread_initialize(void) + THREAD_SETMEM (((pthread_descr) NULL), p_pid, __getpid()); + # if !defined HAVE___THREAD && (defined __UCLIBC_HAS_IPv4__ || defined __UCLIBC_HAS_IPV6__) + /* Likewise for the resolver state _res. */ +- THREAD_SETMEM (((pthread_descr) NULL), p_resp, &_res); ++ THREAD_SETMEM (((pthread_descr) NULL), p_resp, __resp); + # endif + #else + /* Update the descriptor for the initial thread. */ + __pthread_initial_thread.p_pid = __getpid(); + # if defined __UCLIBC_HAS_IPv4__ || defined __UCLIBC_HAS_IPV6__ + /* Likewise for the resolver state _res. */ +- __pthread_initial_thread.p_resp = &_res; ++ __pthread_initial_thread.p_resp = __resp; + # endif + #endif + #if !__ASSUME_REALTIME_SIGNALS +@@ -1129,7 +1126,7 @@ void __pthread_reset_main_thread(void) + THREAD_SETMEM(self, p_errnop, &_errno); + THREAD_SETMEM(self, p_h_errnop, &_h_errno); + # if defined __UCLIBC_HAS_IPv4__ || defined __UCLIBC_HAS_IPV6__ +- THREAD_SETMEM(self, p_resp, &_res); ++ THREAD_SETMEM(self, p_resp, __resp); + # endif + #endif + +diff --git a/libpthread/nptl/sem_open.c b/libpthread/nptl/sem_open.c +index 28dd3aa..71bebb0 100644 +--- a/libpthread/nptl/sem_open.c ++++ b/libpthread/nptl/sem_open.c +@@ -248,7 +248,7 @@ sem_open (const char *name, int oflag, ...) + int fd; + + /* Determine where the shmfs is mounted. */ +- __pthread_once (&__namedsem_once, __where_is_shmfs); ++ INTUSE(__pthread_once) (&__namedsem_once, __where_is_shmfs); + + /* If we don't know the mount points there is nothing we can do. Ever. */ + if (mountpoint.dir == NULL) +diff --git a/libpthread/nptl/sem_unlink.c b/libpthread/nptl/sem_unlink.c +index beed02e..f3e7f1a 100644 +--- a/libpthread/nptl/sem_unlink.c ++++ b/libpthread/nptl/sem_unlink.c +@@ -33,7 +33,7 @@ sem_unlink ( + size_t namelen; + + /* Determine where the shmfs is mounted. */ +- __pthread_once (&__namedsem_once, __where_is_shmfs); ++ INTUSE(__pthread_once) (&__namedsem_once, __where_is_shmfs); + + /* If we don't know the mount points there is nothing we can do. Ever. */ + if (mountpoint.dir == NULL) +diff --git a/libpthread/nptl/sysdeps/pthread/Makefile.in b/libpthread/nptl/sysdeps/pthread/Makefile.in +index 8ccf96d..fc0c6ac 100644 +--- a/libpthread/nptl/sysdeps/pthread/Makefile.in ++++ b/libpthread/nptl/sysdeps/pthread/Makefile.in +@@ -95,6 +95,10 @@ $(patsubst %,$(libpthread_pthread_OUT)/pt-%.oS,$(pthread-lc-fwd)): $(libpthread_ + $(compile.c) + $(patsubst %,$(libpthread_pthread_OUT)/pt-%.o,$(pthread-lc-fwd)): $(libpthread_pthread_OUT)/pt-%.o: $(libpthread_pthread_OUT)/pt-%.c + $(compile.c) ++ifeq ($(DOPIC),y) ++$(patsubst %,$(libpthread_pthread_OUT)/pt-%.os,$(pthread-lc-fwd)): $(libpthread_pthread_OUT)/pt-%.os: $(libpthread_pthread_OUT)/pt-%.c ++ $(compile.c) ++endif + + objclean-y += CLEAN_libpthread/nptl/sysdeps/pthread + +diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch +index 88ca01a..102c0da 100644 +--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch ++++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch +@@ -7,16 +7,20 @@ + + libpthread_linux_arch_SSRC = pt-vfork.S clone.S + libpthread_linux_arch_CSRC = pthread_once.c lowlevellock.c \ +- pthread_barrier_init.c pthread_barrier_wait.c pthread_barrier_destroy.c ++ pthread_barrier_init.c pthread_barrier_wait.c pthread_barrier_destroy.c \ ++ pt-__syscall_error.c + + libc_linux_arch_CSRC = fork.c libc-lowlevellock.c + libc_linux_arch_SSRC = clone.S vfork.S + ++librt_linux_arch_CSRC = pt-__syscall_error.c ++ + ASFLAGS += -DUSE___THREAD + + ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT + CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread + CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread ++CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread + + ASFLAGS-clone.S = -D_LIBC_REENTRANT + ASFLAGS-vfork.S = -D_LIBC_REENTRANT +diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-__syscall_error.c b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-__syscall_error.c +new file mode 100644 +index 0000000..872e4ef +--- /dev/null ++++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-__syscall_error.c +@@ -0,0 +1 @@ ++#include <../../../../../../../libc/sysdeps/linux/sparc/__syscall_error.c> +diff --git a/libpthread/nptl_db/Makefile.in b/libpthread/nptl_db/Makefile.in +index 644ec55..a3fc1cd 100644 +--- a/libpthread/nptl_db/Makefile.in ++++ b/libpthread/nptl_db/Makefile.in +@@ -12,8 +12,7 @@ CFLAGS-nptl_db := -DLIBPTHREAD_SO="\"libpthread.so.$(ABI_VERSION)\"" + CFLAGS-nptl_db += -I$(top_srcdir)libpthread/nptl -D_GNU_SOURCE + CFLAGS-nptl_db += -DIS_IN_libthread_db=1 -DNOT_IN_libc -std=gnu99 -I$(top_srcdir)ldso/include + +-LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) -s --warn-unresolved-symbols +- ++LDFLAGS-libthread_db.so := $(LDFLAGS_NOSTRIP) $(if $(call check_ld,--warn-unresolved-symbols),-Wl$(comma)--warn-unresolved-symbols) + LIBS-libthread_db.so := $(LIBS) + + libthread_db_FULL_NAME := libthread_db-$(VERSION).so -- cgit v1.2.3 From 6b51877976866dfb054c6fdcef0fe9844d6a4dad Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 31 Dec 2010 16:36:26 +0100 Subject: fix some error messages, when fstab does not exist --- package/base-files/Makefile | 2 +- package/base-files/src/etc/rc.shutdown | 2 +- package/base-files/src/init | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 1b8bf812a..369d8f485 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk PKG_NAME:= base-files PKG_VERSION:= 1.0 -PKG_RELEASE:= 41 +PKG_RELEASE:= 42 PKG_SECTION:= base PKG_DESCR:= basic files and scripts diff --git a/package/base-files/src/etc/rc.shutdown b/package/base-files/src/etc/rc.shutdown index 85d9e0058..381669a57 100644 --- a/package/base-files/src/etc/rc.shutdown +++ b/package/base-files/src/etc/rc.shutdown @@ -1,5 +1,5 @@ #!/bin/sh -for i in $(grep -v ^# /etc/fstab |awk '{ print $2 }');do +for i in $(grep -v ^# /etc/fstab 2>/dev/null|awk '{ print $2 }');do printf Unmounting $i umount $i done diff --git a/package/base-files/src/init b/package/base-files/src/init index fc4ec8cb9..c1016cc34 100755 --- a/package/base-files/src/init +++ b/package/base-files/src/init @@ -18,5 +18,5 @@ echo "/sbin/mdev" >/proc/sys/kernel/hotplug mdev -s cat /etc/.rnd >/dev/urandom 2>&1 [ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;} || mount -o remount,rw / -[ -f /etc/fstab ] && fsck -p >/dev/null ; mount -a +[ -f /etc/fstab ] && { fsck -p >/dev/null ; mount -a; } exec /sbin/init -- cgit v1.2.3 From a5b840d770cb5e9a06a8828e4756b776a10ca152 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 31 Dec 2010 16:37:33 +0100 Subject: revert common uClibc vfork implementation. the new one does not work with cris architecture --- toolchain/uClibc/patches/revert-vfork.patch | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 toolchain/uClibc/patches/revert-vfork.patch diff --git a/toolchain/uClibc/patches/revert-vfork.patch b/toolchain/uClibc/patches/revert-vfork.patch new file mode 100644 index 000000000..29073c123 --- /dev/null +++ b/toolchain/uClibc/patches/revert-vfork.patch @@ -0,0 +1,41 @@ +diff -Nur uClibc-0.9.32-rc1.orig/libc/sysdeps/linux/common/vfork.c uClibc-0.9.32-rc1/libc/sysdeps/linux/common/vfork.c +--- uClibc-0.9.32-rc1.orig/libc/sysdeps/linux/common/vfork.c 2010-12-17 20:05:17.000000000 +0100 ++++ uClibc-0.9.32-rc1/libc/sysdeps/linux/common/vfork.c 2010-12-31 14:28:19.259431750 +0100 +@@ -4,30 +4,24 @@ + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + ++/* Trivial implementation for arches that lack vfork */ + #include + #include + #include + +-extern __typeof(vfork) __vfork attribute_hidden; +- +-#ifdef __NR_vfork +- +-# define __NR___vfork __NR_vfork +-_syscall0(pid_t, __vfork) +- +-weak_alias(__vfork,vfork) +-libc_hidden_weak(vfork) +- +-#elif defined __ARCH_USE_MMU__ && defined __NR_fork ++#ifdef __ARCH_USE_MMU__ + +-/* Trivial implementation for arches that lack vfork */ ++#ifdef __NR_fork ++/* libc_hidden_proto(fork) */ + ++extern __typeof(vfork) __vfork attribute_hidden; + pid_t __vfork(void) + { + return fork(); + } +- ++/* libc_hidden_proto(vfork) */ + weak_alias(__vfork,vfork) + libc_hidden_weak(vfork) ++#endif + + #endif -- cgit v1.2.3 From 2dce122bacb8837543ff8e882a1df7284324e357 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 31 Dec 2010 16:37:45 +0100 Subject: fix image creation --- mk/image.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mk/image.mk b/mk/image.mk index 484b2745a..3b1db46cd 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -69,7 +69,7 @@ ${BIN_DIR}/${ROOTFSSQUASHFS}: ${TARGET_DIR} ${STAGING_HOST_DIR}/bin/mksquashfs ${TARGET_DIR} \ ${BUILD_DIR}/root.squashfs \ -nopad -noappend -root-owned $(MAKE_TRACE) - cat ${ADK_TARGET_KERNEL} ${BUILD_DIR}/root.squashfs > \ + cat ${TARGET_KERNEL} ${BUILD_DIR}/root.squashfs > \ ${BUILD_DIR}/${ROOTFSSQUASHFS} createinitramfs: -- cgit v1.2.3