Browse Source

update gcc, glibc and fix build breakage

Waldemar Brodkorb 13 years ago
parent
commit
ac46e350e1
41 changed files with 629 additions and 386 deletions
  1. 6 6
      package/ImageMagick/Makefile
  2. 0 39
      package/ImageMagick/patches/patch-config_ltmain_sh
  3. 2 1
      package/busybox/Makefile
  4. 17 0
      package/busybox/patches/009-extra-flags.patch
  5. 2 2
      package/fluxbox/Makefile
  6. 64 64
      package/gcc/patches/cflags.patch
  7. 31 31
      package/gcc/patches/no-lib64.patch
  8. 8 0
      package/glibc/Makefile
  9. 2 2
      package/iproute2/Makefile
  10. 24 15
      package/iproute2/patches/patch-configure
  11. 3 3
      package/libpcap/Makefile
  12. 0 13
      package/libpcap/patches/patch-Makefile_in
  13. 10 10
      package/libpcap/patches/patch-pcap-config_in
  14. 4 2
      package/libsigc++/Makefile
  15. 2 2
      package/libtirpc/Makefile
  16. 0 11
      package/libtirpc/patches/patch-ltmain_sh
  17. 16 43
      package/libtirpc/patches/patch-src_Makefile_in
  18. 24 0
      package/libtirpc/patches/patch-src_auth_time_c
  19. 23 0
      package/libtirpc/patches/patch-src_des_crypt_c
  20. 3 3
      package/libtirpc/patches/patch-src_rpc_soc_c
  21. 2 2
      package/libtorrent/Makefile
  22. 0 10
      package/libtorrent/patches/patch-src_protocol_extensions_cc
  23. 0 10
      package/libtorrent/patches/patch-src_torrent_poll_epoll_cc
  24. 1 1
      package/mini_httpd/Makefile
  25. 1 1
      package/moc/Makefile
  26. 1 1
      package/open-iscsi/Makefile
  27. 2 2
      package/rtorrent/Makefile
  28. 5 5
      package/rtorrent/patches/patch-configure
  29. 0 30
      package/rtorrent/patches/patch-ltmain_sh
  30. 3 3
      package/rtorrent/patches/patch-src_command_network_cc
  31. 3 3
      package/tcpdump/Makefile
  32. 1 1
      package/ulogd/Makefile
  33. 4 4
      package/vte/Makefile
  34. 3 3
      package/zlib/Makefile
  35. 2 2
      toolchain/gcc/Makefile.inc
  36. 253 0
      toolchain/gcc/patches/4.6.3/cflags.patch
  37. 100 0
      toolchain/gcc/patches/4.6.3/no-lib64.patch
  38. 2 2
      toolchain/glibc-ports/Makefile.inc
  39. 1 0
      toolchain/glibc/Makefile
  40. 4 3
      toolchain/glibc/Makefile.inc
  41. 0 56
      toolchain/glibc/patches/longjmp_chk.patch

+ 6 - 6
package/ImageMagick/Makefile

@@ -4,10 +4,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		ImageMagick
-PKG_VERSION:=		6.6.5
-PKG_EXTRAVER:=		10
+PKG_VERSION:=		6.7.6
+PKG_EXTRAVER:=		1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		a07a97cfb28b588cbcf83ffa9ec92e3f
+PKG_MD5SUM:=		8134257e3fbb43cc06fb32a6d725d3d0
 PKG_DESCR:=		image processing and converting utility
 PKG_SECTION:=		multimedia
 PKG_BUILDDEP:=		libpng jpeg libtiff fontconfig libiconv libtool e2fsprogs
@@ -57,9 +57,9 @@ libimagemagick-install:
 	$(INSTALL_DIR) $(IDIR_LIBIMAGEMAGICK)/usr/lib/${PKG_NAME}-${PKG_VERSION}/config
 	$(INSTALL_DATA) $(WRKINST)/usr/lib/${PKG_NAME}-${PKG_VERSION}/config/* \
 		$(IDIR_LIBIMAGEMAGICK)/usr/lib/${PKG_NAME}-${PKG_VERSION}/config
-	$(INSTALL_DIR) $(IDIR_LIBIMAGEMAGICK)/usr/share/${PKG_NAME}-${PKG_VERSION}/config
-	$(INSTALL_DATA) $(WRKINST)/usr/share/${PKG_NAME}-${PKG_VERSION}/config/* \
-		$(IDIR_LIBIMAGEMAGICK)/usr/share/${PKG_NAME}-${PKG_VERSION}/config
+	$(INSTALL_DIR) $(IDIR_LIBIMAGEMAGICK)/usr/share/${PKG_NAME}-${PKG_VERSION}
+	$(INSTALL_DATA) $(WRKINST)/usr/share/${PKG_NAME}-${PKG_VERSION}/* \
+		$(IDIR_LIBIMAGEMAGICK)/usr/share/${PKG_NAME}-${PKG_VERSION}/
 	$(CP) $(WRKINST)/usr/lib/libMagickCore.so* \
 		$(IDIR_LIBIMAGEMAGICK)/usr/lib
 	$(CP) $(WRKINST)/usr/lib/libMagickWand.so* \

+ 0 - 39
package/ImageMagick/patches/patch-config_ltmain_sh

@@ -1,39 +0,0 @@
---- ImageMagick-6.6.5-10.orig/config/ltmain.sh	2010-11-21 22:35:22.000000000 +0100
-+++ ImageMagick-6.6.5-10/config/ltmain.sh	2011-01-14 00:59:45.000000000 +0100
-@@ -5091,7 +5091,7 @@ func_mode_link ()
-       # @file                GCC response files
-       # -tp=*                Portland pgcc target processor selection
-       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
--      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
-+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|-fstack-protector*|-flto)
-         func_quote_for_eval "$arg"
- 	arg="$func_quote_for_eval_result"
-         func_append compile_command " $arg"
-@@ -5843,27 +5843,6 @@ func_mode_link ()
- 	      esac
- 	    fi
- 
--	    # Hardcode the library path.
--	    # Skip directories that are in the system default run-time
--	    # search path.
--	    case " $sys_lib_dlsearch_path " in
--	    *" $absdir "*) ;;
--	    *)
--	      case "$compile_rpath " in
--	      *" $absdir "*) ;;
--	      *) compile_rpath="$compile_rpath $absdir"
--	      esac
--	      ;;
--	    esac
--	    case " $sys_lib_dlsearch_path " in
--	    *" $libdir "*) ;;
--	    *)
--	      case "$finalize_rpath " in
--	      *" $libdir "*) ;;
--	      *) finalize_rpath="$finalize_rpath $libdir"
--	      esac
--	      ;;
--	    esac
- 	  fi # $linkmode,$pass = prog,link...
- 
- 	  if test "$alldeplibs" = yes &&

+ 2 - 1
package/busybox/Makefile

@@ -9,6 +9,7 @@ PKG_RELEASE:=		1
 PKG_MD5SUM:=		9c0cae5a0379228e7b55e5b29528df8e
 PKG_DESCR:=		Core utilities for embedded systems
 PKG_SECTION:=		base
+PKG_BUILDDEP:=		libtirpc
 PKG_URL:=		http://www.busybox.net/
 PKG_SITES:=		http://www.busybox.net/downloads/
 
@@ -38,7 +39,7 @@ BB_MAKE_FLAGS:=		V=1 IPKG_ARCH="${CPU_ARCH}" ARCH="${ARCH}" GCC_HONOUR_COPTS=s \
 			HOSTCC="${CC_FOR_BUILD}" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
 			-C ${WRKBUILD}
 ifneq (${ADK_NATIVE},y)
-BB_MAKE_FLAGS+=		CROSS_COMPILE="$(TARGET_CROSS)"
+BB_MAKE_FLAGS+=		CROSS_COMPILE="$(TARGET_CROSS)" EXTRA_LDFLAGS='-ltirpc' EXTRA_CPPFLAGS="-I$(STAGING_DIR)/usr/include/tirpc"
 endif
 
 # XXX: Although this looks like all new symbols are enabled when 'make oldconfig' runs, they're not.

+ 17 - 0
package/busybox/patches/009-extra-flags.patch

@@ -0,0 +1,17 @@
+diff -Nur busybox-1.19.4.orig/Makefile busybox-1.19.4/Makefile
+--- busybox-1.19.4.orig/Makefile	2012-02-04 20:34:24.000000000 +0100
++++ busybox-1.19.4/Makefile	2012-03-22 19:17:49.099007985 +0100
+@@ -318,10 +318,10 @@
+ CFLAGS		:= $(CFLAGS)
+ # Added only to final link stage of busybox binary
+ CFLAGS_busybox	:= $(CFLAGS_busybox)
+-CPPFLAGS	:= $(CPPFLAGS)
++CPPFLAGS	:= $(CPPFLAGS) $(EXTRA_CPPFLAGS)
+ AFLAGS		:= $(AFLAGS)
+-LDFLAGS		:= $(LDFLAGS)
+-LDLIBS		:=
++LDFLAGS		:= $(LDFLAGS) $(EXTRA_LDFLAGS)
++LDLIBS		:= tirpc
+ 
+ # Read KERNELRELEASE from .kernelrelease (if it exists)
+ KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null)

+ 2 - 2
package/fluxbox/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		fluxbox
-PKG_VERSION:=		1.1.1
+PKG_VERSION:=		1.3.2
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		e0be927617be4ffc1ddc79513f4eb0f9
+PKG_MD5SUM:=		52e76de0ae96d8c5e87374661d0c7112
 PKG_DESCR:=		Fluxbox is an X11 window manager featuring tabs and an iconbar
 PKG_SECTION:=		x11/apps
 PKG_DEPENDS:=		libstdcxx

+ 64 - 64
package/gcc/patches/cflags.patch

@@ -17,20 +17,20 @@
 	This patch was authored by Thorsten Glaser <tg at mirbsd.de>
 	with copyright assignment to the FSF in effect.
 
---- a/gcc/c-opts.c
-+++ b/gcc/c-opts.c
-@@ -105,6 +105,9 @@
+--- a/gcc/c-family/c-opts.c
++++ b/gcc/c-family/c-opts.c
+@@ -103,6 +103,9 @@ static size_t deferred_count;
  /* Number of deferred options scanned for -include.  */
  static size_t include_cursor;
  
 +/* Check if a port honours COPTS.  */
 +static int honour_copts = 0;
 +
- static void set_Wimplicit (int);
  static void handle_OPT_d (const char *);
  static void set_std_cxx98 (int);
-@@ -454,6 +457,9 @@
-       enable_warning_as_error ("implicit-function-declaration", value, CL_C | CL_ObjC); 
+ static void set_std_cxx0x (int);
+@@ -441,6 +444,9 @@ c_common_handle_option (size_t scode, co
+       global_dc->warning_as_error_requested = value;
        break;
  
 +    case OPT_Werror_maybe_reset:
@@ -39,20 +39,20 @@
      case OPT_Wformat:
        set_Wformat (value);
        break;
-@@ -690,6 +701,12 @@
-       flag_exceptions = value;
+@@ -584,6 +590,12 @@ c_common_handle_option (size_t scode, co
+       flag_no_builtin = !value;
        break;
  
 +    case OPT_fhonour_copts:
 +      if (c_language == clk_c) {
-+	honour_copts++;
++        honour_copts++;
 +      }
 +      break;
 +
-     case OPT_fimplement_inlines:
-       flag_implement_inlines = value;
+     case OPT_fconstant_string_class_:
+       constant_string_class_name = arg;
        break;
-@@ -1209,6 +1226,47 @@
+@@ -1058,6 +1070,47 @@ c_common_init (void)
        return false;
      }
  
@@ -75,35 +75,35 @@
 +    }
 +    if (evv == 1) {
 +      if (honour_copts == 0) {
-+	error ("someone does not honour COPTS at all in lenient mode");
-+	return false;
++        error ("someone does not honour COPTS at all in lenient mode");
++        return false;
 +      } else if (honour_copts != 1) {
-+	warning (0, "someone does not honour COPTS correctly, passed %d times",
-+	 honour_copts);
++        warning (0, "someone does not honour COPTS correctly, passed %d times",
++         honour_copts);
 +      }
 +    } else if (evv == 2) {
 +      if (honour_copts == 0) {
-+	error ("someone does not honour COPTS at all in strict mode");
-+	return false;
++        error ("someone does not honour COPTS at all in strict mode");
++        return false;
 +      } else if (honour_copts != 1) {
-+	error ("someone does not honour COPTS correctly, passed %d times",
-+	 honour_copts);
-+	return false;
++        error ("someone does not honour COPTS correctly, passed %d times",
++         honour_copts);
++        return false;
 +      }
 +    } else if (evv == 0) {
 +      if (honour_copts != 1)
-+	inform (0, "someone does not honour COPTS correctly, passed %d times",
-+	 honour_copts);
++        inform (0, "someone does not honour COPTS correctly, passed %d times",
++         honour_copts);
 +    }
 +  }
 +
    return true;
  }
  
---- a/gcc/c.opt
-+++ b/gcc/c.opt
-@@ -215,6 +215,10 @@
- C ObjC RejectNegative Warning
+--- a/gcc/c-family/c.opt
++++ b/gcc/c-family/c.opt
+@@ -363,6 +363,10 @@ Werror-implicit-function-declaration
+ C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)
  This switch is deprecated; use -Werror=implicit-function-declaration instead
  
 +Werror-maybe-reset
@@ -113,9 +113,9 @@
  Wfloat-equal
  C ObjC C++ ObjC++ Var(warn_float_equal) Warning
  Warn if testing floating point numbers for equality
-@@ -609,6 +613,9 @@
+@@ -794,6 +798,9 @@ C++ ObjC++ Optimization Alias(fexception
  fhonor-std
- C++ ObjC++
+ C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
  
 +fhonour-copts
 +C ObjC C++ ObjC++ RejectNegative
@@ -125,7 +125,7 @@
  Assume normal C execution environment
 --- a/gcc/common.opt
 +++ b/gcc/common.opt
-@@ -102,6 +102,10 @@
+@@ -520,6 +520,10 @@ Werror=
  Common Joined
  Treat specified warning as error
  
@@ -134,9 +134,9 @@
 +If environment variable GCC_NO_WERROR is set, act as -Wno-error
 +
  Wextra
- Common Warning
+ Common Var(extra_warnings) Warning
  Print extra (possibly unwanted) warnings
-@@ -573,6 +577,9 @@
+@@ -1156,6 +1160,9 @@ fguess-branch-probability
  Common Report Var(flag_guess_branch_prob) Optimization
  Enable guessing of branch probabilities
  
@@ -148,33 +148,33 @@
  ; On SVR4 targets, it also controls whether or not to emit a
 --- a/gcc/opts.c
 +++ b/gcc/opts.c
-@@ -896,8 +896,6 @@
-   flag_schedule_insns_after_reload = opt2;
+@@ -477,8 +477,6 @@ static const struct default_options defa
+     { OPT_LEVELS_2_PLUS, OPT_fschedule_insns2, NULL, 1 },
  #endif
-   flag_regmove = opt2;
--  flag_strict_aliasing = opt2;
--  flag_strict_overflow = opt2;
-   flag_reorder_blocks = opt2;
-   flag_reorder_functions = opt2;
-   flag_tree_vrp = opt2;
-@@ -922,6 +919,8 @@
+     { OPT_LEVELS_2_PLUS, OPT_fregmove, NULL, 1 },
+-    { OPT_LEVELS_2_PLUS, OPT_fstrict_aliasing, NULL, 1 },
+-    { OPT_LEVELS_2_PLUS, OPT_fstrict_overflow, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_freorder_blocks, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_freorder_functions, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_ftree_vrp, NULL, 1 },
+@@ -494,6 +492,8 @@ static const struct default_options defa
+     { OPT_LEVELS_2_PLUS, OPT_falign_functions, NULL, 1 },
  
-   /* -O3 optimizations.  */
-   opt3 = (optimize >= 3);
-+  flag_strict_aliasing = opt3;
-+  flag_strict_overflow = opt3;
-   flag_predictive_commoning = opt3;
-   flag_inline_functions = opt3;
-   flag_unswitch_loops = opt3;
-@@ -1601,6 +1601,17 @@
-       enable_warning_as_error (arg, value, lang_mask);
+     /* -O3 optimizations.  */
++    { OPT_LEVELS_3_PLUS, OPT_fstrict_aliasing, NULL, 1 },
++    { OPT_LEVELS_3_PLUS, OPT_fstrict_overflow, NULL, 1 },
+     { OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
+     { OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 },
+     /* Inlining of functions reducing size is a good idea with -Os
+@@ -1399,6 +1399,17 @@ common_handle_option (struct gcc_options
+ 			       opts, opts_set, loc, dc);
        break;
  
 +    case OPT_Werror_maybe_reset:
 +      {
-+	char *ev = getenv ("GCC_NO_WERROR");
-+	if ((ev != NULL) && (*ev != '0'))
-+	  warnings_are_errors = 0;
++        char *ev = getenv ("GCC_NO_WERROR");
++        if ((ev != NULL) && (*ev != '0'))
++          warnings_are_errors = 0;
 +      }
 +      break;
 +
@@ -182,11 +182,11 @@
 +      break;
 +
      case OPT_Wlarger_than_:
-       /* This form corresponds to -Wlarger-than-. 
-          Kept for backward compatibility.
+       opts->x_larger_than_size = value;
+       opts->x_warn_larger_than = value != -1;
 --- a/gcc/doc/cppopts.texi
 +++ b/gcc/doc/cppopts.texi
-@@ -164,6 +164,11 @@
+@@ -164,6 +164,11 @@ in older programs.  This warning is on b
  Make all warnings into hard errors.  Source code which triggers warnings
  will be rejected.
  
@@ -200,16 +200,16 @@
  Issue warnings for code in system headers.  These are normally unhelpful
 --- a/gcc/doc/invoke.texi
 +++ b/gcc/doc/invoke.texi
-@@ -234,7 +234,7 @@
- -Wconversion  -Wcoverage-mismatch  -Wno-deprecated  @gol
+@@ -240,7 +240,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wconversion  -Wcoverage-mismatch  -Wno-cpp  -Wno-deprecated  @gol
  -Wno-deprecated-declarations -Wdisabled-optimization  @gol
- -Wno-div-by-zero -Wempty-body  -Wenum-compare -Wno-endif-labels @gol
---Werror  -Werror=* @gol
-+-Werror  -Werror=* -Werror-maybe-reset @gol
+ -Wno-div-by-zero -Wdouble-promotion -Wempty-body  -Wenum-compare @gol
+--Wno-endif-labels -Werror  -Werror=* @gol
++-Wno-endif-labels -Werror  -Werror=* -Werror-maybe-reset @gol
  -Wfatal-errors  -Wfloat-equal  -Wformat  -Wformat=2 @gol
  -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
  -Wformat-security  -Wformat-y2k @gol
-@@ -4161,6 +4161,22 @@
+@@ -4497,6 +4497,22 @@ This option is only supported for C and
  @option{-Wall} and by @option{-pedantic}, which can be disabled with
  @option{-Wno-pointer-sign}.
  
@@ -232,7 +232,7 @@
  @item -Wstack-protector
  @opindex Wstack-protector
  @opindex Wno-stack-protector
-@@ -5699,7 +5715,7 @@
+@@ -6319,7 +6335,7 @@ so, the first branch is redirected to ei
  second branch or a point immediately following it, depending on whether
  the condition is known to be true or false.
  
@@ -243,7 +243,7 @@
  @opindex fsplit-wide-types
 --- a/gcc/java/jvspec.c
 +++ b/gcc/java/jvspec.c
-@@ -670,6 +670,7 @@
+@@ -627,6 +627,7 @@ lang_specific_pre_link (void)
       class name.  Append dummy `.c' that can be stripped by set_input so %b
       is correct.  */ 
    set_input (concat (main_class_name, "main.c", NULL));

+ 31 - 31
package/gcc/patches/no-lib64.patch

@@ -1,7 +1,7 @@
-diff -Nur gcc-4.5.3.orig/gcc/config/i386/linux64.h gcc-4.5.3/gcc/config/i386/linux64.h
---- gcc-4.5.3.orig/gcc/config/i386/linux64.h	2010-03-24 21:44:48.000000000 +0100
-+++ gcc-4.5.3/gcc/config/i386/linux64.h	2011-08-24 06:35:30.000000000 +0200
-@@ -59,7 +59,7 @@
+diff -Nur gcc-4.6.3.orig/gcc/config/i386/linux64.h gcc-4.6.3/gcc/config/i386/linux64.h
+--- gcc-4.6.3.orig/gcc/config/i386/linux64.h	2011-09-08 11:12:35.000000000 +0200
++++ gcc-4.6.3/gcc/config/i386/linux64.h	2012-03-21 13:30:49.125903065 +0100
+@@ -63,7 +63,7 @@
     done.  */
  
  #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
@@ -10,9 +10,9 @@ diff -Nur gcc-4.5.3.orig/gcc/config/i386/linux64.h gcc-4.5.3/gcc/config/i386/lin
  
  #if TARGET_64BIT_DEFAULT
  #define SPEC_32 "m32"
-diff -Nur gcc-4.5.3.orig/gcc/config/i386/t-linux64 gcc-4.5.3/gcc/config/i386/t-linux64
---- gcc-4.5.3.orig/gcc/config/i386/t-linux64	2009-04-21 21:03:23.000000000 +0200
-+++ gcc-4.5.3/gcc/config/i386/t-linux64	2011-08-24 06:35:30.000000000 +0200
+diff -Nur gcc-4.6.3.orig/gcc/config/i386/t-linux64 gcc-4.6.3/gcc/config/i386/t-linux64
+--- gcc-4.6.3.orig/gcc/config/i386/t-linux64	2009-04-21 21:03:23.000000000 +0200
++++ gcc-4.6.3/gcc/config/i386/t-linux64	2012-03-21 13:30:49.125903065 +0100
 @@ -25,7 +25,7 @@
  
  MULTILIB_OPTIONS = m64/m32
@@ -22,9 +22,9 @@ diff -Nur gcc-4.5.3.orig/gcc/config/i386/t-linux64 gcc-4.5.3/gcc/config/i386/t-l
  
  LIBGCC = stmp-multilib
  INSTALL_LIBGCC = install-multilib
-diff -Nur gcc-4.5.3.orig/gcc/config/mips/linux64.h gcc-4.5.3/gcc/config/mips/linux64.h
---- gcc-4.5.3.orig/gcc/config/mips/linux64.h	2009-02-20 16:20:38.000000000 +0100
-+++ gcc-4.5.3/gcc/config/mips/linux64.h	2011-08-24 06:35:30.000000000 +0200
+diff -Nur gcc-4.6.3.orig/gcc/config/mips/linux64.h gcc-4.6.3/gcc/config/mips/linux64.h
+--- gcc-4.6.3.orig/gcc/config/mips/linux64.h	2011-01-19 21:39:09.000000000 +0100
++++ gcc-4.6.3/gcc/config/mips/linux64.h	2012-03-21 13:31:26.549903066 +0100
 @@ -36,9 +36,9 @@
    %{profile:-lc_p} %{!profile:-lc}}"
  
@@ -35,12 +35,12 @@ diff -Nur gcc-4.5.3.orig/gcc/config/mips/linux64.h gcc-4.5.3/gcc/config/mips/lin
 +#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
 +#define GLIBC_DYNAMIC_LINKERN32 "/lib/ld.so.1"
 +#define UCLIBC_DYNAMIC_LINKERN32 "/lib/ld-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
  #define LINUX_DYNAMIC_LINKERN32 \
-   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
- 
-diff -Nur gcc-4.5.3.orig/gcc/config/mips/t-linux64 gcc-4.5.3/gcc/config/mips/t-linux64
---- gcc-4.5.3.orig/gcc/config/mips/t-linux64	2009-04-21 21:03:23.000000000 +0200
-+++ gcc-4.5.3/gcc/config/mips/t-linux64	2011-08-24 06:35:30.000000000 +0200
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+diff -Nur gcc-4.6.3.orig/gcc/config/mips/t-linux64 gcc-4.6.3/gcc/config/mips/t-linux64
+--- gcc-4.6.3.orig/gcc/config/mips/t-linux64	2009-04-21 21:03:23.000000000 +0200
++++ gcc-4.6.3/gcc/config/mips/t-linux64	2012-03-21 13:30:51.685903041 +0100
 @@ -18,7 +18,7 @@
  
  MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
@@ -50,10 +50,10 @@ diff -Nur gcc-4.5.3.orig/gcc/config/mips/t-linux64 gcc-4.5.3/gcc/config/mips/t-l
  
  EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
  
-diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/linux64.h gcc-4.5.3/gcc/config/rs6000/linux64.h
---- gcc-4.5.3.orig/gcc/config/rs6000/linux64.h	2010-11-17 07:09:53.000000000 +0100
-+++ gcc-4.5.3/gcc/config/rs6000/linux64.h	2011-08-24 06:35:30.000000000 +0200
-@@ -341,7 +341,7 @@
+diff -Nur gcc-4.6.3.orig/gcc/config/rs6000/linux64.h gcc-4.6.3/gcc/config/rs6000/linux64.h
+--- gcc-4.6.3.orig/gcc/config/rs6000/linux64.h	2011-03-07 08:50:23.000000000 +0100
++++ gcc-4.6.3/gcc/config/rs6000/linux64.h	2012-03-21 13:30:51.685903041 +0100
+@@ -373,7 +373,7 @@
  #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
  
  #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
@@ -61,10 +61,10 @@ diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/linux64.h gcc-4.5.3/gcc/config/rs6000
 +#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
  #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
  #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
- #if UCLIBC_DEFAULT
-diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/t-linux64 gcc-4.5.3/gcc/config/rs6000/t-linux64
---- gcc-4.5.3.orig/gcc/config/rs6000/t-linux64	2009-04-21 21:03:23.000000000 +0200
-+++ gcc-4.5.3/gcc/config/rs6000/t-linux64	2011-08-24 06:35:30.000000000 +0200
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+diff -Nur gcc-4.6.3.orig/gcc/config/rs6000/t-linux64 gcc-4.6.3/gcc/config/rs6000/t-linux64
+--- gcc-4.6.3.orig/gcc/config/rs6000/t-linux64	2009-04-21 21:03:23.000000000 +0200
++++ gcc-4.6.3/gcc/config/rs6000/t-linux64	2012-03-21 13:30:51.685903041 +0100
 @@ -36,7 +36,7 @@
  MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
  MULTILIB_EXCEPTIONS     = m64/msoft-float
@@ -74,11 +74,11 @@ diff -Nur gcc-4.5.3.orig/gcc/config/rs6000/t-linux64 gcc-4.5.3/gcc/config/rs6000
  MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
  
  softfp_wrap_start := '\#ifndef __powerpc64__'
-diff -Nur gcc-4.5.3.orig/gcc/config/sparc/linux64.h gcc-4.5.3/gcc/config/sparc/linux64.h
---- gcc-4.5.3.orig/gcc/config/sparc/linux64.h	2010-09-22 23:15:37.000000000 +0200
-+++ gcc-4.5.3/gcc/config/sparc/linux64.h	2011-08-24 06:36:52.000000000 +0200
-@@ -110,7 +110,7 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
+diff -Nur gcc-4.6.3.orig/gcc/config/sparc/linux64.h gcc-4.6.3/gcc/config/sparc/linux64.h
+--- gcc-4.6.3.orig/gcc/config/sparc/linux64.h	2011-09-08 11:12:35.000000000 +0200
++++ gcc-4.6.3/gcc/config/sparc/linux64.h	2012-03-21 13:30:51.685903041 +0100
+@@ -102,7 +102,7 @@
+    done.  */
  
  #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
 -#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
@@ -86,9 +86,9 @@ diff -Nur gcc-4.5.3.orig/gcc/config/sparc/linux64.h gcc-4.5.3/gcc/config/sparc/l
  
  #ifdef SPARC_BI_ARCH
  
-diff -Nur gcc-4.5.3.orig/gcc/config/sparc/t-linux64 gcc-4.5.3/gcc/config/sparc/t-linux64
---- gcc-4.5.3.orig/gcc/config/sparc/t-linux64	2010-10-04 18:54:26.000000000 +0200
-+++ gcc-4.5.3/gcc/config/sparc/t-linux64	2011-08-24 06:37:15.000000000 +0200
+diff -Nur gcc-4.6.3.orig/gcc/config/sparc/t-linux64 gcc-4.6.3/gcc/config/sparc/t-linux64
+--- gcc-4.6.3.orig/gcc/config/sparc/t-linux64	2011-05-22 22:03:43.000000000 +0200
++++ gcc-4.6.3/gcc/config/sparc/t-linux64	2012-03-21 13:30:51.685903041 +0100
 @@ -26,7 +26,7 @@
  
  MULTILIB_OPTIONS = m64/m32

+ 8 - 0
package/glibc/Makefile

@@ -2,6 +2,10 @@
 # material, please see the LICENCE file in the top-level directory.
 
 include $(TOPDIR)/rules.mk
+
+TARGET_CFLAGS:=	$(filter-out -fstack-protector,$(TARGET_CFLAGS))
+TARGET_CFLAGS:=	$(filter-out -flto,$(TARGET_CFLAGS))
+
 include $(TOPDIR)/toolchain/glibc/Makefile.inc
 
 PKG_DESCR:=		GNU C library
@@ -16,6 +20,9 @@ include $(TOPDIR)/mk/package.mk
 $(eval $(call PKG_template,GLIBC,glibc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 $(eval $(call PKG_template,GLIBC_DEV,glibc-dev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS}))
 
+TARGET_CFLAGS:=	$(filter-out -fstack-protector,$(TARGET_CFLAGS))
+TARGET_CFLAGS:=	$(filter-out -flto,$(TARGET_CFLAGS))
+
 CONFIG_STYLE:=		manual
 BUILD_STYLE:=		manual
 INSTALL_STYLE:=		manual
@@ -52,6 +59,7 @@ endif
 	done
 
 glibc-dev-install:
+	echo $(TARGET_CFLAGS)
 	${INSTALL_DIR} $(IDIR_GLIBC_DEV)/lib $(IDIR_GLIBC_DEV)/usr/lib
 	# install linker script
 	-cp ./files/libc.so.$(CPU_ARCH) $(IDIR_GLIBC_DEV)/usr/lib/libc.so

+ 2 - 2
package/iproute2/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		iproute2
-PKG_VERSION:=		3.2.0
+PKG_VERSION:=		3.3.0
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		6f814291cc3d7f4312cf8c2c052da5f1
+PKG_MD5SUM:=		39a7ff2c5149475c710365954e2ce49b
 PKG_DESCR:=		iproute2 routing control utility
 PKG_SECTION:=		route
 PKG_BUILDDEP:=		iptables libnl linux-atm

+ 24 - 15
package/iproute2/patches/patch-configure

@@ -5,45 +5,45 @@
 	- do not discard compiler output from tests, they're useful
 	  for debugging
 
---- iproute2-3.2.0.orig/configure	2012-01-05 17:34:31.000000000 +0100
-+++ iproute2-3.2.0/configure	2012-01-12 10:30:11.000000000 +0100
-@@ -13,7 +13,7 @@ int main(int argc, char **argv) {
+--- iproute2-3.3.0.orig/configure	2012-03-20 01:27:12.000000000 +0100
++++ iproute2-3.3.0/configure	2012-03-22 20:48:53.022784090 +0100
+@@ -17,7 +17,7 @@ int main(int argc, char **argv) {
  	return 0;
  }
  EOF
--gcc -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm >/dev/null 2>&1 
-+$CC -I$INCLUDE -o /tmp/atmtest /tmp/atmtest.c -latm
+-gcc -I$INCLUDE -o $TMPDIR/atmtest $TMPDIR/atmtest.c -latm >/dev/null 2>&1 
++$CC -I$INCLUDE -o $TMPDIR/atmtest $TMPDIR/atmtest.c -latm >/dev/null 2>&1 
  if [ $? -eq 0 ]
  then
      echo "TC_CONFIG_ATM:=y" >>Config
-@@ -47,7 +47,7 @@ int main(int argc, char **argv)
+@@ -51,7 +51,7 @@ int main(int argc, char **argv)
  
  EOF
  
--if gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL $(pkg-config xtables --cflags --libs) -ldl >/dev/null 2>&1
-+if $CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL $(pkg-config xtables --cflags --libs) -ldl
+-if gcc -I$INCLUDE $IPTC -o $TMPDIR/ipttest $TMPDIR/ipttest.c $IPTL $(pkg-config xtables --cflags --libs) -ldl >/dev/null 2>&1
++if $CC -I$INCLUDE $IPTC -o $TMPDIR/ipttest $TMPDIR/ipttest.c $IPTL $(pkg-config xtables --cflags --libs) -ldl >/dev/null 2>&1
  then
  	echo "TC_CONFIG_XT:=y" >>Config
  	echo "using xtables"
-@@ -84,7 +84,7 @@ int main(int argc, char **argv) {
+@@ -88,7 +88,7 @@ int main(int argc, char **argv) {
  }
  
  EOF
--gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
-+$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl
+-gcc -I$INCLUDE $IPTC -o $TMPDIR/ipttest $TMPDIR/ipttest.c $IPTL -ldl >/dev/null 2>&1
++$CC -I$INCLUDE $IPTC -o $TMPDIR/ipttest $TMPDIR/ipttest.c $IPTL -ldl >/dev/null 2>&1
  
  if [ $? -eq 0 ]
  then
-@@ -124,7 +124,7 @@ int main(int argc, char **argv) {
+@@ -128,7 +128,7 @@ int main(int argc, char **argv) {
  }
  
  EOF
--gcc -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl >/dev/null 2>&1
-+$CC -I$INCLUDE $IPTC -o /tmp/ipttest /tmp/ipttest.c $IPTL -ldl
+-gcc -I$INCLUDE $IPTC -o $TMPDIR/ipttest $TMPDIR/ipttest.c $IPTL -ldl >/dev/null 2>&1
++$CC -I$INCLUDE $IPTC -o $TMPDIR/ipttest $TMPDIR/ipttest.c $IPTL -ldl >/dev/null 2>&1
  
  if [ $? -eq 0 ]
  then
-@@ -144,18 +144,8 @@ check_ipt()
+@@ -148,18 +148,8 @@ check_ipt()
  
  check_ipt_lib_dir()
  {
@@ -64,3 +64,12 @@
  }
  
  check_setns()
+@@ -172,7 +162,7 @@ int main(int argc, char **argv) 
+ 	return 0;
+ }
+ EOF
+-gcc -I$INCLUDE -o $TMPDIR/setnstest $TMPDIR/setnstest.c >/dev/null 2>&1
++$CC -I$INCLUDE -o $TMPDIR/setnstest $TMPDIR/setnstest.c >/dev/null 2>&1
+ if [ $? -eq 0 ]
+ then
+ 	echo "IP_CONFIG_SETNS:=y" >>Config

+ 3 - 3
package/libpcap/Makefile

@@ -4,9 +4,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=		libpcap
-PKG_VERSION:=		1.1.1
-PKG_RELEASE:=		3
-PKG_MD5SUM:=		1bca27d206970badae248cfa471bbb47
+PKG_VERSION:=		1.2.1
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		06046e0e81efc60566daf1cc96c77d46
 PKG_DESCR:=		a low-level packet capture library
 PKG_SECTION:=		libs
 PKG_URL:=		http://www.tcpdump.org/

+ 0 - 13
package/libpcap/patches/patch-Makefile_in

@@ -1,13 +0,0 @@
---- libpcap-1.1.1.orig/Makefile.in	2010-04-05 19:54:05.000000000 +0200
-+++ libpcap-1.1.1/Makefile.in	2010-12-08 23:30:21.000000000 +0100
-@@ -474,8 +474,8 @@ bpf_filter.o: bpf_filter.c
- #
- pcap-config: $(srcdir)/pcap-config.in
- 	@rm -f $@ $@.tmp
--	sed -e 's|@includedir[@]|$(includedir)|g' \
--	    -e 's|@libdir[@]|$(libdir)|g' \
-+	sed -e 's|@includedir[@]|$(STAGING_TARGET_DIR)$(includedir)|g' \
-+	    -e 's|@libdir[@]|$(STAGING_TARGET_DIR)$(libdir)|g' \
- 	    -e 's|@LIBS[@]|$(LIBS)|g' \
- 	    -e 's|@V_RPATH_OPT[@]|$(V_RPATH_OPT)|g' \
- 	    $(srcdir)/pcap-config.in >$@.tmp

+ 10 - 10
package/libpcap/patches/patch-pcap-config_in

@@ -1,27 +1,27 @@
---- libpcap-1.1.1.orig/pcap-config.in	2010-03-12 02:56:54.000000000 +0100
-+++ libpcap-1.1.1/pcap-config.in	2011-01-06 21:29:12.000000000 +0100
-@@ -29,16 +29,6 @@ do
+--- libpcap-1.2.1.orig/pcap-config.in	2011-03-28 22:37:56.000000000 +0200
++++ libpcap-1.2.1/pcap-config.in	2012-03-24 11:15:47.343023269 +0100
+@@ -36,16 +36,6 @@ do
  	esac
  	shift
  done
--if [ "@V_RPATH_OPT@" != "" ]
+-if [ "$V_RPATH_OPT" != "" ]
 -then
 -	#
 -	# If libdir isn't /usr/lib, add it to the run-time linker path.
 -	#
--	if [ "@libdir@" != "/usr/lib" ]
+-	if [ "$libdir" != "/usr/lib" ]
 -	then
--		RPATH=@V_RPATH_OPT@@libdir@
+-		RPATH=$V_RPATH_OPT$libdir
 -	fi
 -fi
  if [ "$static" = 1 ]
  then
  	#
-@@ -77,6 +67,6 @@ else
- 		echo "-I@includedir@"
+@@ -84,6 +74,6 @@ else
+ 		echo "-I$includedir"
  	elif [ "$show_libs" = 1 ]
  	then
--		echo "-L@libdir@ $RPATH -lpcap"
-+		echo "-L@libdir@ -lpcap"
+-		echo "-L$libdir $RPATH -lpcap"
++		echo "-L$libdir -lpcap"
  	fi
  fi

+ 4 - 2
package/libsigc++/Makefile

@@ -4,14 +4,16 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		libsigc++
-PKG_VERSION:=		2.2.4.2
+PKG_VERSION:=		2.2.10
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		a79b2fe9de69b40e020617c7a652d704
+PKG_MD5SUM:=		6d350ae0bc17b8915a06ce6b7e4240e8
 PKG_DESCR:=		Callback framework for C++
 PKG_SECTION:=		libs
 PKG_URL:=		http://libsigc.sourceforge.net
 PKG_SITES:=		${MASTER_SITE_GNOME:=libsigc++/2.2/}
 
+DISTFILES:=		$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,LIBSIGCXX,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))

+ 2 - 2
package/libtirpc/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		libtirpc
-PKG_VERSION:=		0.2.1
+PKG_VERSION:=		0.2.2
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		d77eb15f464bf9d6e66259eaf78b2a4e
+PKG_MD5SUM:=		74c41c15c2909f7d11d9c7bfa7db6273
 PKG_DESCR:=		a transport independent RPC library
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libgssglue

+ 0 - 11
package/libtirpc/patches/patch-ltmain_sh

@@ -1,11 +0,0 @@
---- libtirpc-0.2.1.orig/ltmain.sh	2009-11-30 15:10:18.000000000 +0100
-+++ libtirpc-0.2.1/ltmain.sh	2011-01-15 23:09:39.000000000 +0100
-@@ -4765,7 +4765,7 @@ func_mode_link ()
-       # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-       # @file GCC response files
-       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
--      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-fstack-protector*|-flto)
-         func_quote_for_eval "$arg"
- 	arg="$func_quote_for_eval_result"
-         func_append compile_command " $arg"

+ 16 - 43
package/libtirpc/patches/patch-src_Makefile_in

@@ -1,14 +1,14 @@
---- libtirpc-0.2.1.orig/src/Makefile.in	2009-11-30 15:10:21.000000000 +0100
-+++ libtirpc-0.2.1/src/Makefile.in	2010-11-11 10:41:48.394995633 +0100
+--- libtirpc-0.2.2.orig/src/Makefile.in	2011-05-02 14:31:55.000000000 +0200
++++ libtirpc-0.2.2/src/Makefile.in	2012-03-22 19:02:24.598855474 +0100
 @@ -81,8 +81,8 @@ am__libtirpc_la_SOURCES_DIST = auth_none
  	rpc_commondata.c rpc_callmsg.c rpc_generic.c rpc_soc.c \
  	rpcb_clnt.c rpcb_prot.c rpcb_st_xdr.c svc.c svc_auth.c \
  	svc_dg.c svc_auth_unix.c svc_generic.c svc_raw.c svc_run.c \
 -	svc_simple.c svc_vc.c getpeereid.c auth_time.c auth_des.c \
--	authdes_prot.c xdr.c xdr_rec.c xdr_array.c xdr_float.c \
+-	authdes_prot.c des_crypt.c xdr.c xdr_rec.c xdr_array.c \
 +	svc_simple.c svc_vc.c getpeereid.c \
-+	xdr.c xdr_rec.c xdr_array.c xdr_float.c \
- 	xdr_mem.c xdr_reference.c xdr_stdio.c auth_gss.c \
++	des_crypt.c xdr.c xdr_rec.c xdr_array.c \
+ 	xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c auth_gss.c \
  	authgss_prot.c svc_auth_gss.c svc_auth_none.c
  @GSS_TRUE@am__objects_1 = libtirpc_la-auth_gss.lo \
 @@ -110,8 +110,7 @@ am_libtirpc_la_OBJECTS = libtirpc_la-aut
@@ -16,32 +16,23 @@
  	libtirpc_la-svc_run.lo libtirpc_la-svc_simple.lo \
  	libtirpc_la-svc_vc.lo libtirpc_la-getpeereid.lo \
 -	libtirpc_la-auth_time.lo libtirpc_la-auth_des.lo \
--	libtirpc_la-authdes_prot.lo libtirpc_la-xdr.lo \
-+	libtirpc_la-xdr.lo \
- 	libtirpc_la-xdr_rec.lo libtirpc_la-xdr_array.lo \
- 	libtirpc_la-xdr_float.lo libtirpc_la-xdr_mem.lo \
- 	libtirpc_la-xdr_reference.lo libtirpc_la-xdr_stdio.lo \
-@@ -286,7 +285,7 @@ lib_LTLIBRARIES = libtirpc.la
- # release number of your package. This is an abuse that only fosters
- # misunderstanding of the purpose of library versions."
- #
--libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0 \
-+libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0 \
- 	$(am__append_2)
- libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c \
- 	bindresvport.c clnt_bcast.c clnt_dg.c clnt_generic.c \
-@@ -297,8 +296,8 @@ libtirpc_la_SOURCES = auth_none.c auth_u
+-	libtirpc_la-authdes_prot.lo libtirpc_la-des_crypt.lo \
++	libtirpc_la-des_crypt.lo \
+ 	libtirpc_la-xdr.lo libtirpc_la-xdr_rec.lo \
+ 	libtirpc_la-xdr_array.lo libtirpc_la-xdr_float.lo \
+ 	libtirpc_la-xdr_mem.lo libtirpc_la-xdr_reference.lo \
+@@ -302,8 +301,8 @@ libtirpc_la_SOURCES = auth_none.c auth_u
  	rpc_commondata.c rpc_callmsg.c rpc_generic.c rpc_soc.c \
  	rpcb_clnt.c rpcb_prot.c rpcb_st_xdr.c svc.c svc_auth.c \
  	svc_dg.c svc_auth_unix.c svc_generic.c svc_raw.c svc_run.c \
 -	svc_simple.c svc_vc.c getpeereid.c auth_time.c auth_des.c \
--	authdes_prot.c xdr.c xdr_rec.c xdr_array.c xdr_float.c \
+-	authdes_prot.c des_crypt.c xdr.c xdr_rec.c xdr_array.c \
 +	svc_simple.c svc_vc.c getpeereid.c \
-+	xdr.c xdr_rec.c xdr_array.c xdr_float.c \
- 	xdr_mem.c xdr_reference.c xdr_stdio.c $(am__append_1)
++	des_crypt.c xdr.c xdr_rec.c xdr_array.c \
+ 	xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c \
+ 	$(am__append_1)
  @GSS_TRUE@libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSGLUE_CFLAGS)
- all: all-am
-@@ -375,12 +374,9 @@ mostlyclean-compile:
+@@ -381,12 +380,9 @@ mostlyclean-compile:
  distclean-compile:
  	-rm -f *.tab.c
  
@@ -54,21 +45,3 @@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtirpc_la-authgss_prot.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtirpc_la-authunix_prot.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtirpc_la-bindresvport.Plo@am__quote@
-@@ -1055,7 +1051,7 @@ uninstall-am: uninstall-libLTLIBRARIES
- @GSS_TRUE@        svc_raw.c svc_run.c svc_simple.c svc_vc.c \
- @GSS_TRUE@	xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c \
- @GSS_TRUE@	auth_gss.c authgss_prot.c svc_auth_gss.c getpeereid.c \
--@GSS_TRUE@	auth_time.c auth_des.c authdes_prot.c svc_auth_none.c
-+@GSS_TRUE@	svc_auth_none.c
- 
- @GSS_FALSE@$(libtirpc_la_OBJECTS) :auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \
- @GSS_FALSE@        clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \
-@@ -1066,7 +1062,7 @@ uninstall-am: uninstall-libLTLIBRARIES
- @GSS_FALSE@        rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
- @GSS_FALSE@        svc_raw.c svc_run.c svc_simple.c svc_vc.c \
- @GSS_FALSE@	xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c \
--@GSS_FALSE@	getpeereid.c auth_time.c auth_des.c authdes_prot.c
-+@GSS_FALSE@	getpeereid.c
- 
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.

+ 24 - 0
package/libtirpc/patches/patch-src_auth_time_c

@@ -0,0 +1,24 @@
+--- libtirpc-0.2.2.orig/src/auth_time.c	2011-05-02 14:10:40.000000000 +0200
++++ libtirpc-0.2.2/src/auth_time.c	2012-03-22 19:02:30.422855534 +0100
+@@ -43,7 +43,7 @@
+ //#include <clnt_soc.h>
+ #include <sys/select.h>
+ #undef NIS
+-#include <rpcsvc/nis.h>
++//#include <rpcsvc/nis.h>
+ 
+ 
+ #ifdef TESTING
+@@ -138,6 +138,7 @@ free_eps(eps, num)
+  * NIS+ server will call __rpc_get_time_offset() with the nis_server
+  * structure already populated.
+  */
++#ifdef 0
+ static nis_server *
+ get_server(sin, host, srv, eps, maxep)
+ 	struct sockaddr_in *sin;
+@@ -491,3 +492,4 @@ error:
+ 
+ 	return (time_valid);
+ }
++#endif

+ 23 - 0
package/libtirpc/patches/patch-src_des_crypt_c

@@ -0,0 +1,23 @@
+--- libtirpc-0.2.2.orig/src/des_crypt.c	2011-05-02 14:10:40.000000000 +0200
++++ libtirpc-0.2.2/src/des_crypt.c	2012-03-22 19:23:01.213747585 +0100
+@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)des_crypt.c	
+ 
+ static int common_crypt( char *, char *, unsigned, unsigned, struct desparams * );
+ int (*__des_crypt_LOCAL)() = 0;
+-extern int _des_crypt_call(char *, int, struct desparams *);
++//extern int _des_crypt_call(char *, int, struct desparams *);
+ /*
+  * Copy 8 bytes
+  */
+@@ -145,10 +145,6 @@ common_crypt(key, buf, len, mode, desp)	
+ 		if (!__des_crypt_LOCAL(buf, len, desp)) {
+ 			return (DESERR_HWERROR);
+ 		}
+-	} else {
+-		if (!_des_crypt_call(buf, len, desp)) {
+-			return (DESERR_HWERROR);
+-		}
+-	}
++	} 
+ 	return(desdev == DES_SW ? DESERR_NONE : DESERR_NOHWDEVICE);
+ }

+ 3 - 3
package/libtirpc/patches/patch-src_rpc_soc_c

@@ -1,6 +1,6 @@
---- libtirpc-0.2.1.orig/src/rpc_soc.c	2009-11-30 15:04:55.000000000 +0100
-+++ libtirpc-0.2.1/src/rpc_soc.c	2010-01-13 22:16:08.000000000 +0100
-@@ -479,37 +479,6 @@ clnt_broadcast(prog, vers, proc, xargs, 
+--- libtirpc-0.2.2.orig/src/rpc_soc.c	2011-05-02 14:10:40.000000000 +0200
++++ libtirpc-0.2.2/src/rpc_soc.c	2012-03-22 19:20:37.849747561 +0100
+@@ -515,37 +515,6 @@ clnt_broadcast(prog, vers, proc, xargs, 
  	    (resultproc_t) rpc_wrap_bcast, "udp");
  }
  

+ 2 - 2
package/libtorrent/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		libtorrent
-PKG_VERSION:=		0.12.6
+PKG_VERSION:=		0.13.0
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		037499ed708aaf72988cee60e5a8d96b
+PKG_MD5SUM:=		d499178f72010d5067a77f41fa1a1505
 PKG_DESCR:=		A bittorrent library
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		libopenssl libsigc++

+ 0 - 10
package/libtorrent/patches/patch-src_protocol_extensions_cc

@@ -1,10 +0,0 @@
---- libtorrent-0.12.4.orig/src/protocol/extensions.cc	2008-08-26 22:15:15.000000000 +0200
-+++ libtorrent-0.12.4/src/protocol/extensions.cc	2009-08-28 17:38:49.879440210 +0200
-@@ -37,6 +37,7 @@
- #include "config.h"
- 
- #include <limits>
-+#include <cstdio>
- #include <sstream>
- 
- #include "download/available_list.h"

+ 0 - 10
package/libtorrent/patches/patch-src_torrent_poll_epoll_cc

@@ -1,10 +0,0 @@
---- libtorrent-0.12.4.orig/src/torrent/poll_epoll.cc	2008-10-28 12:49:47.000000000 +0100
-+++ libtorrent-0.12.4/src/torrent/poll_epoll.cc	2009-08-28 17:34:23.579476292 +0200
-@@ -37,6 +37,7 @@
- #include "config.h"
- 
- #include <cerrno>
-+#include <cstdio>
- #include <cstring>
- 
- #include <unistd.h>

+ 1 - 1
package/mini_httpd/Makefile

@@ -24,7 +24,7 @@ WRKDIST=		${WRKDIR}/mini_httpd-${PKG_VERSION}
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,MINI_HTTPD,mini-httpd,${PKG_VERSION}-${PKG_RELEASE},,${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,MINI_HTTPD_HTPASSWD,mini-httpd-htpasswd,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_HTPASSWD},${PKG_SECTION}))
+#$(eval $(call PKG_template,MINI_HTTPD_HTPASSWD,mini-httpd-htpasswd,${PKG_VERSION}-${PKG_RELEASE},,${PKGSD_HTPASSWD},${PKG_SECTION}))
 
 CONFIG_STYLE:=		manual
 BUILD_STYLE:=		manual

+ 1 - 1
package/moc/Makefile

@@ -12,7 +12,7 @@ PKG_SECTION:=		multimedia
 PKG_DEPENDS:=		libmad libvorbis libcurl libflac libiconv
 PKG_DEPENDS+=		libncurses libid3tag
 PKG_BUILDDEP:=		ncurses libvorbis curl libmad flac libiconv
-PKG_BUILDDEP+=		libid3tag
+PKG_BUILDDEP+=		libid3tag db
 PKG_URL:=		http://moc.daper.net/
 PKG_SITES:=		ftp://ftp.daper.net/pub/soft/moc/unstable/
 

+ 1 - 1
package/open-iscsi/Makefile

@@ -25,7 +25,7 @@ $(eval $(call PKG_template,OPEN_ISCSI,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},
 
 CONFIG_STYLE:=		manual
 
-do-install:
+post-install:
 	$(INSTALL_DIR) $(IDIR_OPEN_ISCSI)/sbin $(IDIR_OPEN_ISCSI)/etc/iscsi
 	$(INSTALL_BIN) $(WRKINST)/sbin/* $(IDIR_OPEN_ISCSI)/sbin
 	$(CP) $(WRKINST)/etc/iscsi/* $(IDIR_OPEN_ISCSI)/etc/iscsi

+ 2 - 2
package/rtorrent/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		rtorrent
-PKG_VERSION:=		0.8.6
+PKG_VERSION:=		0.9.0
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		b804c45c01c40312926bcea6b55bb084
+PKG_MD5SUM:=		9bc258d7a63dd13e3348f310ae26a434
 PKG_DESCR:=		console torrent application
 PKG_SECTION:=		p2p
 PKG_DEPENDS:=		libncurses libtorrent libcurl

+ 5 - 5
package/rtorrent/patches/patch-configure

@@ -1,6 +1,6 @@
---- rtorrent-0.8.6.orig/configure	2009-11-30 16:45:22.000000000 +0100
-+++ rtorrent-0.8.6/configure	2011-03-05 11:45:35.000000000 +0100
-@@ -14566,38 +14566,6 @@ fi
+--- rtorrent-0.9.0.orig/configure	2011-12-10 13:32:44.000000000 +0100
++++ rtorrent-0.9.0/configure	2012-03-22 21:14:03.805634594 +0100
+@@ -15442,38 +15442,6 @@ fi
  
  
  
@@ -10,8 +10,8 @@
 -  if test "$cross_compiling" = yes; then :
 -  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--as_fn_error "cannot run test program while cross compiling
--See \`config.log' for more details." "$LINENO" 5; }
+-as_fn_error $? "cannot run test program while cross compiling
+-See \`config.log' for more details" "$LINENO" 5; }
 -else
 -  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 -/* end confdefs.h.  */

+ 0 - 30
package/rtorrent/patches/patch-ltmain_sh

@@ -1,30 +0,0 @@
---- rtorrent-0.8.6.orig/ltmain.sh	2009-11-30 16:44:25.000000000 +0100
-+++ rtorrent-0.8.6/ltmain.sh	2011-03-05 11:44:54.000000000 +0100
-@@ -5516,27 +5516,6 @@ func_mode_link ()
- 	      esac
- 	    fi
- 
--	    # Hardcode the library path.
--	    # Skip directories that are in the system default run-time
--	    # search path.
--	    case " $sys_lib_dlsearch_path " in
--	    *" $absdir "*) ;;
--	    *)
--	      case "$compile_rpath " in
--	      *" $absdir "*) ;;
--	      *) compile_rpath="$compile_rpath $absdir"
--	      esac
--	      ;;
--	    esac
--	    case " $sys_lib_dlsearch_path " in
--	    *" $libdir "*) ;;
--	    *)
--	      case "$finalize_rpath " in
--	      *" $libdir "*) ;;
--	      *) finalize_rpath="$finalize_rpath $libdir"
--	      esac
--	      ;;
--	    esac
- 	  fi # $linkmode,$pass = prog,link...
- 
- 	  if test "$alldeplibs" = yes &&

+ 3 - 3
package/rtorrent/patches/patch-src_command_network_cc

@@ -1,6 +1,6 @@
 $Id: update-patches 24 2008-08-31 14:56:13Z wbx $
---- rtorrent-0.8.5.orig/src/command_network.cc	2009-05-14 14:34:42.000000000 +0200
-+++ rtorrent-0.8.5/src/command_network.cc	2011-01-09 01:42:55.000000000 +0100
+--- rtorrent-0.9.0.orig/src/command_network.cc	2011-12-07 08:08:24.000000000 +0100
++++ rtorrent-0.9.0/src/command_network.cc	2012-03-22 21:12:43.301634937 +0100
 @@ -36,6 +36,7 @@
  
  #include "config.h"
@@ -8,4 +8,4 @@ $Id: update-patches 24 2008-08-31 14:56:13Z wbx $
 +#include <cstdio>
  #include <functional>
  #include <cstdio>
- #include <rak/address_info.h>
+ #include <unistd.h>

+ 3 - 3
package/tcpdump/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		tcpdump
-PKG_VERSION:=		4.1.1
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		d0dd58bbd6cd36795e05c6f1f74420b0
+PKG_VERSION:=		4.2.1
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		c202878c6db054767b52651041b9e60e
 PKG_DESCR:=		A tool for network monitoring and data acquisition
 PKG_SECTION:=		net
 PKG_DEPENDS:=		libpcap

+ 1 - 1
package/ulogd/Makefile

@@ -29,7 +29,7 @@ include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,ULOGD,ulogd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,ULOGD_MOD_MYSQL,ulogd-mod-mysql,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-$(eval $(call PKG_template,ULOGD_MOD_PCAP,ulogd-mod-pcap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+#$(eval $(call PKG_template,ULOGD_MOD_PCAP,ulogd-mod-pcap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,ULOGD_MOD_PGSQL,ulogd-mod-pgsql,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,ULOGD_MOD_SQLITE,ulogd-mod-sqlite,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 $(eval $(call PKG_template,ULOGD_MOD_EXTRA,ulogd-mod-extra,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))

+ 4 - 4
package/vte/Makefile

@@ -28,10 +28,10 @@ vte-install:
 	$(INSTALL_BIN) $(WRKINST)/usr/bin/vte $(IDIR_VTE)/usr/bin
 
 vte-dev-install:
-	$(INSTALL_DIR) $(IDIR_VTE)/usr/include
-	$(CP) $(WRKINST)/usr/include/* $(IDIR_VTE)/usr/include
-	$(INSTALL_DIR) $(IDIR_VTE)/usr/lib/pkgconfig
+	$(INSTALL_DIR) $(IDIR_VTE_DEV)/usr/include
+	$(CP) $(WRKINST)/usr/include/* $(IDIR_VTE_DEV)/usr/include
+	$(INSTALL_DIR) $(IDIR_VTE_DEV)/usr/lib/pkgconfig
 	$(CP) $(WRKINST)/usr/lib/pkgconfig/*.pc \
-		$(IDIR_VTE)/usr/lib/pkgconfig
+		$(IDIR_VTE_DEV)/usr/lib/pkgconfig
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 3 - 3
package/zlib/Makefile

@@ -4,9 +4,9 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		zlib
-PKG_VERSION:=		1.2.5
+PKG_VERSION:=		1.2.6
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		be1e89810e66150f5b0327984d8625a0
+PKG_MD5SUM:=		dc2cfa0d2313ca77224b4d932b2911e9
 PKG_DESCR:=		implementation of the deflate compression method
 PKG_SECTION:=		libs
 PKG_URL:=		http://www.zlib.net/
@@ -38,7 +38,7 @@ ifeq ($(ADK_STATIC),)
 CONFIGURE_OPTS:=	--shared
 endif
 
-ALL_TARGET:=		libz.a libz.so.1.2.5
+ALL_TARGET:=		libz.a libz.so.$(PKG_VERSION)
 
 do-configure:
 	(cd $(WRKBUILD); $(COPTS) \

+ 2 - 2
toolchain/gcc/Makefile.inc

@@ -7,8 +7,8 @@ ifeq ($(ADK_LINUX_AVR32),y)
 PKG_VERSION:=		4.4.6
 PKG_MD5SUM:=		ab525d429ee4425050a554bc9247d6c4
 else
-PKG_VERSION:=		4.5.3
-PKG_MD5SUM:=		8e0b5c12212e185f3e4383106bfa9cc6
+PKG_VERSION:=		4.6.3
+PKG_MD5SUM:=		773092fe5194353b02bb0110052a972e
 endif
 
 PKG_RELEASE:=		1

+ 253 - 0
toolchain/gcc/patches/4.6.3/cflags.patch

@@ -0,0 +1,253 @@
+
+	This patch brings over a few features from MirBSD:
+	* -fhonour-copts
+	  If this option is not given, it's warned (depending
+	  on environment variables). This is to catch errors
+	  of misbuilt packages which override CFLAGS themselves.
+	* -Werror-maybe-reset
+	  Has the effect of -Wno-error if GCC_NO_WERROR is
+	  set and not '0', a no-operation otherwise. This is
+	  to be able to use -Werror in "make" but prevent
+	  GNU autoconf generated configure scripts from
+	  freaking out.
+	* Make -fno-strict-aliasing and -fno-delete-null-pointer-checks
+	  the default for -O2/-Os, because they trigger gcc bugs
+	  and can delete code with security implications.
+
+	This patch was authored by Thorsten Glaser <tg at mirbsd.de>
+	with copyright assignment to the FSF in effect.
+
+--- a/gcc/c-family/c-opts.c
++++ b/gcc/c-family/c-opts.c
+@@ -103,6 +103,9 @@ static size_t deferred_count;
+ /* Number of deferred options scanned for -include.  */
+ static size_t include_cursor;
+ 
++/* Check if a port honours COPTS.  */
++static int honour_copts = 0;
++
+ static void handle_OPT_d (const char *);
+ static void set_std_cxx98 (int);
+ static void set_std_cxx0x (int);
+@@ -441,6 +444,9 @@ c_common_handle_option (size_t scode, co
+       global_dc->warning_as_error_requested = value;
+       break;
+ 
++    case OPT_Werror_maybe_reset:
++      break;
++
+     case OPT_Wformat:
+       set_Wformat (value);
+       break;
+@@ -584,6 +590,12 @@ c_common_handle_option (size_t scode, co
+       flag_no_builtin = !value;
+       break;
+ 
++    case OPT_fhonour_copts:
++      if (c_language == clk_c) {
++        honour_copts++;
++      }
++      break;
++
+     case OPT_fconstant_string_class_:
+       constant_string_class_name = arg;
+       break;
+@@ -1058,6 +1070,47 @@ c_common_init (void)
+       return false;
+     }
+ 
++  if (c_language == clk_c) {
++    char *ev = getenv ("GCC_HONOUR_COPTS");
++    int evv;
++    if (ev == NULL)
++      evv = -1;
++    else if ((*ev == '0') || (*ev == '\0'))
++      evv = 0;
++    else if (*ev == '1')
++      evv = 1;
++    else if (*ev == '2')
++      evv = 2;
++    else if (*ev == 's')
++      evv = -1;
++    else {
++      warning (0, "unknown GCC_HONOUR_COPTS value, assuming 1");
++      evv = 1; /* maybe depend this on something like MIRBSD_NATIVE?  */
++    }
++    if (evv == 1) {
++      if (honour_copts == 0) {
++        error ("someone does not honour COPTS at all in lenient mode");
++        return false;
++      } else if (honour_copts != 1) {
++        warning (0, "someone does not honour COPTS correctly, passed %d times",
++         honour_copts);
++      }
++    } else if (evv == 2) {
++      if (honour_copts == 0) {
++        error ("someone does not honour COPTS at all in strict mode");
++        return false;
++      } else if (honour_copts != 1) {
++        error ("someone does not honour COPTS correctly, passed %d times",
++         honour_copts);
++        return false;
++      }
++    } else if (evv == 0) {
++      if (honour_copts != 1)
++        inform (0, "someone does not honour COPTS correctly, passed %d times",
++         honour_copts);
++    }
++  }
++
+   return true;
+ }
+ 
+--- a/gcc/c-family/c.opt
++++ b/gcc/c-family/c.opt
+@@ -363,6 +363,10 @@ Werror-implicit-function-declaration
+ C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)
+ This switch is deprecated; use -Werror=implicit-function-declaration instead
+ 
++Werror-maybe-reset
++C ObjC C++ ObjC++
++; Documented in common.opt
++
+ Wfloat-equal
+ C ObjC C++ ObjC++ Var(warn_float_equal) Warning
+ Warn if testing floating point numbers for equality
+@@ -794,6 +798,9 @@ C++ ObjC++ Optimization Alias(fexception
+ fhonor-std
+ C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
+ 
++fhonour-copts
++C ObjC C++ ObjC++ RejectNegative
++
+ fhosted
+ C ObjC
+ Assume normal C execution environment
+--- a/gcc/common.opt
++++ b/gcc/common.opt
+@@ -520,6 +520,10 @@ Werror=
+ Common Joined
+ Treat specified warning as error
+ 
++Werror-maybe-reset
++Common
++If environment variable GCC_NO_WERROR is set, act as -Wno-error
++
+ Wextra
+ Common Var(extra_warnings) Warning
+ Print extra (possibly unwanted) warnings
+@@ -1156,6 +1160,9 @@ fguess-branch-probability
+ Common Report Var(flag_guess_branch_prob) Optimization
+ Enable guessing of branch probabilities
+ 
++fhonour-copts
++Common RejectNegative
++
+ ; Nonzero means ignore `#ident' directives.  0 means handle them.
+ ; Generate position-independent code for executables if possible
+ ; On SVR4 targets, it also controls whether or not to emit a
+--- a/gcc/opts.c
++++ b/gcc/opts.c
+@@ -477,8 +477,6 @@ static const struct default_options defa
+     { OPT_LEVELS_2_PLUS, OPT_fschedule_insns2, NULL, 1 },
+ #endif
+     { OPT_LEVELS_2_PLUS, OPT_fregmove, NULL, 1 },
+-    { OPT_LEVELS_2_PLUS, OPT_fstrict_aliasing, NULL, 1 },
+-    { OPT_LEVELS_2_PLUS, OPT_fstrict_overflow, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_freorder_blocks, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_freorder_functions, NULL, 1 },
+     { OPT_LEVELS_2_PLUS, OPT_ftree_vrp, NULL, 1 },
+@@ -494,6 +492,8 @@ static const struct default_options defa
+     { OPT_LEVELS_2_PLUS, OPT_falign_functions, NULL, 1 },
+ 
+     /* -O3 optimizations.  */
++    { OPT_LEVELS_3_PLUS, OPT_fstrict_aliasing, NULL, 1 },
++    { OPT_LEVELS_3_PLUS, OPT_fstrict_overflow, NULL, 1 },
+     { OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
+     { OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 },
+     /* Inlining of functions reducing size is a good idea with -Os
+@@ -1399,6 +1399,17 @@ common_handle_option (struct gcc_options
+ 			       opts, opts_set, loc, dc);
+       break;
+ 
++    case OPT_Werror_maybe_reset:
++      {
++        char *ev = getenv ("GCC_NO_WERROR");
++        if ((ev != NULL) && (*ev != '0'))
++          warnings_are_errors = 0;
++      }
++      break;
++
++    case OPT_fhonour_copts:
++      break;
++
+     case OPT_Wlarger_than_:
+       opts->x_larger_than_size = value;
+       opts->x_warn_larger_than = value != -1;
+--- a/gcc/doc/cppopts.texi
++++ b/gcc/doc/cppopts.texi
+@@ -164,6 +164,11 @@ in older programs.  This warning is on b
+ Make all warnings into hard errors.  Source code which triggers warnings
+ will be rejected.
+ 
++ at item -Werror-maybe-reset
++ at opindex Werror-maybe-reset
++Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment
++variable is set to anything other than 0 or empty.
++
+ @item -Wsystem-headers
+ @opindex Wsystem-headers
+ Issue warnings for code in system headers.  These are normally unhelpful
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -240,7 +240,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wconversion  -Wcoverage-mismatch  -Wno-cpp  -Wno-deprecated  @gol
+ -Wno-deprecated-declarations -Wdisabled-optimization  @gol
+ -Wno-div-by-zero -Wdouble-promotion -Wempty-body  -Wenum-compare @gol
+--Wno-endif-labels -Werror  -Werror=* @gol
++-Wno-endif-labels -Werror  -Werror=* -Werror-maybe-reset @gol
+ -Wfatal-errors  -Wfloat-equal  -Wformat  -Wformat=2 @gol
+ -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
+ -Wformat-security  -Wformat-y2k @gol
+@@ -4497,6 +4497,22 @@ This option is only supported for C and
+ @option{-Wall} and by @option{-pedantic}, which can be disabled with
+ @option{-Wno-pointer-sign}.
+ 
++ at item -Werror-maybe-reset
++ at opindex Werror-maybe-reset
++Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment
++variable is set to anything other than 0 or empty.
++
++ at item -fhonour-copts
++ at opindex fhonour-copts
++If @env{GCC_HONOUR_COPTS} is set to 1, abort if this option is not
++given at least once, and warn if it is given more than once.
++If @env{GCC_HONOUR_COPTS} is set to 2, abort if this option is not
++given exactly once.
++If @env{GCC_HONOUR_COPTS} is set to 0 or unset, warn if this option
++is not given exactly once.
++The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}.
++This flag and environment variable only affect the C language.
++
+ @item -Wstack-protector
+ @opindex Wstack-protector
+ @opindex Wno-stack-protector
+@@ -6319,7 +6335,7 @@ so, the first branch is redirected to ei
+ second branch or a point immediately following it, depending on whether
+ the condition is known to be true or false.
+ 
+-Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
++Enabled at levels @option{-O3}.
+ 
+ @item -fsplit-wide-types
+ @opindex fsplit-wide-types
+--- a/gcc/java/jvspec.c
++++ b/gcc/java/jvspec.c
+@@ -627,6 +627,7 @@ lang_specific_pre_link (void)
+      class name.  Append dummy `.c' that can be stripped by set_input so %b
+      is correct.  */ 
+   set_input (concat (main_class_name, "main.c", NULL));
++  putenv ("GCC_HONOUR_COPTS=s"); /* XXX hack!  */
+   err = do_spec (jvgenmain_spec);
+   if (err == 0)
+     {

+ 100 - 0
toolchain/gcc/patches/4.6.3/no-lib64.patch

@@ -0,0 +1,100 @@
+diff -Nur gcc-4.6.3.orig/gcc/config/i386/linux64.h gcc-4.6.3/gcc/config/i386/linux64.h
+--- gcc-4.6.3.orig/gcc/config/i386/linux64.h	2011-09-08 11:12:35.000000000 +0200
++++ gcc-4.6.3/gcc/config/i386/linux64.h	2012-03-21 13:30:49.125903065 +0100
+@@ -63,7 +63,7 @@
+    done.  */
+ 
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ 
+ #if TARGET_64BIT_DEFAULT
+ #define SPEC_32 "m32"
+diff -Nur gcc-4.6.3.orig/gcc/config/i386/t-linux64 gcc-4.6.3/gcc/config/i386/t-linux64
+--- gcc-4.6.3.orig/gcc/config/i386/t-linux64	2009-04-21 21:03:23.000000000 +0200
++++ gcc-4.6.3/gcc/config/i386/t-linux64	2012-03-21 13:30:49.125903065 +0100
+@@ -25,7 +25,7 @@
+ 
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32 
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+ 
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
+diff -Nur gcc-4.6.3.orig/gcc/config/mips/linux64.h gcc-4.6.3/gcc/config/mips/linux64.h
+--- gcc-4.6.3.orig/gcc/config/mips/linux64.h	2011-01-19 21:39:09.000000000 +0100
++++ gcc-4.6.3/gcc/config/mips/linux64.h	2012-03-21 13:31:26.549903066 +0100
+@@ -36,9 +36,9 @@
+   %{profile:-lc_p} %{!profile:-lc}}"
+ 
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1"
+-#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
+-#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
++#define GLIBC_DYNAMIC_LINKERN32 "/lib/ld.so.1"
++#define UCLIBC_DYNAMIC_LINKERN32 "/lib/ld-uClibc.so.0"
+ #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
+ #define LINUX_DYNAMIC_LINKERN32 \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+diff -Nur gcc-4.6.3.orig/gcc/config/mips/t-linux64 gcc-4.6.3/gcc/config/mips/t-linux64
+--- gcc-4.6.3.orig/gcc/config/mips/t-linux64	2009-04-21 21:03:23.000000000 +0200
++++ gcc-4.6.3/gcc/config/mips/t-linux64	2012-03-21 13:30:51.685903041 +0100
+@@ -18,7 +18,7 @@
+ 
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+ MULTILIB_DIRNAMES = n32 32 64
+-MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
++MULTILIB_OSDIRNAMES = ../lib ../lib ../lib
+ 
+ EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+ 
+diff -Nur gcc-4.6.3.orig/gcc/config/rs6000/linux64.h gcc-4.6.3/gcc/config/rs6000/linux64.h
+--- gcc-4.6.3.orig/gcc/config/rs6000/linux64.h	2011-03-07 08:50:23.000000000 +0100
++++ gcc-4.6.3/gcc/config/rs6000/linux64.h	2012-03-21 13:30:51.685903041 +0100
+@@ -373,7 +373,7 @@
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
+ 
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
+ #define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
+ #define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
+ #if DEFAULT_LIBC == LIBC_UCLIBC
+diff -Nur gcc-4.6.3.orig/gcc/config/rs6000/t-linux64 gcc-4.6.3/gcc/config/rs6000/t-linux64
+--- gcc-4.6.3.orig/gcc/config/rs6000/t-linux64	2009-04-21 21:03:23.000000000 +0200
++++ gcc-4.6.3/gcc/config/rs6000/t-linux64	2012-03-21 13:30:51.685903041 +0100
+@@ -36,7 +36,7 @@
+ MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
+ MULTILIB_EXCEPTIONS     = m64/msoft-float
+ MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
+-MULTILIB_OSDIRNAMES	= ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
++MULTILIB_OSDIRNAMES	= ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
+ MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
+ 
+ softfp_wrap_start := '\#ifndef __powerpc64__'
+diff -Nur gcc-4.6.3.orig/gcc/config/sparc/linux64.h gcc-4.6.3/gcc/config/sparc/linux64.h
+--- gcc-4.6.3.orig/gcc/config/sparc/linux64.h	2011-09-08 11:12:35.000000000 +0200
++++ gcc-4.6.3/gcc/config/sparc/linux64.h	2012-03-21 13:30:51.685903041 +0100
+@@ -102,7 +102,7 @@
+    done.  */
+ 
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
+ 
+ #ifdef SPARC_BI_ARCH
+ 
+diff -Nur gcc-4.6.3.orig/gcc/config/sparc/t-linux64 gcc-4.6.3/gcc/config/sparc/t-linux64
+--- gcc-4.6.3.orig/gcc/config/sparc/t-linux64	2011-05-22 22:03:43.000000000 +0200
++++ gcc-4.6.3/gcc/config/sparc/t-linux64	2012-03-21 13:30:51.685903041 +0100
+@@ -26,7 +26,7 @@
+ 
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+ 
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib

+ 2 - 2
toolchain/glibc-ports/Makefile.inc

@@ -2,7 +2,7 @@
 # material, please see the LICENCE file in the top-level directory.
 
 PKG_NAME:=		glibc-ports
-PKG_VERSION:=		2.13
+PKG_VERSION:=		2.14.1
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		094e3c9b57da605917a780ab24575187
+PKG_MD5SUM:=		2aa77ef5dd15df1d1d6dadd4e158ae33
 PKG_SITES:=		${MASTER_SITE_GNU:=glibc/}

+ 1 - 0
toolchain/glibc/Makefile

@@ -12,6 +12,7 @@ endif
 
 # ssp partially supported
 TARGET_CFLAGS:=	$(filter-out -fstack-protector,$(TARGET_CFLAGS))
+#TARGET_CFLAGS:=	$(filter-out -flto,$(TARGET_CFLAGS))
 
 include Makefile.inc
 include ${TOPDIR}/mk/buildhlp.mk

+ 4 - 3
toolchain/glibc/Makefile.inc

@@ -2,9 +2,9 @@
 # material, please see the LICENCE file in the top-level directory.
 
 PKG_NAME:=		glibc
-PKG_VERSION:=		2.13
-PKG_RELEASE:=		2
-PKG_MD5SUM:=		fafabe01cb9748acb0a11a6879ebaa7e
+PKG_VERSION:=		2.14.1
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		f3841fd7812db4713115ff4447b29207
 PKG_SITES:=		${MASTER_SITE_GNU:=glibc/}
 GLIBC_CONFOPTS:=	--build=$(GNU_HOST_NAME) \
 			--host=$(REAL_GNU_TARGET_NAME) \
@@ -31,3 +31,4 @@ GLIBC_ENV:=             PATH='${TARGET_PATH}' \
                         libc_cv_gnu99_inline=yes \
 			libc_cv_sparc64_tls=yes \
 			libc_cv_slibdir="/lib" \
+			libc_cv_initfini_array=yes \

+ 0 - 56
toolchain/glibc/patches/longjmp_chk.patch

@@ -1,56 +0,0 @@
-diff -Nur glibc-2.11.orig/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S glibc-2.11/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
---- glibc-2.11.orig/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S	2009-10-30 18:17:08.000000000 +0100
-+++ glibc-2.11/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S	2010-02-19 08:06:22.000000000 +0100
-@@ -33,10 +33,10 @@
- 			cfi_register(%ebx,%ecx);			      \
- 			LOAD_PIC_REG (bx);				      \
- 			leal	longjmp_msg@GOTOFF(%ebx), %eax;		      \
--			call	__GI___fortify_fail@PLT
-+			call	HIDDEN_JUMPTARGET(__fortify_fail)
- #else
- # define CALL_FAIL	movl	$longjmp_msg, %eax;			      \
--			call	__fortify_fail
-+			call	HIDDEN_JUMPTARGET(__fortify_fail)
- #endif
- 
- 
-diff -Nur glibc-2.11.orig/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S glibc-2.11/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S
---- glibc-2.11.orig/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S	2009-10-30 18:17:08.000000000 +0100
-+++ glibc-2.11/sysdeps/unix/sysv/linux/ia64/____longjmp_chk.S	2010-02-19 08:06:22.000000000 +0100
-@@ -30,19 +30,13 @@
- 
- #define __longjmp ____longjmp_chk
- 
--#ifdef PIC
--#  define CALL_FAIL	__GI___fortify_fail
--#else
--#  define CALL_FAIL	__fortify_fail
--#endif
--
- #define CHECK_RSP(reg) \
- 	cmp.ltu p0, p8 = reg, r12;				\
- (p8)	br.cond.dpnt .Lok;;					\
- 	addl r28 = @ltoffx(longjmp_msg#), r1;;			\
- 	ld8.mov r28 = [r28], longjmp_msg#;;			\
- 	ld8 out0 = [r28];					\
--	br.call.sptk.many b0 = CALL_FAIL#;;			\
-+	br.call.sptk.many b0 = HIDDEN_JUMPTARGET(__fortify_fail)#;; \
- .Lok:
- 
- #include "__longjmp.S"
-diff -Nur glibc-2.11.orig/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S glibc-2.11/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
---- glibc-2.11.orig/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S	2009-10-30 18:17:08.000000000 +0100
-+++ glibc-2.11/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S	2010-02-19 08:06:22.000000000 +0100
-@@ -31,10 +31,10 @@
- 
- #ifdef PIC
- # define CALL_FAIL	leaq	longjmp_msg(%rip), %rdi;		      \
--			call	__GI___fortify_fail
-+			call	HIDDEN_JUMPTARGET(__fortify_fail)
- #else
- # define CALL_FAIL	movq	$longjmp_msg, %rdi;			      \
--			call	__fortify_fail
-+			call	HIDDEN_JUMPTARGET(__fortify_fail)
- #endif
- 
- #define CHECK_RSP(reg) \