Browse Source

update gcc, glibc and fix build breakage

Waldemar Brodkorb 13 năm trước cách đây
mục cha
commit
ac46e350e1
41 tập tin đã thay đổi với 629 bổ sung386 xóa
  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) \