changeset 631:585c77c9e83f

Upgrade to uClibc-0.9.30.1 (and tweak lots of UNSTABLE URLs).
author Rob Landley <rob@landley.net>
date Wed, 11 Mar 2009 17:32:55 -0500
parents 0e8a887f9d8b
children 4ab92aee351c
files download.sh sources/patches/uClibc-0.9.30-2.6.28.patch sources/patches/uClibc-install2.patch
diffstat 3 files changed, 62 insertions(+), 46 deletions(-) [+]
line wrap: on
line diff
--- a/download.sh	Thu Mar 05 12:25:19 2009 -0600
+++ b/download.sh	Wed Mar 11 17:32:55 2009 -0500
@@ -26,11 +26,11 @@
 # Required for cross compile toolchain
 URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.5.tar.bz2 \
 SHA1=1547b08421d69444373f0038b95c81ae496f5bce \
-UNSTABLE=http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.29-rc4.tar.bz2 \
+UNSTABLE=http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.29-rc7.tar.bz2 \
 download || dienow
 
-URL=http://www.uclibc.org/downloads/uClibc-0.9.30.tar.bz2 \
-SHA1=e96665237968fb2e4aa027bde9d56c4fe599eb1b \
+URL=http://www.uclibc.org/downloads/uClibc-0.9.30.1.tar.bz2 \
+SHA1=4b36fec9a0dacbd6fe0fd2cdb7836aaf8b7f4992 \
 UNSTABLE=http://uclibc.org/downloads/uClibc-snapshot.tar.bz2 \
 download || dienow
 
@@ -41,10 +41,12 @@
 
 URL=ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-core-4.1.2.tar.bz2 \
 SHA1=d6875295f6df1bec4a6f4ab8f0da54bfb8d97306 \
+UNSTABLE=ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.1/gcc-core-4.2.1.tar.bz2 \
 download || dienow
 
 URL=http://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-g++-4.1.2.tar.bz2 \
 SHA1=e29c6e151050f8b5ac5d680b99483df522606143 \
+UNSTABLE=http://ftp.gnu.org/gnu/gcc/gcc-4.2.1/gcc-g++-4.2.1.tar.bz2 \
 download || dienow
 
 URL=http://impactlinux.com/code/toybox/downloads/toybox-0.0.9.tar.bz2 \
--- a/sources/patches/uClibc-0.9.30-2.6.28.patch	Thu Mar 05 12:25:19 2009 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-diff -ruN uClibc/libc/sysdeps/linux/i386/bits/kernel_types.h uClibc2/libc/sysdeps/linux/i386/bits/kernel_types.h
---- uClibc/libc/sysdeps/linux/i386/bits/kernel_types.h	2008-07-23 06:23:36.000000000 -0500
-+++ uClibc2/libc/sysdeps/linux/i386/bits/kernel_types.h	2008-12-28 01:19:51.000000000 -0600
-@@ -7,7 +7,8 @@
- 
- /* a hack for compiling a 32 bit user space with 64 bit
-  * kernel on x86_64  */
--#if !defined(__ARCH_I386_POSIX_TYPES_H) && !defined(_ASM_X86_64_POSIX_TYPES_H)
-+#if !defined(__ARCH_I386_POSIX_TYPES_H) && !defined(_ASM_X86_64_POSIX_TYPES_H) && !defined(_ASM_X86_POSIX_TYPES_32_H)
-+#define _ASM_X86_POSIX_TYPES_32_H
- #define _ASM_X86_64_POSIX_TYPES_H
- #define __ARCH_I386_POSIX_TYPES_H
- 
-diff -ruN uClibc/libc/sysdeps/linux/x86_64/bits/kernel_types.h uClibc2/libc/sysdeps/linux/x86_64/bits/kernel_types.h
---- uClibc/libc/sysdeps/linux/x86_64/bits/kernel_types.h	2008-07-23 06:23:36.000000000 -0500
-+++ uClibc2/libc/sysdeps/linux/x86_64/bits/kernel_types.h	2008-12-28 01:22:29.000000000 -0600
-@@ -4,8 +4,9 @@
-  * our private content, and not the kernel header, will win.
-  *  -Erik
-  */
--#ifndef _ASM_X86_64_POSIX_TYPES_H
-+#if !defined(_ASM_X86_64_POSIX_TYPES_H) && !defined(_ASM_X86_POSIX_TYPES_64_H)
- #define _ASM_X86_64_POSIX_TYPES_H
-+#define _ASM_X86_POSIX_TYPES_64_H
- 
- typedef unsigned long	__kernel_dev_t;
- typedef unsigned long	__kernel_ino_t;
--- a/sources/patches/uClibc-install2.patch	Thu Mar 05 12:25:19 2009 -0600
+++ b/sources/patches/uClibc-install2.patch	Wed Mar 11 17:32:55 2009 -0500
@@ -1,26 +1,67 @@
---- uClibc/Makefile.in	2006-12-14 21:13:04.000000000 -0500
-+++ uClibc-new/Makefile.in	2006-12-27 23:08:09.000000000 -0500
-@@ -207,21 +207,10 @@
+Index: Makefile.in
+===================================================================
+--- uClibc/Makefile.in	(revision 25418)
++++ uClibc/Makefile.in	(working copy)
+@@ -402,6 +402,7 @@
  		$(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)$$i.$(MAJOR_VERSION) \
  		$(PREFIX)$(DEVEL_PREFIX)lib/$$i; \
  	done
--	if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
--		$(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
--		$(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME):' \
--		    -e 's:$(SHARED_MAJORNAME):$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME):' \
--		    -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO):' \
--		    $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
--	fi
++ifeq ($(HARDWIRED_ABSPATH),y)
+ 	if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
+ 		$(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
+ 		$(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME):' \
+@@ -409,16 +410,23 @@
+ 		    -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO):' \
+ 		    $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
+ 	fi
++else
 +	-$(INSTALL) -m 644 lib/libc.so $(PREFIX)$(DEVEL_PREFIX)lib/
++endif
  ifeq ($(UCLIBC_HAS_THREADS),y)
  ifneq ($(LINUXTHREADS_OLD),y)
--	if [ -f $(top_builddir)lib/libpthread.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) ] ; then \
--		$(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
--		cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
--		echo "GROUP ( $(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX)lib/libpthread_nonshared.a )" \
--			>> $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
--	fi
++ifeq ($(HARDWIRED_ABSPATH),y)
+ 	if [ -f $(top_builddir)lib/libpthread.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) ] ; then \
+ 		$(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
+ 		cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
+ 		echo "GROUP ( $(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX)lib/libpthread_nonshared.a )" \
+ 			>> $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \
+ 	fi
++else
 +	-$(INSTALL) -m 644 lib/libpthread.so $(PREFIX)$(DEVEL_PREFIX)lib/
  endif
  endif
++endif
  ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
+ 	$(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)libthread_db.so.1 \
+ 		$(PREFIX)$(DEVEL_PREFIX)lib/libthread_db.so
+Index: extra/Configs/Config.in
+===================================================================
+--- uClibc/extra/Configs/Config.in	(revision 25418)
++++ uClibc/extra/Configs/Config.in	(working copy)
+@@ -1812,6 +1812,26 @@
+ 	  For a typical target system this should be set to "/usr", such that
+ 	  'make install' will install /usr/include/<header files>.
+ 
++config HARDWIRED_ABSPATH
++	string "Hardwire absolute paths into linker scripts"
++	default y
++	help
++	  This prepends absolute paths to the libraries mentioned in linker
++	  scripts such as libc.so.
++
++	  This is a build time optimization.  It has no impact on dynamic
++	  linking at runtime, which doesn't use linker scripts.
++
++	  You must disable this to use uClibc with a relocatable toolchain,
++	  such as the prebuilt binary cross compilers at
++	  http://uclibc.org/downloads/binaries which may be installed at an
++	  arbitrary location (such as in a user's home directory).
++
++	  The amount of time saved by this optimization is actually too small to
++	  measure. The linker just had to search the library path to find the
++	  linker script, so the dentries are cache hot if it has to search the
++	  same path again.  But it's what glibc does, so we do it too.
++
+ endmenu
+ 
+