Prechádzať zdrojové kódy

Merge branch 'for-2010.08' of git://git.busybox.net/~tpetazzoni/git/buildroot

Peter Korsgaard 15 rokov pred
rodič
commit
a99b1bb24f
41 zmenil súbory, kde vykonal 881 pridanie a 32 odobranie
  1. 66 0
      package/busybox/busybox-1.17.1/busybox-1.17.1-sed.patch
  2. 19 0
      package/busybox/busybox-1.17.1/busybox-1.17.1-shell.patch
  3. 0 4
      package/cgilua/Config.in
  4. 0 1
      package/imagemagick/imagemagick.mk
  5. 3 0
      package/intltool/Config.in
  6. 51 0
      package/libglib2/libglib2-fix-clock-gettime-check.patch
  7. 1 1
      package/libglib2/libglib2.mk
  8. 3 0
      package/libxml-parser-perl/Config.in
  9. 0 0
      package/lua/lua-bug3-boolean_expression.patch
  10. 0 0
      package/lua/lua-bug4-table.patch
  11. 0 0
      package/lua/lua-bug5-debug_getfenv.patch
  12. 0 0
      package/lua/lua-bug6-gc_performance.patch
  13. 20 0
      package/lua/lua-bug7-string_format.patch
  14. 14 0
      package/lua/lua-bug8-io_read.patch
  15. 3 1
      package/lua/lua.mk
  16. 1 5
      package/luafilesystem/Config.in
  17. 20 0
      package/luafilesystem/luafilesystem-without_large_file.patch
  18. 5 1
      package/luafilesystem/luafilesystem.mk
  19. 377 0
      package/lzo/lzo-2.03-acinclude-m4.patch
  20. 21 0
      package/lzo/lzo-2.03-fix-configure-ac.patch
  21. 24 0
      package/lzo/lzo-2.03-fix-makefile-am.patch
  22. 6 0
      package/lzo/lzo.mk
  23. 1 0
      package/netcat/netcat.mk
  24. 1 1
      package/php/php.mk
  25. 0 1
      package/sysvinit/Config.in
  26. 4 2
      package/sysvinit/sysvinit.mk
  27. 41 0
      package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch
  28. 4 0
      package/util-linux/util-linux.mk
  29. 0 4
      package/wsapi/Config.in
  30. 0 4
      package/xavante/Config.in
  31. 5 0
      target/Config.in.arch
  32. 1 0
      toolchain/dependencies/dependencies.mk
  33. 12 0
      toolchain/dependencies/dependencies.sh
  34. 137 0
      toolchain/gcc/4.4.4/powerpc-link-with-math-lib.patch.conditional
  35. 4 4
      toolchain/kernel-headers/Config.in
  36. 0 0
      toolchain/kernel-headers/linux-2.6.32.18-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
  37. 0 0
      toolchain/kernel-headers/linux-2.6.33.7-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
  38. 0 0
      toolchain/kernel-headers/linux-2.6.34.3-scsi-use-__uX-types-for-headers-exported-to-user-space.patch
  39. 3 3
      toolchain/toolchain-common.in
  40. 17 0
      toolchain/uClibc/uClibc-0.9.30.3-fix-error-locale-utf-8.patch
  41. 17 0
      toolchain/uClibc/uClibc-0.9.31-fix-error-locale-utf-8.patch

+ 66 - 0
package/busybox/busybox-1.17.1/busybox-1.17.1-sed.patch

@@ -0,0 +1,66 @@
+diff -urpN busybox-1.17.1/editors/sed.c busybox-1.17.1-sed/editors/sed.c
+--- busybox-1.17.1/editors/sed.c	2010-07-06 04:25:53.000000000 +0200
++++ busybox-1.17.1-sed/editors/sed.c	2010-08-01 04:15:39.000000000 +0200
+@@ -61,6 +61,10 @@
+ #include "libbb.h"
+ #include "xregex.h"
+ 
++enum {
++	OPT_in_place = 1 << 0,
++};
++
+ /* Each sed command turns into one of these structures. */
+ typedef struct sed_cmd_s {
+ 	/* Ordered by alignment requirements: currently 36 bytes on x86 */
+@@ -938,8 +942,11 @@ static void process_files(void)
+ 
+ 		if (matched) {
+ 			/* once matched, "n,xxx" range is dead, disabling it */
+-			if (sed_cmd->beg_line > 0)
++			if (sed_cmd->beg_line > 0
++			 && !(option_mask32 & OPT_in_place) /* but not for -i */
++			) {
+ 				sed_cmd->beg_line = -2;
++			}
+ 			sed_cmd->in_match = !(
+ 				/* has the ending line come, or is this a single address command? */
+ 				(sed_cmd->end_line ?
+@@ -1270,9 +1277,6 @@ static void add_cmd_block(char *cmdstr)
+ int sed_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+ int sed_main(int argc UNUSED_PARAM, char **argv)
+ {
+-	enum {
+-		OPT_in_place = 1 << 0,
+-	};
+ 	unsigned opt;
+ 	llist_t *opt_e, *opt_f;
+ 	int status = EXIT_SUCCESS;
+@@ -1292,6 +1296,7 @@ int sed_main(int argc UNUSED_PARAM, char
+ 	opt_e = opt_f = NULL;
+ 	opt_complementary = "e::f::" /* can occur multiple times */
+ 	                    "nn"; /* count -n */
++	/* -i must be first, to match OPT_in_place definition */
+ 	opt = getopt32(argv, "irne:f:", &opt_e, &opt_f,
+ 			    &G.be_quiet); /* counter for -n */
+ 	//argc -= optind;
+diff -urpN busybox-1.17.1/testsuite/sed.tests busybox-1.17.1-sed/testsuite/sed.tests
+--- busybox-1.17.1/testsuite/sed.tests	2010-07-06 04:25:54.000000000 +0200
++++ busybox-1.17.1-sed/testsuite/sed.tests	2010-08-01 04:19:26.000000000 +0200
+@@ -270,11 +270,16 @@ testing "sed a cmd ended by double backs
+ 	| two \\
+ '
+ 
+-# fisrt three lines are deleted; 4th line is matched and printed by "2,3" and by "4" ranges
++# first three lines are deleted; 4th line is matched and printed by "2,3" and by "4" ranges
+ testing "sed with N skipping lines past ranges on next cmds" \
+ 	"sed -n '1{N;N;d};1p;2,3p;3p;4p'" \
+ 	"4\n4\n" "" "1\n2\n3\n4\n"
+ 
++testing "sed -i with address modifies all files, not only first" \
++	"cp input input2; sed -i -e '1s/foo/bar/' input input2 && cat input input2; rm input2" \
++	"bar\nbar\n" "foo\n" ""
++
++
+ # testing "description" "arguments" "result" "infile" "stdin"
+ 
+ exit $FAILCOUNT

+ 19 - 0
package/busybox/busybox-1.17.1/busybox-1.17.1-shell.patch

@@ -84,3 +84,22 @@ diff -urpN busybox-1.17.1/shell/hush_test/hush-trap/signal7.tests busybox-1.17.1
 +&& test x"$REAL_CHILD" = x"$PARENTS_IDEA_OF_CHILD"
 +echo "Bug detected: $?"
 +}
+diff -urpN busybox-1.17.1/shell/shell_common.c busybox-1.17.1-shell/shell/shell_common.c
+--- busybox-1.17.1/shell/shell_common.c	2010-07-06 04:25:54.000000000 +0200
++++ busybox-1.17.1-shell/shell/shell_common.c	2010-07-27 08:41:43.000000000 +0200
+@@ -428,9 +428,14 @@ shell_builtin_ulimit(char **argv)
+ 						val <<= l->factor_shift;
+ 					}
+ //bb_error_msg("opt %c val_str:'%s' val:%lld", opt_char, val_str, (long long)val);
++					/* from man bash: "If neither -H nor -S
++					 * is specified, both the soft and hard
++					 * limits are set. */
++					if (!opts)
++						opts = OPT_hard + OPT_soft;
+ 					if (opts & OPT_hard)
+ 						limit.rlim_max = val;
+-					if ((opts & OPT_soft) || opts == 0)
++					if (opts & OPT_soft)
+ 						limit.rlim_cur = val;
+ //bb_error_msg("setrlimit(%d, %lld, %lld)", l->cmd, (long long)limit.rlim_cur, (long long)limit.rlim_max);
+ 					if (setrlimit(l->cmd, &limit) < 0) {

+ 0 - 4
package/cgilua/Config.in

@@ -1,6 +1,5 @@
 config BR2_PACKAGE_CGILUA
 	bool "cgilua"
-	depends on BR2_LARGEFILE
 	select BR2_PACKAGE_LUA_SHARED_LIBRARY
 	select BR2_PACKAGE_LUAFILESYSTEM
 	help
@@ -8,6 +7,3 @@ config BR2_PACKAGE_CGILUA
 	  and manipulating input data from Web forms.
 
 	  http://luaforge.net/projects/cgilua/
-
-comment "cgilua requires a toolchain with LARGEFILE support"
-	depends on !BR2_LARGEFILE

+ 0 - 1
package/imagemagick/imagemagick.mk

@@ -88,7 +88,6 @@ $(IMAGEMAGICK_DIR)/.libinstall: $(IMAGEMAGICK_LIB)
 	touch $@
 
 $(TARGET_DIR)/usr/bin/animate: $(IMAGEMAGICK_LIB)
-	ls -l $(IMAGEMAGICK_LIB) >> datefile
 	$(IMAGEMAGICK_COPY) $(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-animate $(TARGET_DIR)/usr/bin/animate
 	-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/animate
 	touch $@

+ 3 - 0
package/intltool/Config.in

@@ -1,5 +1,8 @@
 config BR2_PACKAGE_INTLTOOL
        bool "intltool"
+       # Hide from configuration as we only support the host package
+       # for the moment
+       depends on BR2_HOST_ONLY
        help
          Utility scripts for internationalizing XML
 

+ 51 - 0
package/libglib2/libglib2-fix-clock-gettime-check.patch

@@ -0,0 +1,51 @@
+Rework clock_gettime() test
+
+The test for clock_gettime() in configure.in doesn't work properly
+when a previous package has loaded the shared configuration cache with
+informations about the availability of clock_gettime. A package such
+as ctorrent does so, which means that compiling ctorrent *then*
+libglib2 currently fails.
+
+According to people on the Autoconf mailing list, the libglib2 test is
+likely the one that needs to be fixed. The problem is that the
+AC_CHECK_FUNCS() test assumes that if it finds clock_gettime() it
+means that there's no need to add any -lrt flag to the
+build. Unfortunately, due to the shared configuration cache, this test
+is already done with -lrt, so the test succeeds, and libglib2 does not
+know that it needs to add -lrt to G_THREAD_LIBS and
+G_THREAD_LIBS_FOR_GTHREAD.
+
+So instead, we remplace the test with an AC_SEARCH_LIBS() test,
+followed by a test on the result of this AC_SEARCH_LIBS() test to add
+the necessary -lrt to G_THREAD_LIBS and
+G_THREAD_LIBS_FOR_GTHREAD. Therefore, even if the result for the
+AC_SEARCH_LIBS() test is cached due to the prior execution ctorrent
+./configure script, libglib2 ./configure will properly add -lrt to the
+appropriate variables.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: glib-2.24.1/configure.in
+===================================================================
+--- glib-2.24.1.orig/configure.in	2010-08-11 19:29:20.530916023 +0200
++++ glib-2.24.1/configure.in	2010-08-11 19:46:41.308866269 +0200
+@@ -2392,13 +2392,14 @@
+ 	LIBS="$glib_save_LIBS"
+ fi
+ 
+-AC_CHECK_FUNCS(clock_gettime, [], [
+-  AC_CHECK_LIB(rt, clock_gettime, [
+-    AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
++AC_SEARCH_LIBS([clock_gettime], [rt], [
++    AC_DEFINE(HAVE_CLOCK_GETTIME, 1,[Have clock_gettime])
++])
++
++if test "$ac_cv_search_clock_gettime" = "-lrt"; then
+     G_THREAD_LIBS="$G_THREAD_LIBS -lrt"
+     G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS_FOR_GTHREAD -lrt"
+-  ])
+-])
++fi
+ 
+ AC_CACHE_CHECK(for monotonic clocks,
+     glib_cv_monotonic_clock,AC_COMPILE_IFELSE([AC_LANG_SOURCE([[

+ 1 - 1
package/libglib2/libglib2.mk

@@ -9,7 +9,7 @@ LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).$(LIBGLIB2_VERSION_MINOR)
 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.bz2
 LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
 
-LIBGLIB2_AUTORECONF = NO
+LIBGLIB2_AUTORECONF = YES
 LIBGLIB2_LIBTOOL_PATCH = NO
 LIBGLIB2_INSTALL_STAGING = YES
 LIBGLIB2_INSTALL_TARGET = YES

+ 3 - 0
package/libxml-parser-perl/Config.in

@@ -1,6 +1,9 @@
 config BR2_PACKAGE_LIBXML_PARSER_PERL
        bool "libxml-parser-perl"
        select BR2_PACKAGE_EXPAT
+       # Hide from configuration as we only support the host package
+       # for the moment
+       depends on BR2_HOST_ONLY
        help
          The Perl XML::Parser module.
 

+ 0 - 0
package/lua/lua-boolean_expression.patch → package/lua/lua-bug3-boolean_expression.patch


+ 0 - 0
package/lua/lua-table.patch → package/lua/lua-bug4-table.patch


+ 0 - 0
package/lua/lua-debug_getfenv.patch → package/lua/lua-bug5-debug_getfenv.patch


+ 0 - 0
package/lua/lua-gc_performance.patch → package/lua/lua-bug6-gc_performance.patch


+ 20 - 0
package/lua/lua-bug7-string_format.patch

@@ -0,0 +1,20 @@
+--- lua-5.1.4.orig/src/lstrlib.c	2008/07/11 17:27:21	1.132.1.4
++++ lua-5.1.4/src/lstrlib.c	2010/05/14 15:12:53
+@@ -754,6 +754,7 @@
+ 
+ 
+ static int str_format (lua_State *L) {
++  int top = lua_gettop(L);
+   int arg = 1;
+   size_t sfl;
+   const char *strfrmt = luaL_checklstring(L, arg, &sfl);
+@@ -768,7 +769,8 @@
+     else { /* format item */
+       char form[MAX_FORMAT];  /* to store the format (`%...') */
+       char buff[MAX_ITEM];  /* to store the formatted item */
+-      arg++;
++      if (++arg > top)
++        luaL_argerror(L, arg, "no value");
+       strfrmt = scanformat(L, strfrmt, form);
+       switch (*strfrmt++) {
+         case 'c': {

+ 14 - 0
package/lua/lua-bug8-io_read.patch

@@ -0,0 +1,14 @@
+--- lua-5.1.4.orig/src/liolib.c	2008/01/18 17:47:43	2.73.1.3
++++ lua-5.1.4.orig/src/liolib.c	2010/05/14 15:29:29
+@@ -276,7 +276,10 @@
+     lua_pushnumber(L, d);
+     return 1;
+   }
+-  else return 0;  /* read fails */
++  else {
++    lua_pushnil(L);  /* "result" to be removed */
++    return 0;  /* read fails */
++  }
+ }
+ 
+ 

+ 3 - 1
package/lua/lua.mk

@@ -24,7 +24,9 @@ endif
 define LUA_BUILD_CMDS
 	sed -i -e 's/-O2//' $(@D)/src/Makefile
 	sed -i -e 's/\/usr\/local/\/usr/' $(@D)/etc/lua.pc
-	$(MAKE) $(TARGET_CONFIGURE_OPTS) MYCFLAGS="$(LUA_MYCFLAGS)" \
+	$(MAKE) \
+	CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" \
+	MYCFLAGS="$(TARGET_CFLAGS) $(LUA_MYCFLAGS)" \
 	MYLIBS="$(LUA_MYLIBS)" AR="$(TARGET_CROSS)ar rcu" \
 	PKG_VERSION=$(LUA_VERSION) -C $(@D)/src all
 endef

+ 1 - 5
package/luafilesystem/Config.in

@@ -1,12 +1,8 @@
 config BR2_PACKAGE_LUAFILESYSTEM
 	bool "luafilesystem"
-	depends on BR2_LARGEFILE
 	select BR2_PACKAGE_LUA_SHARED_LIBRARY
 	help
 	  LuaFileSystem offers a portable way to access
 	  the underlying directory structure and file attributes.
 
-	  http://luaforge.net/projects/luafilesystem/
-
-comment "luafilesystem requires a toolchain with LARGEFILE support"
-	depends on !BR2_LARGEFILE
+	  http://keplerproject.github.com/luafilesystem/

+ 20 - 0
package/luafilesystem/luafilesystem-without_large_file.patch

@@ -0,0 +1,20 @@
+diff --git a/src/lfs.c b/src/lfs.c
+index 85f01e3..ed49f50 100644
+--- a/src/lfs.c
++++ b/src/lfs.c
+@@ -22,13 +22,13 @@
+ 
+ #ifndef _WIN32
+ #ifndef _AIX
+-#define _FILE_OFFSET_BITS 64 /* Linux, Solaris and HP-UX */
++//#define _FILE_OFFSET_BITS 64 /* Linux, Solaris and HP-UX */
+ #else
+ #define _LARGE_FILES 1 /* AIX */
+ #endif
+ #endif
+ 
+-#define _LARGEFILE64_SOURCE
++//#define _LARGEFILE64_SOURCE
+ 
+ #include <errno.h>
+ #include <stdio.h>

+ 5 - 1
package/luafilesystem/luafilesystem.mk

@@ -8,8 +8,12 @@ LUAFILESYSTEM_VERSION = 1.5.0
 LUAFILESYSTEM_SITE = http://github.com/downloads/keplerproject/luafilesystem
 LUAFILESYSTEM_DEPENDENCIES = lua
 
+ifeq ($(BR2_LARGEFILE),y)
+LFS_CFLAGS = -D_FILE_OFFSET_BITS=64 _LARGEFILE64_SOURCE
+endif
+
 define LUAFILESYSTEM_BUILD_CMDS
-	$(MAKE) -C $(@D) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) -fPIC"
+	$(MAKE) -C $(@D) CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS) $(LFS_CFLAGS) -fPIC"
 endef
 
 define LUAFILESYSTEM_INSTALL_TARGET_CMDS

+ 377 - 0
package/lzo/lzo-2.03-acinclude-m4.patch

@@ -0,0 +1,377 @@
+The lzo tarball only contains an aclocal.m4, which is the result from
+running aclocal. Unfortunately, it lacks the acinclude.m4 file which
+would allow us to do an autoreconf of the package. Therefore, this
+patch extracts from aclocal.m4 the parts that are specific to this lzo
+package, and put them into an acinclude.m4 so that autoreconf on this
+package will work.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ acinclude.m4 |  360 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 360 insertions(+)
+
+Index: lzo-2.03/acinclude.m4
+===================================================================
+--- /dev/null
++++ lzo-2.03/acinclude.m4
+@@ -0,0 +1,360 @@
++# /***********************************************************************
++# // standard ACC macros
++# ************************************************************************/
++
++AC_DEFUN([mfx_ACC_CHECK_ENDIAN], [
++AC_C_BIGENDIAN([AC_DEFINE(ACC_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(ACC_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])])
++])#
++
++AC_DEFUN([mfx_ACC_CHECK_HEADERS], [
++AC_HEADER_TIME
++AC_CHECK_HEADERS([assert.h ctype.h dirent.h errno.h fcntl.h float.h limits.h malloc.h memory.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h strings.h time.h unistd.h utime.h sys/mman.h sys/resource.h sys/stat.h sys/time.h sys/types.h sys/wait.h])
++])#
++
++AC_DEFUN([mfx_ACC_CHECK_FUNCS], [
++AC_CHECK_FUNCS(access alloca atexit atoi atol chmod chown clock_getcpuclockid clock_getres clock_gettime ctime difftime fstat getenv getpagesize getrusage gettimeofday gmtime isatty localtime longjmp lstat memcmp memcpy memmove memset mkdir mktime mmap mprotect munmap qsort raise rmdir setjmp signal snprintf strcasecmp strchr strdup strerror strftime stricmp strncasecmp strnicmp strrchr strstr time umask utime vsnprintf)
++])#
++
++
++AC_DEFUN([mfx_ACC_CHECK_SIZEOF], [
++AC_CHECK_SIZEOF(short)
++AC_CHECK_SIZEOF(int)
++AC_CHECK_SIZEOF(long)
++
++AC_CHECK_SIZEOF(long long)
++AC_CHECK_SIZEOF(__int16)
++AC_CHECK_SIZEOF(__int32)
++AC_CHECK_SIZEOF(__int64)
++
++AC_CHECK_SIZEOF(void *)
++AC_CHECK_SIZEOF(size_t)
++AC_CHECK_SIZEOF(ptrdiff_t)
++])#
++
++
++# /***********************************************************************
++# // Check for ACC_conformance
++# ************************************************************************/
++
++AC_DEFUN([mfx_ACC_ACCCHK], [
++mfx_tmp=$1
++mfx_save_CPPFLAGS=$CPPFLAGS
++dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here
++test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS"
++
++AC_MSG_CHECKING([whether your compiler passes the ACC conformance test])
++
++AC_LANG_CONFTEST([AC_LANG_PROGRAM(
++[[#define ACC_CONFIG_NO_HEADER 1
++#include "acc/acc.h"
++#include "acc/acc_incd.h"
++#undef ACCCHK_ASSERT
++#define ACCCHK_ASSERT(expr)     ACC_COMPILE_TIME_ASSERT_HEADER(expr)
++#include "acc/acc_chk.ch"
++#undef ACCCHK_ASSERT
++static void test_acc_compile_time_assert(void) {
++#define ACCCHK_ASSERT(expr)     ACC_COMPILE_TIME_ASSERT(expr)
++#include "acc/acc_chk.ch"
++#undef ACCCHK_ASSERT
++}
++#undef NDEBUG
++#include <assert.h>
++static int test_acc_run_time_assert(int r) {
++#define ACCCHK_ASSERT(expr)     assert(expr);
++#include "acc/acc_chk.ch"
++#undef ACCCHK_ASSERT
++return r;
++}
++]], [[
++test_acc_compile_time_assert();
++if (test_acc_run_time_assert(1) != 1) return 1;
++]]
++)])
++
++mfx_tmp=FAILED
++_AC_COMPILE_IFELSE([], [mfx_tmp=yes])
++rm -f conftest.$ac_ext conftest.$ac_objext
++
++CPPFLAGS=$mfx_save_CPPFLAGS
++
++AC_MSG_RESULT([$mfx_tmp])
++case x$mfx_tmp in
++  xpassed | xyes) ;;
++  *)
++    AC_MSG_NOTICE([])
++    AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ])
++    AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending])
++    AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.])
++    AC_MSG_NOTICE([Thanks for your support.])
++    AC_MSG_NOTICE([])
++    AC_MSG_ERROR([ACC conformance test failed. Stop.])
++dnl    AS_EXIT
++    ;;
++esac
++])# mfx_ACC_ACCCHK
++
++
++# /***********************************************************************
++# // Check for ACC_conformance
++# ************************************************************************/
++
++AC_DEFUN([mfx_MINIACC_ACCCHK], [
++mfx_tmp=$1
++mfx_save_CPPFLAGS=$CPPFLAGS
++dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here
++test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS"
++
++AC_MSG_CHECKING([whether your compiler passes the ACC conformance test])
++
++AC_LANG_CONFTEST([AC_LANG_PROGRAM(
++[[#define ACC_CONFIG_NO_HEADER 1
++#define ACC_WANT_ACC_INCD_H 1
++#include $2
++
++#define ACC_WANT_ACC_CHK_CH 1
++#undef ACCCHK_ASSERT
++#define ACCCHK_ASSERT(expr)     ACC_COMPILE_TIME_ASSERT_HEADER(expr)
++#include $2
++
++#define ACC_WANT_ACC_CHK_CH 1
++#undef ACCCHK_ASSERT
++#define ACCCHK_ASSERT(expr)     ACC_COMPILE_TIME_ASSERT(expr)
++static void test_acc_compile_time_assert(void) {
++#include $2
++}
++
++#undef NDEBUG
++#include <assert.h>
++#define ACC_WANT_ACC_CHK_CH 1
++#undef ACCCHK_ASSERT
++#define ACCCHK_ASSERT(expr)  assert(expr);
++static int test_acc_run_time_assert(int r) {
++#include $2
++return r;
++}
++]], [[
++test_acc_compile_time_assert();
++if (test_acc_run_time_assert(1) != 1) return 1;
++]]
++)])
++
++mfx_tmp=FAILED
++_AC_COMPILE_IFELSE([], [mfx_tmp=yes])
++rm -f conftest.$ac_ext conftest.$ac_objext
++
++CPPFLAGS=$mfx_save_CPPFLAGS
++
++AC_MSG_RESULT([$mfx_tmp])
++case x$mfx_tmp in
++  xpassed | xyes) ;;
++  *)
++    AC_MSG_NOTICE([])
++    AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ])
++    AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending])
++    AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.])
++    AC_MSG_NOTICE([Thanks for your support.])
++    AC_MSG_NOTICE([])
++    AC_MSG_ERROR([ACC conformance test failed. Stop.])
++dnl    AS_EXIT
++    ;;
++esac
++])# mfx_MINIACC_ACCCHK
++
++
++
++# serial 1
++
++AC_DEFUN([mfx_PROG_CPPFLAGS], [
++AC_MSG_CHECKING([whether the C preprocessor needs special flags])
++
++AC_LANG_CONFTEST([AC_LANG_PROGRAM(
++[[#include <limits.h>
++#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul)
++#  include "your C preprocessor is broken 1"
++#elif (0xffffu == 0xfffffffful)
++#  include "your C preprocessor is broken 2"
++#elif (32767 >= ULONG_MAX) || (65535u >= ULONG_MAX)
++#  include "your C preprocessor is broken 3"
++#endif
++]], [[ ]]
++)])
++
++mfx_save_CPPFLAGS=$CPPFLAGS
++mfx_tmp=ERROR
++for mfx_arg in "" -no-cpp-precomp
++do
++  CPPFLAGS="$mfx_arg $mfx_save_CPPFLAGS"
++  _AC_COMPILE_IFELSE([],
++[mfx_tmp=$mfx_arg
++break])
++done
++CPPFLAGS=$mfx_save_CPPFLAGS
++rm -f conftest.$ac_ext conftest.$ac_objext
++case x$mfx_tmp in
++  x)
++    AC_MSG_RESULT([none needed]) ;;
++  xERROR)
++    AC_MSG_RESULT([ERROR])
++    AC_MSG_ERROR([your C preprocessor is broken - for details see config.log])
++    ;;
++  *)
++    AC_MSG_RESULT([$mfx_tmp])
++    CPPFLAGS="$mfx_tmp $CPPFLAGS"
++    ;;
++esac
++])# mfx_PROG_CPPFLAGS
++
++# serial 3
++
++AC_DEFUN([mfx_CHECK_HEADER_SANE_LIMITS_H], [
++AC_CACHE_CHECK([whether limits.h is sane],
++mfx_cv_header_sane_limits_h,
++[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <limits.h>
++#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul)
++#  if defined(__APPLE__) && defined(__GNUC__)
++#    error "your preprocessor is broken - use compiler option -no-cpp-precomp"
++#  else
++#    include "your preprocessor is broken"
++#  endif
++#endif
++#define MFX_0xffff          0xffff
++#define MFX_0xffffffffL     4294967295ul
++#if !defined(CHAR_BIT) || (CHAR_BIT != 8)
++#  include "error CHAR_BIT"
++#endif
++#if !defined(UCHAR_MAX)
++#  include "error UCHAR_MAX 1"
++#endif
++#if !defined(USHRT_MAX)
++#  include "error USHRT_MAX 1"
++#endif
++#if !defined(UINT_MAX)
++#  include "error UINT_MAX 1"
++#endif
++#if !defined(ULONG_MAX)
++#  include "error ULONG_MAX 1"
++#endif
++#if !defined(SHRT_MAX)
++#  include "error SHRT_MAX 1"
++#endif
++#if !defined(INT_MAX)
++#  include "error INT_MAX 1"
++#endif
++#if !defined(LONG_MAX)
++#  include "error LONG_MAX 1"
++#endif
++#if (UCHAR_MAX < 1)
++#  include "error UCHAR_MAX 2"
++#endif
++#if (USHRT_MAX < 1)
++#  include "error USHRT_MAX 2"
++#endif
++#if (UINT_MAX < 1)
++#  include "error UINT_MAX 2"
++#endif
++#if (ULONG_MAX < 1)
++#  include "error ULONG_MAX 2"
++#endif
++#if (UCHAR_MAX < 0xff)
++#  include "error UCHAR_MAX 3"
++#endif
++#if (USHRT_MAX < MFX_0xffff)
++#  include "error USHRT_MAX 3"
++#endif
++#if (UINT_MAX < MFX_0xffff)
++#  include "error UINT_MAX 3"
++#endif
++#if (ULONG_MAX < MFX_0xffffffffL)
++#  include "error ULONG_MAX 3"
++#endif
++#if (USHRT_MAX > UINT_MAX)
++#  include "error USHRT_MAX vs UINT_MAX"
++#endif
++#if (UINT_MAX > ULONG_MAX)
++#  include "error UINT_MAX vs ULONG_MAX"
++#endif
++]], [[
++#if (USHRT_MAX == MFX_0xffff)
++{ typedef char a_short2a[1 - 2 * !(sizeof(short) == 2)]; }
++#elif (USHRT_MAX >= MFX_0xffff)
++{ typedef char a_short2b[1 - 2 * !(sizeof(short) > 2)]; }
++#endif
++#if (UINT_MAX == MFX_0xffff)
++{ typedef char a_int2a[1 - 2 * !(sizeof(int) == 2)]; }
++#elif (UINT_MAX >= MFX_0xffff)
++{ typedef char a_int2b[1 - 2 * !(sizeof(int) > 2)]; }
++#endif
++#if (ULONG_MAX == MFX_0xffff)
++{ typedef char a_long2a[1 - 2 * !(sizeof(long) == 2)]; }
++#elif (ULONG_MAX >= MFX_0xffff)
++{ typedef char a_long2b[1 - 2 * !(sizeof(long) > 2)]; }
++#endif
++#if !defined(_CRAY1) /* CRAY PVP systems */
++#if (USHRT_MAX == MFX_0xffffffffL)
++{ typedef char a_short4a[1 - 2 * !(sizeof(short) == 4)]; }
++#elif (USHRT_MAX >= MFX_0xffffffffL)
++{ typedef char a_short4b[1 - 2 * !(sizeof(short) > 4)]; }
++#endif
++#endif /* _CRAY1 */
++#if (UINT_MAX == MFX_0xffffffffL)
++{ typedef char a_int4a[1 - 2 * !(sizeof(int) == 4)]; }
++#elif (UINT_MAX >= MFX_0xffffffffL)
++{ typedef char a_int4b[1 - 2 * !(sizeof(int) > 4)]; }
++#endif
++#if (ULONG_MAX == MFX_0xffffffffL)
++{ typedef char a_long4a[1 - 2 * !(sizeof(long) == 4)]; }
++#elif (ULONG_MAX >= MFX_0xffffffffL)
++{ typedef char a_long4b[1 - 2 * !(sizeof(long) > 4)]; }
++#endif
++]])],
++[mfx_cv_header_sane_limits_h=yes],
++[mfx_cv_header_sane_limits_h=no])])
++])
++
++# /***********************************************************************
++# // standard
++# ************************************************************************/
++
++AC_DEFUN([mfx_LZO_CHECK_ENDIAN], [
++AC_C_BIGENDIAN([AC_DEFINE(LZO_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(LZO_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])])
++])#
++
++
++# /***********************************************************************
++# //
++# ************************************************************************/
++
++dnl more types which are not yet covered by ACC
++
++AC_DEFUN([mfx_CHECK_SIZEOF], [
++AC_CHECK_SIZEOF(__int32)
++AC_CHECK_SIZEOF(intmax_t)
++AC_CHECK_SIZEOF(uintmax_t)
++AC_CHECK_SIZEOF(intptr_t)
++AC_CHECK_SIZEOF(uintptr_t)
++
++AC_CHECK_SIZEOF(float)
++AC_CHECK_SIZEOF(double)
++AC_CHECK_SIZEOF(long double)
++
++AC_CHECK_SIZEOF(dev_t)
++AC_CHECK_SIZEOF(fpos_t)
++AC_CHECK_SIZEOF(mode_t)
++AC_CHECK_SIZEOF(off_t)
++AC_CHECK_SIZEOF(ssize_t)
++AC_CHECK_SIZEOF(time_t)
++])#
++
++
++
++AC_DEFUN([mfx_CHECK_LIB_WINMM], [
++if test "X$GCC" = Xyes; then
++case $host_os in
++cygwin* | mingw* | pw32*)
++     test "X$LIBS" != "X" && LIBS="$LIBS "
++     LIBS="${LIBS}-lwinmm" ;;
++*)
++     ;;
++esac
++fi
++])#

+ 21 - 0
package/lzo/lzo-2.03-fix-configure-ac.patch

@@ -0,0 +1,21 @@
+_AC_SRCPATHS doesn't exist in autoconf, _AC_SRCDIRS should be used
+instead according to many reports found by Google.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ configure.ac |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: lzo-2.03/configure.ac
+===================================================================
+--- lzo-2.03.orig/configure.ac
++++ lzo-2.03/configure.ac
+@@ -48,7 +48,7 @@
+ AM_MAINTAINER_MODE
+ 
+ if test -z "$ac_abs_top_srcdir"; then
+-    _AC_SRCPATHS(.)
++    _AC_SRCDIRS(.)
+ fi
+ if test -r .Conf.settings1; then
+     . ./.Conf.settings1

+ 24 - 0
package/lzo/lzo-2.03-fix-makefile-am.patch

@@ -0,0 +1,24 @@
+Makefile.am is not allowed to override CFLAGS/CPPFLAGS, it must use
+AM_CFLAGS and AM_CPPFLAGS. This is needed in order for autoreconf to
+work on this package.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ src/Makefile.am |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: lzo-2.03/src/Makefile.am
+===================================================================
+--- lzo-2.03.orig/src/Makefile.am
++++ lzo-2.03/src/Makefile.am
+@@ -7,8 +7,8 @@
+ SUFFIXES = .S
+ 
+ INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)
+-CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS)
+-CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS)
++AM_CPPFLAGS = $(LZO_CPPFLAGS) $(configure_CPPFLAGS) $(LZO_EXTRA_CPPFLAGS)
++AM_CFLAGS = $(LZO_CFLAGS) $(configure_CFLAGS) $(LZO_EXTRA_CFLAGS)
+ 
+ lib_LTLIBRARIES = liblzo2.la
+ 

+ 6 - 0
package/lzo/lzo.mk

@@ -7,6 +7,12 @@ LZO_VERSION:=2.03
 LZO_SOURCE:=lzo-$(LZO_VERSION).tar.gz
 LZO_SITE:=http://www.oberhumer.com/opensource/lzo/download
 LZO_AUTORECONF = NO
+
+# lzo's configure was generated by an old autoconf, and the
+# AC_CANONICAL_TARGET check fails in host-lzo when the cache has been
+# filled with ac_cv_build and ac_cv_host.
+HOST_LZO_AUTORECONF = YES
+
 LZO_INSTALL_STAGING = YES
 LZO_INSTALL_TARGET = YES
 LZO_INSTALL_STAGING_OPT = CC="$(TARGET_CC)" DESTDIR=$(STAGING_DIR) install

+ 1 - 0
package/netcat/netcat.mk

@@ -10,5 +10,6 @@ NETCAT_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/netc
 NETCAT_AUTORECONF:=NO
 NETCAT_INSTALL_STAGING:=NO
 NETCAT_INSTALL_TARGET:=YES
+NETCAT_CONF_OPT = --program-prefix=''
 
 $(eval $(call AUTOTARGETS,package,netcat))

+ 1 - 1
package/php/php.mk

@@ -4,7 +4,7 @@
 #
 #############################################################
 
-PHP_VERSION = 5.2.13
+PHP_VERSION = 5.2.14
 PHP_SOURCE = php-$(PHP_VERSION).tar.bz2
 PHP_SITE = http://www.php.net/distributions
 PHP_INSTALL_STAGING = YES

+ 0 - 1
package/sysvinit/Config.in

@@ -1,6 +1,5 @@
 config BR2_PACKAGE_SYSVINIT
 	bool "sysvinit"
-	select BR2_PACKAGE_NCURSES
 	help
 	  /sbin/init - parent of all processes
 

+ 4 - 2
package/sysvinit/sysvinit.mk

@@ -21,14 +21,16 @@ $(SYSVINIT_DIR)/.unpacked: $(DL_DIR)/$(SYSVINIT_SOURCE)
 	touch $@
 
 $(SYSVINIT_DIR)/$(SYSVINIT_BINARY): $(SYSVINIT_DIR)/.unpacked
-	CFLAGS="$(TARGET_CFLAGS)" $(MAKE) CC="$(TARGET_CC)" -C $(SYSVINIT_DIR)/src
+	# Force sysvinit to link against libcrypt as it otherwise
+	# use an incorrect test to see if it's available
+	CFLAGS="$(TARGET_CFLAGS)" $(MAKE) CC="$(TARGET_CC)" LCRYPT="-lcrypt" -C $(SYSVINIT_DIR)/src
 
 $(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY): $(SYSVINIT_DIR)/$(SYSVINIT_BINARY)
 	for x in halt init shutdown; do \
 		install -D $(SYSVINIT_DIR)/src/$$x $(TARGET_DIR)/sbin/$$x || exit 1; \
 	done
 
-sysvinit: ncurses $(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY)
+sysvinit: $(TARGET_DIR)/$(SYSVINIT_TARGET_BINARY)
 
 sysvinit-source: $(DL_DIR)/$(SYSVINIT_SOURCE)
 

+ 41 - 0
package/util-linux/util-linux-2.13-pre17-hardcode-a-out-constants.patch

@@ -0,0 +1,41 @@
+Hardcode a.out related constants
+
+The OMAGIC, NMAGIC and ZMAGIC constants, related to the legacy a.out
+binary format, are no longer available in the headers of all
+architectures, due to this binary format being deprecated. For that
+reason, util-linux fails to build.
+
+We therefore take the approach used in newer versions of
+util-linux-ng: hardcoding those values. See
+http://git.kernel.org/?p=utils/util-linux-ng/util-linux-ng.git;a=commitdiff;h=e9eb4dad0ece03914f67f6d1ded74cfbbe694ba4
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ text-utils/more.c |    7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+Index: util-linux-2.13-pre7/text-utils/more.c
+===================================================================
+--- util-linux-2.13-pre7.orig/text-utils/more.c
++++ util-linux-2.13-pre7/text-utils/more.c
+@@ -53,7 +53,6 @@
+ #include <sys/stat.h>
+ #include <sys/file.h>
+ #include <sys/wait.h>
+-#include <a.out.h>
+ #include <locale.h>
+ #include "xstrncpy.h"
+ #include "nls.h"
+@@ -504,9 +503,9 @@
+ 
+ 	if (fread(twobytes, 2, 1, f) == 1) {
+ 		switch(twobytes[0] + (twobytes[1]<<8)) {
+-		case OMAGIC:	/* 0407 */
+-		case NMAGIC:	/* 0410 */
+-		case ZMAGIC:	/* 0413 */
++		case 0407:	/* a.out obj */
++		case 0410:	/* a.out exec */
++		case 0413:	/* a.out demand exec */
+ 		case 0405:
+ 		case 0411:
+ 		case 0177545:

+ 4 - 0
package/util-linux/util-linux.mk

@@ -23,6 +23,10 @@ UTIL-LINUX_DEPENDENCIES += gettext libintl
 UTIL-LINUX_MAKE_OPT = LIBS=-lintl
 endif
 
+ifeq ($(BR2_PACKAGE_NCURSES),y)
+UTIL-LINUX_DEPENDENCIES += ncurses
+endif
+
 $(DL_DIR)/$(UTIL-LINUX_SOURCE):
 	$(call DOWNLOAD,$(UTIL-LINUX_SITE),$(UTIL-LINUX_SOURCE))
 

+ 0 - 4
package/wsapi/Config.in

@@ -1,6 +1,5 @@
 config BR2_PACKAGE_WSAPI
 	bool "wsapi"
-	depends on BR2_LARGEFILE # luafilesystem
 	select BR2_PACKAGE_COXPCALL
 	select BR2_PACKAGE_LUAFILESYSTEM
 	select BR2_PACKAGE_RINGS
@@ -8,6 +7,3 @@ config BR2_PACKAGE_WSAPI
 	  API that abstracts the web server from Lua web applications.
 
 	  http://keplerproject.github.com/wsapi/
-
-comment "wsapi requires a toolchain with LARGEFILE support"
-	depends on !BR2_LARGEFILE

+ 0 - 4
package/xavante/Config.in

@@ -1,6 +1,5 @@
 config BR2_PACKAGE_XAVANTE
 	bool "xavante"
-	depends on BR2_LARGEFILE # luafilesystem
 	select BR2_PACKAGE_LUA_SHARED_LIBRARY
 	select BR2_PACKAGE_CGILUA
 	select BR2_PACKAGE_COPAS
@@ -13,6 +12,3 @@ config BR2_PACKAGE_XAVANTE
 	  architecture based on URI mapped handlers.
 
 	  http://keplerproject.github.com/xavante/
-
-comment "xavante requires a toolchain with LARGEFILE support"
-	depends on !BR2_LARGEFILE

+ 5 - 0
target/Config.in.arch

@@ -22,6 +22,11 @@ config BR2_avr32
 	select BR2_SOFT_FLOAT
 config BR2_cris
 	bool "cris"
+	# The CRIS architecture from Axis has been deprecated by the
+	# manufacturer. No units are sold after July 2010, and support
+	# will end in July 2011. Moreover, CRIS support in Buildroot
+	# has not been updated since a long time.
+	depends on BR2_DEPRECATED
 config BR2_ia64
 	bool "ia64"
 	# IA64 almost does not exist anymore and has never been used

+ 1 - 0
toolchain/dependencies/dependencies.mk

@@ -16,6 +16,7 @@ endif
 dependencies: host-sed $(DEPENDENCIES_HOST_PREREQ)
 	@HOSTCC="$(firstword $(HOSTCC))" MAKE="$(MAKE)" \
 		HOST_SED_DIR="$(HOST_SED_DIR)" \
+		CONFIG_FILE="$(CONFIG_DIR)/.config" \
 		$(TOPDIR)/toolchain/dependencies/dependencies.sh
 
 dependencies-source:

+ 12 - 0
toolchain/dependencies/dependencies.sh

@@ -152,3 +152,15 @@ for prog in awk bison flex msgfmt makeinfo patch gzip bzip2 perl tar wget cpio p
 	exit 1;
     fi
 done
+
+if grep ^BR2_TOOLCHAIN_BUILDROOT=y $CONFIG_FILE > /dev/null && \
+   grep ^BR2_ENABLE_LOCALE=y       $CONFIG_FILE > /dev/null ; then
+   if ! which locale > /dev/null ; then
+       /bin/echo -e "\nYou need locale support on your build machine to build a toolchain supporting locales\n"
+       exit 1 ;
+   fi
+   if ! locale -a | grep -i utf8$ ; then
+       /bin/echo -e "\nYou need at least one UTF8 locale to build a toolchain supporting locales\n"
+       exit 1 ;
+   fi
+fi

+ 137 - 0
toolchain/gcc/4.4.4/powerpc-link-with-math-lib.patch.conditional

@@ -0,0 +1,137 @@
+http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html
+
+On glibc the libc.so carries a copy of the math function copysignl() but
+on uClibc math functions like copysignl() live in libm. Since libgcc_s
+contains unresolved symbols, any attempt to link against libgcc_s
+without explicitely specifying -lm fails, resulting in a broken
+bootstrap of the compiler.
+
+
+diff -rdup gcc-4.4.0.old/gcc/config/t-slibgcc-elf-ver gcc-4.4.0/gcc/config/t-slibgcc-elf-ver
+
+diff -durN gcc-4.4.4.orig/gcc/config/t-slibgcc-elf-ver gcc-4.4.4/gcc/config/t-slibgcc-elf-ver
+--- gcc-4.4.4.orig/gcc/config/t-slibgcc-elf-ver	2010-01-04 16:13:08.000000000 +0100
++++ gcc-4.4.4/gcc/config/t-slibgcc-elf-ver	2010-05-16 19:38:36.000000000 +0200
+@@ -9,7 +9,7 @@
+ SHLIB_OBJS = @shlib_objs@
+ SHLIB_DIR = @multilib_dir@
+ SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
+-SHLIB_LC = -lc
++SHLIB_LC = @libgcc_libm@ -lc
+ SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK)
+ SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
+ 	$$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
+diff -durN gcc-4.4.4.orig/libgcc/Makefile.in gcc-4.4.4/libgcc/Makefile.in
+--- gcc-4.4.4.orig/libgcc/Makefile.in	2009-04-10 01:23:07.000000000 +0200
++++ gcc-4.4.4/libgcc/Makefile.in	2010-05-16 19:38:36.000000000 +0200
+@@ -39,6 +39,7 @@
+ decimal_float = @decimal_float@
+ enable_decimal_float = @enable_decimal_float@
+ fixed_point = @fixed_point@
++LIBGCC_LIBM = @LIBGCC_LIBM@
+ 
+ host_noncanonical = @host_noncanonical@
+ 
+@@ -787,9 +788,10 @@
+ 		@multilib_dir@,$(MULTIDIR),$(subst \
+ 		@shlib_objs@,$(objects),$(subst \
+ 		@shlib_base_name@,libgcc_s,$(subst \
++		@libgcc_libm@,$(LIBGCC_LIBM),$(subst \
+ 		@shlib_map_file@,$(mapfile),$(subst \
+ 		@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
+-		@shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
++		@shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
+ 
+ libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
+ 	# @multilib_flags@ is still needed because this may use
+diff -durN gcc-4.4.4.orig/libgcc/configure gcc-4.4.4/libgcc/configure
+--- gcc-4.4.4.orig/libgcc/configure	2008-11-20 18:13:01.000000000 +0100
++++ gcc-4.4.4/libgcc/configure	2010-05-16 19:38:36.000000000 +0200
+@@ -272,7 +272,7 @@
+ PACKAGE_BUGREPORT=''
+ 
+ ac_unique_file="static-object.mk"
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls LIBGCC_LIBM tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS'
+ ac_subst_files=''
+ ac_pwd=`pwd`
+ 
+@@ -3547,6 +3547,39 @@
+ fi
+ 
+ 
++# On powerpc libgcc_s references copysignl which is a libm function but
++# glibc apparently also provides it via libc as opposed to uClibc where
++# it lives in libm.
++echo "$as_me:$LINENO: checking for library containing copysignl" >&5
++echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6
++if test "${libgcc_cv_copysignl_lib+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++    echo '#include <features.h>' > conftest.c
++    echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
++    libgcc_cv_copysignl_lib="-lc"
++    if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }
++    then
++	libgcc_cv_copysignl_lib="-lm"
++    fi
++    rm -f conftest.*
++
++fi
++echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5
++echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6
++
++case /${libgcc_cv_copysignl_lib}/ in
++  /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
++  *) LIBGCC_LIBM= ;;
++esac
++
++
+ # Conditionalize the makefile for this target machine.
+ tmake_file_=
+ for f in ${tmake_file}
+@@ -4267,6 +4300,7 @@
+ s,@fixed_point@,$fixed_point,;t t
+ s,@vis_hide@,$vis_hide,;t t
+ s,@set_have_cc_tls@,$set_have_cc_tls,;t t
++s,@LIBGCC_LIBM@,$LIBGCC_LIBM,;t t
+ s,@tmake_file@,$tmake_file,;t t
+ s,@extra_parts@,$extra_parts,;t t
+ s,@asm_hidden_op@,$asm_hidden_op,;t t
+diff -durN gcc-4.4.4.orig/libgcc/configure.ac gcc-4.4.4/libgcc/configure.ac
+--- gcc-4.4.4.orig/libgcc/configure.ac	2008-11-20 18:13:01.000000000 +0100
++++ gcc-4.4.4/libgcc/configure.ac	2010-05-16 19:38:36.000000000 +0200
+@@ -223,6 +223,27 @@
+ fi
+ AC_SUBST(set_have_cc_tls)
+ 
++# On powerpc libgcc_s references copysignl which is a libm function but
++# glibc apparently also provides it via libc as opposed to uClibc where
++# it lives in libm.
++AC_CACHE_CHECK
++  libgcc_cv_copysignl_lib,
++    echo '#include <features.h>' > conftest.c
++    echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
++    libgcc_cv_copysignl_lib="-lc"
++    if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD)
++    then
++	libgcc_cv_copysignl_lib="-lm"
++    fi
++    rm -f conftest.*
++  ])
++
++case /${libgcc_cv_copysignl_lib}/ in
++  /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
++  *) LIBGCC_LIBM= ;;
++esac
++AC_SUBST(LIBGCC_LIBM)
++
+ # Conditionalize the makefile for this target machine.
+ tmake_file_=
+ for f in ${tmake_file}

+ 4 - 4
toolchain/kernel-headers/Config.in

@@ -61,13 +61,13 @@ config BR2_DEFAULT_KERNEL_VERSION
 
 config BR2_DEFAULT_KERNEL_HEADERS
 	string
-	default "2.6.27.47"	if BR2_KERNEL_HEADERS_2_6_27
+	default "2.6.27.50"	if BR2_KERNEL_HEADERS_2_6_27
 	default "2.6.28.10"	if BR2_KERNEL_HEADERS_2_6_28
 	default "2.6.29.6"	if BR2_KERNEL_HEADERS_2_6_29
 	default "2.6.30.10"	if BR2_KERNEL_HEADERS_2_6_30
 	default "2.6.31.14"	if BR2_KERNEL_HEADERS_2_6_31
-	default "2.6.32.16"	if BR2_KERNEL_HEADERS_2_6_32
-	default "2.6.33.6"	if BR2_KERNEL_HEADERS_2_6_33
-	default "2.6.34.1"	if BR2_KERNEL_HEADERS_2_6_34
+	default "2.6.32.18"	if BR2_KERNEL_HEADERS_2_6_32
+	default "2.6.33.7"	if BR2_KERNEL_HEADERS_2_6_33
+	default "2.6.34.3"	if BR2_KERNEL_HEADERS_2_6_34
 	default "2.6"		if BR2_KERNEL_HEADERS_SNAP
 	default $BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION

+ 0 - 0
toolchain/kernel-headers/linux-2.6.32.16-scsi-use-__uX-types-for-headers-exported-to-user-space.patch → toolchain/kernel-headers/linux-2.6.32.18-scsi-use-__uX-types-for-headers-exported-to-user-space.patch


+ 0 - 0
toolchain/kernel-headers/linux-2.6.33.6-scsi-use-__uX-types-for-headers-exported-to-user-space.patch → toolchain/kernel-headers/linux-2.6.33.7-scsi-use-__uX-types-for-headers-exported-to-user-space.patch


+ 0 - 0
toolchain/kernel-headers/linux-2.6.34.1-scsi-use-__uX-types-for-headers-exported-to-user-space.patch → toolchain/kernel-headers/linux-2.6.34.3-scsi-use-__uX-types-for-headers-exported-to-user-space.patch


+ 3 - 3
toolchain/toolchain-common.in

@@ -157,7 +157,7 @@ config BR2_GCC_CROSS_CXX
 config BR2_INSTALL_LIBSTDCPP
 	bool "Build/install c++ compiler and libstdc++?"
 	select BR2_GCC_CROSS_CXX
-	depends on !(BR2_avr32 && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31)
+	depends on !(! BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31)
 	help
 	  If you are building your own toolchain and want to build and install
 	  the C++ compiler and library then you need to enable this option.
@@ -165,8 +165,8 @@ config BR2_INSTALL_LIBSTDCPP
 	  support and you want to use the compiler / library then you need 
 	  to select this option.
 
-comment "C++ support broken in uClibc 0.9.31 with locale enabled"
-	depends on BR2_avr32 && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31
+comment "C++ support broken in uClibc 0.9.31 with locale enabled with gcc 4.2"
+	depends on !BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31
 
 config BR2_TARGET_OPTIMIZATION
 	string "Target Optimizations"

+ 17 - 0
toolchain/uClibc/uClibc-0.9.30.3-fix-error-locale-utf-8.patch

@@ -0,0 +1,17 @@
+---
+ extra/locale/gen_wc8bit.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: uClibc-0.9.30.3/extra/locale/gen_wc8bit.c
+===================================================================
+--- uClibc-0.9.30.3.orig/extra/locale/gen_wc8bit.c
++++ uClibc-0.9.30.3/extra/locale/gen_wc8bit.c
+@@ -119,7 +119,7 @@
+ 		}
+ 
+  locale_failure:
+-		printf("could not find a UTF8 locale ... please enable en_US.UTF-8\n");
++		fprintf(stderr, "could not find a UTF8 locale ... please enable en_US.UTF-8\n");
+ 		return EXIT_FAILURE;
+  locale_success:
+ 		pclose(fp);

+ 17 - 0
toolchain/uClibc/uClibc-0.9.31-fix-error-locale-utf-8.patch

@@ -0,0 +1,17 @@
+---
+ extra/locale/gen_wc8bit.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: uClibc-0.9.31/extra/locale/gen_wc8bit.c
+===================================================================
+--- uClibc-0.9.31.orig/extra/locale/gen_wc8bit.c
++++ uClibc-0.9.31/extra/locale/gen_wc8bit.c
+@@ -120,7 +120,7 @@
+ 		}
+ 
+  locale_failure:
+-		printf("could not find a UTF8 locale ... please enable en_US.UTF-8\n");
++		fprintf(stderr, "could not find a UTF8 locale ... please enable en_US.UTF-8\n");
+ 		return EXIT_FAILURE;
+  locale_success:
+ 		pclose(fp);