summaryrefslogtreecommitdiff
path: root/openwrt/toolchain
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/toolchain')
-rw-r--r--openwrt/toolchain/Config.in61
-rw-r--r--openwrt/toolchain/Makefile57
-rw-r--r--openwrt/toolchain/binutils/2.15.94.0.2/100-uclibc-conf.patch749
-rw-r--r--openwrt/toolchain/binutils/2.15.94.0.2/300-001_ld_makefile_patch.patch52
-rw-r--r--openwrt/toolchain/binutils/2.15.94.0.2/300-006_better_file_error.patch43
-rw-r--r--openwrt/toolchain/binutils/2.15.94.0.2/300-012_check_ldrunpath_length.patch47
-rw-r--r--openwrt/toolchain/binutils/2.15.94.0.2/300-120_mips_xgot_multigot_workaround.patch39
-rw-r--r--openwrt/toolchain/binutils/2.15.94.0.2/702-binutils-skip-comments.patch101
-rw-r--r--openwrt/toolchain/binutils/2.16.1/100-uclibc-conf.patch586
-rw-r--r--openwrt/toolchain/binutils/2.16.1/110-uclibc-libtool-conf.patch218
-rw-r--r--openwrt/toolchain/binutils/2.16.1/300-001_ld_makefile_patch.patch52
-rw-r--r--openwrt/toolchain/binutils/2.16.1/300-006_better_file_error.patch43
-rw-r--r--openwrt/toolchain/binutils/2.16.1/300-012_check_ldrunpath_length.patch47
-rw-r--r--openwrt/toolchain/binutils/2.16.1/702-binutils-skip-comments.patch93
-rw-r--r--openwrt/toolchain/binutils/2.16.90.0.3/100-uclibc-conf.patch240
-rw-r--r--openwrt/toolchain/binutils/2.16.90.0.3/300-001_ld_makefile_patch.patch52
-rw-r--r--openwrt/toolchain/binutils/2.16.90.0.3/300-006_better_file_error.patch43
-rw-r--r--openwrt/toolchain/binutils/2.16.90.0.3/300-012_check_ldrunpath_length.patch47
-rw-r--r--openwrt/toolchain/binutils/2.16.90.0.3/702-binutils-skip-comments.patch93
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.1/100-uclibc-conf.patch240
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.1/300-001_ld_makefile_patch.patch50
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.1/300-006_better_file_error.patch43
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.1/300-012_check_ldrunpath_length.patch47
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.1/702-binutils-skip-comments.patch93
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.2/100-uclibc-conf.patch230
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.2/300-001_ld_makefile_patch.patch50
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.2/300-006_better_file_error.patch43
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.2/300-012_check_ldrunpath_length.patch47
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.2/702-binutils-skip-comments.patch93
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.6/100-uclibc-conf.patch200
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.6/300-001_ld_makefile_patch.patch50
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.6/300-006_better_file_error.patch43
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.6/300-012_check_ldrunpath_length.patch47
-rw-r--r--openwrt/toolchain/binutils/2.16.91.0.6/702-binutils-skip-comments.patch93
-rw-r--r--openwrt/toolchain/binutils/Config.in40
-rw-r--r--openwrt/toolchain/binutils/Makefile106
-rw-r--r--openwrt/toolchain/binutils/all/400-mips-ELF_MAXPAGESIZE-4k.patch12
-rw-r--r--openwrt/toolchain/gcc/3.4.4/100-uclibc-conf.patch442
-rw-r--r--openwrt/toolchain/gcc/3.4.4/200-uclibc-locale.patch3246
-rw-r--r--openwrt/toolchain/gcc/3.4.4/300-libstdc++-pic.patch47
-rw-r--r--openwrt/toolchain/gcc/3.4.4/601-gcc34-arm-ldm.patch119
-rw-r--r--openwrt/toolchain/gcc/3.4.4/602-sdk-libstdc++-includes.patch22
-rw-r--r--openwrt/toolchain/gcc/3.4.4/700-pr15068-fix.patch44
-rw-r--r--openwrt/toolchain/gcc/3.4.4/800-arm-bigendian.patch70
-rw-r--r--openwrt/toolchain/gcc/3.4.4/810-arm-bigendian-uclibc.patch27
-rw-r--r--openwrt/toolchain/gcc/3.4.4/830-gcc-bug-num-22167.patch16
-rw-r--r--openwrt/toolchain/gcc/3.4.4/arm-softfloat.patch.conditional270
-rw-r--r--openwrt/toolchain/gcc/3.4.4/static-libgcc.patch.conditional11
-rw-r--r--openwrt/toolchain/gcc/3.4.5/100-uclibc-conf.patch462
-rw-r--r--openwrt/toolchain/gcc/3.4.5/200-uclibc-locale.patch3255
-rw-r--r--openwrt/toolchain/gcc/3.4.5/300-libstdc++-pic.patch47
-rw-r--r--openwrt/toolchain/gcc/3.4.5/600-gcc34-arm-ldm-peephole.patch65
-rw-r--r--openwrt/toolchain/gcc/3.4.5/601-gcc34-arm-ldm-peephole2.patch42
-rw-r--r--openwrt/toolchain/gcc/3.4.5/601-gcc34-arm-ldm.patch119
-rw-r--r--openwrt/toolchain/gcc/3.4.5/602-sdk-libstdc++-includes.patch22
-rw-r--r--openwrt/toolchain/gcc/3.4.5/700-pr15068-fix.patch44
-rw-r--r--openwrt/toolchain/gcc/3.4.5/71_all_sh-pr16665-fix.patch43
-rw-r--r--openwrt/toolchain/gcc/3.4.5/72_all_sh-no-reorder-blocks.patch13
-rw-r--r--openwrt/toolchain/gcc/3.4.5/73_all_sh-pr20617.patch28
-rw-r--r--openwrt/toolchain/gcc/3.4.5/800-arm-bigendian.patch70
-rw-r--r--openwrt/toolchain/gcc/3.4.5/800-powerpc-libc_stack_end-uclibc.patch15
-rw-r--r--openwrt/toolchain/gcc/3.4.5/static-libgcc.patch.conditional11
-rw-r--r--openwrt/toolchain/gcc/3.4.6/100-uclibc-conf.patch442
-rw-r--r--openwrt/toolchain/gcc/3.4.6/200-uclibc-locale.patch3246
-rw-r--r--openwrt/toolchain/gcc/3.4.6/300-libstdc++-pic.patch47
-rw-r--r--openwrt/toolchain/gcc/3.4.6/601-gcc34-arm-ldm.patch119
-rw-r--r--openwrt/toolchain/gcc/3.4.6/602-sdk-libstdc++-includes.patch22
-rw-r--r--openwrt/toolchain/gcc/3.4.6/700-pr15068-fix.patch44
-rw-r--r--openwrt/toolchain/gcc/3.4.6/800-arm-bigendian.patch70
-rw-r--r--openwrt/toolchain/gcc/3.4.6/810-arm-bigendian-uclibc.patch27
-rw-r--r--openwrt/toolchain/gcc/3.4.6/arm-softfloat.patch.conditional270
-rw-r--r--openwrt/toolchain/gcc/3.4.6/static-libgcc.patch.conditional11
-rw-r--r--openwrt/toolchain/gcc/4.0.2/100-uclibc-conf.patch410
-rw-r--r--openwrt/toolchain/gcc/4.0.2/200-uclibc-locale.patch3191
-rw-r--r--openwrt/toolchain/gcc/4.0.3/100-uclibc-conf.patch553
-rw-r--r--openwrt/toolchain/gcc/4.0.3/200-uclibc-locale.patch3237
-rw-r--r--openwrt/toolchain/gcc/4.0.3/300-libstdc++-pic.patch47
-rw-r--r--openwrt/toolchain/gcc/4.0.3/301-missing-execinfo_h.patch11
-rw-r--r--openwrt/toolchain/gcc/4.0.3/302-c99-snprintf.patch11
-rw-r--r--openwrt/toolchain/gcc/4.0.3/303-c99-complex-ugly-hack.patch12
-rw-r--r--openwrt/toolchain/gcc/4.0.3/602-sdk-libstdc++-includes.patch22
-rw-r--r--openwrt/toolchain/gcc/4.0.3/800-arm-bigendian.patch67
-rw-r--r--openwrt/toolchain/gcc/4.1.0/100-uclibc-conf.patch544
-rw-r--r--openwrt/toolchain/gcc/4.1.0/200-uclibc-locale.patch3246
-rw-r--r--openwrt/toolchain/gcc/4.1.0/300-libstdc++-pic.patch46
-rw-r--r--openwrt/toolchain/gcc/4.1.0/301-missing-execinfo_h.patch11
-rw-r--r--openwrt/toolchain/gcc/4.1.0/302-c99-snprintf.patch11
-rw-r--r--openwrt/toolchain/gcc/4.1.0/303-c99-complex-ugly-hack.patch12
-rw-r--r--openwrt/toolchain/gcc/4.1.0/602-sdk-libstdc++-includes.patch20
-rw-r--r--openwrt/toolchain/gcc/4.1.0/740-sh-pr24836.patch25
-rw-r--r--openwrt/toolchain/gcc/4.1.0/800-arm-bigendian.patch67
-rw-r--r--openwrt/toolchain/gcc/Config.in92
-rw-r--r--openwrt/toolchain/gcc/Makefile209
-rw-r--r--openwrt/toolchain/gdb/Config.in8
-rw-r--r--openwrt/toolchain/gdb/Makefile59
-rw-r--r--openwrt/toolchain/gdb/patches/100-uclibc-conf.patch280
-rw-r--r--openwrt/toolchain/gdb/patches/200-uclibc-readline-conf.patch15
-rw-r--r--openwrt/toolchain/gdb/patches/400-mips-coredump.patch28
-rw-r--r--openwrt/toolchain/gdb/patches/500-thread-timeout.patch34
-rw-r--r--openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch552
-rw-r--r--openwrt/toolchain/gdb/patches/620-debian_static-thread-db.patch156
-rw-r--r--openwrt/toolchain/gdb/patches/630-debian_24.tracepoint-segv.patch15
-rw-r--r--openwrt/toolchain/gdb/patches/640-debian_dwarf2-frame-signal-unwinder.patch120
-rw-r--r--openwrt/toolchain/gdb/patches/650-debian_vsyscall-gdb-support.patch245
-rw-r--r--openwrt/toolchain/gdb/patches/660-debian_dwarf-cfa-restore.patch23
-rw-r--r--openwrt/toolchain/gdb/patches/680-debian_sim-destdir.patch53
-rw-r--r--openwrt/toolchain/gdb/patches/690-debian_member-field-symtab.patch35
-rw-r--r--openwrt/toolchain/gdb/patches/700-debian_cp-pass-by-reference.patch464
-rw-r--r--openwrt/toolchain/gdb/patches/710-debian_thread-db-multiple-libraries.patch593
-rw-r--r--openwrt/toolchain/gdb/patches/720-debian_static-threads-test.patch36
-rw-r--r--openwrt/toolchain/gdb/patches/730-debian_gdb-fix-tracefork-check.patch225
-rw-r--r--openwrt/toolchain/gdb/patches/740-debian_make-cv-type-crash.patch132
-rw-r--r--openwrt/toolchain/gdb/patches/750-debian_sparc-singlestep.patch37
-rw-r--r--openwrt/toolchain/gdb/patches/760-debian_vsyscall-bfd-close-result.patch20
-rw-r--r--openwrt/toolchain/gdb/patches/770-debian_vfork-done-spelling.patch31
-rw-r--r--openwrt/toolchain/gdb/patches/780-debian_gdbserver-rdynamic.patch675
-rw-r--r--openwrt/toolchain/gdb/patches/790-debian_dwarf2-cfi-warning.patch39
-rw-r--r--openwrt/toolchain/gdb/patches/800-debian_linux-use-underscore-exit.patch22
-rw-r--r--openwrt/toolchain/gdb/patches/810-debian_bfd-no-kylix-crash.patch47
-rw-r--r--openwrt/toolchain/gdb/patches/820-debian_disable-linux-fork-messages.patch46
-rw-r--r--openwrt/toolchain/gdb/patches/830-arm_gcc4.patch93
-rw-r--r--openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_build_clean.patch36
-rw-r--r--openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_build_tar.patch16
-rw-r--r--openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_buildpackage.patch24
-rw-r--r--openwrt/toolchain/ipkg-utils/Makefile55
-rw-r--r--openwrt/toolchain/kernel-headers/Makefile53
-rw-r--r--openwrt/toolchain/kernel-headers/config.mips1045
-rw-r--r--openwrt/toolchain/kernel-headers/files/config.arm778
-rw-r--r--openwrt/toolchain/kernel-headers/files/config.i386950
-rw-r--r--openwrt/toolchain/kernel-headers/files/config.mips1045
-rw-r--r--openwrt/toolchain/kernel-headers/patches/include.patch17954
-rw-r--r--openwrt/toolchain/libnotimpl/Makefile30
-rw-r--r--openwrt/toolchain/libnotimpl/files/math.c68
-rw-r--r--openwrt/toolchain/sed/Makefile75
-rwxr-xr-xopenwrt/toolchain/sed/sedcheck.sh21
-rw-r--r--openwrt/toolchain/uClibc/Config.in18
-rw-r--r--openwrt/toolchain/uClibc/Makefile103
-rw-r--r--openwrt/toolchain/uClibc/files/config.armeb168
-rw-r--r--openwrt/toolchain/uClibc/files/config.i386178
-rw-r--r--openwrt/toolchain/uClibc/files/config.mips163
-rw-r--r--openwrt/toolchain/uClibc/files/config.mipsel163
-rw-r--r--openwrt/toolchain/uClibc/files/config.powerpc161
-rw-r--r--openwrt/toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch13
-rw-r--r--openwrt/toolchain/uClibc/patches/110-mips_pipe.patch27
-rw-r--r--openwrt/toolchain/uClibc/patches/120-more_standard_math.patch12
-rw-r--r--openwrt/toolchain/uClibc/patches/140-uclibc_do_div_ldso.patch47
-rw-r--r--openwrt/toolchain/uClibc/patches/ipv6_missing_sockopts.patch12
-rw-r--r--openwrt/toolchain/utils/Makefile26
-rw-r--r--openwrt/toolchain/utils/include/elf.h2445
-rw-r--r--openwrt/toolchain/utils/src/sstrip.c492
150 files changed, 0 insertions, 59143 deletions
diff --git a/openwrt/toolchain/Config.in b/openwrt/toolchain/Config.in
deleted file mode 100644
index 75400bc..0000000
--- a/openwrt/toolchain/Config.in
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-
-menu "Toolchain Options"
-
-source "toolchain/uClibc/Config.in"
-source "toolchain/binutils/Config.in"
-source "toolchain/gcc/Config.in"
-
-if CONFIG_DEVEL
-comment "Common Toolchain Options"
-endif
-if !CONFIG_DEVEL
-comment "Using defaults"
-endif
-
-config BR2_ENABLE_MULTILIB
- bool "Enable multilib support?" if CONFIG_DEVEL
- default n
- help
- If you want multilib enabled, enable this...
-
-config BR2_LARGEFILE
- bool "Enable large file (files > 2 GB) support?" if CONFIG_DEVEL
- depends on !BR2_cris
- default y
- help
- Enable large file (files > 2 GB) support
-
-config BR2_SOFT_FLOAT
- bool "Use software floating point by default" if CONFIG_DEVEL
- default n
- depends on BR2_arm || BR2_mips || BR2_powerpc
- help
- If your target CPU does not have a Floating Point Unit (FPU) or a
- kernel FPU emulator, but you still wish to support floating point
- functions, then everything will need to be compiled with soft floating
- point support (-msoft-float).
-
- Most people will answer N.
-
-config BR2_TARGET_OPTIMIZATION
- string "Target Optimizations" if CONFIG_DEVEL
- default "-Os -pipe -march=i486 -funit-at-a-time" if BR2_i386
- default "-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time" if BR2_mipsel || BR2_mips
- default "-Os -pipe -mcpu=xscale -mno-thumb-interwork -mno-thumb -funit-at-a-time" if BR2_armeb
- default "-Os -pipe -funit-at-a-time"
- help
- Optimizations to use when building for the target host.
-
-# Might be worth experimenting with for gcc 3.4.x.
-#GCC_WITH_CPU:=
-#GCC_WITH_ARCH:=
-#GCC_WITH_TUNE:=
-
-#GCC_WITH_CPU:=--with-cpu=
-#GCC_WITH_ARCH:=--with-arch=
-#GCC_WITH_TUNE:=--with-tune=
-
-
-endmenu
-
diff --git a/openwrt/toolchain/Makefile b/openwrt/toolchain/Makefile
deleted file mode 100644
index c99116d..0000000
--- a/openwrt/toolchain/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# Main makefile for the toolchain
-include $(TOPDIR)/rules.mk
-TARGETS:=sed utils binutils gcc uClibc ipkg-utils gdb libnotimpl
-
-TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS))
-TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
-
-all: install
-install: $(TARGETS_INSTALL)
-clean: $(TARGETS_CLEAN)
-
-uClibc-prepare: kernel-headers-prepare sed-install utils-install
-binutils-prepare: uClibc-prepare
-gcc-prepare: binutils-install
-uClibc-compile: gcc-prepare
-gcc-compile: uClibc-install
-
-TOOLCHAIN_STAMP_DIR:=$(STAGING_DIR)/stampfiles
-
-$(TOOLCHAIN_STAMP_DIR):
- mkdir -p $(TOOLCHAIN_STAMP_DIR)
-
-$(STAGING_DIR):
- @mkdir -p $(STAGING_DIR)/lib
- @mkdir -p $(STAGING_DIR)/include
- @mkdir -p $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)
- @ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib
-
-$(TOOL_BUILD_DIR):
- @mkdir -p $(TOOL_BUILD_DIR)
-
-%-prepare: $(TOOLCHAIN_STAMP_DIR) $(STAGING_DIR) $(TOOL_BUILD_DIR)
- @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
- $(TRACE) toolchain/$(patsubst %-prepare,%,$@)/prepare; \
- $(MAKE) -C $(patsubst %-prepare,%,$@) prepare $(MAKE_TRACE); \
- }
- @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
-
-%-compile: %-prepare
- @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
- $(TRACE) toolchain/$(patsubst %-compile,%,$@)/compile; \
- $(MAKE) -C $(patsubst %-compile,%,$@) compile $(MAKE_TRACE); \
- }
- @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
-
-%-install: %-compile
- @[ -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@ ] || { \
- $(TRACE) toolchain/$(patsubst %-install,%,$@)/install; \
- $(MAKE) -C $(patsubst %-install,%,$@) install $(MAKE_TRACE); \
- }
- @touch $(TOOLCHAIN_STAMP_DIR)/.toolchain_$@
-
-%-clean:
- $(TRACE) toolchain/$(patsubst %-clean,%,$@)/clean
- @$(MAKE) -C $(patsubst %-clean,%,$@) clean $(MAKE_TRACE)
- @rm -f $(TOOLCHAIN_STAMP_DIR)/.toolchain_$(patsubst %-clean,%,$@)-*
-
diff --git a/openwrt/toolchain/binutils/2.15.94.0.2/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.15.94.0.2/100-uclibc-conf.patch
deleted file mode 100644
index dc21386..0000000
--- a/openwrt/toolchain/binutils/2.15.94.0.2/100-uclibc-conf.patch
+++ /dev/null
@@ -1,749 +0,0 @@
-diff -ur binutils-2.15.94.0.2.orig/bfd/config.bfd binutils-2.15.94.0.2/bfd/config.bfd
---- binutils-2.15.94.0.2.orig/bfd/config.bfd 2004-12-22 15:00:57.219024360 -0500
-+++ binutils-2.15.94.0.2/bfd/config.bfd 2004-12-22 15:01:18.982715776 -0500
-@@ -140,7 +140,7 @@
- targ_defvec=ecoffalpha_little_vec
- targ_selvecs=bfd_elf64_alpha_vec
- ;;
-- alpha*-*-linux-gnu* | alpha*-*-elf*)
-+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
- targ_defvec=bfd_elf64_alpha_vec
- targ_selvecs=ecoffalpha_little_vec
- ;;
-@@ -150,7 +150,7 @@
- alpha*-*-*)
- targ_defvec=ecoffalpha_little_vec
- ;;
-- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
-+ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-linux-uclibc* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
- targ_defvec=bfd_elf64_ia64_little_vec
- targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
- ;;
-@@ -227,7 +227,7 @@
- targ_defvec=bfd_elf32_littlearm_vec
- targ_selvecs=bfd_elf32_bigarm_vec
- ;;
-- armeb-*-elf | arm*b-*-linux-gnu*)
-+ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
- targ_defvec=bfd_elf32_bigarm_vec
- targ_selvecs=bfd_elf32_littlearm_vec
- ;;
-@@ -235,8 +235,8 @@
- targ_defvec=bfd_elf32_littlearm_vec
- targ_selvecs=bfd_elf32_bigarm_vec
- ;;
-- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
-- arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
-+ arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | \
-+ arm*-*-conix* | arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
- arm*-*-eabi* )
- targ_defvec=bfd_elf32_littlearm_vec
- targ_selvecs=bfd_elf32_bigarm_vec
-@@ -381,7 +381,7 @@
- ;;
-
- #ifdef BFD64
-- hppa*64*-*-linux-gnu*)
-+ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
- targ_defvec=bfd_elf64_hppa_linux_vec
- targ_selvecs=bfd_elf64_hppa_vec
- ;;
-@@ -392,7 +392,7 @@
- ;;
- #endif
-
-- hppa*-*-linux-gnu*)
-+ hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)
- targ_defvec=bfd_elf32_hppa_linux_vec
- targ_selvecs=bfd_elf32_hppa_vec
- ;;
-@@ -525,7 +525,7 @@
- targ_selvecs=bfd_elf32_i386_vec
- targ_underscore=yes
- ;;
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
- targ_defvec=bfd_elf32_i386_vec
- targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
- targ64_selvecs=bfd_elf64_x86_64_vec
-@@ -539,7 +539,7 @@
- targ_defvec=bfd_elf64_x86_64_vec
- targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
- ;;
-- x86_64-*-linux-gnu*)
-+ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
- targ_defvec=bfd_elf64_x86_64_vec
- targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
- ;;
-@@ -715,7 +715,7 @@
- targ_selvecs=bfd_elf32_m68k_vec
- targ_underscore=yes
- ;;
-- m68*-*-linux-gnu*)
-+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
- targ_defvec=bfd_elf32_m68k_vec
- targ_selvecs=m68klinux_vec
- ;;
-@@ -1001,7 +1001,8 @@
- ;;
- #endif
- powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
-- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
-+ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
-+ powerpc-*-rtems* | \
- powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
- targ_defvec=bfd_elf32_powerpc_vec
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
-@@ -1038,8 +1039,8 @@
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
- ;;
- powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
-- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
-- powerpcle-*-rtems*)
-+ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
-+ powerpcle-*-vxworks* | powerpcle-*-rtems*)
- targ_defvec=bfd_elf32_powerpcle_vec
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
- targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
-@@ -1209,7 +1210,7 @@
- targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
- targ_underscore=yes
- ;;
-- sparc-*-linux-gnu*)
-+ sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
- targ_defvec=bfd_elf32_sparc_vec
- targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
- ;;
-@@ -1256,7 +1257,7 @@
- targ_defvec=sunos_big_vec
- targ_underscore=yes
- ;;
-- sparc64-*-linux-gnu*)
-+ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
- targ_defvec=bfd_elf64_sparc_vec
- targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
- ;;
-@@ -1325,7 +1326,7 @@
- targ_underscore=yes
- ;;
-
-- vax-*-linux-gnu*)
-+ vax-*-linux-gnu* | vax-*-linux-uclibc*)
- targ_defvec=bfd_elf32_vax_vec
- ;;
-
-diff -ur binutils-2.15.94.0.2.orig/bfd/configure binutils-2.15.94.0.2/bfd/configure
---- binutils-2.15.94.0.2.orig/bfd/configure 2004-12-22 15:00:57.221024056 -0500
-+++ binutils-2.15.94.0.2/bfd/configure 2004-12-22 15:01:18.996713648 -0500
-@@ -3583,6 +3583,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -9914,7 +9919,7 @@
- alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
- COREFILE=''
- ;;
-- alpha*-*-linux-gnu*)
-+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/alphalinux.h"'
- ;;
-@@ -9978,7 +9983,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386mach3.h"'
- ;;
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386linux.h"'
- ;;
-@@ -10016,7 +10021,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/hp300bsd.h"'
- ;;
-- m68*-*-linux-gnu*)
-+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/m68klinux.h"'
- ;;
-@@ -10150,7 +10155,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxult2.h"'
- ;;
-- vax-*-linux-gnu*)
-+ vax-*-linux-gnu* | vax-*-linux-uclibc*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxlinux.h"'
- ;;
-diff -ur binutils-2.15.94.0.2.orig/bfd/configure.in binutils-2.15.94.0.2/bfd/configure.in
---- binutils-2.15.94.0.2.orig/bfd/configure.in 2004-12-22 15:00:57.223023752 -0500
-+++ binutils-2.15.94.0.2/bfd/configure.in 2004-12-22 15:01:18.998713344 -0500
-@@ -163,7 +163,7 @@
- alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
- COREFILE=''
- ;;
-- alpha*-*-linux-gnu*)
-+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/alphalinux.h"'
- ;;
-@@ -248,7 +248,7 @@
- TRAD_HEADER='"hosts/i386mach3.h"'
- ;;
- changequote(,)dnl
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
- changequote([,])dnl
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386linux.h"'
-@@ -289,7 +289,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/hp300bsd.h"'
- ;;
-- m68*-*-linux-gnu*)
-+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/m68klinux.h"'
- ;;
-@@ -375,7 +375,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxult2.h"'
- ;;
-- vax-*-linux-gnu*)
-+ vax-*-linux-gnu* | vax-*-linux-uclibc*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxlinux.h"'
- ;;
-diff -ur binutils-2.15.94.0.2.orig/binutils/configure binutils-2.15.94.0.2/binutils/configure
---- binutils-2.15.94.0.2.orig/binutils/configure 2004-12-22 15:00:57.351004296 -0500
-+++ binutils-2.15.94.0.2/binutils/configure 2004-12-22 15:01:19.002712736 -0500
-@@ -1575,6 +1575,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -ur binutils-2.15.94.0.2.orig/configure binutils-2.15.94.0.2/configure
---- binutils-2.15.94.0.2.orig/configure 2004-12-22 15:00:57.321008856 -0500
-+++ binutils-2.15.94.0.2/configure 2004-12-22 15:01:19.007711976 -0500
-@@ -1352,6 +1352,18 @@
- i[3456789]86-*-coff | i[3456789]86-*-elf)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
-+ i[3456789]86-*-linux-uclibc*)
-+ # This section makes it possible to build newlib natively on linux.
-+ # If we are using a cross compiler then don't configure newlib.
-+ if test x${is_cross_compiler} != xno ; then
-+ noconfigdirs="$noconfigdirs target-newlib"
-+ fi
-+ noconfigdirs="$noconfigdirs target-libgloss"
-+ # If we are not using a cross compiler, do configure newlib.
-+ # Note however, that newlib will only be configured in this situation
-+ # if the --with-newlib option has been given, because otherwise
-+ # 'target-newlib' will appear in skipdirs.
-+ ;;
- i[3456789]86-*-linux*)
- # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
- # not build java stuff by default.
-diff -ur binutils-2.15.94.0.2.orig/configure.in binutils-2.15.94.0.2/configure.in
---- binutils-2.15.94.0.2.orig/configure.in 2004-12-22 15:00:57.321008856 -0500
-+++ binutils-2.15.94.0.2/configure.in 2004-12-22 15:01:19.010711520 -0500
-@@ -561,6 +561,18 @@
- i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
- noconfigdirs="$noconfigdirs ${libgcj}"
- ;;
-+ i[[3456789]]86-*-linux-uclibc*)
-+ # This section makes it possible to build newlib natively on linux.
-+ # If we are using a cross compiler then don't configure newlib.
-+ if test x${is_cross_compiler} != xno ; then
-+ noconfigdirs="$noconfigdirs target-newlib"
-+ fi
-+ noconfigdirs="$noconfigdirs target-libgloss"
-+ # If we are not using a cross compiler, do configure newlib.
-+ # Note however, that newlib will only be configured in this situation
-+ # if the --with-newlib option has been given, because otherwise
-+ # 'target-newlib' will appear in skipdirs.
-+ ;;
- i[[3456789]]86-*-linux*)
- # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
- # not build java stuff by default.
-diff -ur binutils-2.15.94.0.2.orig/gas/configure binutils-2.15.94.0.2/gas/configure
---- binutils-2.15.94.0.2.orig/gas/configure 2004-12-22 15:00:57.461987424 -0500
-+++ binutils-2.15.94.0.2/gas/configure 2004-12-22 15:01:19.019710152 -0500
-@@ -3420,6 +3420,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -4256,6 +4261,7 @@
- alpha*-*-osf*) fmt=ecoff ;;
- alpha*-*-linuxecoff*) fmt=ecoff ;;
- alpha*-*-linux-gnu*) fmt=elf em=linux ;;
-+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
- alpha*-*-netbsd*) fmt=elf em=nbsd ;;
- alpha*-*-openbsd*) fmt=elf em=obsd ;;
-
-@@ -4272,6 +4278,7 @@
- arm-*-linux*aout*) fmt=aout em=linux ;;
- arm*-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;;
- arm*-*-linux-gnu*) fmt=elf em=linux ;;
-+ arm*-*-linux-uclibc*) fmt=elf em=linux ;;
- arm*-*-uclinux*) fmt=elf em=linux ;;
- arm-*-netbsdelf*) fmt=elf em=nbsd ;;
- arm-*-*n*bsd*) fmt=aout em=nbsd ;;
-@@ -4285,6 +4292,7 @@
-
- cris-*-linux-gnu* | crisv32-*-linux-gnu*)
- fmt=multi bfd_gas=yes em=linux ;;
-+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
- cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
-
- crx-*-elf*) fmt=elf ;;
-@@ -4344,7 +4352,9 @@
- i386-*-linux*oldld) fmt=aout em=linux ;;
- i386-*-linux*coff*) fmt=coff em=linux ;;
- i386-*-linux-gnu*) fmt=elf em=linux ;;
-+ i386-*-linux-uclibc*) fmt=elf em=linux ;;
- x86_64-*-linux-gnu*) fmt=elf em=linux ;;
-+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
- i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
- i386-*-sysv[45]*) fmt=elf ;;
- i386-*-solaris*) fmt=elf ;;
-@@ -4404,6 +4414,7 @@
- ia64-*-elf*) fmt=elf ;;
- ia64-*-aix*) fmt=elf em=ia64aix ;;
- ia64-*-linux-gnu*) fmt=elf em=linux ;;
-+ ia64-*-linux-uclibc*) fmt=elf em=linux ;;
- ia64-*-hpux*) fmt=elf em=hpux ;;
- ia64-*-netbsd*) fmt=elf em=nbsd ;;
-
-@@ -4431,6 +4442,7 @@
- m68k-*-hpux*) fmt=hp300 em=hp300 ;;
- m68k-*-linux*aout*) fmt=aout em=linux ;;
- m68k-*-linux-gnu*) fmt=elf em=linux ;;
-+ m68k-*-linux-uclibc*) fmt=elf em=linux ;;
- m68k-*-uclinux*) fmt=elf ;;
- m68k-*-gnu*) fmt=elf ;;
- m68k-*-lynxos*) fmt=coff em=lynx ;;
-@@ -4505,6 +4517,7 @@
- ppc-*-beos*) fmt=coff ;;
- ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
- ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
-+ ppc-*-linux-uclibc* | \
- ppc-*-linux-gnu*) fmt=elf em=linux
- case "$endian" in
- big) ;;
-@@ -4532,7 +4545,9 @@
- ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
-
- s390x-*-linux-gnu*) fmt=elf em=linux ;;
-+ s390x-*-linux-uclibc*) fmt=elf em=linux ;;
- s390-*-linux-gnu*) fmt=elf em=linux ;;
-+ s390-*-linux-uclibc*) fmt=elf em=linux ;;
- s390-*-tpf*) fmt=elf ;;
-
- sh*-*-linux*) fmt=elf em=linux
-@@ -4568,6 +4583,7 @@
- sparc-*-coff) fmt=coff ;;
- sparc-*-linux*aout*) fmt=aout em=linux ;;
- sparc-*-linux-gnu*) fmt=elf em=linux ;;
-+ sparc-*-linux-uclibc*) fmt=elf em=linux ;;
- sparc-*-lynxos*) fmt=coff em=lynx ;;
- sparc-fujitsu-none) fmt=aout ;;
- sparc-*-elf) fmt=elf ;;
-diff -ur binutils-2.15.94.0.2.orig/gas/configure.in binutils-2.15.94.0.2/gas/configure.in
---- binutils-2.15.94.0.2.orig/gas/configure.in 2004-12-22 15:00:57.461987424 -0500
-+++ binutils-2.15.94.0.2/gas/configure.in 2004-12-22 15:01:19.022709696 -0500
-@@ -202,6 +202,7 @@
- alpha*-*-osf*) fmt=ecoff ;;
- alpha*-*-linuxecoff*) fmt=ecoff ;;
- alpha*-*-linux-gnu*) fmt=elf em=linux ;;
-+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
- alpha*-*-netbsd*) fmt=elf em=nbsd ;;
- alpha*-*-openbsd*) fmt=elf em=obsd ;;
-
-@@ -218,6 +219,7 @@
- arm-*-linux*aout*) fmt=aout em=linux ;;
- arm*-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;;
- arm*-*-linux-gnu*) fmt=elf em=linux ;;
-+ arm*-*-linux-uclibc*) fmt=elf em=linux ;;
- arm*-*-uclinux*) fmt=elf em=linux ;;
- arm-*-netbsdelf*) fmt=elf em=nbsd ;;
- arm-*-*n*bsd*) fmt=aout em=nbsd ;;
-@@ -231,6 +233,7 @@
-
- cris-*-linux-gnu* | crisv32-*-linux-gnu*)
- fmt=multi bfd_gas=yes em=linux ;;
-+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
- cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
-
- crx-*-elf*) fmt=elf ;;
-@@ -290,7 +293,9 @@
- i386-*-linux*oldld) fmt=aout em=linux ;;
- i386-*-linux*coff*) fmt=coff em=linux ;;
- i386-*-linux-gnu*) fmt=elf em=linux ;;
-+ i386-*-linux-uclibc*) fmt=elf em=linux ;;
- x86_64-*-linux-gnu*) fmt=elf em=linux ;;
-+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
- i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
- changequote(,)dnl
- i386-*-sysv[45]*) fmt=elf ;;
-@@ -343,6 +348,7 @@
- ia64-*-elf*) fmt=elf ;;
- ia64-*-aix*) fmt=elf em=ia64aix ;;
- ia64-*-linux-gnu*) fmt=elf em=linux ;;
-+ ia64-*-linux-uclibc*) fmt=elf em=linux ;;
- ia64-*-hpux*) fmt=elf em=hpux ;;
- ia64-*-netbsd*) fmt=elf em=nbsd ;;
-
-@@ -370,6 +376,7 @@
- m68k-*-hpux*) fmt=hp300 em=hp300 ;;
- m68k-*-linux*aout*) fmt=aout em=linux ;;
- m68k-*-linux-gnu*) fmt=elf em=linux ;;
-+ m68k-*-linux-uclibc*) fmt=elf em=linux ;;
- m68k-*-uclinux*) fmt=elf ;;
- m68k-*-gnu*) fmt=elf ;;
- m68k-*-lynxos*) fmt=coff em=lynx ;;
-@@ -441,6 +448,7 @@
- ppc-*-beos*) fmt=coff ;;
- ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
- ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
-+ ppc-*-linux-uclibc* | \
- ppc-*-linux-gnu*) fmt=elf em=linux
- case "$endian" in
- big) ;;
-@@ -461,7 +469,9 @@
- ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
-
- s390x-*-linux-gnu*) fmt=elf em=linux ;;
-+ s390x-*-linux-uclibc*) fmt=elf em=linux ;;
- s390-*-linux-gnu*) fmt=elf em=linux ;;
-+ s390-*-linux-uclibc*) fmt=elf em=linux ;;
- s390-*-tpf*) fmt=elf ;;
-
- sh*-*-linux*) fmt=elf em=linux
-@@ -493,6 +503,7 @@
- sparc-*-coff) fmt=coff ;;
- sparc-*-linux*aout*) fmt=aout em=linux ;;
- sparc-*-linux-gnu*) fmt=elf em=linux ;;
-+ sparc-*-linux-uclibc*) fmt=elf em=linux ;;
- sparc-*-lynxos*) fmt=coff em=lynx ;;
- sparc-fujitsu-none) fmt=aout ;;
- sparc-*-elf) fmt=elf ;;
-diff -ur binutils-2.15.94.0.2.orig/gprof/configure binutils-2.15.94.0.2/gprof/configure
---- binutils-2.15.94.0.2.orig/gprof/configure 2004-12-22 15:00:57.949913248 -0500
-+++ binutils-2.15.94.0.2/gprof/configure 2004-12-22 15:01:19.030708480 -0500
-@@ -3418,6 +3418,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -ur binutils-2.15.94.0.2.orig/ld/configure binutils-2.15.94.0.2/ld/configure
---- binutils-2.15.94.0.2.orig/ld/configure 2004-12-22 15:00:58.032900632 -0500
-+++ binutils-2.15.94.0.2/ld/configure 2004-12-22 15:01:19.035707720 -0500
-@@ -1579,6 +1579,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -ur binutils-2.15.94.0.2.orig/ld/configure.tgt binutils-2.15.94.0.2/ld/configure.tgt
---- binutils-2.15.94.0.2.orig/ld/configure.tgt 2004-12-22 15:00:58.033900480 -0500
-+++ binutils-2.15.94.0.2/ld/configure.tgt 2004-12-22 15:01:19.036707568 -0500
-@@ -32,6 +32,7 @@
- targ_extra_libpath=$targ_extra_emuls ;;
- cris-*-linux-gnu* | cris-*-linux-gnu*)
- targ_emul=crislinux ;;
-+cris-*-linux-uclibc*) targ_emul=crislinux ;;
- cris-*-* | crisv32-*-*) targ_emul=criself
- targ_extra_emuls="crisaout crislinux"
- targ_extra_libpath=$targ_extra_emuls ;;
-@@ -62,14 +63,16 @@
- tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
- tdir_sun4=sparc-sun-sunos4
- ;;
--sparc64-*-linux-gnu*) targ_emul=elf64_sparc
-+sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \
-+ targ_emul=elf64_sparc
- targ_extra_emuls="elf32_sparc sparclinux sun4"
- targ_extra_libpath=elf32_sparc
- tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
- tdir_sparclinux=${tdir_elf32_sparc}aout
- tdir_sun4=sparc-sun-sunos4
- ;;
--sparc*-*-linux-gnu*) targ_emul=elf32_sparc
-+sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \
-+ targ_emul=elf32_sparc
- targ_extra_emuls="sparclinux elf64_sparc sun4"
- targ_extra_libpath=elf64_sparc
- tdir_sparclinux=${targ_alias}aout
-@@ -121,7 +124,9 @@
- m32r*le-*-elf*) targ_emul=m32rlelf ;;
- m32r*-*-elf*) targ_emul=m32relf ;;
- m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;;
-+m32r*le-*-linux-uclibc*) targ_emul=m32rlelf_linux ;;
- m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;;
-+m32r*-*-linux-uclibc*) targ_emul=m32relf_linux ;;
- m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf
- targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
- m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf
-@@ -132,7 +137,7 @@
- m68*-apple-aux*) targ_emul=m68kaux ;;
- maxq-*-coff) targ_emul=maxqcoff;;
- *-tandem-none) targ_emul=st2000 ;;
--i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
-+i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
- i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
- i[3-7]86-*-vsta) targ_emul=vsta ;;
- i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
-@@ -156,14 +161,16 @@
- tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
- ;;
- i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
--i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
-+i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \
-+ targ_emul=elf_i386
- targ_extra_emuls=i386linux
- if test x${want64} = xtrue; then
- targ_extra_emuls="$targ_extra_emuls elf_x86_64"
- fi
- tdir_i386linux=${targ_alias}aout
- ;;
--x86_64-*-linux-gnu*) targ_emul=elf_x86_64
-+x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \
-+ targ_emul=elf_x86_64
- targ_extra_emuls="elf_i386 i386linux"
- targ_extra_libpath=elf_i386
- tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
-@@ -263,11 +270,14 @@
- arm-*-kaos*) targ_emul=armelf ;;
- arm9e-*-elf) targ_emul=armelf ;;
- arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
-+arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
- arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;;
- arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
-+arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
- arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
- arm*-*-conix*) targ_emul=armelf ;;
--thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
-+thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) \
-+ targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
- strongarm-*-coff) targ_emul=armcoff ;;
- strongarm-*-elf) targ_emul=armelf ;;
- strongarm-*-kaos*) targ_emul=armelf ;;
-@@ -371,7 +381,8 @@
- targ_extra_emuls=m68kelf
- tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
- ;;
--m68k-*-linux-gnu*) targ_emul=m68kelf
-+m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
-+ targ_emul=m68kelf
- targ_extra_emuls=m68klinux
- tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
- ;;
-@@ -388,9 +399,9 @@
- m68*-*-psos*) targ_emul=m68kpsos ;;
- m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
- m68*-*-rtems*) targ_emul=m68kelf ;;
--hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
-+hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;;
- hppa*64*-*) targ_emul=elf64hppa ;;
--hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
-+hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;;
- hppa*-*-*elf*) targ_emul=hppaelf ;;
- hppa*-*-lites*) targ_emul=hppaelf ;;
- hppa*-*-netbsd*) targ_emul=hppanbsd ;;
-@@ -403,6 +414,7 @@
- targ_emul=vaxnbsd
- targ_extra_emuls=elf32vax ;;
- vax-*-linux-gnu*) targ_emul=elf32vax ;;
-+vax-*-linux-uclibc*) targ_emul=elf32vax ;;
- mips*-*-pe) targ_emul=mipspe ;
- targ_extra_ofiles="deffilep.o pe-dll.o" ;;
- mips*-dec-ultrix*) targ_emul=mipslit ;;
-@@ -436,16 +448,16 @@
- mips*-*-vxworks*) targ_emul=elf32ebmip
- targ_extra_emuls="elf32elmip" ;;
- mips*-*-windiss) targ_emul=elf32mipswindiss ;;
--mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
-+mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*) targ_emul=elf32ltsmipn32
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
- ;;
--mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
-+mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*) targ_emul=elf32btsmipn32
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
- ;;
--mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
-+mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*) targ_emul=elf32ltsmip
- targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
- ;;
--mips*-*-linux-gnu*) targ_emul=elf32btsmip
-+mips*-*-linux-gnu* | mips*-*-linux-uclibc*) targ_emul=elf32btsmip
- targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
- ;;
- mips*-*-lnews*) targ_emul=mipslnews ;;
-@@ -468,6 +480,10 @@
- alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
- tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
- ;;
-+alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha
-+ # The following needs to be checked...
-+ tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
-+ ;;
- alpha*-*-osf*) targ_emul=alpha ;;
- alpha*-*-gnu*) targ_emul=elf64alpha ;;
- alpha*-*-netware*) targ_emul=alpha ;;
-diff -ur binutils-2.15.94.0.2.orig/ld/emultempl/elf32.em binutils-2.15.94.0.2/ld/emultempl/elf32.em
---- binutils-2.15.94.0.2.orig/ld/emultempl/elf32.em 2004-12-22 15:00:58.044898808 -0500
-+++ binutils-2.15.94.0.2/ld/emultempl/elf32.em 2004-12-22 15:01:19.038707264 -0500
-@@ -65,7 +65,7 @@
-
- if [ "x${USE_LIBPATH}" = xyes ] ; then
- case ${target} in
-- *-*-linux-gnu*)
-+ *-*-linux-gnu* | *-*-linux-uclibc*)
- cat >>e${EMULATION_NAME}.c <<EOF
- #include <glob.h>
- EOF
-@@ -337,7 +337,7 @@
-
- EOF
- case ${target} in
-- *-*-linux-gnu*)
-+ *-*-linux-gnu* | *-*-linux-uclibc*)
- cat >>e${EMULATION_NAME}.c <<EOF
- {
- struct bfd_link_needed_list *l;
-@@ -510,7 +510,7 @@
-
- EOF
- case ${target} in
-- *-*-linux-gnu*)
-+ *-*-linux-gnu* | *-*-linux-uclibc*)
- cat >>e${EMULATION_NAME}.c <<EOF
- /* For a native linker, check the file /etc/ld.so.conf for directories
- in which we may find shared libraries. /etc/ld.so.conf is really
-@@ -894,7 +894,7 @@
- EOF
- if [ "x${USE_LIBPATH}" = xyes ] ; then
- case ${target} in
-- *-*-linux-gnu*)
-+ *-*-linux-gnu* | *-*-linux-uclibc*)
- cat >>e${EMULATION_NAME}.c <<EOF
- if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
- break;
-diff -ur binutils-2.15.94.0.2.orig/libiberty/configure binutils-2.15.94.0.2/libiberty/configure
---- binutils-2.15.94.0.2.orig/libiberty/configure 2004-12-22 15:00:59.263713520 -0500
-+++ binutils-2.15.94.0.2/libiberty/configure 2004-12-22 15:03:55.744884304 -0500
-@@ -3682,6 +3682,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -ur binutils-2.15.94.0.2.orig/libtool.m4 binutils-2.15.94.0.2/libtool.m4
---- binutils-2.15.94.0.2.orig/libtool.m4 2004-12-22 15:00:57.329007640 -0500
-+++ binutils-2.15.94.0.2/libtool.m4 2004-12-22 15:01:19.039707112 -0500
-@@ -645,6 +645,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -ur binutils-2.15.94.0.2.orig/ltconfig binutils-2.15.94.0.2/ltconfig
---- binutils-2.15.94.0.2.orig/ltconfig 2004-12-22 15:00:57.330007488 -0500
-+++ binutils-2.15.94.0.2/ltconfig 2004-12-22 15:01:19.041706808 -0500
-@@ -603,6 +603,7 @@
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
- linux-gnu*) ;;
-+linux-uclibc*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-
-@@ -1270,6 +1271,24 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ # Note: copied from linux-gnu, and may not be appropriate.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
-diff -ur binutils-2.15.94.0.2.orig/opcodes/configure binutils-2.15.94.0.2/opcodes/configure
---- binutils-2.15.94.0.2.orig/opcodes/configure 2004-12-22 15:00:59.334702728 -0500
-+++ binutils-2.15.94.0.2/opcodes/configure 2004-12-22 15:01:19.053704984 -0500
-@@ -3587,6 +3587,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
diff --git a/openwrt/toolchain/binutils/2.15.94.0.2/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.15.94.0.2/300-001_ld_makefile_patch.patch
deleted file mode 100644
index b25d5b7..0000000
--- a/openwrt/toolchain/binutils/2.15.94.0.2/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am binutils-2.14.90.0.6/ld/Makefile.am
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am 2003-08-21 16:28:48.000000000 +0100
-+++ binutils-2.14.90.0.6/ld/Makefile.am 2003-09-10 23:12:09.000000000 +0100
-@@ -19,7 +19,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in binutils-2.14.90.0.6/ld/Makefile.in
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in 2003-08-21 16:28:48.000000000 +0100
-+++ binutils-2.14.90.0.6/ld/Makefile.in 2003-09-10 23:12:09.000000000 +0100
-@@ -128,7 +128,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/openwrt/toolchain/binutils/2.15.94.0.2/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.15.94.0.2/300-006_better_file_error.patch
deleted file mode 100644
index f337611..0000000
--- a/openwrt/toolchain/binutils/2.15.94.0.2/300-006_better_file_error.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh -e
-## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Specify which filename is causing an error if the filename is a
-## DP: directory. (#45832)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
-+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
-@@ -150,6 +150,13 @@
- {
- bfd *nbfd;
- const bfd_target *target_vec;
-+ struct stat s;
-+
-+ if (stat (filename, &s) == 0)
-+ if (S_ISDIR(s.st_mode)) {
-+ bfd_set_error (bfd_error_file_not_recognized);
-+ return NULL;
-+ }
-
- nbfd = _bfd_new_bfd ();
- if (nbfd == NULL)
diff --git a/openwrt/toolchain/binutils/2.15.94.0.2/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.15.94.0.2/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/openwrt/toolchain/binutils/2.15.94.0.2/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/openwrt/toolchain/binutils/2.15.94.0.2/300-120_mips_xgot_multigot_workaround.patch b/openwrt/toolchain/binutils/2.15.94.0.2/300-120_mips_xgot_multigot_workaround.patch
deleted file mode 100644
index ae2033d..0000000
--- a/openwrt/toolchain/binutils/2.15.94.0.2/300-120_mips_xgot_multigot_workaround.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-#! /bin/sh -e
-## 120_mips_xgot_multigot_workaround.dpatch
-##
-## DP: Description: Make multigot/xgot handling mutually exclusive.
-## DP: Author: Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
-## DP: Upstream status: Not submitted
-## DP: Date: 2004-09-17
-
-if [ $# -lt 1 ]; then
- echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
-
-case "$1" in
- -patch) patch -p1 ${patch_opts} < $0;;
- -unpatch) patch -R -p1 ${patch_opts} < $0;;
- *)
- echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.15/bfd/elfxx-mips.c binutils-2.15/bfd/elfxx-mips.c
---- /home/james/debian/packages/binutils/binutils-2.15/bfd/elfxx-mips.c 2004-09-23 22:41:37.156466673 +0100
-+++ binutils-2.15/bfd/elfxx-mips.c 2004-09-23 22:42:15.998362861 +0100
-@@ -5883,6 +5883,8 @@
- s->size += i * MIPS_ELF_GOT_SIZE (output_bfd);
-
- if (s->size > MIPS_ELF_GOT_MAX_SIZE (output_bfd)
-+ && g->global_gotno <= (MIPS_ELF_GOT_MAX_SIZE (output_bfd)
-+ / MIPS_ELF_GOT_SIZE (output_bfd))
- && ! mips_elf_multi_got (output_bfd, info, g, s, local_gotno))
- return FALSE;
-
diff --git a/openwrt/toolchain/binutils/2.15.94.0.2/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.15.94.0.2/702-binutils-skip-comments.patch
deleted file mode 100644
index 804a17e..0000000
--- a/openwrt/toolchain/binutils/2.15.94.0.2/702-binutils-skip-comments.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -1,6 +1,6 @@
- /* read.c - read a source file -
- Copyright 1986, 1987, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
-- 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+ 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/openwrt/toolchain/binutils/2.16.1/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.1/100-uclibc-conf.patch
deleted file mode 100644
index 7c0a726..0000000
--- a/openwrt/toolchain/binutils/2.16.1/100-uclibc-conf.patch
+++ /dev/null
@@ -1,586 +0,0 @@
-diff -ur binutils-2.15.97.orig/bfd/config.bfd binutils-2.15.97/bfd/config.bfd
---- binutils-2.15.97.orig/bfd/config.bfd 2005-04-29 20:48:14.000000000 -0400
-+++ binutils-2.15.97/bfd/config.bfd 2005-04-29 20:53:50.000000000 -0400
-@@ -140,7 +140,7 @@
- targ_defvec=ecoffalpha_little_vec
- targ_selvecs=bfd_elf64_alpha_vec
- ;;
-- alpha*-*-linux-gnu* | alpha*-*-elf*)
-+ alpha*-*-linux-* | alpha*-*-elf*)
- targ_defvec=bfd_elf64_alpha_vec
- targ_selvecs=ecoffalpha_little_vec
- ;;
-@@ -150,7 +150,7 @@
- alpha*-*-*)
- targ_defvec=ecoffalpha_little_vec
- ;;
-- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
-+ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
- targ_defvec=bfd_elf64_ia64_little_vec
- targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
- ;;
-@@ -227,7 +227,7 @@
- targ_defvec=bfd_elf32_littlearm_vec
- targ_selvecs=bfd_elf32_bigarm_vec
- ;;
-- armeb-*-elf | arm*b-*-linux-gnu*)
-+ armeb-*-elf | arm*b-*-linux-*)
- targ_defvec=bfd_elf32_bigarm_vec
- targ_selvecs=bfd_elf32_littlearm_vec
- ;;
-@@ -235,7 +235,7 @@
- targ_defvec=bfd_elf32_littlearm_vec
- targ_selvecs=bfd_elf32_bigarm_vec
- ;;
-- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
-+ arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
- arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
- arm*-*-eabi* )
- targ_defvec=bfd_elf32_littlearm_vec
-@@ -385,7 +385,7 @@
- ;;
-
- #ifdef BFD64
-- hppa*64*-*-linux-gnu*)
-+ hppa*64*-*-linux-*)
- targ_defvec=bfd_elf64_hppa_linux_vec
- targ_selvecs=bfd_elf64_hppa_vec
- ;;
-@@ -396,7 +396,7 @@
- ;;
- #endif
-
-- hppa*-*-linux-gnu*)
-+ hppa*-*-linux-*)
- targ_defvec=bfd_elf32_hppa_linux_vec
- targ_selvecs=bfd_elf32_hppa_vec
- ;;
-@@ -529,7 +529,7 @@
- targ_selvecs=bfd_elf32_i386_vec
- targ_underscore=yes
- ;;
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-*)
- targ_defvec=bfd_elf32_i386_vec
- targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
- targ64_selvecs=bfd_elf64_x86_64_vec
-@@ -543,7 +543,7 @@
- targ_defvec=bfd_elf64_x86_64_vec
- targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
- ;;
-- x86_64-*-linux-gnu*)
-+ x86_64-*-linux-*)
- targ_defvec=bfd_elf64_x86_64_vec
- targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
- ;;
-@@ -719,7 +719,7 @@
- targ_selvecs=bfd_elf32_m68k_vec
- targ_underscore=yes
- ;;
-- m68*-*-linux-gnu*)
-+ m68*-*-linux-*)
- targ_defvec=bfd_elf32_m68k_vec
- targ_selvecs=m68klinux_vec
- ;;
-@@ -1005,7 +1005,7 @@
- ;;
- #endif
- powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
-- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
-+ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
- powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
- targ_defvec=bfd_elf32_powerpc_vec
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
-@@ -1042,7 +1042,7 @@
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
- ;;
- powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
-- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
-+ powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks* |\
- powerpcle-*-rtems*)
- targ_defvec=bfd_elf32_powerpcle_vec
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
-@@ -1213,7 +1213,7 @@
- targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
- targ_underscore=yes
- ;;
-- sparc-*-linux-gnu*)
-+ sparc-*-linux-*)
- targ_defvec=bfd_elf32_sparc_vec
- targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
- ;;
-@@ -1260,7 +1260,7 @@
- targ_defvec=sunos_big_vec
- targ_underscore=yes
- ;;
-- sparc64-*-linux-gnu*)
-+ sparc64-*-linux-*)
- targ_defvec=bfd_elf64_sparc_vec
- targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
- ;;
-@@ -1329,7 +1329,7 @@
- targ_underscore=yes
- ;;
-
-- vax-*-linux-gnu*)
-+ vax-*-linux-*)
- targ_defvec=bfd_elf32_vax_vec
- ;;
-
-diff -ur binutils-2.15.97.orig/bfd/configure binutils-2.15.97/bfd/configure
---- binutils-2.15.97.orig/bfd/configure 2005-04-29 20:48:14.000000000 -0400
-+++ binutils-2.15.97/bfd/configure 2005-04-29 20:53:50.000000000 -0400
-@@ -9918,7 +9918,7 @@
- alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
- COREFILE=''
- ;;
-- alpha*-*-linux-gnu*)
-+ alpha*-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/alphalinux.h"'
- ;;
-@@ -9982,7 +9982,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386mach3.h"'
- ;;
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386linux.h"'
- ;;
-@@ -10020,7 +10020,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/hp300bsd.h"'
- ;;
-- m68*-*-linux-gnu*)
-+ m68*-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/m68klinux.h"'
- ;;
-@@ -10154,7 +10154,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxult2.h"'
- ;;
-- vax-*-linux-gnu*)
-+ vax-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxlinux.h"'
- ;;
-diff -ur binutils-2.15.97.orig/bfd/configure.in binutils-2.15.97/bfd/configure.in
---- binutils-2.15.97.orig/bfd/configure.in 2005-04-29 20:48:14.000000000 -0400
-+++ binutils-2.15.97/bfd/configure.in 2005-04-29 20:53:50.000000000 -0400
-@@ -163,7 +163,7 @@
- alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
- COREFILE=''
- ;;
-- alpha*-*-linux-gnu*)
-+ alpha*-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/alphalinux.h"'
- ;;
-@@ -248,7 +248,7 @@
- TRAD_HEADER='"hosts/i386mach3.h"'
- ;;
- changequote(,)dnl
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-*)
- changequote([,])dnl
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386linux.h"'
-@@ -289,7 +289,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/hp300bsd.h"'
- ;;
-- m68*-*-linux-gnu*)
-+ m68*-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/m68klinux.h"'
- ;;
-@@ -375,7 +375,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxult2.h"'
- ;;
-- vax-*-linux-gnu*)
-+ vax-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxlinux.h"'
- ;;
-diff -ur binutils-2.15.97.orig/gas/configure binutils-2.15.97/gas/configure
---- binutils-2.15.97.orig/gas/configure 2005-04-29 20:48:14.000000000 -0400
-+++ binutils-2.15.97/gas/configure 2005-04-29 20:53:50.000000000 -0400
-@@ -4462,7 +4462,7 @@
- _ACEOF
-
- ;;
-- ppc-*-linux-gnu*)
-+ ppc-*-linux-*)
- case "$endian" in
- big) ;;
- *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5
-diff -ur binutils-2.15.97.orig/gas/configure.in binutils-2.15.97/gas/configure.in
---- binutils-2.15.97.orig/gas/configure.in 2005-04-29 20:48:14.000000000 -0400
-+++ binutils-2.15.97/gas/configure.in 2005-04-29 20:53:50.000000000 -0400
-@@ -161,7 +161,7 @@
- AC_DEFINE(AIX_WEAK_SUPPORT, 1,
- [Define if using AIX 5.2 value for C_WEAKEXT.])
- ;;
-- ppc-*-linux-gnu*)
-+ ppc-*-linux-*)
- case "$endian" in
- big) ;;
- *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
-diff -ur binutils-2.15.97.orig/gas/configure.tgt binutils-2.15.97/gas/configure.tgt
---- binutils-2.15.97.orig/gas/configure.tgt 2005-04-29 20:48:14.000000000 -0400
-+++ binutils-2.15.97/gas/configure.tgt 2005-04-29 20:53:50.000000000 -0400
-@@ -100,7 +100,7 @@
- alpha-*-*vms*) fmt=evax ;;
- alpha-*-osf*) fmt=ecoff ;;
- alpha-*-linuxecoff*) fmt=ecoff ;;
-- alpha-*-linux-gnu*) fmt=elf em=linux ;;
-+ alpha-*-linux-*) fmt=elf em=linux ;;
- alpha-*-netbsd*) fmt=elf em=nbsd ;;
- alpha-*-openbsd*) fmt=elf em=obsd ;;
-
-@@ -116,7 +116,7 @@
- arm-*-conix*) fmt=elf ;;
- arm-*-linux*aout*) fmt=aout em=linux ;;
- arm-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;;
-- arm-*-linux-gnu*) fmt=elf em=linux ;;
-+ arm-*-linux-*) fmt=elf em=linux ;;
- arm-*-uclinux*) fmt=elf em=linux ;;
- arm-*-netbsdelf*) fmt=elf em=nbsd ;;
- arm-*-*n*bsd*) fmt=aout em=nbsd ;;
-@@ -128,7 +128,7 @@
-
- avr-*-*) fmt=elf ;;
-
-- cris-*-linux-gnu* | crisv32-*-linux-gnu*)
-+ cris-*-linux-* | crisv32-*-linux-*)
- fmt=multi bfd_gas=yes em=linux ;;
- cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
-
-@@ -192,7 +192,7 @@
- i386-*-linux*aout*) fmt=aout em=linux ;;
- i386-*-linux*oldld) fmt=aout em=linux ;;
- i386-*-linux*coff*) fmt=coff em=linux ;;
-- i386-*-linux-gnu*) fmt=elf em=linux ;;
-+ i386-*-linux-*) fmt=elf em=linux ;;
- i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
- i386-*-sysv[45]*) fmt=elf ;;
- i386-*-solaris*) fmt=elf ;;
-@@ -238,7 +238,7 @@
-
- ia64-*-elf*) fmt=elf ;;
- ia64-*-aix*) fmt=elf em=ia64aix ;;
-- ia64-*-linux-gnu*) fmt=elf em=linux ;;
-+ ia64-*-linux-*) fmt=elf em=linux ;;
- ia64-*-hpux*) fmt=elf em=hpux ;;
- ia64-*-netbsd*) fmt=elf em=nbsd ;;
-
-@@ -265,7 +265,7 @@
- m68k-*-rtems*) fmt=elf ;;
- m68k-*-hpux*) fmt=hp300 em=hp300 ;;
- m68k-*-linux*aout*) fmt=aout em=linux ;;
-- m68k-*-linux-gnu*) fmt=elf em=linux ;;
-+ m68k-*-linux-*) fmt=elf em=linux ;;
- m68k-*-uclinux*) fmt=elf ;;
- m68k-*-gnu*) fmt=elf ;;
- m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
-@@ -332,7 +332,7 @@
- ppc-*-beos*) fmt=coff ;;
- ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
- ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
-- ppc-*-linux-gnu*) fmt=elf em=linux ;;
-+ ppc-*-linux-*) fmt=elf em=linux ;;
- ppc-*-solaris*) fmt=elf ;;
- ppc-*-rtems*) fmt=elf ;;
- ppc-*-macos*) fmt=coff em=macos ;;
-@@ -340,7 +340,7 @@
- ppc-*-kaos*) fmt=elf ;;
- ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
-
-- s390-*-linux-gnu*) fmt=elf em=linux ;;
-+ s390-*-linux-*) fmt=elf em=linux ;;
- s390-*-tpf*) fmt=elf ;;
-
- sh*-*-linux*) fmt=elf em=linux
-@@ -369,7 +369,7 @@
- sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;;
- sparc-*-coff) fmt=coff ;;
- sparc-*-linux*aout*) fmt=aout em=linux ;;
-- sparc-*-linux-gnu*) fmt=elf em=linux ;;
-+ sparc-*-linux-*) fmt=elf em=linux ;;
- sparc-fujitsu-none) fmt=aout ;;
- sparc-*-elf) fmt=elf ;;
- sparc-*-sysv4*) fmt=elf ;;
-@@ -398,7 +398,7 @@
- vax-*-netbsdelf*) fmt=elf em=nbsd ;;
- vax-*-netbsd*) fmt=aout em=nbsd ;;
- vax-*-bsd* | vax-*-ultrix*) fmt=aout ;;
-- vax-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
-+ vax-*-linux-*) fmt=elf em=linux bfd_gas=yes ;;
-
- w65-*-*) fmt=coff ;;
-
-diff -ur binutils-2.15.97.orig/ld/configure.host binutils-2.15.97/ld/configure.host
---- binutils-2.15.97.orig/ld/configure.host 2005-04-29 20:48:15.000000000 -0400
-+++ binutils-2.15.97/ld/configure.host 2005-04-29 20:53:50.000000000 -0400
-@@ -83,7 +83,7 @@
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"`
- ;;
-
--arm*-*-linux-gnu*)
-+arm*-*-linux-*)
- HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"`
- ;;
-
-@@ -141,7 +141,7 @@
- HOSTING_LIBS="$HOSTING_LIBS"' -lcygwin -L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`'
- ;;
-
--ia64-*-linux-gnu*)
-+ia64-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"`
- ;;
-
-@@ -155,11 +155,11 @@
- HOSTING_LIBS='-L/usr/lib32 '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` /usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors'
- ;;
-
--mips*-*-linux-gnu*)
-+mips*-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
- ;;
-
--m68*-*-linux-gnu*)
-+m68*-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
- ;;
-
-@@ -183,19 +183,19 @@
- HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
- ;;
-
--powerpc64*-*-linux-gnu*)
-+powerpc64*-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld64.so.1,"`
- ;;
-
--powerpc*-*-linux-gnu*)
-+powerpc*-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
- ;;
-
--s390x-*-linux-gnu*)
-+s390x-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld64.so.1,"`
- ;;
-
--s390-*-linux-gnu*)
-+s390-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
- ;;
-
-@@ -209,15 +209,15 @@
- HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
- ;;
-
--sparc-*-linux-gnu*)
-+sparc-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld-linux.so.2,"`
- ;;
-
--sparc64-*-linux-gnu*)
-+sparc64-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux.so.2,"`
- ;;
-
--x86_64-*-linux-gnu*)
-+x86_64-*-linux-*)
- HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"`
- ;;
-
-diff -ur binutils-2.15.97.orig/ld/configure.tgt binutils-2.15.97/ld/configure.tgt
---- binutils-2.15.97.orig/ld/configure.tgt 2005-04-29 20:48:15.000000000 -0400
-+++ binutils-2.15.97/ld/configure.tgt 2005-04-29 20:53:50.000000000 -0400
-@@ -30,7 +30,7 @@
- cris-*-*aout*) targ_emul=crisaout
- targ_extra_emuls="criself crislinux"
- targ_extra_libpath=$targ_extra_emuls ;;
--cris-*-linux-gnu* | cris-*-linux-gnu*)
-+cris-*-linux-* | crisv32-*-linux-*)
- targ_emul=crislinux ;;
- cris-*-* | crisv32-*-*) targ_emul=criself
- targ_extra_emuls="crisaout crislinux"
-@@ -62,14 +62,14 @@
- tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
- tdir_sun4=sparc-sun-sunos4
- ;;
--sparc64-*-linux-gnu*) targ_emul=elf64_sparc
-+sparc64-*-linux-*) targ_emul=elf64_sparc
- targ_extra_emuls="elf32_sparc sparclinux sun4"
- targ_extra_libpath=elf32_sparc
- tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
- tdir_sparclinux=${tdir_elf32_sparc}aout
- tdir_sun4=sparc-sun-sunos4
- ;;
--sparc*-*-linux-gnu*) targ_emul=elf32_sparc
-+sparc*-*-linux-*) targ_emul=elf32_sparc
- targ_extra_emuls="sparclinux elf64_sparc sun4"
- targ_extra_libpath=elf64_sparc
- tdir_sparclinux=${targ_alias}aout
-@@ -119,8 +119,8 @@
- ia64-*-aix*) targ_emul=elf64_aix ;;
- m32r*le-*-elf*) targ_emul=m32rlelf ;;
- m32r*-*-elf*) targ_emul=m32relf ;;
--m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;;
--m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;;
-+m32r*le-*-linux-*) targ_emul=m32rlelf_linux ;;
-+m32r*-*-linux-*) targ_emul=m32relf_linux ;;
- m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf
- targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
- m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf
-@@ -131,7 +131,7 @@
- m68*-apple-aux*) targ_emul=m68kaux ;;
- maxq-*-coff) targ_emul=maxqcoff;;
- *-tandem-none) targ_emul=st2000 ;;
--i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
-+i370-*-elf* | i370-*-linux-*) targ_emul=elf32i370 ;;
- i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
- i[3-7]86-*-vsta) targ_emul=vsta ;;
- i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
-@@ -155,14 +155,14 @@
- tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
- ;;
- i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
--i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
-+i[3-7]86-*-linux-*) targ_emul=elf_i386
- targ_extra_emuls=i386linux
- if test x${want64} = xtrue; then
- targ_extra_emuls="$targ_extra_emuls elf_x86_64"
- fi
- tdir_i386linux=${targ_alias}aout
- ;;
--x86_64-*-linux-gnu*) targ_emul=elf_x86_64
-+x86_64-*-linux-*) targ_emul=elf_x86_64
- targ_extra_emuls="elf_i386 i386linux"
- targ_extra_libpath=elf_i386
- tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
-@@ -262,13 +262,13 @@
- arm-*-kaos*) targ_emul=armelf ;;
- arm9e-*-elf) targ_emul=armelf ;;
- arm*b-*-linux-gnueabi) targ_emul=armelfb_linux_eabi ;;
--arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
-+arm*b-*-linux-*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
- arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;;
--arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
-+arm*-*-linux-*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
- arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
- arm-*-vxworks) targ_emul=armelf_vxworks ;;
- arm*-*-conix*) targ_emul=armelf ;;
--thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
-+thumb-*-linux-* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
- strongarm-*-coff) targ_emul=armcoff ;;
- strongarm-*-elf) targ_emul=armelf ;;
- strongarm-*-kaos*) targ_emul=armelf ;;
-@@ -372,7 +372,7 @@
- targ_extra_emuls=m68kelf
- tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
- ;;
--m68k-*-linux-gnu*) targ_emul=m68kelf
-+m68k-*-linux-*) targ_emul=m68kelf
- targ_extra_emuls=m68klinux
- tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
- ;;
-@@ -388,9 +388,9 @@
- m68*-*-psos*) targ_emul=m68kpsos ;;
- m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
- m68*-*-rtems*) targ_emul=m68kelf ;;
--hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
-+hppa*64*-*-linux-*) targ_emul=hppa64linux ;;
- hppa*64*-*) targ_emul=elf64hppa ;;
--hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
-+hppa*-*-linux-*) targ_emul=hppalinux ;;
- hppa*-*-*elf*) targ_emul=hppaelf ;;
- hppa*-*-lites*) targ_emul=hppaelf ;;
- hppa*-*-netbsd*) targ_emul=hppanbsd ;;
-@@ -402,7 +402,7 @@
- vax-*-netbsdaout* | vax-*-netbsd*)
- targ_emul=vaxnbsd
- targ_extra_emuls=elf32vax ;;
--vax-*-linux-gnu*) targ_emul=elf32vax ;;
-+vax-*-linux-*) targ_emul=elf32vax ;;
- mips*-*-pe) targ_emul=mipspe ;
- targ_extra_ofiles="deffilep.o pe-dll.o" ;;
- mips*-dec-ultrix*) targ_emul=mipslit ;;
-@@ -436,18 +436,18 @@
- mips*-*-vxworks*) targ_emul=elf32ebmip
- targ_extra_emuls="elf32elmip" ;;
- mips*-*-windiss) targ_emul=elf32mipswindiss ;;
--mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
-+mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
- targ_extra_libpath="elf32ltsmip elf64ltsmip"
- ;;
--mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
-+mips64*-*-linux-*) targ_emul=elf32btsmipn32
- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
- targ_extra_libpath="elf32btsmip elf64btsmip"
- ;;
--mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
-+mips*el-*-linux-*) targ_emul=elf32ltsmip
- targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
- ;;
--mips*-*-linux-gnu*) targ_emul=elf32btsmip
-+mips*-*-linux-*) targ_emul=elf32btsmip
- targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
- ;;
- mips*-*-lnews*) targ_emul=mipslnews ;;
-@@ -467,7 +467,7 @@
- alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha
- tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'`
- ;;
--alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
-+alpha*-*-linux-*) targ_emul=elf64alpha targ_extra_emuls=alpha
- tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
- ;;
- alpha*-*-osf*) targ_emul=alpha ;;
-diff -ur binutils-2.15.97.orig/ld/emultempl/elf32.em binutils-2.15.97/ld/emultempl/elf32.em
---- binutils-2.15.97.orig/ld/emultempl/elf32.em 2005-04-29 20:48:15.000000000 -0400
-+++ binutils-2.15.97/ld/emultempl/elf32.em 2005-04-29 20:53:50.000000000 -0400
-@@ -65,7 +65,7 @@
-
- if [ "x${USE_LIBPATH}" = xyes ] ; then
- case ${target} in
-- *-*-linux-gnu*)
-+ *-*-linux-*)
- cat >>e${EMULATION_NAME}.c <<EOF
- #ifdef HAVE_GLOB
- #include <glob.h>
-@@ -350,7 +350,7 @@
-
- EOF
- case ${target} in
-- *-*-linux-gnu*)
-+ *-*-linux-*)
- cat >>e${EMULATION_NAME}.c <<EOF
- {
- struct bfd_link_needed_list *l;
-@@ -522,7 +522,7 @@
-
- EOF
- case ${target} in
-- *-*-linux-gnu*)
-+ *-*-linux-*)
- cat >>e${EMULATION_NAME}.c <<EOF
- /* For a native linker, check the file /etc/ld.so.conf for directories
- in which we may find shared libraries. /etc/ld.so.conf is really
-@@ -932,7 +932,7 @@
- EOF
- if [ "x${USE_LIBPATH}" = xyes ] ; then
- case ${target} in
-- *-*-linux-gnu*)
-+ *-*-linux-*)
- cat >>e${EMULATION_NAME}.c <<EOF
- if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
- break;
diff --git a/openwrt/toolchain/binutils/2.16.1/110-uclibc-libtool-conf.patch b/openwrt/toolchain/binutils/2.16.1/110-uclibc-libtool-conf.patch
deleted file mode 100644
index ec38caa..0000000
--- a/openwrt/toolchain/binutils/2.16.1/110-uclibc-libtool-conf.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-diff -urN binutils-2.16.90.0.2-dist/bfd/configure binutils-2.16.90.0.2/bfd/configure
---- binutils-2.16.90.0.2-dist/bfd/configure 2005-04-29 12:50:24.000000000 -0500
-+++ binutils-2.16.90.0.2/bfd/configure 2005-04-30 11:34:59.246377032 -0500
-@@ -3584,6 +3584,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/binutils/configure binutils-2.16.90.0.2/binutils/configure
---- binutils-2.16.90.0.2-dist/binutils/configure 2005-04-29 12:50:26.000000000 -0500
-+++ binutils-2.16.90.0.2/binutils/configure 2005-04-30 11:35:28.900868864 -0500
-@@ -1577,6 +1577,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/configure binutils-2.16.90.0.2/configure
---- binutils-2.16.90.0.2-dist/configure 2005-04-29 12:50:23.000000000 -0500
-+++ binutils-2.16.90.0.2/configure 2005-04-30 11:31:12.525843792 -0500
-@@ -1111,7 +1111,7 @@
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-diff -urN binutils-2.16.90.0.2-dist/configure.in binutils-2.16.90.0.2/configure.in
---- binutils-2.16.90.0.2-dist/configure.in 2005-04-29 12:50:23.000000000 -0500
-+++ binutils-2.16.90.0.2/configure.in 2005-04-30 11:29:51.643139832 -0500
-@@ -328,7 +328,7 @@
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-diff -urN binutils-2.16.90.0.2-dist/gas/configure binutils-2.16.90.0.2/gas/configure
---- binutils-2.16.90.0.2-dist/gas/configure 2005-04-29 12:50:27.000000000 -0500
-+++ binutils-2.16.90.0.2/gas/configure 2005-04-30 11:35:21.097055224 -0500
-@@ -3421,6 +3421,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/gas/testsuite/gas/sh/basic.exp binutils-2.16.90.0.2/gas/testsuite/gas/sh/basic.exp
---- binutils-2.16.90.0.2-dist/gas/testsuite/gas/sh/basic.exp 2005-04-09 14:03:14.000000000 -0500
-+++ binutils-2.16.90.0.2/gas/testsuite/gas/sh/basic.exp 2005-04-30 11:41:57.301822944 -0500
-@@ -20,7 +20,7 @@
-
- # Written by Cygnus Support.
-
--if [istarget "sh*-*-linux-gnu"] {
-+if {[istarget "sh*-*-linux-gnu"] || [istarget "sh*-*-linux-uclibc"]} {
- global ASFLAGS
- set ASFLAGS "$ASFLAGS -big"
- }
-diff -urN binutils-2.16.90.0.2-dist/gprof/configure binutils-2.16.90.0.2/gprof/configure
---- binutils-2.16.90.0.2-dist/gprof/configure 2005-04-29 12:50:29.000000000 -0500
-+++ binutils-2.16.90.0.2/gprof/configure 2005-04-30 11:35:36.880655752 -0500
-@@ -3419,6 +3419,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/ld/configure binutils-2.16.90.0.2/ld/configure
---- binutils-2.16.90.0.2-dist/ld/configure 2005-04-29 12:50:30.000000000 -0500
-+++ binutils-2.16.90.0.2/ld/configure 2005-04-30 11:46:15.974498720 -0500
-@@ -1581,6 +1581,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/ld/testsuite/ld-sh/sh.exp binutils-2.16.90.0.2/ld/testsuite/ld-sh/sh.exp
---- binutils-2.16.90.0.2-dist/ld/testsuite/ld-sh/sh.exp 2005-04-09 14:03:29.000000000 -0500
-+++ binutils-2.16.90.0.2/ld/testsuite/ld-sh/sh.exp 2005-04-30 11:45:07.890849008 -0500
-@@ -62,7 +62,7 @@
-
- set testsrec "SH relaxing to S-records"
-
--if [istarget sh*-linux-gnu] {
-+if {[istarget sh*-linux-gnu] || [istarget sh*-*-linux-uclibc]} {
- # This target needs the explicit entry address.
- catch "exec $objdump -x tmpdir/sh1 | grep start\\ address | sed s/start\\ address//" entry_addr
- set srec_relax_arg "-Ttext $entry_addr -relax --oformat srec tmpdir/sh1.o"
-@@ -117,7 +117,7 @@
- return
- }
-
--if [istarget sh*-linux-gnu] {
-+if {[istarget sh*-linux-gnu] || [istarget sh*-*-linux-uclibc]} {
- exec sed -e s/_main/main/ -e s/_trap/trap/ -e s/_stack/stack/ \
- < $srcdir/$subdir/start.s >tmpdir/start.s
- } else {
-diff -urN binutils-2.16.90.0.2-dist/ld/testsuite/ld-srec/srec.exp binutils-2.16.90.0.2/ld/testsuite/ld-srec/srec.exp
---- binutils-2.16.90.0.2-dist/ld/testsuite/ld-srec/srec.exp 2005-04-29 12:50:30.000000000 -0500
-+++ binutils-2.16.90.0.2/ld/testsuite/ld-srec/srec.exp 2005-04-30 11:44:26.358162936 -0500
-@@ -385,7 +385,7 @@
- setup_xfail "v850*-*-elf"
-
- # The S-record linker doesn't handle Alpha Elf relaxation.
--setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*"
-+setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" "alpha*-*-linux-uclibc*"
- setup_xfail "alpha*-*-netbsd*"
-
- # The S-record linker hasn't any hope of coping with HPPA relocs.
-@@ -424,7 +424,7 @@
- setup_xfail "thumb-*-*"
- setup_xfail "powerpc*-*-eabi*"
- setup_xfail "v850*-*-elf"
--setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*"
-+setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" "alpha*-*-linux-uclibc*"
- setup_xfail "alpha*-*-netbsd*"
- setup_xfail "hppa*-*-*"
- setup_xfail "ia64-*-*"
-diff -urN binutils-2.16.90.0.2-dist/libtool.m4 binutils-2.16.90.0.2/libtool.m4
---- binutils-2.16.90.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500
-+++ binutils-2.16.90.0.2/libtool.m4 2005-04-30 11:35:54.062043784 -0500
-@@ -645,6 +645,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -urN binutils-2.16.90.0.2-dist/ltconfig binutils-2.16.90.0.2/ltconfig
---- binutils-2.16.90.0.2-dist/ltconfig 2004-11-22 14:33:30.000000000 -0600
-+++ binutils-2.16.90.0.2/ltconfig 2005-04-30 11:22:10.594229920 -0500
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1270,6 +1271,23 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
-diff -urN binutils-2.16.90.0.2-dist/opcodes/configure binutils-2.16.90.0.2/opcodes/configure
---- binutils-2.16.90.0.2-dist/opcodes/configure 2005-04-29 12:50:31.000000000 -0500
-+++ binutils-2.16.90.0.2/opcodes/configure 2005-04-30 11:17:07.168357664 -0500
-@@ -3588,6 +3588,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
diff --git a/openwrt/toolchain/binutils/2.16.1/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.1/300-001_ld_makefile_patch.patch
deleted file mode 100644
index b25d5b7..0000000
--- a/openwrt/toolchain/binutils/2.16.1/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am binutils-2.14.90.0.6/ld/Makefile.am
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am 2003-08-21 16:28:48.000000000 +0100
-+++ binutils-2.14.90.0.6/ld/Makefile.am 2003-09-10 23:12:09.000000000 +0100
-@@ -19,7 +19,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in binutils-2.14.90.0.6/ld/Makefile.in
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in 2003-08-21 16:28:48.000000000 +0100
-+++ binutils-2.14.90.0.6/ld/Makefile.in 2003-09-10 23:12:09.000000000 +0100
-@@ -128,7 +128,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/openwrt/toolchain/binutils/2.16.1/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.1/300-006_better_file_error.patch
deleted file mode 100644
index f337611..0000000
--- a/openwrt/toolchain/binutils/2.16.1/300-006_better_file_error.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh -e
-## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Specify which filename is causing an error if the filename is a
-## DP: directory. (#45832)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
-+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
-@@ -150,6 +150,13 @@
- {
- bfd *nbfd;
- const bfd_target *target_vec;
-+ struct stat s;
-+
-+ if (stat (filename, &s) == 0)
-+ if (S_ISDIR(s.st_mode)) {
-+ bfd_set_error (bfd_error_file_not_recognized);
-+ return NULL;
-+ }
-
- nbfd = _bfd_new_bfd ();
- if (nbfd == NULL)
diff --git a/openwrt/toolchain/binutils/2.16.1/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.1/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/openwrt/toolchain/binutils/2.16.1/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/openwrt/toolchain/binutils/2.16.1/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.1/702-binutils-skip-comments.patch
deleted file mode 100644
index 9ef7a7c..0000000
--- a/openwrt/toolchain/binutils/2.16.1/702-binutils-skip-comments.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.90.0.3/100-uclibc-conf.patch
deleted file mode 100644
index c7e2c63..0000000
--- a/openwrt/toolchain/binutils/2.16.90.0.3/100-uclibc-conf.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-diff -urN binutils-2.16.90.0.2-dist/bfd/configure binutils-2.16.90.0.2/bfd/configure
---- binutils-2.16.90.0.2-dist/bfd/configure 2005-04-29 12:50:24.000000000 -0500
-+++ binutils-2.16.90.0.2/bfd/configure 2005-04-30 11:34:59.246377032 -0500
-@@ -3584,6 +3584,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/binutils/configure binutils-2.16.90.0.2/binutils/configure
---- binutils-2.16.90.0.2-dist/binutils/configure 2005-04-29 12:50:26.000000000 -0500
-+++ binutils-2.16.90.0.2/binutils/configure 2005-04-30 11:35:28.900868864 -0500
-@@ -1577,6 +1577,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/configure binutils-2.16.90.0.2/configure
---- binutils-2.16.90.0.2-dist/configure 2005-04-29 12:50:23.000000000 -0500
-+++ binutils-2.16.90.0.2/configure 2005-04-30 11:31:12.525843792 -0500
-@@ -1111,7 +1111,7 @@
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-@@ -1207,7 +1207,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -1495,7 +1495,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[3456789]86-*-vsta) ;; # don't add gprof back in
- i[3456789]86-*-go32*) ;; # don't add gprof back in
-diff -urN binutils-2.16.90.0.2-dist/configure.in binutils-2.16.90.0.2/configure.in
---- binutils-2.16.90.0.2-dist/configure.in 2005-04-29 12:50:23.000000000 -0500
-+++ binutils-2.16.90.0.2/configure.in 2005-04-30 11:29:51.643139832 -0500
-@@ -328,7 +328,7 @@
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-@@ -424,7 +424,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -712,7 +712,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[[3456789]]86-*-vsta) ;; # don't add gprof back in
- i[[3456789]]86-*-go32*) ;; # don't add gprof back in
-diff -urN binutils-2.16.90.0.2-dist/gas/configure binutils-2.16.90.0.2/gas/configure
---- binutils-2.16.90.0.2-dist/gas/configure 2005-04-29 12:50:27.000000000 -0500
-+++ binutils-2.16.90.0.2/gas/configure 2005-04-30 11:35:21.097055224 -0500
-@@ -3421,6 +3421,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/gprof/configure binutils-2.16.90.0.2/gprof/configure
---- binutils-2.16.90.0.2-dist/gprof/configure 2005-04-29 12:50:29.000000000 -0500
-+++ binutils-2.16.90.0.2/gprof/configure 2005-04-30 11:35:36.880655752 -0500
-@@ -3419,6 +3419,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/ld/configure binutils-2.16.90.0.2/ld/configure
---- binutils-2.16.90.0.2-dist/ld/configure 2005-04-29 12:50:30.000000000 -0500
-+++ binutils-2.16.90.0.2/ld/configure 2005-04-30 11:46:15.974498720 -0500
-@@ -1581,6 +1581,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/libtool.m4 binutils-2.16.90.0.2/libtool.m4
---- binutils-2.16.90.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500
-+++ binutils-2.16.90.0.2/libtool.m4 2005-04-30 11:35:54.062043784 -0500
-@@ -645,6 +645,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -urN binutils-2.16.90.0.2-dist/ltconfig binutils-2.16.90.0.2/ltconfig
---- binutils-2.16.90.0.2-dist/ltconfig 2004-11-22 14:33:30.000000000 -0600
-+++ binutils-2.16.90.0.2/ltconfig 2005-04-30 11:22:10.594229920 -0500
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1270,6 +1271,23 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
-diff -urN binutils-2.16.90.0.2-dist/opcodes/configure binutils-2.16.90.0.2/opcodes/configure
---- binutils-2.16.90.0.2-dist/opcodes/configure 2005-04-29 12:50:31.000000000 -0500
-+++ binutils-2.16.90.0.2/opcodes/configure 2005-04-30 11:17:07.168357664 -0500
-@@ -3588,6 +3588,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2.orig/config.sub binutils-2.16.90.0.2/config.sub
---- binutils-2.16.90.0.2.orig/config.sub 2005-04-29 20:50:23.000000000 +0300
-+++ binutils-2.16.90.0.2/config.sub 2005-05-02 13:34:38.400457452 +0300
-@@ -265,7 +265,7 @@
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
-- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
-+ | sh | sh[1234]* | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b \
-@@ -340,7 +340,7 @@
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
-- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
-+ | sh-* | sh[1234]*-* | sh[23]e-* | sh[34]eb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
- | sparclite-* \
-@@ -891,9 +891,6 @@
- basic_machine=sh-hitachi
- os=-hms
- ;;
-- sh64)
-- basic_machine=sh64-unknown
-- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
-@@ -1093,7 +1090,7 @@
- we32k)
- basic_machine=we32k-att
- ;;
-- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
-+ sh2* | sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sh64)
diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.90.0.3/300-001_ld_makefile_patch.patch
deleted file mode 100644
index b25d5b7..0000000
--- a/openwrt/toolchain/binutils/2.16.90.0.3/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am binutils-2.14.90.0.6/ld/Makefile.am
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am 2003-08-21 16:28:48.000000000 +0100
-+++ binutils-2.14.90.0.6/ld/Makefile.am 2003-09-10 23:12:09.000000000 +0100
-@@ -19,7 +19,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in binutils-2.14.90.0.6/ld/Makefile.in
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in 2003-08-21 16:28:48.000000000 +0100
-+++ binutils-2.14.90.0.6/ld/Makefile.in 2003-09-10 23:12:09.000000000 +0100
-@@ -128,7 +128,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.90.0.3/300-006_better_file_error.patch
deleted file mode 100644
index f337611..0000000
--- a/openwrt/toolchain/binutils/2.16.90.0.3/300-006_better_file_error.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh -e
-## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Specify which filename is causing an error if the filename is a
-## DP: directory. (#45832)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
-+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
-@@ -150,6 +150,13 @@
- {
- bfd *nbfd;
- const bfd_target *target_vec;
-+ struct stat s;
-+
-+ if (stat (filename, &s) == 0)
-+ if (S_ISDIR(s.st_mode)) {
-+ bfd_set_error (bfd_error_file_not_recognized);
-+ return NULL;
-+ }
-
- nbfd = _bfd_new_bfd ();
- if (nbfd == NULL)
diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.90.0.3/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/openwrt/toolchain/binutils/2.16.90.0.3/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.90.0.3/702-binutils-skip-comments.patch
deleted file mode 100644
index 9ef7a7c..0000000
--- a/openwrt/toolchain/binutils/2.16.90.0.3/702-binutils-skip-comments.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/openwrt/toolchain/binutils/2.16.91.0.1/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.91.0.1/100-uclibc-conf.patch
deleted file mode 100644
index c7e2c63..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.1/100-uclibc-conf.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-diff -urN binutils-2.16.90.0.2-dist/bfd/configure binutils-2.16.90.0.2/bfd/configure
---- binutils-2.16.90.0.2-dist/bfd/configure 2005-04-29 12:50:24.000000000 -0500
-+++ binutils-2.16.90.0.2/bfd/configure 2005-04-30 11:34:59.246377032 -0500
-@@ -3584,6 +3584,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/binutils/configure binutils-2.16.90.0.2/binutils/configure
---- binutils-2.16.90.0.2-dist/binutils/configure 2005-04-29 12:50:26.000000000 -0500
-+++ binutils-2.16.90.0.2/binutils/configure 2005-04-30 11:35:28.900868864 -0500
-@@ -1577,6 +1577,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/configure binutils-2.16.90.0.2/configure
---- binutils-2.16.90.0.2-dist/configure 2005-04-29 12:50:23.000000000 -0500
-+++ binutils-2.16.90.0.2/configure 2005-04-30 11:31:12.525843792 -0500
-@@ -1111,7 +1111,7 @@
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-@@ -1207,7 +1207,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -1495,7 +1495,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[3456789]86-*-vsta) ;; # don't add gprof back in
- i[3456789]86-*-go32*) ;; # don't add gprof back in
-diff -urN binutils-2.16.90.0.2-dist/configure.in binutils-2.16.90.0.2/configure.in
---- binutils-2.16.90.0.2-dist/configure.in 2005-04-29 12:50:23.000000000 -0500
-+++ binutils-2.16.90.0.2/configure.in 2005-04-30 11:29:51.643139832 -0500
-@@ -328,7 +328,7 @@
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-@@ -424,7 +424,7 @@
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -712,7 +712,7 @@
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[[3456789]]86-*-vsta) ;; # don't add gprof back in
- i[[3456789]]86-*-go32*) ;; # don't add gprof back in
-diff -urN binutils-2.16.90.0.2-dist/gas/configure binutils-2.16.90.0.2/gas/configure
---- binutils-2.16.90.0.2-dist/gas/configure 2005-04-29 12:50:27.000000000 -0500
-+++ binutils-2.16.90.0.2/gas/configure 2005-04-30 11:35:21.097055224 -0500
-@@ -3421,6 +3421,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/gprof/configure binutils-2.16.90.0.2/gprof/configure
---- binutils-2.16.90.0.2-dist/gprof/configure 2005-04-29 12:50:29.000000000 -0500
-+++ binutils-2.16.90.0.2/gprof/configure 2005-04-30 11:35:36.880655752 -0500
-@@ -3419,6 +3419,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/ld/configure binutils-2.16.90.0.2/ld/configure
---- binutils-2.16.90.0.2-dist/ld/configure 2005-04-29 12:50:30.000000000 -0500
-+++ binutils-2.16.90.0.2/ld/configure 2005-04-30 11:46:15.974498720 -0500
-@@ -1581,6 +1581,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2-dist/libtool.m4 binutils-2.16.90.0.2/libtool.m4
---- binutils-2.16.90.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500
-+++ binutils-2.16.90.0.2/libtool.m4 2005-04-30 11:35:54.062043784 -0500
-@@ -645,6 +645,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -urN binutils-2.16.90.0.2-dist/ltconfig binutils-2.16.90.0.2/ltconfig
---- binutils-2.16.90.0.2-dist/ltconfig 2004-11-22 14:33:30.000000000 -0600
-+++ binutils-2.16.90.0.2/ltconfig 2005-04-30 11:22:10.594229920 -0500
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1270,6 +1271,23 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
-diff -urN binutils-2.16.90.0.2-dist/opcodes/configure binutils-2.16.90.0.2/opcodes/configure
---- binutils-2.16.90.0.2-dist/opcodes/configure 2005-04-29 12:50:31.000000000 -0500
-+++ binutils-2.16.90.0.2/opcodes/configure 2005-04-30 11:17:07.168357664 -0500
-@@ -3588,6 +3588,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN binutils-2.16.90.0.2.orig/config.sub binutils-2.16.90.0.2/config.sub
---- binutils-2.16.90.0.2.orig/config.sub 2005-04-29 20:50:23.000000000 +0300
-+++ binutils-2.16.90.0.2/config.sub 2005-05-02 13:34:38.400457452 +0300
-@@ -265,7 +265,7 @@
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
-- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
-+ | sh | sh[1234]* | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b \
-@@ -340,7 +340,7 @@
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
-- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
-+ | sh-* | sh[1234]*-* | sh[23]e-* | sh[34]eb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
- | sparclite-* \
-@@ -891,9 +891,6 @@
- basic_machine=sh-hitachi
- os=-hms
- ;;
-- sh64)
-- basic_machine=sh64-unknown
-- ;;
- sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
-@@ -1093,7 +1090,7 @@
- we32k)
- basic_machine=we32k-att
- ;;
-- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
-+ sh2* | sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sh64)
diff --git a/openwrt/toolchain/binutils/2.16.91.0.1/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.91.0.1/300-001_ld_makefile_patch.patch
deleted file mode 100644
index 04a7e61..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.1/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
---- binutils-2.16.91.0.1/ld/Makefile.am
-+++ binutils-2.16.91.0.1/ld/Makefile.am
-@@ -20,7 +20,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
---- binutils-2.16.91.0.1/ld/Makefile.in
-+++ binutils-2.16.91.0.1/ld/Makefile.in
-@@ -268,7 +268,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
diff --git a/openwrt/toolchain/binutils/2.16.91.0.1/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.91.0.1/300-006_better_file_error.patch
deleted file mode 100644
index f337611..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.1/300-006_better_file_error.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh -e
-## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Specify which filename is causing an error if the filename is a
-## DP: directory. (#45832)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
-+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
-@@ -150,6 +150,13 @@
- {
- bfd *nbfd;
- const bfd_target *target_vec;
-+ struct stat s;
-+
-+ if (stat (filename, &s) == 0)
-+ if (S_ISDIR(s.st_mode)) {
-+ bfd_set_error (bfd_error_file_not_recognized);
-+ return NULL;
-+ }
-
- nbfd = _bfd_new_bfd ();
- if (nbfd == NULL)
diff --git a/openwrt/toolchain/binutils/2.16.91.0.1/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.91.0.1/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.1/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/openwrt/toolchain/binutils/2.16.91.0.1/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.91.0.1/702-binutils-skip-comments.patch
deleted file mode 100644
index 9ef7a7c..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.1/702-binutils-skip-comments.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/openwrt/toolchain/binutils/2.16.91.0.2/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.91.0.2/100-uclibc-conf.patch
deleted file mode 100644
index 85fc309..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.2/100-uclibc-conf.patch
+++ /dev/null
@@ -1,230 +0,0 @@
-diff -Nurp binutils-2.16.91.0.2.orig/bfd/configure binutils-2.16.91.0.2/bfd/configure
---- binutils-2.16.91.0.2.orig/bfd/configure 2005-07-20 15:27:27.000000000 -0400
-+++ binutils-2.16.91.0.2/bfd/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3585,6 +3585,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/binutils/configure binutils-2.16.91.0.2/binutils/configure
---- binutils-2.16.91.0.2.orig/binutils/configure 2005-07-20 15:27:27.000000000 -0400
-+++ binutils-2.16.91.0.2/binutils/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3420,6 +3420,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/configure binutils-2.16.91.0.2/configure
---- binutils-2.16.91.0.2.orig/configure 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -1130,7 +1130,7 @@ no)
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-@@ -1235,7 +1235,7 @@ case "${target}" in
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -1530,7 +1530,7 @@ case "${target}" in
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[3456789]86-*-vsta) ;; # don't add gprof back in
- i[3456789]86-*-go32*) ;; # don't add gprof back in
-diff -Nurp binutils-2.16.91.0.2.orig/configure.in binutils-2.16.91.0.2/configure.in
---- binutils-2.16.91.0.2.orig/configure.in 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/configure.in 2005-08-02 00:17:47.000000000 -0400
-@@ -341,7 +341,7 @@ no)
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-@@ -446,7 +446,7 @@ case "${target}" in
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -741,7 +741,7 @@ case "${target}" in
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[[3456789]]86-*-vsta) ;; # don't add gprof back in
- i[[3456789]]86-*-go32*) ;; # don't add gprof back in
-diff -Nurp binutils-2.16.91.0.2.orig/gas/configure binutils-2.16.91.0.2/gas/configure
---- binutils-2.16.91.0.2.orig/gas/configure 2005-07-20 15:27:27.000000000 -0400
-+++ binutils-2.16.91.0.2/gas/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3421,6 +3421,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/gprof/configure binutils-2.16.91.0.2/gprof/configure
---- binutils-2.16.91.0.2.orig/gprof/configure 2005-04-29 13:50:29.000000000 -0400
-+++ binutils-2.16.91.0.2/gprof/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3419,6 +3419,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/ld/configure binutils-2.16.91.0.2/ld/configure
---- binutils-2.16.91.0.2.orig/ld/configure 2005-06-22 16:53:35.000000000 -0400
-+++ binutils-2.16.91.0.2/ld/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3422,6 +3422,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/libtool.m4 binutils-2.16.91.0.2/libtool.m4
---- binutils-2.16.91.0.2.orig/libtool.m4 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/libtool.m4 2005-08-02 00:17:47.000000000 -0400
-@@ -645,6 +645,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -Nurp binutils-2.16.91.0.2.orig/ltconfig binutils-2.16.91.0.2/ltconfig
---- binutils-2.16.91.0.2.orig/ltconfig 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/ltconfig 2005-08-02 00:17:47.000000000 -0400
-@@ -602,6 +602,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1270,6 +1271,23 @@ linux-gnu*)
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
-diff -Nurp binutils-2.16.91.0.2.orig/opcodes/configure binutils-2.16.91.0.2/opcodes/configure
---- binutils-2.16.91.0.2.orig/opcodes/configure 2005-07-20 15:27:28.000000000 -0400
-+++ binutils-2.16.91.0.2/opcodes/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3588,6 +3588,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/config.sub binutils-2.16.91.0.2/config.sub
---- binutils-2.16.91.0.2.orig/config.sub 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/config.sub 2005-08-02 00:18:58.000000000 -0400
-@@ -268,7 +268,7 @@ case $basic_machine in
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
-- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
-+ | sh | sh[1234]* | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
- | sh64 | sh64le \
- | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
- | sparcv8 | sparcv9 | sparcv9b \
-@@ -348,7 +348,7 @@ case $basic_machine in
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
-- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
-+ | sh-* | sh[1234]*-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
- | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
- | sparclite-* \
-@@ -1102,7 +1102,7 @@ case $basic_machine in
- we32k)
- basic_machine=we32k-att
- ;;
-- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
-+ sh[1234]* | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv8 | sparcv9 | sparcv9b)
diff --git a/openwrt/toolchain/binutils/2.16.91.0.2/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.91.0.2/300-001_ld_makefile_patch.patch
deleted file mode 100644
index 04a7e61..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.2/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
---- binutils-2.16.91.0.1/ld/Makefile.am
-+++ binutils-2.16.91.0.1/ld/Makefile.am
-@@ -20,7 +20,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
---- binutils-2.16.91.0.1/ld/Makefile.in
-+++ binutils-2.16.91.0.1/ld/Makefile.in
-@@ -268,7 +268,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
diff --git a/openwrt/toolchain/binutils/2.16.91.0.2/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.91.0.2/300-006_better_file_error.patch
deleted file mode 100644
index f337611..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.2/300-006_better_file_error.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh -e
-## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Specify which filename is causing an error if the filename is a
-## DP: directory. (#45832)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
-+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
-@@ -150,6 +150,13 @@
- {
- bfd *nbfd;
- const bfd_target *target_vec;
-+ struct stat s;
-+
-+ if (stat (filename, &s) == 0)
-+ if (S_ISDIR(s.st_mode)) {
-+ bfd_set_error (bfd_error_file_not_recognized);
-+ return NULL;
-+ }
-
- nbfd = _bfd_new_bfd ();
- if (nbfd == NULL)
diff --git a/openwrt/toolchain/binutils/2.16.91.0.2/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.91.0.2/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.2/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/openwrt/toolchain/binutils/2.16.91.0.2/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.91.0.2/702-binutils-skip-comments.patch
deleted file mode 100644
index 9ef7a7c..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.2/702-binutils-skip-comments.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/openwrt/toolchain/binutils/2.16.91.0.6/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.91.0.6/100-uclibc-conf.patch
deleted file mode 100644
index 4c72f33..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.6/100-uclibc-conf.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-diff -Nurp binutils-2.16.91.0.2.orig/bfd/configure binutils-2.16.91.0.2/bfd/configure
---- binutils-2.16.91.0.2.orig/bfd/configure 2005-07-20 15:27:27.000000000 -0400
-+++ binutils-2.16.91.0.2/bfd/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3585,6 +3585,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/binutils/configure binutils-2.16.91.0.2/binutils/configure
---- binutils-2.16.91.0.2.orig/binutils/configure 2005-07-20 15:27:27.000000000 -0400
-+++ binutils-2.16.91.0.2/binutils/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3420,6 +3420,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/configure binutils-2.16.91.0.2/configure
---- binutils-2.16.91.0.2.orig/configure 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -1130,7 +1130,7 @@ no)
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-@@ -1235,7 +1235,7 @@ case "${target}" in
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -1530,7 +1530,7 @@ case "${target}" in
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[3456789]86-*-vsta) ;; # don't add gprof back in
- i[3456789]86-*-go32*) ;; # don't add gprof back in
-diff -Nurp binutils-2.16.91.0.2.orig/configure.in binutils-2.16.91.0.2/configure.in
---- binutils-2.16.91.0.2.orig/configure.in 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/configure.in 2005-08-02 00:17:47.000000000 -0400
-@@ -341,7 +341,7 @@ no)
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
-@@ -446,7 +446,7 @@ case "${target}" in
- am33_2.0-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
-- sh-*-linux*)
-+ sh*-*-linux*)
- noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
- ;;
- sh*-*-pe|mips*-*-pe|*arm-wince-pe)
-@@ -741,7 +741,7 @@ case "${target}" in
- romp-*-*)
- noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
- ;;
-- sh-*-* | sh64-*-*)
-+ sh*-*-* | sh64-*-*)
- case "${host}" in
- i[[3456789]]86-*-vsta) ;; # don't add gprof back in
- i[[3456789]]86-*-go32*) ;; # don't add gprof back in
-diff -Nurp binutils-2.16.91.0.2.orig/gas/configure binutils-2.16.91.0.2/gas/configure
---- binutils-2.16.91.0.2.orig/gas/configure 2005-07-20 15:27:27.000000000 -0400
-+++ binutils-2.16.91.0.2/gas/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3421,6 +3421,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/gprof/configure binutils-2.16.91.0.2/gprof/configure
---- binutils-2.16.91.0.2.orig/gprof/configure 2005-04-29 13:50:29.000000000 -0400
-+++ binutils-2.16.91.0.2/gprof/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3419,6 +3419,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/ld/configure binutils-2.16.91.0.2/ld/configure
---- binutils-2.16.91.0.2.orig/ld/configure 2005-06-22 16:53:35.000000000 -0400
-+++ binutils-2.16.91.0.2/ld/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3422,6 +3422,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -Nurp binutils-2.16.91.0.2.orig/libtool.m4 binutils-2.16.91.0.2/libtool.m4
---- binutils-2.16.91.0.2.orig/libtool.m4 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/libtool.m4 2005-08-02 00:17:47.000000000 -0400
-@@ -645,6 +645,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -Nurp binutils-2.16.91.0.2.orig/ltconfig binutils-2.16.91.0.2/ltconfig
---- binutils-2.16.91.0.2.orig/ltconfig 2005-07-20 15:27:26.000000000 -0400
-+++ binutils-2.16.91.0.2/ltconfig 2005-08-02 00:17:47.000000000 -0400
-@@ -602,6 +602,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1270,6 +1271,23 @@ linux-gnu*)
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
-diff -Nurp binutils-2.16.91.0.2.orig/opcodes/configure binutils-2.16.91.0.2/opcodes/configure
---- binutils-2.16.91.0.2.orig/opcodes/configure 2005-07-20 15:27:28.000000000 -0400
-+++ binutils-2.16.91.0.2/opcodes/configure 2005-08-02 00:17:47.000000000 -0400
-@@ -3588,6 +3588,11 @@ linux-gnu*)
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
diff --git a/openwrt/toolchain/binutils/2.16.91.0.6/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.91.0.6/300-001_ld_makefile_patch.patch
deleted file mode 100644
index 04a7e61..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.6/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh -e
-## 001_ld_makefile_patch.dpatch
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: correct where ld scripts are installed
-## DP: Author: Chris Chimelis <chris@debian.org>
-## DP: Upstream status: N/A
-## DP: Date: ??
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
---- binutils-2.16.91.0.1/ld/Makefile.am
-+++ binutils-2.16.91.0.1/ld/Makefile.am
-@@ -20,7 +20,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
-
- EMUL = @EMUL@
- EMULATION_OFILES = @EMULATION_OFILES@
---- binutils-2.16.91.0.1/ld/Makefile.in
-+++ binutils-2.16.91.0.1/ld/Makefile.in
-@@ -268,7 +268,7 @@
- # We put the scripts in the directory $(scriptdir)/ldscripts.
- # We can't put the scripts in $(datadir) because the SEARCH_DIR
- # directives need to be different for native and cross linkers.
--scriptdir = $(tooldir)/lib
-+scriptdir = $(libdir)
- BASEDIR = $(srcdir)/..
- BFDDIR = $(BASEDIR)/bfd
- INCDIR = $(BASEDIR)/include
diff --git a/openwrt/toolchain/binutils/2.16.91.0.6/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.91.0.6/300-006_better_file_error.patch
deleted file mode 100644
index f337611..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.6/300-006_better_file_error.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh -e
-## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Specify which filename is causing an error if the filename is a
-## DP: directory. (#45832)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
---- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
-+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
-@@ -150,6 +150,13 @@
- {
- bfd *nbfd;
- const bfd_target *target_vec;
-+ struct stat s;
-+
-+ if (stat (filename, &s) == 0)
-+ if (S_ISDIR(s.st_mode)) {
-+ bfd_set_error (bfd_error_file_not_recognized);
-+ return NULL;
-+ }
-
- nbfd = _bfd_new_bfd ();
- if (nbfd == NULL)
diff --git a/openwrt/toolchain/binutils/2.16.91.0.6/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.91.0.6/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 498651a..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.6/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh -e
-## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
-## DP: cases where -rpath isn't specified. (#151024)
-
-if [ $# -ne 1 ]; then
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-
-case "$1" in
- -patch) patch $patch_opts -p1 < $0;;
- -unpatch) patch $patch_opts -p1 -R < $0;;
- *)
- echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
- exit 1;;
-esac
-
-exit 0
-
-@DPATCH@
-diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
---- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
-+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
-@@ -692,6 +692,8 @@
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -871,6 +873,8 @@
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
- if (! (bfd_elf_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
diff --git a/openwrt/toolchain/binutils/2.16.91.0.6/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.91.0.6/702-binutils-skip-comments.patch
deleted file mode 100644
index 9ef7a7c..0000000
--- a/openwrt/toolchain/binutils/2.16.91.0.6/702-binutils-skip-comments.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
-Fixes
-localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
-when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
-
-Paths adjusted to match crosstool's patcher.
-
-Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
-From: Andreas Schwab <schwab at suse dot de>
-To: Nathan Sidwell <nathan at codesourcery dot com>
-Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
-Date: Fri, 23 Apr 2004 22:27:19 +0200
-Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
-
-Nathan Sidwell <nathan@codesourcery.com> writes:
-
-> Index: read.c
-> ===================================================================
-> RCS file: /cvs/src/src/gas/read.c,v
-> retrieving revision 1.76
-> diff -c -3 -p -r1.76 read.c
-> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
-> --- read.c 18 Mar 2004 09:56:05 -0000
-> *************** read_a_source_file (char *name)
-> *** 1053,1059 ****
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! ignore_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-> --- 1053,1059 ----
-> #endif
-> input_line_pointer--;
-> /* Report unknown char as ignored. */
-> ! demand_empty_rest_of_line ();
-> }
->
-> #ifdef md_after_pass_hook
-
-This means that the unknown character is no longer ignored, despite the
-comment. As a side effect a line starting with a line comment character
-not followed by APP in NO_APP mode now triggers an error instead of just a
-warning, breaking builds of glibc on m68k-linux. Earlier in
-read_a_source_file where #APP is handled there is another comment that
-claims that unknown comments are ignored, when in fact they aren't (only
-the initial line comment character is skipped).
-
-Note that the presence of #APP will mess up the line counters, but
-that appears to be difficult to fix.
-
-Andreas.
-
-2004-04-23 Andreas Schwab <schwab@suse.de>
-
- * read.c (read_a_source_file): Ignore unknown text after line
- comment character. Fix misleading comment.
-
---- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
-+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
-@@ -950,10 +950,14 @@ read_a_source_file (char *name)
- unsigned int new_length;
- char *tmp_buf = 0;
-
-- bump_line_counters ();
- s = input_line_pointer;
- if (strncmp (s, "APP\n", 4))
-- continue; /* We ignore it */
-+ {
-+ /* We ignore it */
-+ ignore_rest_of_line ();
-+ continue;
-+ }
-+ bump_line_counters ();
- s += 4;
-
- sb_new (&sbuf);
-@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
- continue;
- #endif
- input_line_pointer--;
-- /* Report unknown char as ignored. */
-+ /* Report unknown char as error. */
- demand_empty_rest_of_line ();
- }
-
-
---
-Andreas Schwab, SuSE Labs, schwab@suse.de
-SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
-Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
-"And now for something completely different."
diff --git a/openwrt/toolchain/binutils/Config.in b/openwrt/toolchain/binutils/Config.in
deleted file mode 100644
index 7874638..0000000
--- a/openwrt/toolchain/binutils/Config.in
+++ /dev/null
@@ -1,40 +0,0 @@
-# Choose binutils version.
-
-if CONFIG_DEVEL
- comment "Binutils Options"
-endif
-
-choice
- prompt "Binutils Version" if CONFIG_DEVEL
- default BR2_BINUTILS_VERSION_2_16_1
- help
- Select the version of binutils you wish to use.
-
- config BR2_BINUTILS_VERSION_2_15_94_0_2
- bool "binutils 2.15.94.0.2"
-
- config BR2_BINUTILS_VERSION_2_16_1
- bool "binutils 2.16.1"
-
- config BR2_BINUTILS_VERSION_2_16_90_0_3
- bool "binutils 2.16.90.0.3"
-
- config BR2_BINUTILS_VERSION_2_16_91_0_1
- bool "binutils 2.16.91.0.1"
-
- config BR2_BINUTILS_VERSION_2_16_91_0_2
- bool "binutils 2.16.91.0.2"
-
- config BR2_BINUTILS_VERSION_2_16_91_0_6
- bool "binutils 2.16.91.0.6"
-
-endchoice
-
-config BR2_BINUTILS_VERSION
- string
- default "2.15.94.0.2" if BR2_BINUTILS_VERSION_2_15_94_0_2
- default "2.16.1" if BR2_BINUTILS_VERSION_2_16_1 || !CONFIG_DEVEL
- default "2.16.90.0.3" if BR2_BINUTILS_VERSION_2_16_90_0_3
- default "2.16.91.0.1" if BR2_BINUTILS_VERSION_2_16_91_0_1
- default "2.16.91.0.2" if BR2_BINUTILS_VERSION_2_16_91_0_2
- default "2.16.91.0.6" if BR2_BINUTILS_VERSION_2_16_91_0_6
diff --git a/openwrt/toolchain/binutils/Makefile b/openwrt/toolchain/binutils/Makefile
deleted file mode 100644
index 1b20571..0000000
--- a/openwrt/toolchain/binutils/Makefile
+++ /dev/null
@@ -1,106 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-#############################################################
-#
-# build binutils for use on the host system
-#
-#############################################################
-BINUTILS_VERSION:=$(strip $(subst ",, $(BR2_BINUTILS_VERSION)))
-#"
-
-BINUTILS_SITE:=http://www.fr.kernel.org/pub/linux/devel/binutils \
- http://www.fi.kernel.org/pub/linux/devel/binutils \
- http://ftp.kernel.org/pub/linux/devel/binutils \
- http://www.de.kernel.org/pub/linux/devel/binutils
-
-BINUTILS_STABLE_SITE:=http://ftp.gnu.org/gnu/binutils/ \
- ftp://gatekeeper.dec.com/pub/GNU/ \
- ftp://ftp.uu.net/archive/systems/gnu/ \
- ftp://ftp.eu.uu.net/pub/gnu/ \
- ftp://ftp.funet.fi/pub/gnu/prep/ \
- ftp://ftp.leo.org/pub/comp/os/unix/gnu/
-
-ifeq ($(BINUTILS_VERSION),2.16.1)
-BINUTILS_SITE:=$(BINUTILS_STABLE_SITE)
-endif
-
-BINUTILS_SOURCE:=binutils-$(BINUTILS_VERSION).tar.bz2
-BINUTILS_DIR:=$(TOOL_BUILD_DIR)/binutils-$(BINUTILS_VERSION)
-BINUTILS_CAT:=bzcat
-
-BINUTILS_DIR1:=$(TOOL_BUILD_DIR)/binutils-$(BINUTILS_VERSION)-build
-
-$(DL_DIR)/$(BINUTILS_SOURCE):
- mkdir -p $(DL_DIR)
- $(SCRIPT_DIR)/download.pl $(DL_DIR) $(BINUTILS_SOURCE) x $(BINUTILS_SITE)
-
-$(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE)
- mkdir -p $(TOOL_BUILD_DIR)
- $(BINUTILS_CAT) $(DL_DIR)/$(BINUTILS_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
- touch $(BINUTILS_DIR)/.unpacked
-
-$(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked
- # Apply appropriate binutils patches.
- $(SCRIPT_DIR)/patch-kernel.sh $(BINUTILS_DIR) ./all \*.patch
- $(SCRIPT_DIR)/patch-kernel.sh $(BINUTILS_DIR) ./$(BINUTILS_VERSION) \*.patch
- touch $(BINUTILS_DIR)/.patched
-
-$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
- mkdir -p $(BINUTILS_DIR1)
- (cd $(BINUTILS_DIR1); \
- $(BINUTILS_DIR)/configure \
- --prefix=$(STAGING_DIR) \
- --build=$(GNU_HOST_NAME) \
- --host=$(GNU_HOST_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
- --disable-werror \
- $(DISABLE_NLS) \
- $(MULTILIB) \
- $(SOFT_FLOAT_CONFIG_OPTION) );
- touch $(BINUTILS_DIR1)/.configured
-
-$(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured
- $(MAKE) -C $(BINUTILS_DIR1) all
-
-# Make install will put gettext data in staging_dir/share/locale.
-# Unfortunatey, it isn't configureable.
-$(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-ld: $(BINUTILS_DIR1)/binutils/objdump
- $(MAKE) -C $(BINUTILS_DIR1) install
-
-
-#############################################################
-#
-# build binutils for use on the target system
-#
-#############################################################
-BINUTILS_DIR2:=$(BUILD_DIR)/binutils-$(BINUTILS_VERSION)-target
-$(BINUTILS_DIR2)/.configured: $(BINUTILS_DIR)/.patched
- mkdir -p $(BINUTILS_DIR2)
- (cd $(BINUTILS_DIR2); \
- PATH=$(TARGET_PATH) \
- CFLAGS="$(TARGET_CFLAGS)" \
- CFLAGS_FOR_BUILD="-O2 -g" \
- $(BINUTILS_DIR)/configure \
- --prefix=/usr \
- --exec-prefix=/usr \
- --build=$(GNU_HOST_NAME) \
- --host=$(REAL_GNU_TARGET_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
- $(DISABLE_NLS) \
- $(MULTILIB) \
- $(SOFT_FLOAT_CONFIG_OPTION) );
- touch $(BINUTILS_DIR2)/.configured
-
-$(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured
- PATH=$(TARGET_PATH) \
- $(MAKE) -C $(BINUTILS_DIR2) all
-
-source: $(DL_DIR)/$(BINUTILS_SOURCE)
-prepare: $(BINUTILS_DIR)/.patched
-compile: $(BINUTILS_DIR1)/binutils/objdump
-install: $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-ld
-clean:
- rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
- rm -rf $(BINUTILS_DIR) $(BINUTILS_DIR1)
-
-
diff --git a/openwrt/toolchain/binutils/all/400-mips-ELF_MAXPAGESIZE-4k.patch b/openwrt/toolchain/binutils/all/400-mips-ELF_MAXPAGESIZE-4k.patch
deleted file mode 100644
index a8ae110..0000000
--- a/openwrt/toolchain/binutils/all/400-mips-ELF_MAXPAGESIZE-4k.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN binutils-2.14.90.0.8.test/bfd/elf32-mips.c binutils-2.14.90.0.8/bfd/elf32-mips.c
---- binutils-2.14.90.0.8.test/bfd/elf32-mips.c 2004-01-14 22:07:43.000000000 +0100
-+++ binutils-2.14.90.0.8/bfd/elf32-mips.c 2005-03-03 23:44:00.000000000 +0100
-@@ -1611,7 +1611,7 @@
-
- /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
- page sizes of up to that limit, so we need to respect it. */
--#define ELF_MAXPAGESIZE 0x10000
-+#define ELF_MAXPAGESIZE 0x1000
- #define elf32_bed elf32_tradbed
-
- /* Include the target file again for this target. */
diff --git a/openwrt/toolchain/gcc/3.4.4/100-uclibc-conf.patch b/openwrt/toolchain/gcc/3.4.4/100-uclibc-conf.patch
deleted file mode 100644
index 29e4c80..0000000
--- a/openwrt/toolchain/gcc/3.4.4/100-uclibc-conf.patch
+++ /dev/null
@@ -1,442 +0,0 @@
-diff -urN gcc-3.4.1-dist/boehm-gc/configure gcc-3.4.1/boehm-gc/configure
---- gcc-3.4.1-dist/boehm-gc/configure 2004-07-01 14:14:03.000000000 -0500
-+++ gcc-3.4.1/boehm-gc/configure 2004-08-12 16:22:57.000000000 -0500
-@@ -1947,6 +1947,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN gcc-3.4.1-dist/boehm-gc/ltconfig gcc-3.4.1/boehm-gc/ltconfig
---- gcc-3.4.1-dist/boehm-gc/ltconfig 2002-11-20 09:59:06.000000000 -0600
-+++ gcc-3.4.1/boehm-gc/ltconfig 2004-08-12 15:54:42.000000000 -0500
-@@ -1981,6 +1981,23 @@
- fi
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-+ file_magic_cmd=/usr/bin/file
-+ file_magic_test_file=`echo /lib/libuClibc-*.so`
-+
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- version_type=sunos
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-01-31 00:18:11.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-12 15:54:42.000000000 -0500
-@@ -81,6 +81,18 @@
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_SPEC "%{h*} %{version:-v} \
-+ %{b} %{Wl,*:%*} \
-+ %{static:-Bstatic} \
-+ %{shared:-shared} \
-+ %{symbolic:-Bsymbolic} \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
-+ -X \
-+ %{mbig-endian:-EB}" \
-+ SUBTARGET_EXTRA_LINK_SPEC
-+#else
- #define LINK_SPEC "%{h*} %{version:-v} \
- %{b} %{Wl,*:%*} \
- %{static:-Bstatic} \
-@@ -91,6 +103,7 @@
- -X \
- %{mbig-endian:-EB}" \
- SUBTARGET_EXTRA_LINK_SPEC
-+#endif
-
- #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
-
-diff -urN gcc-3.4.1-dist/gcc/config/cris/linux.h gcc-3.4.1/gcc/config/cris/linux.h
---- gcc-3.4.1-dist/gcc/config/cris/linux.h 2003-11-28 21:08:09.000000000 -0600
-+++ gcc-3.4.1/gcc/config/cris/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -79,6 +79,25 @@
- #undef CRIS_DEFAULT_CPU_VERSION
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-
-+#ifdef USE_UCLIBC
-+
-+#undef CRIS_SUBTARGET_VERSION
-+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+
-+#undef CRIS_LINK_SUBTARGET_SPEC
-+#define CRIS_LINK_SUBTARGET_SPEC \
-+ "-mcrislinux\
-+ -rpath-link include/asm/../..%s\
-+ %{shared} %{static}\
-+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
-+ %{!shared: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
-+ %{!r:%{O2|O3: --gc-sections}}"
-+
-+#else /* USE_UCLIBC */
-+
- #undef CRIS_SUBTARGET_VERSION
- #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-
-@@ -93,6 +112,8 @@
- %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
- %{!r:%{O2|O3: --gc-sections}}"
-
-+#endif /* USE_UCLIBC */
-+
-
- /* Node: Run-time Target */
-
-diff -urN gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc gcc-3.4.1/gcc/config/cris/t-linux-uclibc
---- gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.1/gcc/config/cris/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
-@@ -0,0 +1,3 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+TARGET_LIBGCC2_CFLAGS += -fPIC
-+CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
-diff -urN gcc-3.4.1-dist/gcc/config/i386/linux.h gcc-3.4.1/gcc/config/i386/linux.h
---- gcc-3.4.1-dist/gcc/config/i386/linux.h 2003-11-28 21:08:10.000000000 -0600
-+++ gcc-3.4.1/gcc/config/i386/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -118,6 +118,15 @@
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
- %{static:-static}}}"
- #else
-+#if defined USE_UCLIBC
-+#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
-+ %{!shared: \
-+ %{!ibcs: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}}}"
-+#else
- #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
-@@ -126,6 +135,7 @@
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{static:-static}}}"
- #endif
-+#endif
-
- /* A C statement (sans semicolon) to output to the stdio stream
- FILE the assembler definition of uninitialized global DECL named
-diff -urN gcc-3.4.1-dist/gcc/config/mips/linux.h gcc-3.4.1/gcc/config/mips/linux.h
---- gcc-3.4.1-dist/gcc/config/mips/linux.h 2004-06-15 20:42:24.000000000 -0500
-+++ gcc-3.4.1/gcc/config/mips/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -109,6 +109,17 @@
-
- /* Borrowed from sparc/linux.h */
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_SPEC \
-+ "%(endian_spec) \
-+ %{shared:-shared} \
-+ %{!shared: \
-+ %{!ibcs: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}}}"
-+#else
- #define LINK_SPEC \
- "%(endian_spec) \
- %{shared:-shared} \
-@@ -118,6 +129,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
- %{static:-static}}}"
-+#endif
-
- #undef SUBTARGET_ASM_SPEC
- #define SUBTARGET_ASM_SPEC "\
-diff -urN gcc-3.4.1-dist/gcc/config/rs6000/linux.h gcc-3.4.1/gcc/config/rs6000/linux.h
---- gcc-3.4.1-dist/gcc/config/rs6000/linux.h 2004-02-25 09:11:19.000000000 -0600
-+++ gcc-3.4.1/gcc/config/rs6000/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -61,7 +61,11 @@
- #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
- #undef LINK_OS_DEFAULT_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
-+#else
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-+#endif
-
- #define LINK_GCC_C_SEQUENCE_SPEC \
- "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-diff -urN gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h gcc-3.4.1/gcc/config/rs6000/sysv4.h
---- gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h 2004-06-10 01:39:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config/rs6000/sysv4.h 2004-08-12 15:54:43.000000000 -0500
-@@ -947,6 +947,7 @@
- mcall-linux : %(link_os_linux) ; \
- mcall-gnu : %(link_os_gnu) ; \
- mcall-netbsd : %(link_os_netbsd) ; \
-+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
- mcall-openbsd: %(link_os_openbsd) ; \
- : %(link_os_default) }"
-
-@@ -1124,6 +1125,10 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
- #endif
-@@ -1290,6 +1295,7 @@
- { "link_os_sim", LINK_OS_SIM_SPEC }, \
- { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
- { "link_os_linux", LINK_OS_LINUX_SPEC }, \
-+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
- { "link_os_gnu", LINK_OS_GNU_SPEC }, \
- { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
-diff -urN gcc-3.4.1-dist/gcc/config/sh/linux.h gcc-3.4.1/gcc/config/sh/linux.h
---- gcc-3.4.1-dist/gcc/config/sh/linux.h 2004-01-11 20:29:13.000000000 -0600
-+++ gcc-3.4.1/gcc/config/sh/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -73,12 +73,21 @@
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
- #undef SUBTARGET_LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define SUBTARGET_LINK_SPEC \
-+ "%{shared:-shared} \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}"
-+#else
- #define SUBTARGET_LINK_SPEC \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{static:-static}"
-+#endif
-
- #undef LIB_SPEC
- #define LIB_SPEC \
-diff -urN gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc gcc-3.4.1/gcc/config/sh/t-linux-uclibc
---- gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.1/gcc/config/sh/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
-@@ -0,0 +1,13 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+
-+TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES
-+LIB1ASMFUNCS_CACHE = _ic_invalidate
-+
-+LIB2FUNCS_EXTRA=
-+
-+MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4
-+MULTILIB_DIRNAMES=
-+MULTILIB_MATCHES =
-+MULTILIB_EXCEPTIONS=
-+
-+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
-diff -urN gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc gcc-3.4.1/gcc/config/sh/t-sh64-uclibc
---- gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.1/gcc/config/sh/t-sh64-uclibc 2004-08-12 15:54:43.000000000 -0500
-@@ -0,0 +1,13 @@
-+EXTRA_MULTILIB_PARTS= crt1.o crti.o crtn.o crtbegin.o crtend.o
-+
-+LIB1ASMFUNCS = \
-+ _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
-+ _shcompact_call_trampoline _shcompact_return_trampoline \
-+ _shcompact_incoming_args _ic_invalidate _nested_trampoline \
-+ _push_pop_shmedia_regs \
-+ _udivdi3 _divdi3 _umoddi3 _moddi3
-+
-+MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu
-+MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64
-+MULTILIB_MATCHES=
-+MULTILIB_EXCEPTIONS=
-diff -urN gcc-3.4.1-dist/gcc/config/t-linux-uclibc gcc-3.4.1/gcc/config/t-linux-uclibc
---- gcc-3.4.1-dist/gcc/config/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.1/gcc/config/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
-@@ -0,0 +1,15 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+
-+# Compile crtbeginS.o and crtendS.o with pic.
-+CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
-+# Compile libgcc2.a with pic.
-+TARGET_LIBGCC2_CFLAGS = -fPIC
-+
-+# Override t-slibgcc-elf-ver to export some libgcc symbols with
-+# the symbol versions that glibc used.
-+#SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
-+
-+# Use unwind-dw2-fde
-+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
-+ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
-+LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
-diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
---- gcc-3.4.1-dist/gcc/config.gcc 2004-04-21 10:12:35.000000000 -0500
-+++ gcc-3.4.1/gcc/config.gcc 2004-08-12 15:59:46.000000000 -0500
-@@ -664,6 +664,12 @@
- extra_parts=""
- use_collect2=yes
- ;;
-+arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
-+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
-+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-+ gnu_ld=yes
-+ ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
-@@ -725,6 +731,10 @@
- tmake_file="cris/t-cris cris/t-elfmulti"
- gas=yes
- ;;
-+cris-*-linux-uclibc*)
-+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
-+ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc"
-+ ;;
- cris-*-linux*)
- tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
- tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
-@@ -988,6 +998,11 @@
- thread_file='single'
- fi
- ;;
-+i[34567]86-*-linux*uclibc*) # Intel 80386's running GNU/Linux
-+ # with ELF format using uClibc
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc i386/t-crtstuff"
-+ ;;
- i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
- # with ELF format using glibc 2
- # aka GNU/Linux C library 6
-@@ -1547,6 +1562,16 @@
- gnu_ld=yes
- gas=yes
- ;;
-+mips*-*-linux-uclibc*) # Linux MIPS, either endian. uClibc
-+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
-+ case ${target} in
-+ mipsisa32*-*)
-+ target_cpu_default="MASK_SOFT_FLOAT"
-+ tm_defines="MIPS_ISA_DEFAULT=32"
-+ ;;
-+ esac
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc"
-+ ;;
- mips*-*-linux*) # Linux MIPS, either endian.
- tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
- case ${target} in
-@@ -1764,6 +1789,10 @@
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
- tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
- ;;
-+powerpc-*-linux-uclibc*)
-+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
-+ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm"
-+ ;;
- powerpc-*-linux*)
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
- tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
-@@ -1916,7 +1945,7 @@
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
- ;;
- sh-*-linux* | sh[2346lbe]*-*-linux*)
-- tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux"
-+ tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver"
- case ${target} in
- sh*be-*-* | sh*eb-*-*) ;;
- *)
-@@ -1924,9 +1953,17 @@
- tmake_file="${tmake_file} sh/t-le"
- ;;
- esac
-- tmake_file="${tmake_file} sh/t-linux"
-+ case ${target} in
-+ *-*-linux-uclibc*) tmake_file="${tmake_file} t-linux-uclibc sh/t-linux-uclibc" ;;
-+ *) tmake_file="${tmake_file} t-linux sh/t-linux" ;;
-+ esac
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
- case ${target} in
-+ sh64*-*-linux-uclibc*)
-+ tmake_file="${tmake_file} sh/t-sh64-uclibc"
-+ tm_file="${tm_file} sh/sh64.h"
-+ extra_headers="shmedia.h ushmedia.h sshmedia.h"
-+ ;;
- sh64*)
- tmake_file="${tmake_file} sh/t-sh64"
- tm_file="${tm_file} sh/sh64.h"
-diff -urN gcc-3.4.1-dist/libtool.m4 gcc-3.4.1/libtool.m4
---- gcc-3.4.1-dist/libtool.m4 2004-05-18 04:08:37.000000000 -0500
-+++ gcc-3.4.1/libtool.m4 2004-08-12 15:54:43.000000000 -0500
-@@ -689,6 +689,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -urN gcc-3.4.1-dist/ltconfig gcc-3.4.1/ltconfig
---- gcc-3.4.1-dist/ltconfig 2004-03-05 15:05:41.000000000 -0600
-+++ gcc-3.4.1/ltconfig 2004-08-12 15:55:48.000000000 -0500
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1262,6 +1263,24 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ # Note: copied from linux-gnu, and may not be appropriate.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
diff --git a/openwrt/toolchain/gcc/3.4.4/200-uclibc-locale.patch b/openwrt/toolchain/gcc/3.4.4/200-uclibc-locale.patch
deleted file mode 100644
index 3fc4900..0000000
--- a/openwrt/toolchain/gcc/3.4.4/200-uclibc-locale.patch
+++ /dev/null
@@ -1,3246 +0,0 @@
-diff -urN gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 gcc-3.4.2/libstdc++-v3/acinclude.m4
---- gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 2004-07-15 12:42:45.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/acinclude.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -996,7 +996,7 @@
- AC_MSG_CHECKING([for C locale to use])
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
-@@ -1012,6 +1012,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ x*-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1138,6 +1141,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 gcc-3.4.2/libstdc++-v3/aclocal.m4
---- gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 2004-08-13 15:44:03.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/aclocal.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -1025,6 +1025,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ x*-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1151,6 +1154,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,59 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#endif // GLIBC 2.3 and later
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L) strtof((S), (E))
-+#define __strtod_l(S, E, L) strtod((S), (E))
-+#define __strtold_l(S, E, L) strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c) NULL
-+#define __freelocale(a) ((void)0)
-+#define __duplocale(a) __c_locale()
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale __old)
-+ {
-+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ if (!__cloc)
-+ {
-+ // This named locale is not supported by the underlying OS.
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ }
-+#endif
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ {
-+ if (_S_get_c_locale() != __cloc)
-+ __freelocale(__cloc);
-+ }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+ { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES",
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+ "LC_PAPER",
-+ "LC_NAME",
-+ "LC_ADDRESS",
-+ "LC_TELEPHONE",
-+ "LC_MEASUREMENT",
-+ "LC_IDENTIFICATION"
-+#endif
-+ };
-+}
-+
-+namespace std
-+{
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+} // namespace std
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2004-09-10 10:48:08.000000000 -0500
-@@ -0,0 +1,115 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring> // get std::strlen
-+#include <cstdio> // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h> // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h> // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h> // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+ extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ typedef __locale_t __c_locale;
-+#else
-+ typedef int* __c_locale;
-+#endif
-+
-+ // Convert numeric value of type _Tv to string and return length of
-+ // string. If snprintf is available use it, otherwise fall back to
-+ // the unsafe sprintf which, in general, can be dangerous and should
-+ // be avoided.
-+ template<typename _Tv>
-+ int
-+ __convert_from_v(char* __out, const int __size, const char* __fmt,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ _Tv __v, const __c_locale& __cloc, int __prec)
-+ {
-+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+ _Tv __v, const __c_locale&, int __prec)
-+ {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+ char* __old = std::setlocale(LC_ALL, NULL);
-+ char* __sav = new char[std::strlen(__old) + 1];
-+ std::strcpy(__sav, __old);
-+ std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ std::setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+#endif
-+ return __ret;
-+ }
-+}
-+
-+#endif
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+ // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_out(state_type& __state, const intern_type* __from,
-+ const intern_type* __from_end, const intern_type*& __from_next,
-+ extern_type* __to, extern_type* __to_end,
-+ extern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+ // in case we fall back to wcrtomb and then continue, in a loop.
-+ // NB: wcsnrtombs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+ __from_end - __from_next);
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // wcrtomb.
-+ for (; __from < __from_next; ++__from)
-+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ extern_type __buf[MB_LEN_MAX];
-+ __tmp_state = __state;
-+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+ if (__conv > static_cast<size_t>(__to_end - __to_next))
-+ __ret = partial;
-+ else
-+ {
-+ memcpy(__to_next, __buf, __conv);
-+ __state = __tmp_state;
-+ __to_next += __conv;
-+ ++__from_next;
-+ }
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_in(state_type& __state, const extern_type* __from,
-+ const extern_type* __from_end, const extern_type*& __from_next,
-+ intern_type* __to, intern_type* __to_end,
-+ intern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we store a L'\0' and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+ __from_end
-+ - __from_next));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (;; ++__to_next, __from += __conv)
-+ {
-+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __from_next = __from;
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ // It is unclear what to return in this case (see DR 382).
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ if (__to_next < __to_end)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from_next;
-+ *__to_next++ = L'\0';
-+ }
-+ else
-+ __ret = partial;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_encoding() const throw()
-+ {
-+ // XXX This implementation assumes that the encoding is
-+ // stateless and is either single-byte or variable-width.
-+ int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ if (MB_CUR_MAX == 1)
-+ __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_max_length() const throw()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ // XXX Probably wrong for stateful encodings.
-+ int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_length(state_type& __state, const extern_type* __from,
-+ const extern_type* __end, size_t __max) const
-+ {
-+ int __ret = 0;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we advance past it and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+
-+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+ // its fourth parameter (it wouldn't with NULL as first parameter).
-+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
-+ * __max));
-+ while (__from < __end && __max)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+ __end
-+ - __from));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __end;
-+
-+ const extern_type* __tmp_from = __from;
-+ size_t __conv = mbsnrtowcs(__to, &__from,
-+ __from_chunk_end - __from,
-+ __max, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (__from = __tmp_from;; __from += __conv)
-+ {
-+ __conv = mbrtowc(NULL, __from, __end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __state = __tmp_state;
-+ __ret += __from - __tmp_from;
-+ break;
-+ }
-+ if (!__from)
-+ __from = __from_chunk_end;
-+
-+ __ret += __from - __tmp_from;
-+ __max -= __conv;
-+
-+ if (__from < __end && __max)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from;
-+ ++__ret;
-+ --__max;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+ // These are basically extensions to char_traits, and perhaps should
-+ // be put there instead of here.
-+ template<>
-+ int
-+ collate<char>::_M_compare(const char* __one, const char* __two) const
-+ {
-+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<char>::_M_transform(char* __to, const char* __from,
-+ size_t __n) const
-+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ int
-+ collate<wchar_t>::_M_compare(const wchar_t* __one,
-+ const wchar_t* __two) const
-+ {
-+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+ size_t __n) const
-+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L) wctype((S))
-+#define __towupper_l(C, L) towupper((C))
-+#define __towlower_l(C, L) towlower((C))
-+#define __iswctype_l(C, M, L) iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+ template<>
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+ {
-+ __wmask_type __ret;
-+ switch (__m)
-+ {
-+ case space:
-+ __ret = __wctype_l("space", _M_c_locale_ctype);
-+ break;
-+ case print:
-+ __ret = __wctype_l("print", _M_c_locale_ctype);
-+ break;
-+ case cntrl:
-+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+ break;
-+ case upper:
-+ __ret = __wctype_l("upper", _M_c_locale_ctype);
-+ break;
-+ case lower:
-+ __ret = __wctype_l("lower", _M_c_locale_ctype);
-+ break;
-+ case alpha:
-+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+ break;
-+ case digit:
-+ __ret = __wctype_l("digit", _M_c_locale_ctype);
-+ break;
-+ case punct:
-+ __ret = __wctype_l("punct", _M_c_locale_ctype);
-+ break;
-+ case xdigit:
-+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+ break;
-+ case alnum:
-+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+ break;
-+ case graph:
-+ __ret = __wctype_l("graph", _M_c_locale_ctype);
-+ break;
-+ default:
-+ __ret = 0;
-+ }
-+ return __ret;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return __towlower_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ bool __ret = false;
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur]
-+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ return __ret;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ mask __m = 0;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ __m |= _M_bit[__bitcur];
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !this->do_is(__m, *__lo))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __j = 0;
-+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+ _M_widen[__j] = btowc(__j);
-+
-+ for (size_t __k = 0; __k <= 11; ++__k)
-+ {
-+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+ // Specializations.
-+ template<>
-+ string
-+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+ __uselocale(__old);
-+ return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ const char* __msg = gettext(__dfault.c_str());
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return string(__msg);
-+#else
-+ const char* __msg = gettext(__dfault.c_str());
-+ return string(__msg);
-+#endif
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ wstring
-+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+ {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ __uselocale(__old);
-+ return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return _M_convert_from_char(__msg);
-+# else
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ return _M_convert_from_char(__msg);
-+# endif
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D) ((void)0)
-+#define __bindtextdomain(D,P) ((void)0)
-+#endif
-+
-+ // Non-virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::messages(size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-+ _M_name_messages(_S_get_c_name())
-+ { }
-+
-+ template<typename _CharT>
-+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+ _M_name_messages(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_messages = __tmp;
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
-+ const char* __dir) const
-+ {
-+ __bindtextdomain(__s.c_str(), __dir);
-+ return this->do_open(__s, __loc);
-+ }
-+
-+ // Virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::~messages()
-+ {
-+ if (_M_name_messages != _S_get_c_name())
-+ delete [] _M_name_messages;
-+ _S_destroy_c_locale(_M_c_locale_messages);
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::do_open(const basic_string<char>& __s,
-+ const locale&) const
-+ {
-+ // No error checking is done, assume the catalog exists and can
-+ // be used.
-+ __textdomain(__s.c_str());
-+ return 0;
-+ }
-+
-+ template<typename _CharT>
-+ void
-+ messages<_CharT>::do_close(catalog) const
-+ { }
-+
-+ // messages_byname
-+ template<typename _CharT>
-+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+ : messages<_CharT>(__refs)
-+ {
-+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+ delete [] this->_M_name_messages;
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ this->_M_name_messages = __tmp;
-+
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
-+ }
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,698 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ // Construct and return valid pattern consisting of some combination of:
-+ // space none symbol sign value
-+ money_base::pattern
-+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+ {
-+ pattern __ret;
-+
-+ // This insanely complicated routine attempts to construct a valid
-+ // pattern for use with monyepunct. A couple of invariants:
-+
-+ // if (__precedes) symbol -> value
-+ // else value -> symbol
-+
-+ // if (__space) space
-+ // else none
-+
-+ // none == never first
-+ // space never first or last
-+
-+ // Any elegant implementations of this are welcome.
-+ switch (__posn)
-+ {
-+ case 0:
-+ case 1:
-+ // 1 The sign precedes the value and symbol.
-+ __ret.field[0] = sign;
-+ if (__space)
-+ {
-+ // Pattern starts with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[3] = symbol;
-+ }
-+ __ret.field[2] = space;
-+ }
-+ else
-+ {
-+ // Pattern starts with sign and ends with none.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 2:
-+ // 2 The sign follows the value and symbol.
-+ if (__space)
-+ {
-+ // Pattern either ends with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[1] = space;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ // Pattern ends with sign then none.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[1] = symbol;
-+ }
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 3:
-+ // 3 The sign immediately precedes the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = sign;
-+ __ret.field[1] = symbol;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = symbol;
-+ }
-+ else
-+ {
-+ __ret.field[1] = sign;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ case 4:
-+ // 4 The sign immediately follows the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = sign;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ default:
-+ ;
-+ }
-+ return __ret;
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == false
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<char, true>::~moneypunct()
-+ { delete _M_data; }
-+
-+ template<>
-+ moneypunct<char, false>::~moneypunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len;
-+ __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, true>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, false>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,183 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
-+ __cloc));
-+
-+ // Check for NULL, which implies no grouping.
-+ if (_M_data->_M_thousands_sep == '\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = "true";
-+ _M_data->_M_truename_size = strlen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = "false";
-+ _M_data->_M_falsename_size = strlen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<char>::~numpunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<wchar_t>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_S_get_c_locale());
-+#endif
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_out[__i]);
-+ _M_data->_M_atoms_out[__i] = btowc(uc);
-+ }
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_in[__j]);
-+ _M_data->_M_atoms_in[__j] = btowc(uc);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+
-+ if (_M_data->_M_thousands_sep == L'\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = L"true";
-+ _M_data->_M_truename_size = wcslen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = L"false";
-+ _M_data->_M_falsename_size = wcslen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<wchar_t>::~numpunct()
-+ { delete _M_data; }
-+ #endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2004-09-10 10:48:00.000000000 -0500
-@@ -0,0 +1,356 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __timepunct<char>::
-+ _M_put(char* __s, size_t __maxlen, const char* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = '\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = "%m/%d/%y";
-+ _M_data->_M_date_era_format = "%m/%d/%y";
-+ _M_data->_M_time_format = "%H:%M:%S";
-+ _M_data->_M_time_era_format = "%H:%M:%S";
-+ _M_data->_M_date_time_format = "";
-+ _M_data->_M_date_time_era_format = "";
-+ _M_data->_M_am = "AM";
-+ _M_data->_M_pm = "PM";
-+ _M_data->_M_am_pm_format = "";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = "Sunday";
-+ _M_data->_M_day2 = "Monday";
-+ _M_data->_M_day3 = "Tuesday";
-+ _M_data->_M_day4 = "Wednesday";
-+ _M_data->_M_day5 = "Thursday";
-+ _M_data->_M_day6 = "Friday";
-+ _M_data->_M_day7 = "Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = "Sun";
-+ _M_data->_M_aday2 = "Mon";
-+ _M_data->_M_aday3 = "Tue";
-+ _M_data->_M_aday4 = "Wed";
-+ _M_data->_M_aday5 = "Thu";
-+ _M_data->_M_aday6 = "Fri";
-+ _M_data->_M_aday7 = "Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = "January";
-+ _M_data->_M_month02 = "February";
-+ _M_data->_M_month03 = "March";
-+ _M_data->_M_month04 = "April";
-+ _M_data->_M_month05 = "May";
-+ _M_data->_M_month06 = "June";
-+ _M_data->_M_month07 = "July";
-+ _M_data->_M_month08 = "August";
-+ _M_data->_M_month09 = "September";
-+ _M_data->_M_month10 = "October";
-+ _M_data->_M_month11 = "November";
-+ _M_data->_M_month12 = "December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = "Jan";
-+ _M_data->_M_amonth02 = "Feb";
-+ _M_data->_M_amonth03 = "Mar";
-+ _M_data->_M_amonth04 = "Apr";
-+ _M_data->_M_amonth05 = "May";
-+ _M_data->_M_amonth06 = "Jun";
-+ _M_data->_M_amonth07 = "Jul";
-+ _M_data->_M_amonth08 = "Aug";
-+ _M_data->_M_amonth09 = "Sep";
-+ _M_data->_M_amonth10 = "Oct";
-+ _M_data->_M_amonth11 = "Nov";
-+ _M_data->_M_amonth12 = "Dec";
-+ }
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
-+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ __timepunct<wchar_t>::
-+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = L'\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+// if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = L"%m/%d/%y";
-+ _M_data->_M_date_era_format = L"%m/%d/%y";
-+ _M_data->_M_time_format = L"%H:%M:%S";
-+ _M_data->_M_time_era_format = L"%H:%M:%S";
-+ _M_data->_M_date_time_format = L"";
-+ _M_data->_M_date_time_era_format = L"";
-+ _M_data->_M_am = L"AM";
-+ _M_data->_M_pm = L"PM";
-+ _M_data->_M_am_pm_format = L"";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = L"Sunday";
-+ _M_data->_M_day2 = L"Monday";
-+ _M_data->_M_day3 = L"Tuesday";
-+ _M_data->_M_day4 = L"Wednesday";
-+ _M_data->_M_day5 = L"Thursday";
-+ _M_data->_M_day6 = L"Friday";
-+ _M_data->_M_day7 = L"Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = L"Sun";
-+ _M_data->_M_aday2 = L"Mon";
-+ _M_data->_M_aday3 = L"Tue";
-+ _M_data->_M_aday4 = L"Wed";
-+ _M_data->_M_aday5 = L"Thu";
-+ _M_data->_M_aday6 = L"Fri";
-+ _M_data->_M_aday7 = L"Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = L"January";
-+ _M_data->_M_month02 = L"February";
-+ _M_data->_M_month03 = L"March";
-+ _M_data->_M_month04 = L"April";
-+ _M_data->_M_month05 = L"May";
-+ _M_data->_M_month06 = L"June";
-+ _M_data->_M_month07 = L"July";
-+ _M_data->_M_month08 = L"August";
-+ _M_data->_M_month09 = L"September";
-+ _M_data->_M_month10 = L"October";
-+ _M_data->_M_month11 = L"November";
-+ _M_data->_M_month12 = L"December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = L"Jan";
-+ _M_data->_M_amonth02 = L"Feb";
-+ _M_data->_M_amonth03 = L"Mar";
-+ _M_data->_M_amonth04 = L"Apr";
-+ _M_data->_M_amonth05 = L"May";
-+ _M_data->_M_amonth06 = L"Jun";
-+ _M_data->_M_amonth07 = L"Jul";
-+ _M_data->_M_amonth08 = L"Aug";
-+ _M_data->_M_amonth09 = L"Sep";
-+ _M_data->_M_amonth10 = L"Oct";
-+ _M_data->_M_amonth11 = L"Nov";
-+ _M_data->_M_amonth12 = L"Dec";
-+ }
-+#if 0
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
-+ _M_data->_M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
-+ _M_data->_M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
-+ _M_data->_M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
-+ _M_data->_M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
-+ _M_data->_M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
-+ _M_data->_M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
-+ _M_data->_M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
-+ _M_data->_M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
-+ _M_data->_M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
-+ _M_data->_M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
-+ _M_data->_M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
-+ _M_data->_M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
-+ _M_data->_M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
-+ _M_data->_M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
-+ _M_data->_M_aday2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
-+ _M_data->_M_aday3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
-+ _M_data->_M_aday4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
-+ _M_data->_M_aday5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
-+ _M_data->_M_aday6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
-+ _M_data->_M_aday7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
-+ _M_data->_M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
-+ _M_data->_M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
-+ _M_data->_M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
-+ _M_data->_M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
-+ _M_data->_M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
-+ _M_data->_M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
-+ _M_data->_M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
-+ _M_data->_M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
-+ _M_data->_M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
-+ _M_data->_M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
-+ _M_data->_M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
-+ _M_data->_M_amonth02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
-+ _M_data->_M_amonth03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
-+ _M_data->_M_amonth04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
-+ _M_data->_M_amonth05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
-+ _M_data->_M_amonth06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
-+ _M_data->_M_amonth07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
-+ _M_data->_M_amonth08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
-+ _M_data->_M_amonth09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
-+ _M_data->_M_amonth10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
-+ _M_data->_M_amonth11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
-+ _M_data->_M_amonth12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
-+ }
-+#endif // 0
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
-+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_timepunct = __tmp;
-+ _M_initialize_timepunct(__cloc);
-+ }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::~__timepunct()
-+ {
-+ if (_M_name_timepunct != _S_get_c_name())
-+ delete [] _M_name_timepunct;
-+ delete _M_data;
-+ _S_destroy_c_locale(_M_c_locale_timepunct);
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,58 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ struct ctype_base
-+ {
-+ // Note: In uClibc, the following two types depend on configuration.
-+
-+ // Non-standard typedefs.
-+ typedef const __ctype_touplow_t* __to_type;
-+
-+ // NB: Offsets into ctype<char>::_M_table force a particular size
-+ // on the mask type. Because of this, we don't use an enum.
-+ typedef __ctype_mask_t mask;
-+ static const mask upper = _ISupper;
-+ static const mask lower = _ISlower;
-+ static const mask alpha = _ISalpha;
-+ static const mask digit = _ISdigit;
-+ static const mask xdigit = _ISxdigit;
-+ static const mask space = _ISspace;
-+ static const mask print = _ISprint;
-+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
-+ static const mask cntrl = _IScntrl;
-+ static const mask punct = _ISpunct;
-+ static const mask alnum = _ISalpha | _ISdigit;
-+ };
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,69 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+
-+ bool
-+ ctype<char>::
-+ is(mask __m, char __c) const
-+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-+
-+ const char*
-+ ctype<char>::
-+ is(const char* __low, const char* __high, mask* __vec) const
-+ {
-+ while (__low < __high)
-+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-+ return __high;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_is(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-+ ++__low;
-+ return __low;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_not(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-+ ++__low;
-+ return __low;
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,92 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ { return __C_ctype_b; }
-+
-+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ char
-+ ctype<char>::do_toupper(char __c) const
-+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_toupper(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-+
-+ char
-+ ctype<char>::do_tolower(char __c) const
-+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_tolower(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,44 @@
-+// Specific definitions for GNU/Linux -*- C++ -*-
-+
-+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here. This
-+// file will come before all others.
-+
-+// This keeps isanum, et al from being propagated as macros.
-+#define __NO_CTYPE 1
-+
-+#include <features.h>
-+
-+// We must not see the optimized string functions GNU libc defines.
-+#define __NO_STRING_INLINES
-+
-+#endif
-diff -urN gcc-3.4.2-dist/libstdc++-v3/configure gcc-3.4.2/libstdc++-v3/configure
---- gcc-3.4.2-dist/libstdc++-v3/configure 2004-08-13 15:44:04.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/configure 2004-09-10 10:47:40.000000000 -0500
-@@ -3878,6 +3878,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5545,6 +5550,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ xlinux-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- cat >conftest.$ac_ext <<_ACEOF
- #line $LINENO "configure"
-@@ -5759,6 +5767,77 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$check_msgfmt"; then
-+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_check_msgfmt="yes"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+
-+
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/configure.host gcc-3.4.2/libstdc++-v3/configure.host
---- gcc-3.4.2-dist/libstdc++-v3/configure.host 2004-08-27 14:52:30.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/configure.host 2004-09-10 10:47:40.000000000 -0500
-@@ -217,6 +217,12 @@
- ;;
- esac
-
-+# Override for uClibc since linux-uclibc gets mishandled above.
-+case "${host_os}" in
-+ *-uclibc*)
-+ os_include_dir="os/uclibc"
-+ ;;
-+esac
-
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
-diff -urN gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 gcc-3.4.2/libstdc++-v3/crossconfig.m4
---- gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 2004-07-06 20:23:49.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/crossconfig.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -138,6 +138,99 @@
- ;;
- esac
- ;;
-+ *-uclibc*)
-+# Temporary hack until we implement the float versions of the libm funcs
-+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
-+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
-+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
-+ AC_SUBST(SECTION_FLAGS)
-+ GLIBCXX_CHECK_LINKER_FEATURES
-+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
-+
-+ # For LFS.
-+ AC_DEFINE(HAVE_INT64_T)
-+ case "$target" in
-+ *-uclinux*)
-+ # Don't enable LFS with uClinux
-+ ;;
-+ *)
-+ AC_DEFINE(_GLIBCXX_USE_LFS)
-+ esac
-+
-+ # For showmanyc_helper().
-+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
-+ GLIBCXX_CHECK_POLL
-+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-+
-+ # For xsputn_2().
-+ AC_CHECK_HEADERS(sys/uio.h)
-+ GLIBCXX_CHECK_WRITEV
-+
-+# AC_DEFINE(HAVE_ACOSF)
-+# AC_DEFINE(HAVE_ASINF)
-+# AC_DEFINE(HAVE_ATANF)
-+# AC_DEFINE(HAVE_ATAN2F)
-+ AC_DEFINE(HAVE_CEILF)
-+ AC_DEFINE(HAVE_COPYSIGN)
-+# AC_DEFINE(HAVE_COPYSIGNF)
-+# AC_DEFINE(HAVE_COSF)
-+# AC_DEFINE(HAVE_COSHF)
-+# AC_DEFINE(HAVE_EXPF)
-+# AC_DEFINE(HAVE_FABSF)
-+ AC_DEFINE(HAVE_FINITE)
-+ AC_DEFINE(HAVE_FINITEF)
-+ AC_DEFINE(HAVE_FLOORF)
-+# AC_DEFINE(HAVE_FMODF)
-+# AC_DEFINE(HAVE_FREXPF)
-+ AC_DEFINE(HAVE_HYPOT)
-+# AC_DEFINE(HAVE_HYPOTF)
-+ AC_DEFINE(HAVE_ISINF)
-+ AC_DEFINE(HAVE_ISINFF)
-+ AC_DEFINE(HAVE_ISNAN)
-+ AC_DEFINE(HAVE_ISNANF)
-+# AC_DEFINE(HAVE_LOGF)
-+# AC_DEFINE(HAVE_LOG10F)
-+# AC_DEFINE(HAVE_MODFF)
-+# AC_DEFINE(HAVE_SINF)
-+# AC_DEFINE(HAVE_SINHF)
-+# AC_DEFINE(HAVE_SINCOS)
-+# AC_DEFINE(HAVE_SINCOSF)
-+ AC_DEFINE(HAVE_SQRTF)
-+# AC_DEFINE(HAVE_TANF)
-+# AC_DEFINE(HAVE_TANHF)
-+ if test x"long_double_math_on_this_cpu" = x"yes"; then
-+ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
-+# AC_DEFINE(HAVE_ACOSL)
-+# AC_DEFINE(HAVE_ASINL)
-+# AC_DEFINE(HAVE_ATANL)
-+# AC_DEFINE(HAVE_ATAN2L)
-+# AC_DEFINE(HAVE_CEILL)
-+# AC_DEFINE(HAVE_COPYSIGNL)
-+# AC_DEFINE(HAVE_COSL)
-+# AC_DEFINE(HAVE_COSHL)
-+# AC_DEFINE(HAVE_EXPL)
-+# AC_DEFINE(HAVE_FABSL)
-+# AC_DEFINE(HAVE_FINITEL)
-+# AC_DEFINE(HAVE_FLOORL)
-+# AC_DEFINE(HAVE_FMODL)
-+# AC_DEFINE(HAVE_FREXPL)
-+# AC_DEFINE(HAVE_HYPOTL)
-+# AC_DEFINE(HAVE_ISINFL)
-+# AC_DEFINE(HAVE_ISNANL)
-+# AC_DEFINE(HAVE_LOGL)
-+# AC_DEFINE(HAVE_LOG10L)
-+# AC_DEFINE(HAVE_MODFL)
-+# AC_DEFINE(HAVE_POWL)
-+# AC_DEFINE(HAVE_SINL)
-+# AC_DEFINE(HAVE_SINHL)
-+# AC_DEFINE(HAVE_SINCOSL)
-+# AC_DEFINE(HAVE_SQRTL)
-+# AC_DEFINE(HAVE_TANL)
-+# AC_DEFINE(HAVE_TANHL)
-+ fi
-+ ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -152,7 +245,7 @@
- AC_DEFINE(HAVE_INT64_T)
- case "$target" in
- *-uclinux*)
-- # Don't enable LFS with uClibc
-+ # Don't enable LFS with uClinux
- ;;
- *)
- AC_DEFINE(_GLIBCXX_USE_LFS)
-diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h 2003-12-08 21:51:45.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h 2004-09-10 10:47:40.000000000 -0500
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
-
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h 2004-07-20 03:52:12.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h 2004-09-10 10:47:40.000000000 -0500
-@@ -179,7 +179,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
diff --git a/openwrt/toolchain/gcc/3.4.4/300-libstdc++-pic.patch b/openwrt/toolchain/gcc/3.4.4/300-libstdc++-pic.patch
deleted file mode 100644
index c030ba6..0000000
--- a/openwrt/toolchain/gcc/3.4.4/300-libstdc++-pic.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-# DP: Build and install libstdc++_pic.a library.
-
---- gcc/libstdc++-v3/src/Makefile.am~ 2003-02-28 09:21:05.000000000 +0100
-+++ gcc/libstdc++-v3/src/Makefile.am 2003-02-28 09:28:50.000000000 +0100
-@@ -224,6 +224,10 @@
- @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
-
-
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # Added bits to build debug library.
- if GLIBCPP_BUILD_DEBUG
- all-local: build_debug
-
---- gcc/libstdc++-v3/src/Makefile.in~ 2004-02-21 09:55:48.000000000 +0100
-+++ gcc/libstdc++-v3/src/Makefile.in 2004-02-21 09:59:34.000000000 +0100
-@@ -585,7 +585,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -618,6 +618,7 @@
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-data-local \
- install-exec install-exec-am install-info install-info-am \
-+ install-exec-local \
- install-man install-strip install-toolexeclibLTLIBRARIES \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
-@@ -707,6 +708,11 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # 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.
- .NOEXPORT:
diff --git a/openwrt/toolchain/gcc/3.4.4/601-gcc34-arm-ldm.patch b/openwrt/toolchain/gcc/3.4.4/601-gcc34-arm-ldm.patch
deleted file mode 100644
index 142052f..0000000
--- a/openwrt/toolchain/gcc/3.4.4/601-gcc34-arm-ldm.patch
+++ /dev/null
@@ -1,119 +0,0 @@
---- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm 2004-02-27 09:51:05.000000000 -0500
-+++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:16:25.000000000 -0400
-@@ -8520,6 +8520,26 @@
- return_used_this_function = 0;
- }
-
-+/* Return the number (counting from 0) of
-+ the least significant set bit in MASK. */
-+
-+#ifdef __GNUC__
-+inline
-+#endif
-+static int
-+number_of_first_bit_set (mask)
-+ int mask;
-+{
-+ int bit;
-+
-+ for (bit = 0;
-+ (mask & (1 << bit)) == 0;
-+ ++bit)
-+ continue;
-+
-+ return bit;
-+}
-+
- const char *
- arm_output_epilogue (rtx sibling)
- {
-@@ -8753,27 +8773,47 @@
- saved_regs_mask |= (1 << PC_REGNUM);
- }
-
-- /* Load the registers off the stack. If we only have one register
-- to load use the LDR instruction - it is faster. */
-- if (saved_regs_mask == (1 << LR_REGNUM))
-- {
-- /* The exception handler ignores the LR, so we do
-- not really need to load it off the stack. */
-- if (eh_ofs)
-- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
-- else
-- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM);
-- }
-- else if (saved_regs_mask)
-+ if (saved_regs_mask)
- {
-- if (saved_regs_mask & (1 << SP_REGNUM))
-- /* Note - write back to the stack register is not enabled
-- (ie "ldmfd sp!..."). We know that the stack pointer is
-- in the list of registers and if we add writeback the
-- instruction becomes UNPREDICTABLE. */
-- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
-+ /* Load the registers off the stack. If we only have one register
-+ to load use the LDR instruction - it is faster. */
-+ if (bit_count (saved_regs_mask) == 1)
-+ {
-+ int reg = number_of_first_bit_set (saved_regs_mask);
-+
-+ switch (reg)
-+ {
-+ case SP_REGNUM:
-+ /* Mustn't use base writeback when loading SP. */
-+ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM);
-+ break;
-+
-+ case LR_REGNUM:
-+ if (eh_ofs)
-+ {
-+ /* The exception handler ignores the LR, so we do
-+ not really need to load it off the stack. */
-+ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
-+ break;
-+ }
-+ /* else fall through */
-+
-+ default:
-+ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM);
-+ break;
-+ }
-+ }
- else
-- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
-+ {
-+ if (saved_regs_mask & (1 << SP_REGNUM))
-+ /* Note - write back to the stack register is not enabled
-+ (ie "ldmfd sp!..."). We know that the stack pointer is
-+ in the list of registers and if we add writeback the
-+ instruction becomes UNPREDICTABLE. */
-+ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
-+ else
-+ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
-+ }
- }
-
- if (current_function_pretend_args_size)
-@@ -11401,22 +11441,6 @@
- }
- }
-
--/* Return the number (counting from 0) of
-- the least significant set bit in MASK. */
--
--inline static int
--number_of_first_bit_set (int mask)
--{
-- int bit;
--
-- for (bit = 0;
-- (mask & (1 << bit)) == 0;
-- ++bit)
-- continue;
--
-- return bit;
--}
--
- /* Generate code to return from a thumb function.
- If 'reg_containing_return_addr' is -1, then the return address is
- actually on the stack, at the stack pointer. */
diff --git a/openwrt/toolchain/gcc/3.4.4/602-sdk-libstdc++-includes.patch b/openwrt/toolchain/gcc/3.4.4/602-sdk-libstdc++-includes.patch
deleted file mode 100644
index 4377c21..0000000
--- a/openwrt/toolchain/gcc/3.4.4/602-sdk-libstdc++-includes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gcc-3.4.1/libstdc++-v3/libmath/Makefile.am~ 2003-08-27 22:29:42.000000000 +0100
-+++ gcc-3.4.1/libstdc++-v3/libmath/Makefile.am 2004-07-22 16:41:45.152130128 +0100
-@@ -32,7 +32,7 @@
-
- libmath_la_SOURCES = stubs.c
-
--AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
-
- # Only compiling "C" sources in this directory.
- LIBTOOL = @LIBTOOL@ --tag CC
---- gcc-3.4.1/libstdc++-v3/fragment.am.old 2004-07-22 18:24:58.024083656 +0100
-+++ gcc-3.4.1/libstdc++-v3/fragment.am 2004-07-22 18:24:59.019932264 +0100
-@@ -18,7 +18,7 @@
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
- # -I/-D flags to pass when compiling.
--AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
-
-
-
diff --git a/openwrt/toolchain/gcc/3.4.4/700-pr15068-fix.patch b/openwrt/toolchain/gcc/3.4.4/700-pr15068-fix.patch
deleted file mode 100644
index 2977765..0000000
--- a/openwrt/toolchain/gcc/3.4.4/700-pr15068-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-See http://gcc.gnu.org/PR15068
-
-Fixes error
-
-../sysdeps/generic/s_fmax.c: In function `__fmax':
-../sysdeps/generic/s_fmax.c:28: internal compiler error: in elim_reg_cond, at flow.c:3257
-Please submit a full bug report,
-with preprocessed source if appropriate.
-See <URL:http://gcc.gnu.org/bugs.html> for instructions.
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/build-glibc/math/s_fmax.o] Error 1
-make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822/math'
-make[1]: *** [math/others] Error 2
-make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822'
-make: *** [all] Error 2
-
-[ rediffed against gcc-3.4.1, with elbow grease, ending up with same thing as
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.3 ]
-
---- gcc-3.4.1/gcc/flow.c.old 2004-02-27 19:39:19.000000000 -0800
-+++ gcc-3.4.1/gcc/flow.c 2004-08-26 07:29:46.000000000 -0700
-@@ -1878,6 +1878,7 @@
- rtx set_src = SET_SRC (pc_set (BB_END (bb)));
- rtx cond_true = XEXP (set_src, 0);
- rtx reg = XEXP (cond_true, 0);
-+ enum rtx_code inv_cond;
-
- if (GET_CODE (reg) == SUBREG)
- reg = SUBREG_REG (reg);
-@@ -1886,11 +1887,13 @@
- in the form of a comparison of a register against zero.
- If the condition is more complex than that, then it is safe
- not to record any information. */
-- if (GET_CODE (reg) == REG
-+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
-+ if (inv_cond != UNKNOWN
-+ && GET_CODE (reg) == REG
- && XEXP (cond_true, 1) == const0_rtx)
- {
- rtx cond_false
-- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
-+ = gen_rtx_fmt_ee (inv_cond,
- GET_MODE (cond_true), XEXP (cond_true, 0),
- XEXP (cond_true, 1));
- if (GET_CODE (XEXP (set_src, 1)) == PC)
diff --git a/openwrt/toolchain/gcc/3.4.4/800-arm-bigendian.patch b/openwrt/toolchain/gcc/3.4.4/800-arm-bigendian.patch
deleted file mode 100644
index 0bae8f4..0000000
--- a/openwrt/toolchain/gcc/3.4.4/800-arm-bigendian.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-08-16 16:01:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-16 15:43:40.000000000 -0500
-@@ -30,17 +30,34 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 | \
-+ ARM_FLAG_MMU_TRAPS | \
-+ TARGET_ENDIAN_DEFAULT )
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -101,7 +118,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
- #endif
-
-diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
---- gcc-3.4.1-dist/gcc/config.gcc 2004-08-16 16:01:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config.gcc 2004-08-16 16:01:25.000000000 -0500
-@@ -672,6 +672,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/openwrt/toolchain/gcc/3.4.4/810-arm-bigendian-uclibc.patch b/openwrt/toolchain/gcc/3.4.4/810-arm-bigendian-uclibc.patch
deleted file mode 100644
index a4d87e2..0000000
--- a/openwrt/toolchain/gcc/3.4.4/810-arm-bigendian-uclibc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-08-16 16:08:18.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-16 16:06:24.000000000 -0500
-@@ -107,7 +107,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
- #else
- #define LINK_SPEC "%{h*} %{version:-v} \
-diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
---- gcc-3.4.1-dist/gcc/config.gcc 2004-08-16 16:08:18.000000000 -0500
-+++ gcc-3.4.1/gcc/config.gcc 2004-08-16 16:03:25.000000000 -0500
-@@ -666,6 +666,11 @@
- ;;
- arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/openwrt/toolchain/gcc/3.4.4/830-gcc-bug-num-22167.patch b/openwrt/toolchain/gcc/3.4.4/830-gcc-bug-num-22167.patch
deleted file mode 100644
index c7419af..0000000
--- a/openwrt/toolchain/gcc/3.4.4/830-gcc-bug-num-22167.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: gcc/gcse.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/gcse.c,v
-retrieving revision 1.288.2.9
-diff -u -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.288.2.9 gcse.c
---- gcc/gcc/gcse.c 30 Oct 2004 18:02:53 -0000 1.288.2.9
-+++ gcc/gcc/gcse.c 14 Jul 2005 13:19:57 -0000
-@@ -6445,7 +6445,7 @@ hoist_code (void)
- insn_inserted_p = 0;
-
- /* These tests should be the same as the tests above. */
-- if (TEST_BIT (hoist_vbeout[bb->index], i))
-+ if (TEST_BIT (hoist_exprs[bb->index], i))
- {
- /* We've found a potentially hoistable expression, now
- we look at every block BB dominates to see if it
diff --git a/openwrt/toolchain/gcc/3.4.4/arm-softfloat.patch.conditional b/openwrt/toolchain/gcc/3.4.4/arm-softfloat.patch.conditional
deleted file mode 100644
index 19d1b90..0000000
--- a/openwrt/toolchain/gcc/3.4.4/arm-softfloat.patch.conditional
+++ /dev/null
@@ -1,270 +0,0 @@
-Note... modified my mjn3 to not conflict with the big endian arm patch.
-Warning!!! Only the linux target is aware of TARGET_ENDIAN_DEFAULT.
-Also changed
- #define SUBTARGET_EXTRA_ASM_SPEC "\
- %{!mcpu=*:-mcpu=xscale} \
- %{mhard-float:-mfpu=fpa} \
- %{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
-to
- #define SUBTARGET_EXTRA_ASM_SPEC "\
- %{mhard-float:-mfpu=fpa} \
- %{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
-in gcc/config/arm/linux-elf.h.
-#
-# Submitted:
-#
-# Dimitry Andric <dimitry@andric.com>, 2004-05-01
-#
-# Description:
-#
-# Nicholas Pitre released this patch for gcc soft-float support here:
-# http://lists.arm.linux.org.uk/pipermail/linux-arm/2003-October/006436.html
-#
-# This version has been adapted to work with gcc 3.4.0.
-#
-# The original patch doesn't distinguish between softfpa and softvfp modes
-# in the way Nicholas Pitre probably meant. His description is:
-#
-# "Default is to use APCS-32 mode with soft-vfp. The old Linux default for
-# floats can be achieved with -mhard-float or with the configure
-# --with-float=hard option. If -msoft-float or --with-float=soft is used then
-# software float support will be used just like the default but with the legacy
-# big endian word ordering for double float representation instead."
-#
-# Which means the following:
-#
-# * If you compile without -mhard-float or -msoft-float, you should get
-# software floating point, using the VFP format. The produced object file
-# should have these flags in its header:
-#
-# private flags = 600: [APCS-32] [VFP float format] [software FP]
-#
-# * If you compile with -mhard-float, you should get hardware floating point,
-# which always uses the FPA format. Object file header flags should be:
-#
-# private flags = 0: [APCS-32] [FPA float format]
-#
-# * If you compile with -msoft-float, you should get software floating point,
-# using the FPA format. This is done for compatibility reasons with many
-# existing distributions. Object file header flags should be:
-#
-# private flags = 200: [APCS-32] [FPA float format] [software FP]
-#
-# The original patch from Nicholas Pitre contained the following constructs:
-#
-# #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
-# %{mhard-float:-mfpu=fpa} \
-# %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
-#
-# However, gcc doesn't accept this ";:" notation, used in the 3rd line. This
-# is probably the reason Robert Schwebel modified it to:
-#
-# #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
-# %{mhard-float:-mfpu=fpa} \
-# %{!mhard-float: %{msoft-float:-mfpu=softfpa -mfpu=softvfp}}"
-#
-# But this causes the following behaviour:
-#
-# * If you compile without -mhard-float or -msoft-float, the compiler generates
-# software floating point instructions, but *nothing* is passed to the
-# assembler, which results in an object file which has flags:
-#
-# private flags = 0: [APCS-32] [FPA float format]
-#
-# This is not correct!
-#
-# * If you compile with -mhard-float, the compiler generates hardware floating
-# point instructions, and passes "-mfpu=fpa" to the assembler, which results
-# in an object file which has the same flags as in the previous item, but now
-# those *are* correct.
-#
-# * If you compile with -msoft-float, the compiler generates software floating
-# point instructions, and passes "-mfpu=softfpa -mfpu=softvfp" (in that
-# order) to the assembler, which results in an object file with flags:
-#
-# private flags = 600: [APCS-32] [VFP float format] [software FP]
-#
-# This is not correct, because the last "-mfpu=" option on the assembler
-# command line determines the actual FPU convention used (which should be FPA
-# in this case).
-#
-# Therefore, I modified this patch to get the desired behaviour. Every
-# instance of the notation:
-#
-# %{msoft-float:-mfpu=softfpa -mfpu=softvfp}
-#
-# was changed to:
-#
-# %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}
-#
-# I also did the following:
-#
-# * Modified all TARGET_DEFAULT macros I could find to include ARM_FLAG_VFP, to
-# be consistent with Nicholas' original patch.
-# * Removed any "msoft-float" or "mhard-float" from all MULTILIB_DEFAULTS
-# macros I could find. I think that if you compile without any options, you
-# would like to get the defaults. :)
-# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
-# anymore. (The required functions are now in libgcc.)
-
-diff -urN gcc-3.4.1-old/gcc/config/arm/coff.h gcc-3.4.1/gcc/config/arm/coff.h
---- gcc-3.4.1-old/gcc/config/arm/coff.h 2004-02-24 08:25:22.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/coff.h 2004-09-02 21:51:15.000000000 -0500
-@@ -31,11 +31,16 @@
- #define TARGET_VERSION fputs (" (ARM/coff)", stderr)
-
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_SOFT_FLOAT \
-+ | ARM_FLAG_VFP \
-+ | ARM_FLAG_APCS_32 \
-+ | ARM_FLAG_APCS_FRAME \
-+ | ARM_FLAG_MMU_TRAPS )
-
- #ifndef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork" }
- #endif
-
- /* This is COFF, but prefer stabs. */
-diff -urN gcc-3.4.1-old/gcc/config/arm/elf.h gcc-3.4.1/gcc/config/arm/elf.h
---- gcc-3.4.1-old/gcc/config/arm/elf.h 2004-02-24 08:25:22.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/elf.h 2004-09-02 21:51:15.000000000 -0500
-@@ -46,7 +46,9 @@
-
- #ifndef SUBTARGET_ASM_FLOAT_SPEC
- #define SUBTARGET_ASM_FLOAT_SPEC "\
--%{mapcs-float:-mfloat} %{msoft-float:-mfpu=softfpa}"
-+%{mapcs-float:-mfloat} \
-+%{mhard-float:-mfpu=fpa} \
-+%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
- #endif
-
- #ifndef ASM_SPEC
-@@ -106,12 +108,17 @@
- #endif
-
- #ifndef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_SOFT_FLOAT \
-+ | ARM_FLAG_VFP \
-+ | ARM_FLAG_APCS_32 \
-+ | ARM_FLAG_APCS_FRAME \
-+ | ARM_FLAG_MMU_TRAPS )
- #endif
-
- #ifndef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork", "fno-leading-underscore" }
-+ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork", "fno-leading-underscore" }
- #endif
-
- #define TARGET_ASM_FILE_START_APP_OFF true
-diff -urN gcc-3.4.1-old/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-old/gcc/config/arm/linux-elf.h 2004-09-02 21:50:52.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-09-02 22:00:49.000000000 -0500
-@@ -44,12 +44,26 @@
- #define TARGET_LINKER_EMULATION "armelf_linux"
- #endif
-
--/* Default is to use APCS-32 mode. */
-+/*
-+ * Default is to use APCS-32 mode with soft-vfp.
-+ * The old Linux default for floats can be achieved with -mhard-float
-+ * or with the configure --with-float=hard option.
-+ * If -msoft-float or --with-float=soft is used then software float
-+ * support will be used just like the default but with the legacy
-+ * big endian word ordering for double float representation instead.
-+ */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT \
-- ( ARM_FLAG_APCS_32 | \
-- ARM_FLAG_MMU_TRAPS | \
-- TARGET_ENDIAN_DEFAULT )
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 \
-+ | ARM_FLAG_SOFT_FLOAT \
-+ | TARGET_ENDIAN_DEFAULT \
-+ | ARM_FLAG_VFP \
-+ | ARM_FLAG_MMU_TRAPS )
-+
-+#undef SUBTARGET_EXTRA_ASM_SPEC
-+#define SUBTARGET_EXTRA_ASM_SPEC "\
-+%{mhard-float:-mfpu=fpa} \
-+%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
-@@ -57,7 +71,7 @@
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -72,7 +86,7 @@
- %{shared:-lc} \
- %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
-
- /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
- the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
-diff -urN gcc-3.4.1-old/gcc/config/arm/t-linux gcc-3.4.1/gcc/config/arm/t-linux
---- gcc-3.4.1-old/gcc/config/arm/t-linux 2003-09-20 16:09:07.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/t-linux 2004-09-02 21:51:15.000000000 -0500
-@@ -4,7 +4,10 @@
- LIBGCC2_DEBUG_CFLAGS = -g0
-
- LIB1ASMSRC = arm/lib1funcs.asm
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
-+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
-+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-+ _fixsfsi _fixunssfsi
-
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
-diff -urN gcc-3.4.1-old/gcc/config/arm/unknown-elf.h gcc-3.4.1/gcc/config/arm/unknown-elf.h
---- gcc-3.4.1-old/gcc/config/arm/unknown-elf.h 2004-02-24 08:25:22.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/unknown-elf.h 2004-09-02 21:51:15.000000000 -0500
-@@ -30,7 +30,12 @@
-
- /* Default to using APCS-32 and software floating point. */
- #ifndef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_SOFT_FLOAT \
-+ | ARM_FLAG_VFP \
-+ | ARM_FLAG_APCS_32 \
-+ | ARM_FLAG_APCS_FRAME \
-+ | ARM_FLAG_MMU_TRAPS )
- #endif
-
- /* Now we define the strings used to build the spec file. */
-diff -urN gcc-3.4.1-old/gcc/config/arm/xscale-elf.h gcc-3.4.1/gcc/config/arm/xscale-elf.h
---- gcc-3.4.1-old/gcc/config/arm/xscale-elf.h 2003-07-01 18:26:43.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/xscale-elf.h 2004-09-02 21:51:15.000000000 -0500
-@@ -49,11 +49,12 @@
- endian, regardless of the endian-ness of the memory
- system. */
-
--#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
-- %{mhard-float:-mfpu=fpa} \
-- %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
-+#define SUBTARGET_EXTRA_ASM_SPEC "\
-+%{!mcpu=*:-mcpu=xscale} \
-+%{mhard-float:-mfpu=fpa} \
-+%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
-
- #ifndef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "mlittle-endian", "mno-thumb-interwork", "marm", "msoft-float" }
-+ { "mlittle-endian", "mno-thumb-interwork", "marm" }
- #endif
diff --git a/openwrt/toolchain/gcc/3.4.4/static-libgcc.patch.conditional b/openwrt/toolchain/gcc/3.4.4/static-libgcc.patch.conditional
deleted file mode 100644
index c8c1d84..0000000
--- a/openwrt/toolchain/gcc/3.4.4/static-libgcc.patch.conditional
+++ /dev/null
@@ -1,11 +0,0 @@
---- specs~ 2005-11-21 17:22:08.000000000 +0100
-+++ specs 2005-11-21 17:22:08.000000000 +0100
-@@ -51,7 +51,7 @@
- %{shared: -lc} %{!static:-rpath-link %R/lib:%R/usr/lib} %{!shared: %{pthread:-lpthread} %{profile:-lc_p} %{!profile: -lc}}
-
- *libgcc:
--%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --as-needed -lgcc_s%M --no-as-needed}%{shared-libgcc:-lgcc_s%M%{!shared: -lgcc}}}}
-+%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:%{shared-libgcc:-lgcc_s%M}%{!shared-libgcc:-lgcc}}}}
-
- *startfile:
- %{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}
diff --git a/openwrt/toolchain/gcc/3.4.5/100-uclibc-conf.patch b/openwrt/toolchain/gcc/3.4.5/100-uclibc-conf.patch
deleted file mode 100644
index 6bc73a4..0000000
--- a/openwrt/toolchain/gcc/3.4.5/100-uclibc-conf.patch
+++ /dev/null
@@ -1,462 +0,0 @@
---- gcc-3.4.1/gcc/config.gcc
-+++ gcc-3.4.1/gcc/config.gcc
-@@ -2310,10 +2310,16 @@
- *)
- echo "*** Configuration ${target} not supported" 1>&2
- exit 1
- ;;
- esac
-+
-+# Rather than hook into each target, just do it after all the linux
-+# targets have been processed
-+case ${target} in
-+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC"
-+esac
-
- # Support for --with-cpu and related options (and a few unrelated options,
- # too).
- case ${with_cpu} in
- yes | no)
---- gcc-3.4.4/gcc/config/alpha/linux-elf.h
-+++ gcc-3.4.4/gcc/config/alpha/linux-elf.h
-@@ -27,7 +27,11 @@
- #define SUBTARGET_EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
- #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
-
- #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
- %{O*:-O3} %{!O*:-O1} \
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-01-31 00:18:11.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-12 15:54:42.000000000 -0500
-@@ -80,14 +80,19 @@
- #define ENDFILE_SPEC \
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "%{h*} %{version:-v} \
- %{b} %{Wl,*:%*} \
- %{static:-Bstatic} \
- %{shared:-shared} \
- %{symbolic:-Bsymbolic} \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "} \
- -X \
- %{mbig-endian:-EB}" \
- SUBTARGET_EXTRA_LINK_SPEC
---- gcc-3.4.1-dist/gcc/config/cris/linux.h 2003-11-28 21:08:09.000000000 -0600
-+++ gcc-3.4.1/gcc/config/cris/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -79,6 +79,25 @@
- #undef CRIS_DEFAULT_CPU_VERSION
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-
-+#ifdef USE_UCLIBC
-+
-+#undef CRIS_SUBTARGET_VERSION
-+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+
-+#undef CRIS_LINK_SUBTARGET_SPEC
-+#define CRIS_LINK_SUBTARGET_SPEC \
-+ "-mcrislinux\
-+ -rpath-link include/asm/../..%s\
-+ %{shared} %{static}\
-+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
-+ %{!shared: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
-+ %{!r:%{O2|O3: --gc-sections}}"
-+
-+#else /* USE_UCLIBC */
-+
- #undef CRIS_SUBTARGET_VERSION
- #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-
-@@ -93,6 +112,8 @@
- %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
- %{!r:%{O2|O3: --gc-sections}}"
-
-+#endif /* USE_UCLIBC */
-+
-
- /* Node: Run-time Target */
-
---- gcc-3.4.1-dist/gcc/config/i386/linux.h 2003-11-28 21:08:10.000000000 -0600
-+++ gcc-3.4.1/gcc/config/i386/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -110,22 +110,21 @@
-
- #undef LINK_SPEC
- #ifdef USE_GNULIBC_1
--#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
-- %{!shared: \
-- %{!ibcs: \
-- %{!static: \
-- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
-- %{static:-static}}}"
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.1"
-+#else
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
- #else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
-+#endif
- #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
--#endif
-
- /* A C statement (sans semicolon) to output to the stdio stream
- FILE the assembler definition of uninitialized global DECL named
---- gcc-3.4.4/gcc/config/i386/linux64.h
-+++ gcc-3.4.4/gcc/config/i386/linux64.h
-@@ -54,14 +54,21 @@
- When the -shared link option is used a final link is not being
- done. */
-
-+#ifdef USE_UCLIBC
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
-+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
-+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
- %{static:-static}}"
-
- #define MULTILIB_DEFAULTS { "m64" }
---- gcc-3.4.4/gcc/config/ia64/linux.h
-+++ gcc-3.4.4/gcc/config/ia64/linux.h
-@@ -37,13 +37,18 @@
- /* Define this for shared library support because it isn't in the main
- linux.h file. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}"
-
-
---- gcc-3.4.4/gcc/config/m68k/linux.h
-+++ gcc-3.4.4/gcc/config/m68k/linux.h
-@@ -131,12 +131,17 @@
-
- /* If ELF is the default format, we should not use /lib/elf. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "-m m68kelf %{shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static}}"
-
- /* For compatibility with linux/a.out */
---- gcc-3.4.1-dist/gcc/config/mips/linux.h 2004-06-15 20:42:24.000000000 -0500
-+++ gcc-3.4.1/gcc/config/mips/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -109,14 +109,19 @@
-
- /* Borrowed from sparc/linux.h */
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #define LINK_SPEC \
- "%(endian_spec) \
- %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
-
- #undef SUBTARGET_ASM_SPEC
---- gcc-3.4.4/gcc/config/pa/pa-linux.h
-+++ gcc-3.4.4/gcc/config/pa/pa-linux.h
-@@ -77,13 +77,18 @@
- /* Define this for shared library support because it isn't in the main
- linux.h file. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}"
-
- /* glibc's profiling functions don't need gcc to allocate counters. */
---- gcc-3.4.1-dist/gcc/config/rs6000/linux.h 2004-02-25 09:11:19.000000000 -0600
-+++ gcc-3.4.1/gcc/config/rs6000/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -69,7 +69,11 @@
- #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
- #undef LINK_OS_DEFAULT_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
-+#else
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-+#endif
-
- #define LINK_GCC_C_SEQUENCE_SPEC \
- "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
---- gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h 2004-06-10 01:39:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config/rs6000/sysv4.h 2004-08-12 15:54:43.000000000 -0500
-@@ -947,6 +947,7 @@
- mcall-linux : %(link_os_linux) ; \
- mcall-gnu : %(link_os_gnu) ; \
- mcall-netbsd : %(link_os_netbsd) ; \
-+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
- mcall-openbsd: %(link_os_openbsd) ; \
- : %(link_os_default) }"
-
-@@ -1125,6 +1126,10 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
- #endif
-@@ -1291,6 +1296,7 @@
- { "link_os_sim", LINK_OS_SIM_SPEC }, \
- { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
- { "link_os_linux", LINK_OS_LINUX_SPEC }, \
-+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
- { "link_os_gnu", LINK_OS_GNU_SPEC }, \
- { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
---- gcc-3.4.4/gcc/config/s390/linux.h
-+++ gcc-3.4.4/gcc/config/s390/linux.h
-@@ -77,6 +77,13 @@
- #define MULTILIB_DEFAULTS { "m31" }
- #endif
-
-+#ifdef USE_UCLIBC
-+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
-@@ -86,8 +93,8 @@
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker: \
-- %{m31:-dynamic-linker /lib/ld.so.1} \
-- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
-+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
-
-
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
---- gcc-3.4.1-dist/gcc/config/sh/linux.h 2004-01-11 20:29:13.000000000 -0600
-+++ gcc-3.4.1/gcc/config/sh/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -73,11 +73,16 @@
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
- #undef SUBTARGET_LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define SUBTARGET_LINK_SPEC \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}"
-
- #undef LIB_SPEC
---- gcc-3.4.4/gcc/config/sparc/linux.h
-+++ gcc-3.4.4/gcc/config/sparc/linux.h
-@@ -162,13 +162,18 @@
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
- %{static:-static}}}"
- #else
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!mno-relax:%{!r:-relax}} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
- #endif
-
---- gcc-3.4.4/gcc/config/sparc/linux64.h
-+++ gcc-3.4.4/gcc/config/sparc/linux64.h
-@@ -167,12 +166,17 @@
- { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
- { "link_arch", LINK_ARCH_SPEC },
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}} \
- "
-
---- gcc-3.4.1-dist/libtool.m4 2004-05-18 04:08:37.000000000 -0500
-+++ gcc-3.4.1/libtool.m4 2004-08-12 15:54:43.000000000 -0500
-@@ -689,6 +689,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
---- gcc-3.4.1-dist/ltconfig 2004-03-05 15:05:41.000000000 -0600
-+++ gcc-3.4.1/ltconfig 2004-08-12 15:55:48.000000000 -0500
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1262,6 +1263,24 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ # Note: copied from linux-gnu, and may not be appropriate.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
---- gcc-3.4.1-dist/boehm-gc/configure 2004-07-01 14:14:03.000000000 -0500
-+++ gcc-3.4.1/boehm-gc/configure 2004-08-12 16:22:57.000000000 -0500
-@@ -1947,6 +1947,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-3.4.1-dist/boehm-gc/ltconfig 2002-11-20 09:59:06.000000000 -0600
-+++ gcc-3.4.1/boehm-gc/ltconfig 2004-08-12 15:54:42.000000000 -0500
-@@ -1981,6 +1981,23 @@
- fi
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-+ file_magic_cmd=/usr/bin/file
-+ file_magic_test_file=`echo /lib/libuClibc-*.so`
-+
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- version_type=sunos
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
diff --git a/openwrt/toolchain/gcc/3.4.5/200-uclibc-locale.patch b/openwrt/toolchain/gcc/3.4.5/200-uclibc-locale.patch
deleted file mode 100644
index a97f22b..0000000
--- a/openwrt/toolchain/gcc/3.4.5/200-uclibc-locale.patch
+++ /dev/null
@@ -1,3255 +0,0 @@
-diff -urN gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 gcc-3.4.2/libstdc++-v3/acinclude.m4
---- gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 2004-07-15 12:42:45.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/acinclude.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -996,7 +996,7 @@
- AC_MSG_CHECKING([for C locale to use])
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
-@@ -1012,6 +1012,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ x*-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1138,6 +1141,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 gcc-3.4.2/libstdc++-v3/aclocal.m4
---- gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 2004-08-13 15:44:03.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/aclocal.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -1025,6 +1025,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ x*-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1151,6 +1154,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,59 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#endif // GLIBC 2.3 and later
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L) strtof((S), (E))
-+#define __strtod_l(S, E, L) strtod((S), (E))
-+#define __strtold_l(S, E, L) strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c) NULL
-+#define __freelocale(a) ((void)0)
-+#define __duplocale(a) __c_locale()
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale __old)
-+ {
-+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ if (!__cloc)
-+ {
-+ // This named locale is not supported by the underlying OS.
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ }
-+#endif
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ {
-+ if (_S_get_c_locale() != __cloc)
-+ __freelocale(__cloc);
-+ }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+ { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES",
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+ "LC_PAPER",
-+ "LC_NAME",
-+ "LC_ADDRESS",
-+ "LC_TELEPHONE",
-+ "LC_MEASUREMENT",
-+ "LC_IDENTIFICATION"
-+#endif
-+ };
-+}
-+
-+namespace std
-+{
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+} // namespace std
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2004-09-10 10:48:08.000000000 -0500
-@@ -0,0 +1,115 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring> // get std::strlen
-+#include <cstdio> // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h> // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h> // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h> // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+ extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ typedef __locale_t __c_locale;
-+#else
-+ typedef int* __c_locale;
-+#endif
-+
-+ // Convert numeric value of type _Tv to string and return length of
-+ // string. If snprintf is available use it, otherwise fall back to
-+ // the unsafe sprintf which, in general, can be dangerous and should
-+ // be avoided.
-+ template<typename _Tv>
-+ int
-+ __convert_from_v(char* __out, const int __size, const char* __fmt,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ _Tv __v, const __c_locale& __cloc, int __prec)
-+ {
-+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+ _Tv __v, const __c_locale&, int __prec)
-+ {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+ char* __old = std::setlocale(LC_ALL, NULL);
-+ char* __sav = new char[std::strlen(__old) + 1];
-+ std::strcpy(__sav, __old);
-+ std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ std::setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+#endif
-+ return __ret;
-+ }
-+}
-+
-+#endif
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+ // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_out(state_type& __state, const intern_type* __from,
-+ const intern_type* __from_end, const intern_type*& __from_next,
-+ extern_type* __to, extern_type* __to_end,
-+ extern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+ // in case we fall back to wcrtomb and then continue, in a loop.
-+ // NB: wcsnrtombs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+ __from_end - __from_next);
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // wcrtomb.
-+ for (; __from < __from_next; ++__from)
-+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ extern_type __buf[MB_LEN_MAX];
-+ __tmp_state = __state;
-+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+ if (__conv > static_cast<size_t>(__to_end - __to_next))
-+ __ret = partial;
-+ else
-+ {
-+ memcpy(__to_next, __buf, __conv);
-+ __state = __tmp_state;
-+ __to_next += __conv;
-+ ++__from_next;
-+ }
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_in(state_type& __state, const extern_type* __from,
-+ const extern_type* __from_end, const extern_type*& __from_next,
-+ intern_type* __to, intern_type* __to_end,
-+ intern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we store a L'\0' and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+ __from_end
-+ - __from_next));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (;; ++__to_next, __from += __conv)
-+ {
-+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __from_next = __from;
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ // It is unclear what to return in this case (see DR 382).
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ if (__to_next < __to_end)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from_next;
-+ *__to_next++ = L'\0';
-+ }
-+ else
-+ __ret = partial;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_encoding() const throw()
-+ {
-+ // XXX This implementation assumes that the encoding is
-+ // stateless and is either single-byte or variable-width.
-+ int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ if (MB_CUR_MAX == 1)
-+ __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_max_length() const throw()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ // XXX Probably wrong for stateful encodings.
-+ int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_length(state_type& __state, const extern_type* __from,
-+ const extern_type* __end, size_t __max) const
-+ {
-+ int __ret = 0;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we advance past it and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+
-+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+ // its fourth parameter (it wouldn't with NULL as first parameter).
-+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
-+ * __max));
-+ while (__from < __end && __max)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+ __end
-+ - __from));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __end;
-+
-+ const extern_type* __tmp_from = __from;
-+ size_t __conv = mbsnrtowcs(__to, &__from,
-+ __from_chunk_end - __from,
-+ __max, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (__from = __tmp_from;; __from += __conv)
-+ {
-+ __conv = mbrtowc(NULL, __from, __end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __state = __tmp_state;
-+ __ret += __from - __tmp_from;
-+ break;
-+ }
-+ if (!__from)
-+ __from = __from_chunk_end;
-+
-+ __ret += __from - __tmp_from;
-+ __max -= __conv;
-+
-+ if (__from < __end && __max)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from;
-+ ++__ret;
-+ --__max;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+ // These are basically extensions to char_traits, and perhaps should
-+ // be put there instead of here.
-+ template<>
-+ int
-+ collate<char>::_M_compare(const char* __one, const char* __two) const
-+ {
-+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<char>::_M_transform(char* __to, const char* __from,
-+ size_t __n) const
-+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ int
-+ collate<wchar_t>::_M_compare(const wchar_t* __one,
-+ const wchar_t* __two) const
-+ {
-+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+ size_t __n) const
-+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L) wctype((S))
-+#define __towupper_l(C, L) towupper((C))
-+#define __towlower_l(C, L) towlower((C))
-+#define __iswctype_l(C, M, L) iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+ template<>
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+ {
-+ __wmask_type __ret;
-+ switch (__m)
-+ {
-+ case space:
-+ __ret = __wctype_l("space", _M_c_locale_ctype);
-+ break;
-+ case print:
-+ __ret = __wctype_l("print", _M_c_locale_ctype);
-+ break;
-+ case cntrl:
-+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+ break;
-+ case upper:
-+ __ret = __wctype_l("upper", _M_c_locale_ctype);
-+ break;
-+ case lower:
-+ __ret = __wctype_l("lower", _M_c_locale_ctype);
-+ break;
-+ case alpha:
-+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+ break;
-+ case digit:
-+ __ret = __wctype_l("digit", _M_c_locale_ctype);
-+ break;
-+ case punct:
-+ __ret = __wctype_l("punct", _M_c_locale_ctype);
-+ break;
-+ case xdigit:
-+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+ break;
-+ case alnum:
-+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+ break;
-+ case graph:
-+ __ret = __wctype_l("graph", _M_c_locale_ctype);
-+ break;
-+ default:
-+ __ret = 0;
-+ }
-+ return __ret;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return __towlower_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ bool __ret = false;
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur]
-+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ return __ret;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ mask __m = 0;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ __m |= _M_bit[__bitcur];
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !this->do_is(__m, *__lo))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __j = 0;
-+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+ _M_widen[__j] = btowc(__j);
-+
-+ for (size_t __k = 0; __k <= 11; ++__k)
-+ {
-+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+ // Specializations.
-+ template<>
-+ string
-+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+ __uselocale(__old);
-+ return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ const char* __msg = gettext(__dfault.c_str());
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return string(__msg);
-+#else
-+ const char* __msg = gettext(__dfault.c_str());
-+ return string(__msg);
-+#endif
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ wstring
-+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+ {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ __uselocale(__old);
-+ return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return _M_convert_from_char(__msg);
-+# else
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ return _M_convert_from_char(__msg);
-+# endif
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D) ((void)0)
-+#define __bindtextdomain(D,P) ((void)0)
-+#endif
-+
-+ // Non-virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::messages(size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-+ _M_name_messages(_S_get_c_name())
-+ { }
-+
-+ template<typename _CharT>
-+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+ _M_name_messages(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_messages = __tmp;
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
-+ const char* __dir) const
-+ {
-+ __bindtextdomain(__s.c_str(), __dir);
-+ return this->do_open(__s, __loc);
-+ }
-+
-+ // Virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::~messages()
-+ {
-+ if (_M_name_messages != _S_get_c_name())
-+ delete [] _M_name_messages;
-+ _S_destroy_c_locale(_M_c_locale_messages);
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::do_open(const basic_string<char>& __s,
-+ const locale&) const
-+ {
-+ // No error checking is done, assume the catalog exists and can
-+ // be used.
-+ __textdomain(__s.c_str());
-+ return 0;
-+ }
-+
-+ template<typename _CharT>
-+ void
-+ messages<_CharT>::do_close(catalog) const
-+ { }
-+
-+ // messages_byname
-+ template<typename _CharT>
-+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+ : messages<_CharT>(__refs)
-+ {
-+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+ delete [] this->_M_name_messages;
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ this->_M_name_messages = __tmp;
-+
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
-+ }
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,698 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ // Construct and return valid pattern consisting of some combination of:
-+ // space none symbol sign value
-+ money_base::pattern
-+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+ {
-+ pattern __ret;
-+
-+ // This insanely complicated routine attempts to construct a valid
-+ // pattern for use with monyepunct. A couple of invariants:
-+
-+ // if (__precedes) symbol -> value
-+ // else value -> symbol
-+
-+ // if (__space) space
-+ // else none
-+
-+ // none == never first
-+ // space never first or last
-+
-+ // Any elegant implementations of this are welcome.
-+ switch (__posn)
-+ {
-+ case 0:
-+ case 1:
-+ // 1 The sign precedes the value and symbol.
-+ __ret.field[0] = sign;
-+ if (__space)
-+ {
-+ // Pattern starts with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[3] = symbol;
-+ }
-+ __ret.field[2] = space;
-+ }
-+ else
-+ {
-+ // Pattern starts with sign and ends with none.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 2:
-+ // 2 The sign follows the value and symbol.
-+ if (__space)
-+ {
-+ // Pattern either ends with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[1] = space;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ // Pattern ends with sign then none.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[1] = symbol;
-+ }
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 3:
-+ // 3 The sign immediately precedes the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = sign;
-+ __ret.field[1] = symbol;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = symbol;
-+ }
-+ else
-+ {
-+ __ret.field[1] = sign;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ case 4:
-+ // 4 The sign immediately follows the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = sign;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ default:
-+ ;
-+ }
-+ return __ret;
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == false
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<char, true>::~moneypunct()
-+ { delete _M_data; }
-+
-+ template<>
-+ moneypunct<char, false>::~moneypunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len;
-+ __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, true>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, false>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,183 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
-+ __cloc));
-+
-+ // Check for NULL, which implies no grouping.
-+ if (_M_data->_M_thousands_sep == '\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = "true";
-+ _M_data->_M_truename_size = strlen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = "false";
-+ _M_data->_M_falsename_size = strlen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<char>::~numpunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<wchar_t>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_S_get_c_locale());
-+#endif
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_out[__i]);
-+ _M_data->_M_atoms_out[__i] = btowc(uc);
-+ }
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_in[__j]);
-+ _M_data->_M_atoms_in[__j] = btowc(uc);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+
-+ if (_M_data->_M_thousands_sep == L'\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = L"true";
-+ _M_data->_M_truename_size = wcslen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = L"false";
-+ _M_data->_M_falsename_size = wcslen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<wchar_t>::~numpunct()
-+ { delete _M_data; }
-+ #endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2004-09-10 10:48:00.000000000 -0500
-@@ -0,0 +1,356 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __timepunct<char>::
-+ _M_put(char* __s, size_t __maxlen, const char* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = '\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = "%m/%d/%y";
-+ _M_data->_M_date_era_format = "%m/%d/%y";
-+ _M_data->_M_time_format = "%H:%M:%S";
-+ _M_data->_M_time_era_format = "%H:%M:%S";
-+ _M_data->_M_date_time_format = "";
-+ _M_data->_M_date_time_era_format = "";
-+ _M_data->_M_am = "AM";
-+ _M_data->_M_pm = "PM";
-+ _M_data->_M_am_pm_format = "";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = "Sunday";
-+ _M_data->_M_day2 = "Monday";
-+ _M_data->_M_day3 = "Tuesday";
-+ _M_data->_M_day4 = "Wednesday";
-+ _M_data->_M_day5 = "Thursday";
-+ _M_data->_M_day6 = "Friday";
-+ _M_data->_M_day7 = "Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = "Sun";
-+ _M_data->_M_aday2 = "Mon";
-+ _M_data->_M_aday3 = "Tue";
-+ _M_data->_M_aday4 = "Wed";
-+ _M_data->_M_aday5 = "Thu";
-+ _M_data->_M_aday6 = "Fri";
-+ _M_data->_M_aday7 = "Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = "January";
-+ _M_data->_M_month02 = "February";
-+ _M_data->_M_month03 = "March";
-+ _M_data->_M_month04 = "April";
-+ _M_data->_M_month05 = "May";
-+ _M_data->_M_month06 = "June";
-+ _M_data->_M_month07 = "July";
-+ _M_data->_M_month08 = "August";
-+ _M_data->_M_month09 = "September";
-+ _M_data->_M_month10 = "October";
-+ _M_data->_M_month11 = "November";
-+ _M_data->_M_month12 = "December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = "Jan";
-+ _M_data->_M_amonth02 = "Feb";
-+ _M_data->_M_amonth03 = "Mar";
-+ _M_data->_M_amonth04 = "Apr";
-+ _M_data->_M_amonth05 = "May";
-+ _M_data->_M_amonth06 = "Jun";
-+ _M_data->_M_amonth07 = "Jul";
-+ _M_data->_M_amonth08 = "Aug";
-+ _M_data->_M_amonth09 = "Sep";
-+ _M_data->_M_amonth10 = "Oct";
-+ _M_data->_M_amonth11 = "Nov";
-+ _M_data->_M_amonth12 = "Dec";
-+ }
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
-+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ __timepunct<wchar_t>::
-+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = L'\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+// if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = L"%m/%d/%y";
-+ _M_data->_M_date_era_format = L"%m/%d/%y";
-+ _M_data->_M_time_format = L"%H:%M:%S";
-+ _M_data->_M_time_era_format = L"%H:%M:%S";
-+ _M_data->_M_date_time_format = L"";
-+ _M_data->_M_date_time_era_format = L"";
-+ _M_data->_M_am = L"AM";
-+ _M_data->_M_pm = L"PM";
-+ _M_data->_M_am_pm_format = L"";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = L"Sunday";
-+ _M_data->_M_day2 = L"Monday";
-+ _M_data->_M_day3 = L"Tuesday";
-+ _M_data->_M_day4 = L"Wednesday";
-+ _M_data->_M_day5 = L"Thursday";
-+ _M_data->_M_day6 = L"Friday";
-+ _M_data->_M_day7 = L"Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = L"Sun";
-+ _M_data->_M_aday2 = L"Mon";
-+ _M_data->_M_aday3 = L"Tue";
-+ _M_data->_M_aday4 = L"Wed";
-+ _M_data->_M_aday5 = L"Thu";
-+ _M_data->_M_aday6 = L"Fri";
-+ _M_data->_M_aday7 = L"Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = L"January";
-+ _M_data->_M_month02 = L"February";
-+ _M_data->_M_month03 = L"March";
-+ _M_data->_M_month04 = L"April";
-+ _M_data->_M_month05 = L"May";
-+ _M_data->_M_month06 = L"June";
-+ _M_data->_M_month07 = L"July";
-+ _M_data->_M_month08 = L"August";
-+ _M_data->_M_month09 = L"September";
-+ _M_data->_M_month10 = L"October";
-+ _M_data->_M_month11 = L"November";
-+ _M_data->_M_month12 = L"December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = L"Jan";
-+ _M_data->_M_amonth02 = L"Feb";
-+ _M_data->_M_amonth03 = L"Mar";
-+ _M_data->_M_amonth04 = L"Apr";
-+ _M_data->_M_amonth05 = L"May";
-+ _M_data->_M_amonth06 = L"Jun";
-+ _M_data->_M_amonth07 = L"Jul";
-+ _M_data->_M_amonth08 = L"Aug";
-+ _M_data->_M_amonth09 = L"Sep";
-+ _M_data->_M_amonth10 = L"Oct";
-+ _M_data->_M_amonth11 = L"Nov";
-+ _M_data->_M_amonth12 = L"Dec";
-+ }
-+#if 0
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
-+ _M_data->_M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
-+ _M_data->_M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
-+ _M_data->_M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
-+ _M_data->_M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
-+ _M_data->_M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
-+ _M_data->_M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
-+ _M_data->_M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
-+ _M_data->_M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
-+ _M_data->_M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
-+ _M_data->_M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
-+ _M_data->_M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
-+ _M_data->_M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
-+ _M_data->_M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
-+ _M_data->_M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
-+ _M_data->_M_aday2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
-+ _M_data->_M_aday3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
-+ _M_data->_M_aday4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
-+ _M_data->_M_aday5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
-+ _M_data->_M_aday6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
-+ _M_data->_M_aday7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
-+ _M_data->_M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
-+ _M_data->_M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
-+ _M_data->_M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
-+ _M_data->_M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
-+ _M_data->_M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
-+ _M_data->_M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
-+ _M_data->_M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
-+ _M_data->_M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
-+ _M_data->_M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
-+ _M_data->_M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
-+ _M_data->_M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
-+ _M_data->_M_amonth02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
-+ _M_data->_M_amonth03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
-+ _M_data->_M_amonth04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
-+ _M_data->_M_amonth05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
-+ _M_data->_M_amonth06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
-+ _M_data->_M_amonth07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
-+ _M_data->_M_amonth08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
-+ _M_data->_M_amonth09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
-+ _M_data->_M_amonth10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
-+ _M_data->_M_amonth11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
-+ _M_data->_M_amonth12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
-+ }
-+#endif // 0
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
-+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_timepunct = __tmp;
-+ _M_initialize_timepunct(__cloc);
-+ }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::~__timepunct()
-+ {
-+ if (_M_name_timepunct != _S_get_c_name())
-+ delete [] _M_name_timepunct;
-+ delete _M_data;
-+ _S_destroy_c_locale(_M_c_locale_timepunct);
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,58 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ struct ctype_base
-+ {
-+ // Note: In uClibc, the following two types depend on configuration.
-+
-+ // Non-standard typedefs.
-+ typedef const __ctype_touplow_t* __to_type;
-+
-+ // NB: Offsets into ctype<char>::_M_table force a particular size
-+ // on the mask type. Because of this, we don't use an enum.
-+ typedef __ctype_mask_t mask;
-+ static const mask upper = _ISupper;
-+ static const mask lower = _ISlower;
-+ static const mask alpha = _ISalpha;
-+ static const mask digit = _ISdigit;
-+ static const mask xdigit = _ISxdigit;
-+ static const mask space = _ISspace;
-+ static const mask print = _ISprint;
-+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
-+ static const mask cntrl = _IScntrl;
-+ static const mask punct = _ISpunct;
-+ static const mask alnum = _ISalpha | _ISdigit;
-+ };
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,69 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+
-+ bool
-+ ctype<char>::
-+ is(mask __m, char __c) const
-+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-+
-+ const char*
-+ ctype<char>::
-+ is(const char* __low, const char* __high, mask* __vec) const
-+ {
-+ while (__low < __high)
-+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-+ return __high;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_is(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-+ ++__low;
-+ return __low;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_not(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-+ ++__low;
-+ return __low;
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,92 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ { return __C_ctype_b; }
-+
-+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ char
-+ ctype<char>::do_toupper(char __c) const
-+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_toupper(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-+
-+ char
-+ ctype<char>::do_tolower(char __c) const
-+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_tolower(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,44 @@
-+// Specific definitions for GNU/Linux -*- C++ -*-
-+
-+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here. This
-+// file will come before all others.
-+
-+// This keeps isanum, et al from being propagated as macros.
-+#define __NO_CTYPE 1
-+
-+#include <features.h>
-+
-+// We must not see the optimized string functions GNU libc defines.
-+#define __NO_STRING_INLINES
-+
-+#endif
-diff -urN gcc-3.4.2-dist/libstdc++-v3/configure gcc-3.4.2/libstdc++-v3/configure
---- gcc-3.4.2-dist/libstdc++-v3/configure 2004-08-13 15:44:04.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/configure 2004-09-10 10:47:40.000000000 -0500
-@@ -3878,6 +3878,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5479,7 +5479,7 @@
- enableval="$enable_clocale"
-
- case "$enableval" in
-- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
-+ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
- echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
- { (exit 1); exit 1; }; } ;;
-@@ -5545,6 +5550,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ xlinux-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- cat >conftest.$ac_ext <<_ACEOF
- #line $LINENO "configure"
-@@ -5759,6 +5767,77 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$check_msgfmt"; then
-+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_check_msgfmt="yes"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+
-+
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/configure.host gcc-3.4.2/libstdc++-v3/configure.host
---- gcc-3.4.2-dist/libstdc++-v3/configure.host 2004-08-27 14:52:30.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/configure.host 2004-09-10 10:47:40.000000000 -0500
-@@ -217,6 +217,12 @@
- ;;
- esac
-
-+# Override for uClibc since linux-uclibc gets mishandled above.
-+case "${host_os}" in
-+ *-uclibc*)
-+ os_include_dir="os/uclibc"
-+ ;;
-+esac
-
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
-diff -urN gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 gcc-3.4.2/libstdc++-v3/crossconfig.m4
---- gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 2004-07-06 20:23:49.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/crossconfig.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -138,6 +138,99 @@
- ;;
- esac
- ;;
-+ *-uclibc*)
-+# Temporary hack until we implement the float versions of the libm funcs
-+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
-+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
-+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
-+ AC_SUBST(SECTION_FLAGS)
-+ GLIBCXX_CHECK_LINKER_FEATURES
-+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
-+
-+ # For LFS.
-+ AC_DEFINE(HAVE_INT64_T)
-+ case "$target" in
-+ *-uclinux*)
-+ # Don't enable LFS with uClinux
-+ ;;
-+ *)
-+ AC_DEFINE(_GLIBCXX_USE_LFS)
-+ esac
-+
-+ # For showmanyc_helper().
-+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
-+ GLIBCXX_CHECK_POLL
-+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-+
-+ # For xsputn_2().
-+ AC_CHECK_HEADERS(sys/uio.h)
-+ GLIBCXX_CHECK_WRITEV
-+
-+# AC_DEFINE(HAVE_ACOSF)
-+# AC_DEFINE(HAVE_ASINF)
-+# AC_DEFINE(HAVE_ATANF)
-+# AC_DEFINE(HAVE_ATAN2F)
-+ AC_DEFINE(HAVE_CEILF)
-+ AC_DEFINE(HAVE_COPYSIGN)
-+# AC_DEFINE(HAVE_COPYSIGNF)
-+# AC_DEFINE(HAVE_COSF)
-+# AC_DEFINE(HAVE_COSHF)
-+# AC_DEFINE(HAVE_EXPF)
-+# AC_DEFINE(HAVE_FABSF)
-+ AC_DEFINE(HAVE_FINITE)
-+ AC_DEFINE(HAVE_FINITEF)
-+ AC_DEFINE(HAVE_FLOORF)
-+# AC_DEFINE(HAVE_FMODF)
-+# AC_DEFINE(HAVE_FREXPF)
-+ AC_DEFINE(HAVE_HYPOT)
-+# AC_DEFINE(HAVE_HYPOTF)
-+ AC_DEFINE(HAVE_ISINF)
-+ AC_DEFINE(HAVE_ISINFF)
-+ AC_DEFINE(HAVE_ISNAN)
-+ AC_DEFINE(HAVE_ISNANF)
-+# AC_DEFINE(HAVE_LOGF)
-+# AC_DEFINE(HAVE_LOG10F)
-+# AC_DEFINE(HAVE_MODFF)
-+# AC_DEFINE(HAVE_SINF)
-+# AC_DEFINE(HAVE_SINHF)
-+# AC_DEFINE(HAVE_SINCOS)
-+# AC_DEFINE(HAVE_SINCOSF)
-+ AC_DEFINE(HAVE_SQRTF)
-+# AC_DEFINE(HAVE_TANF)
-+# AC_DEFINE(HAVE_TANHF)
-+ if test x"long_double_math_on_this_cpu" = x"yes"; then
-+ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
-+# AC_DEFINE(HAVE_ACOSL)
-+# AC_DEFINE(HAVE_ASINL)
-+# AC_DEFINE(HAVE_ATANL)
-+# AC_DEFINE(HAVE_ATAN2L)
-+# AC_DEFINE(HAVE_CEILL)
-+# AC_DEFINE(HAVE_COPYSIGNL)
-+# AC_DEFINE(HAVE_COSL)
-+# AC_DEFINE(HAVE_COSHL)
-+# AC_DEFINE(HAVE_EXPL)
-+# AC_DEFINE(HAVE_FABSL)
-+# AC_DEFINE(HAVE_FINITEL)
-+# AC_DEFINE(HAVE_FLOORL)
-+# AC_DEFINE(HAVE_FMODL)
-+# AC_DEFINE(HAVE_FREXPL)
-+# AC_DEFINE(HAVE_HYPOTL)
-+# AC_DEFINE(HAVE_ISINFL)
-+# AC_DEFINE(HAVE_ISNANL)
-+# AC_DEFINE(HAVE_LOGL)
-+# AC_DEFINE(HAVE_LOG10L)
-+# AC_DEFINE(HAVE_MODFL)
-+# AC_DEFINE(HAVE_POWL)
-+# AC_DEFINE(HAVE_SINL)
-+# AC_DEFINE(HAVE_SINHL)
-+# AC_DEFINE(HAVE_SINCOSL)
-+# AC_DEFINE(HAVE_SQRTL)
-+# AC_DEFINE(HAVE_TANL)
-+# AC_DEFINE(HAVE_TANHL)
-+ fi
-+ ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -152,7 +245,7 @@
- AC_DEFINE(HAVE_INT64_T)
- case "$target" in
- *-uclinux*)
-- # Don't enable LFS with uClibc
-+ # Don't enable LFS with uClinux
- ;;
- *)
- AC_DEFINE(_GLIBCXX_USE_LFS)
-diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h 2003-12-08 21:51:45.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h 2004-09-10 10:47:40.000000000 -0500
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
-
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h 2004-07-20 03:52:12.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h 2004-09-10 10:47:40.000000000 -0500
-@@ -179,7 +179,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
diff --git a/openwrt/toolchain/gcc/3.4.5/300-libstdc++-pic.patch b/openwrt/toolchain/gcc/3.4.5/300-libstdc++-pic.patch
deleted file mode 100644
index c030ba6..0000000
--- a/openwrt/toolchain/gcc/3.4.5/300-libstdc++-pic.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-# DP: Build and install libstdc++_pic.a library.
-
---- gcc/libstdc++-v3/src/Makefile.am~ 2003-02-28 09:21:05.000000000 +0100
-+++ gcc/libstdc++-v3/src/Makefile.am 2003-02-28 09:28:50.000000000 +0100
-@@ -224,6 +224,10 @@
- @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
-
-
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # Added bits to build debug library.
- if GLIBCPP_BUILD_DEBUG
- all-local: build_debug
-
---- gcc/libstdc++-v3/src/Makefile.in~ 2004-02-21 09:55:48.000000000 +0100
-+++ gcc/libstdc++-v3/src/Makefile.in 2004-02-21 09:59:34.000000000 +0100
-@@ -585,7 +585,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -618,6 +618,7 @@
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-data-local \
- install-exec install-exec-am install-info install-info-am \
-+ install-exec-local \
- install-man install-strip install-toolexeclibLTLIBRARIES \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
-@@ -707,6 +708,11 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # 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.
- .NOEXPORT:
diff --git a/openwrt/toolchain/gcc/3.4.5/600-gcc34-arm-ldm-peephole.patch b/openwrt/toolchain/gcc/3.4.5/600-gcc34-arm-ldm-peephole.patch
deleted file mode 100644
index 0c37050..0000000
--- a/openwrt/toolchain/gcc/3.4.5/600-gcc34-arm-ldm-peephole.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- gcc-3.4.0/gcc/config/arm/arm.md.arm-ldm-peephole 2004-01-13 08:24:37.000000000 -0500
-+++ gcc-3.4.0/gcc/config/arm/arm.md 2004-04-24 18:18:04.000000000 -0400
-@@ -8810,13 +8810,16 @@
- (set_attr "length" "4,8,8")]
- )
-
-+; Try to convert LDR+LDR+arith into [add+]LDM+arith
-+; On XScale, LDM is always slower than two LDRs, so only do this if
-+; optimising for size.
- (define_insn "*arith_adjacentmem"
- [(set (match_operand:SI 0 "s_register_operand" "=r")
- (match_operator:SI 1 "shiftable_operator"
- [(match_operand:SI 2 "memory_operand" "m")
- (match_operand:SI 3 "memory_operand" "m")]))
- (clobber (match_scratch:SI 4 "=r"))]
-- "TARGET_ARM && adjacent_mem_locations (operands[2], operands[3])"
-+ "TARGET_ARM && (!arm_tune_xscale || optimize_size) && adjacent_mem_locations (operands[2], operands[3])"
- "*
- {
- rtx ldm[3];
-@@ -8851,6 +8854,8 @@
- }
- if (val1 && val2)
- {
-+ /* This would be a loss on a Harvard core, but adjacent_mem_locations()
-+ will prevent it from happening. */
- rtx ops[3];
- ldm[0] = ops[0] = operands[4];
- ops[1] = XEXP (XEXP (operands[2], 0), 0);
---- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm-peephole 2004-04-24 18:16:25.000000000 -0400
-+++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:18:04.000000000 -0400
-@@ -4838,6 +4841,11 @@
- *load_offset = unsorted_offsets[order[0]];
- }
-
-+ /* For XScale a two-word LDM is a performance loss, so only do this if
-+ size is more important. See comments in arm_gen_load_multiple. */
-+ if (nops == 2 && arm_tune_xscale && !optimize_size)
-+ return 0;
-+
- if (unsorted_offsets[order[0]] == 0)
- return 1; /* ldmia */
-
-@@ -5064,6 +5072,11 @@
- *load_offset = unsorted_offsets[order[0]];
- }
-
-+ /* For XScale a two-word LDM is a performance loss, so only do this if
-+ size is more important. See comments in arm_gen_load_multiple. */
-+ if (nops == 2 && arm_tune_xscale && !optimize_size)
-+ return 0;
-+
- if (unsorted_offsets[order[0]] == 0)
- return 1; /* stmia */
-
---- gcc-3.4.0/gcc/genpeep.c.arm-ldm-peephole 2003-07-05 01:27:22.000000000 -0400
-+++ gcc-3.4.0/gcc/genpeep.c 2004-04-24 18:18:04.000000000 -0400
-@@ -381,6 +381,7 @@
- printf ("#include \"recog.h\"\n");
- printf ("#include \"except.h\"\n\n");
- printf ("#include \"function.h\"\n\n");
-+ printf ("#include \"flags.h\"\n\n");
-
- printf ("#ifdef HAVE_peephole\n");
- printf ("extern rtx peep_operand[];\n\n");
diff --git a/openwrt/toolchain/gcc/3.4.5/601-gcc34-arm-ldm-peephole2.patch b/openwrt/toolchain/gcc/3.4.5/601-gcc34-arm-ldm-peephole2.patch
deleted file mode 100644
index 27f7c07..0000000
--- a/openwrt/toolchain/gcc/3.4.5/601-gcc34-arm-ldm-peephole2.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-The 30_all_gcc34-arm-ldm-peephole.patch from Debian was conflicting
-with the newer 36_all_pr16201-fix.patch, so i cut out the hunk from
-it that was causing problems and grabbed an updated version from
-upstream cvs.
-
-Index: gcc/config/arm/arm.c
-===================================================================
-RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm.c,v
-retrieving revision 1.432
-retrieving revision 1.433
-diff -u -r1.432 -r1.433
---- gcc-3.4.4/gcc/config/arm/arm.c 29 Mar 2005 03:00:23 -0000 1.432
-+++ gcc-3.4.4/gcc/config/arm/arm.c 1 Apr 2005 11:02:22 -0000 1.433
-@@ -5139,6 +5139,10 @@
- int
- adjacent_mem_locations (rtx a, rtx b)
- {
-+ /* We don't guarantee to preserve the order of these memory refs. */
-+ if (volatile_refs_p (a) || volatile_refs_p (b))
-+ return 0;
-+
- if ((GET_CODE (XEXP (a, 0)) == REG
- || (GET_CODE (XEXP (a, 0)) == PLUS
- && GET_CODE (XEXP (XEXP (a, 0), 1)) == CONST_INT))
-@@ -5178,6 +5182,17 @@
- return 0;
-
- val_diff = val1 - val0;
-+
-+ if (arm_ld_sched)
-+ {
-+ /* If the target has load delay slots, then there's no benefit
-+ to using an ldm instruction unless the offset is zero and
-+ we are optimizing for size. */
-+ return (optimize_size && (REGNO (reg0) == REGNO (reg1))
-+ && (val0 == 0 || val1 == 0 || val0 == 4 || val1 == 4)
-+ && (val_diff == 4 || val_diff == -4));
-+ }
-+
- return ((REGNO (reg0) == REGNO (reg1))
- && (val_diff == 4 || val_diff == -4));
- }
diff --git a/openwrt/toolchain/gcc/3.4.5/601-gcc34-arm-ldm.patch b/openwrt/toolchain/gcc/3.4.5/601-gcc34-arm-ldm.patch
deleted file mode 100644
index 142052f..0000000
--- a/openwrt/toolchain/gcc/3.4.5/601-gcc34-arm-ldm.patch
+++ /dev/null
@@ -1,119 +0,0 @@
---- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm 2004-02-27 09:51:05.000000000 -0500
-+++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:16:25.000000000 -0400
-@@ -8520,6 +8520,26 @@
- return_used_this_function = 0;
- }
-
-+/* Return the number (counting from 0) of
-+ the least significant set bit in MASK. */
-+
-+#ifdef __GNUC__
-+inline
-+#endif
-+static int
-+number_of_first_bit_set (mask)
-+ int mask;
-+{
-+ int bit;
-+
-+ for (bit = 0;
-+ (mask & (1 << bit)) == 0;
-+ ++bit)
-+ continue;
-+
-+ return bit;
-+}
-+
- const char *
- arm_output_epilogue (rtx sibling)
- {
-@@ -8753,27 +8773,47 @@
- saved_regs_mask |= (1 << PC_REGNUM);
- }
-
-- /* Load the registers off the stack. If we only have one register
-- to load use the LDR instruction - it is faster. */
-- if (saved_regs_mask == (1 << LR_REGNUM))
-- {
-- /* The exception handler ignores the LR, so we do
-- not really need to load it off the stack. */
-- if (eh_ofs)
-- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
-- else
-- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM);
-- }
-- else if (saved_regs_mask)
-+ if (saved_regs_mask)
- {
-- if (saved_regs_mask & (1 << SP_REGNUM))
-- /* Note - write back to the stack register is not enabled
-- (ie "ldmfd sp!..."). We know that the stack pointer is
-- in the list of registers and if we add writeback the
-- instruction becomes UNPREDICTABLE. */
-- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
-+ /* Load the registers off the stack. If we only have one register
-+ to load use the LDR instruction - it is faster. */
-+ if (bit_count (saved_regs_mask) == 1)
-+ {
-+ int reg = number_of_first_bit_set (saved_regs_mask);
-+
-+ switch (reg)
-+ {
-+ case SP_REGNUM:
-+ /* Mustn't use base writeback when loading SP. */
-+ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM);
-+ break;
-+
-+ case LR_REGNUM:
-+ if (eh_ofs)
-+ {
-+ /* The exception handler ignores the LR, so we do
-+ not really need to load it off the stack. */
-+ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
-+ break;
-+ }
-+ /* else fall through */
-+
-+ default:
-+ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM);
-+ break;
-+ }
-+ }
- else
-- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
-+ {
-+ if (saved_regs_mask & (1 << SP_REGNUM))
-+ /* Note - write back to the stack register is not enabled
-+ (ie "ldmfd sp!..."). We know that the stack pointer is
-+ in the list of registers and if we add writeback the
-+ instruction becomes UNPREDICTABLE. */
-+ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
-+ else
-+ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
-+ }
- }
-
- if (current_function_pretend_args_size)
-@@ -11401,22 +11441,6 @@
- }
- }
-
--/* Return the number (counting from 0) of
-- the least significant set bit in MASK. */
--
--inline static int
--number_of_first_bit_set (int mask)
--{
-- int bit;
--
-- for (bit = 0;
-- (mask & (1 << bit)) == 0;
-- ++bit)
-- continue;
--
-- return bit;
--}
--
- /* Generate code to return from a thumb function.
- If 'reg_containing_return_addr' is -1, then the return address is
- actually on the stack, at the stack pointer. */
diff --git a/openwrt/toolchain/gcc/3.4.5/602-sdk-libstdc++-includes.patch b/openwrt/toolchain/gcc/3.4.5/602-sdk-libstdc++-includes.patch
deleted file mode 100644
index 4377c21..0000000
--- a/openwrt/toolchain/gcc/3.4.5/602-sdk-libstdc++-includes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gcc-3.4.1/libstdc++-v3/libmath/Makefile.am~ 2003-08-27 22:29:42.000000000 +0100
-+++ gcc-3.4.1/libstdc++-v3/libmath/Makefile.am 2004-07-22 16:41:45.152130128 +0100
-@@ -32,7 +32,7 @@
-
- libmath_la_SOURCES = stubs.c
-
--AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
-
- # Only compiling "C" sources in this directory.
- LIBTOOL = @LIBTOOL@ --tag CC
---- gcc-3.4.1/libstdc++-v3/fragment.am.old 2004-07-22 18:24:58.024083656 +0100
-+++ gcc-3.4.1/libstdc++-v3/fragment.am 2004-07-22 18:24:59.019932264 +0100
-@@ -18,7 +18,7 @@
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
- # -I/-D flags to pass when compiling.
--AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
-
-
-
diff --git a/openwrt/toolchain/gcc/3.4.5/700-pr15068-fix.patch b/openwrt/toolchain/gcc/3.4.5/700-pr15068-fix.patch
deleted file mode 100644
index 2977765..0000000
--- a/openwrt/toolchain/gcc/3.4.5/700-pr15068-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-See http://gcc.gnu.org/PR15068
-
-Fixes error
-
-../sysdeps/generic/s_fmax.c: In function `__fmax':
-../sysdeps/generic/s_fmax.c:28: internal compiler error: in elim_reg_cond, at flow.c:3257
-Please submit a full bug report,
-with preprocessed source if appropriate.
-See <URL:http://gcc.gnu.org/bugs.html> for instructions.
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/build-glibc/math/s_fmax.o] Error 1
-make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822/math'
-make[1]: *** [math/others] Error 2
-make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822'
-make: *** [all] Error 2
-
-[ rediffed against gcc-3.4.1, with elbow grease, ending up with same thing as
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.3 ]
-
---- gcc-3.4.1/gcc/flow.c.old 2004-02-27 19:39:19.000000000 -0800
-+++ gcc-3.4.1/gcc/flow.c 2004-08-26 07:29:46.000000000 -0700
-@@ -1878,6 +1878,7 @@
- rtx set_src = SET_SRC (pc_set (BB_END (bb)));
- rtx cond_true = XEXP (set_src, 0);
- rtx reg = XEXP (cond_true, 0);
-+ enum rtx_code inv_cond;
-
- if (GET_CODE (reg) == SUBREG)
- reg = SUBREG_REG (reg);
-@@ -1886,11 +1887,13 @@
- in the form of a comparison of a register against zero.
- If the condition is more complex than that, then it is safe
- not to record any information. */
-- if (GET_CODE (reg) == REG
-+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
-+ if (inv_cond != UNKNOWN
-+ && GET_CODE (reg) == REG
- && XEXP (cond_true, 1) == const0_rtx)
- {
- rtx cond_false
-- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
-+ = gen_rtx_fmt_ee (inv_cond,
- GET_MODE (cond_true), XEXP (cond_true, 0),
- XEXP (cond_true, 1));
- if (GET_CODE (XEXP (set_src, 1)) == PC)
diff --git a/openwrt/toolchain/gcc/3.4.5/71_all_sh-pr16665-fix.patch b/openwrt/toolchain/gcc/3.4.5/71_all_sh-pr16665-fix.patch
deleted file mode 100644
index 680bb39..0000000
--- a/openwrt/toolchain/gcc/3.4.5/71_all_sh-pr16665-fix.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- gcc/gcc/config/sh/sh.c
-+++ gcc/gcc/config/sh/sh.c
-@@ -9106,6 +9106,15 @@ sh_output_mi_thunk (FILE *file, tree thu
- }
- this = FUNCTION_ARG (cum, Pmode, ptr_type_node, 1);
-
-+ /* In PIC case, we set PIC register to compute the target address. We
-+ can use a scratch register to save and restore the original value
-+ except for SHcompact. For SHcompact, use stack. */
-+ if (flag_pic && TARGET_SHCOMPACT)
-+ {
-+ push (PIC_OFFSET_TABLE_REGNUM);
-+ emit_insn (gen_GOTaddr2picreg ());
-+ }
-+
- /* For SHcompact, we only have r0 for a scratch register: r1 is the
- static chain pointer (even if you can't have nested virtual functions
- right now, someone might implement them sometime), and the rest of the
-@@ -9188,8 +9197,24 @@ sh_output_mi_thunk (FILE *file, tree thu
- assemble_external (function);
- TREE_USED (function) = 1;
- }
-+ /* We can use scratch1 to save and restore the original value of
-+ PIC register except for SHcompact. */
-+ if (flag_pic && ! TARGET_SHCOMPACT)
-+ {
-+ emit_move_insn (scratch1,
-+ gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM));
-+ emit_insn (gen_GOTaddr2picreg ());
-+ }
- funexp = XEXP (DECL_RTL (function), 0);
- emit_move_insn (scratch2, funexp);
-+ if (flag_pic)
-+ {
-+ if (! TARGET_SHCOMPACT)
-+ emit_move_insn (gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM),
-+ scratch1);
-+ else
-+ pop (PIC_OFFSET_TABLE_REGNUM);
-+ }
- funexp = gen_rtx_MEM (FUNCTION_MODE, scratch2);
- sibcall = emit_call_insn (gen_sibcall (funexp, const0_rtx, NULL_RTX));
- SIBLING_CALL_P (sibcall) = 1;
diff --git a/openwrt/toolchain/gcc/3.4.5/72_all_sh-no-reorder-blocks.patch b/openwrt/toolchain/gcc/3.4.5/72_all_sh-no-reorder-blocks.patch
deleted file mode 100644
index 8b98268..0000000
--- a/openwrt/toolchain/gcc/3.4.5/72_all_sh-no-reorder-blocks.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- g/gcc/config/sh/sh.h
-+++ g/gcc/config/sh/sh.h
-@@ -422,6 +422,10 @@
- do { \
- if (LEVEL) \
- flag_omit_frame_pointer = -1; \
-+ if (LEVEL <= 2) \
-+ { \
-+ flag_reorder_blocks = 0; \
-+ } \
- if (SIZE) \
- target_flags |= SPACE_BIT; \
- if (TARGET_SHMEDIA && LEVEL > 1) \
diff --git a/openwrt/toolchain/gcc/3.4.5/73_all_sh-pr20617.patch b/openwrt/toolchain/gcc/3.4.5/73_all_sh-pr20617.patch
deleted file mode 100644
index 6d8021c..0000000
--- a/openwrt/toolchain/gcc/3.4.5/73_all_sh-pr20617.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-2005-03-24 J"orn Rennecke <joern.rennecke@st.com>
-
- Band aid for PR target/20617:
- * config/sh/lib1funcs.asm (FUNC, ALIAS): Add .hidden directive.
-
---- g/gcc/config/sh/lib1funcs.asm
-+++ g/gcc/config/sh/lib1funcs.asm
-@@ -37,9 +37,19 @@ Boston, MA 02111-1307, USA. */
- ELF local label prefixes by J"orn Rennecke
- amylaar@cygnus.com */
-
-+#define ALIAS(X,Y) .global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y)
-+
- #ifdef __ELF__
- #define LOCAL(X) .L_##X
--#define FUNC(X) .type X,@function
-+
-+#if 1 /* ??? The export list mechanism is broken, everything that is not
-+ hidden is exported. */
-+#undef FUNC
-+#define FUNC(X) .type X,@function; .hidden X
-+#undef ALIAS
-+#define ALIAS(X,Y) .global GLOBAL(X); .set GLOBAL(X),GLOBAL(Y); .hidden GLOBAL(X)
-+#endif
-+
- #define ENDFUNC0(X) .Lfe_##X: .size X,.Lfe_##X-X
- #define ENDFUNC(X) ENDFUNC0(X)
- #else
diff --git a/openwrt/toolchain/gcc/3.4.5/800-arm-bigendian.patch b/openwrt/toolchain/gcc/3.4.5/800-arm-bigendian.patch
deleted file mode 100644
index 0bae8f4..0000000
--- a/openwrt/toolchain/gcc/3.4.5/800-arm-bigendian.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-08-16 16:01:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-16 15:43:40.000000000 -0500
-@@ -30,17 +30,34 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 | \
-+ ARM_FLAG_MMU_TRAPS | \
-+ TARGET_ENDIAN_DEFAULT )
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -101,7 +118,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
- #endif
-
-diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
---- gcc-3.4.1-dist/gcc/config.gcc 2004-08-16 16:01:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config.gcc 2004-08-16 16:01:25.000000000 -0500
-@@ -672,6 +672,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/openwrt/toolchain/gcc/3.4.5/800-powerpc-libc_stack_end-uclibc.patch b/openwrt/toolchain/gcc/3.4.5/800-powerpc-libc_stack_end-uclibc.patch
deleted file mode 100644
index a209470..0000000
--- a/openwrt/toolchain/gcc/3.4.5/800-powerpc-libc_stack_end-uclibc.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- gcc-3.4.4/gcc/config/rs6000/linux-unwind.h.org 2005-06-23 17:50:34.000000000 -0600
-+++ gcc-3.4.4/gcc/config/rs6000/linux-unwind.h 2005-06-23 17:52:02.000000000 -0600
-@@ -32,6 +32,7 @@
- these structs elsewhere; Many fields are missing, particularly
- from the end of the structures. */
-
-+#ifndef inhibit_libc
- struct gcc_vregs
- {
- __attribute__ ((vector_size (16))) int vr[32];
-@@ -320,3 +321,4 @@
- \
- goto SUCCESS; \
- } while (0)
-+#endif
diff --git a/openwrt/toolchain/gcc/3.4.5/static-libgcc.patch.conditional b/openwrt/toolchain/gcc/3.4.5/static-libgcc.patch.conditional
deleted file mode 100644
index c8c1d84..0000000
--- a/openwrt/toolchain/gcc/3.4.5/static-libgcc.patch.conditional
+++ /dev/null
@@ -1,11 +0,0 @@
---- specs~ 2005-11-21 17:22:08.000000000 +0100
-+++ specs 2005-11-21 17:22:08.000000000 +0100
-@@ -51,7 +51,7 @@
- %{shared: -lc} %{!static:-rpath-link %R/lib:%R/usr/lib} %{!shared: %{pthread:-lpthread} %{profile:-lc_p} %{!profile: -lc}}
-
- *libgcc:
--%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --as-needed -lgcc_s%M --no-as-needed}%{shared-libgcc:-lgcc_s%M%{!shared: -lgcc}}}}
-+%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:%{shared-libgcc:-lgcc_s%M}%{!shared-libgcc:-lgcc}}}}
-
- *startfile:
- %{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}
diff --git a/openwrt/toolchain/gcc/3.4.6/100-uclibc-conf.patch b/openwrt/toolchain/gcc/3.4.6/100-uclibc-conf.patch
deleted file mode 100644
index 29e4c80..0000000
--- a/openwrt/toolchain/gcc/3.4.6/100-uclibc-conf.patch
+++ /dev/null
@@ -1,442 +0,0 @@
-diff -urN gcc-3.4.1-dist/boehm-gc/configure gcc-3.4.1/boehm-gc/configure
---- gcc-3.4.1-dist/boehm-gc/configure 2004-07-01 14:14:03.000000000 -0500
-+++ gcc-3.4.1/boehm-gc/configure 2004-08-12 16:22:57.000000000 -0500
-@@ -1947,6 +1947,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN gcc-3.4.1-dist/boehm-gc/ltconfig gcc-3.4.1/boehm-gc/ltconfig
---- gcc-3.4.1-dist/boehm-gc/ltconfig 2002-11-20 09:59:06.000000000 -0600
-+++ gcc-3.4.1/boehm-gc/ltconfig 2004-08-12 15:54:42.000000000 -0500
-@@ -1981,6 +1981,23 @@
- fi
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-+ file_magic_cmd=/usr/bin/file
-+ file_magic_test_file=`echo /lib/libuClibc-*.so`
-+
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- version_type=sunos
- if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-01-31 00:18:11.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-12 15:54:42.000000000 -0500
-@@ -81,6 +81,18 @@
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_SPEC "%{h*} %{version:-v} \
-+ %{b} %{Wl,*:%*} \
-+ %{static:-Bstatic} \
-+ %{shared:-shared} \
-+ %{symbolic:-Bsymbolic} \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
-+ -X \
-+ %{mbig-endian:-EB}" \
-+ SUBTARGET_EXTRA_LINK_SPEC
-+#else
- #define LINK_SPEC "%{h*} %{version:-v} \
- %{b} %{Wl,*:%*} \
- %{static:-Bstatic} \
-@@ -91,6 +103,7 @@
- -X \
- %{mbig-endian:-EB}" \
- SUBTARGET_EXTRA_LINK_SPEC
-+#endif
-
- #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
-
-diff -urN gcc-3.4.1-dist/gcc/config/cris/linux.h gcc-3.4.1/gcc/config/cris/linux.h
---- gcc-3.4.1-dist/gcc/config/cris/linux.h 2003-11-28 21:08:09.000000000 -0600
-+++ gcc-3.4.1/gcc/config/cris/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -79,6 +79,25 @@
- #undef CRIS_DEFAULT_CPU_VERSION
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-
-+#ifdef USE_UCLIBC
-+
-+#undef CRIS_SUBTARGET_VERSION
-+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+
-+#undef CRIS_LINK_SUBTARGET_SPEC
-+#define CRIS_LINK_SUBTARGET_SPEC \
-+ "-mcrislinux\
-+ -rpath-link include/asm/../..%s\
-+ %{shared} %{static}\
-+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
-+ %{!shared: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
-+ %{!r:%{O2|O3: --gc-sections}}"
-+
-+#else /* USE_UCLIBC */
-+
- #undef CRIS_SUBTARGET_VERSION
- #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-
-@@ -93,6 +112,8 @@
- %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
- %{!r:%{O2|O3: --gc-sections}}"
-
-+#endif /* USE_UCLIBC */
-+
-
- /* Node: Run-time Target */
-
-diff -urN gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc gcc-3.4.1/gcc/config/cris/t-linux-uclibc
---- gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.1/gcc/config/cris/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
-@@ -0,0 +1,3 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+TARGET_LIBGCC2_CFLAGS += -fPIC
-+CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
-diff -urN gcc-3.4.1-dist/gcc/config/i386/linux.h gcc-3.4.1/gcc/config/i386/linux.h
---- gcc-3.4.1-dist/gcc/config/i386/linux.h 2003-11-28 21:08:10.000000000 -0600
-+++ gcc-3.4.1/gcc/config/i386/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -118,6 +118,15 @@
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
- %{static:-static}}}"
- #else
-+#if defined USE_UCLIBC
-+#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
-+ %{!shared: \
-+ %{!ibcs: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}}}"
-+#else
- #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
-@@ -126,6 +135,7 @@
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{static:-static}}}"
- #endif
-+#endif
-
- /* A C statement (sans semicolon) to output to the stdio stream
- FILE the assembler definition of uninitialized global DECL named
-diff -urN gcc-3.4.1-dist/gcc/config/mips/linux.h gcc-3.4.1/gcc/config/mips/linux.h
---- gcc-3.4.1-dist/gcc/config/mips/linux.h 2004-06-15 20:42:24.000000000 -0500
-+++ gcc-3.4.1/gcc/config/mips/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -109,6 +109,17 @@
-
- /* Borrowed from sparc/linux.h */
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_SPEC \
-+ "%(endian_spec) \
-+ %{shared:-shared} \
-+ %{!shared: \
-+ %{!ibcs: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}}}"
-+#else
- #define LINK_SPEC \
- "%(endian_spec) \
- %{shared:-shared} \
-@@ -118,6 +129,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
- %{static:-static}}}"
-+#endif
-
- #undef SUBTARGET_ASM_SPEC
- #define SUBTARGET_ASM_SPEC "\
-diff -urN gcc-3.4.1-dist/gcc/config/rs6000/linux.h gcc-3.4.1/gcc/config/rs6000/linux.h
---- gcc-3.4.1-dist/gcc/config/rs6000/linux.h 2004-02-25 09:11:19.000000000 -0600
-+++ gcc-3.4.1/gcc/config/rs6000/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -61,7 +61,11 @@
- #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
- #undef LINK_OS_DEFAULT_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
-+#else
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-+#endif
-
- #define LINK_GCC_C_SEQUENCE_SPEC \
- "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-diff -urN gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h gcc-3.4.1/gcc/config/rs6000/sysv4.h
---- gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h 2004-06-10 01:39:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config/rs6000/sysv4.h 2004-08-12 15:54:43.000000000 -0500
-@@ -947,6 +947,7 @@
- mcall-linux : %(link_os_linux) ; \
- mcall-gnu : %(link_os_gnu) ; \
- mcall-netbsd : %(link_os_netbsd) ; \
-+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
- mcall-openbsd: %(link_os_openbsd) ; \
- : %(link_os_default) }"
-
-@@ -1124,6 +1125,10 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
- #endif
-@@ -1290,6 +1295,7 @@
- { "link_os_sim", LINK_OS_SIM_SPEC }, \
- { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
- { "link_os_linux", LINK_OS_LINUX_SPEC }, \
-+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
- { "link_os_gnu", LINK_OS_GNU_SPEC }, \
- { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
-diff -urN gcc-3.4.1-dist/gcc/config/sh/linux.h gcc-3.4.1/gcc/config/sh/linux.h
---- gcc-3.4.1-dist/gcc/config/sh/linux.h 2004-01-11 20:29:13.000000000 -0600
-+++ gcc-3.4.1/gcc/config/sh/linux.h 2004-08-12 15:54:43.000000000 -0500
-@@ -73,12 +73,21 @@
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
- #undef SUBTARGET_LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define SUBTARGET_LINK_SPEC \
-+ "%{shared:-shared} \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}"
-+#else
- #define SUBTARGET_LINK_SPEC \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{static:-static}"
-+#endif
-
- #undef LIB_SPEC
- #define LIB_SPEC \
-diff -urN gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc gcc-3.4.1/gcc/config/sh/t-linux-uclibc
---- gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.1/gcc/config/sh/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
-@@ -0,0 +1,13 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+
-+TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES
-+LIB1ASMFUNCS_CACHE = _ic_invalidate
-+
-+LIB2FUNCS_EXTRA=
-+
-+MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4
-+MULTILIB_DIRNAMES=
-+MULTILIB_MATCHES =
-+MULTILIB_EXCEPTIONS=
-+
-+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
-diff -urN gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc gcc-3.4.1/gcc/config/sh/t-sh64-uclibc
---- gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.1/gcc/config/sh/t-sh64-uclibc 2004-08-12 15:54:43.000000000 -0500
-@@ -0,0 +1,13 @@
-+EXTRA_MULTILIB_PARTS= crt1.o crti.o crtn.o crtbegin.o crtend.o
-+
-+LIB1ASMFUNCS = \
-+ _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
-+ _shcompact_call_trampoline _shcompact_return_trampoline \
-+ _shcompact_incoming_args _ic_invalidate _nested_trampoline \
-+ _push_pop_shmedia_regs \
-+ _udivdi3 _divdi3 _umoddi3 _moddi3
-+
-+MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu
-+MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64
-+MULTILIB_MATCHES=
-+MULTILIB_EXCEPTIONS=
-diff -urN gcc-3.4.1-dist/gcc/config/t-linux-uclibc gcc-3.4.1/gcc/config/t-linux-uclibc
---- gcc-3.4.1-dist/gcc/config/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.1/gcc/config/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
-@@ -0,0 +1,15 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+
-+# Compile crtbeginS.o and crtendS.o with pic.
-+CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
-+# Compile libgcc2.a with pic.
-+TARGET_LIBGCC2_CFLAGS = -fPIC
-+
-+# Override t-slibgcc-elf-ver to export some libgcc symbols with
-+# the symbol versions that glibc used.
-+#SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
-+
-+# Use unwind-dw2-fde
-+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
-+ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
-+LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
-diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
---- gcc-3.4.1-dist/gcc/config.gcc 2004-04-21 10:12:35.000000000 -0500
-+++ gcc-3.4.1/gcc/config.gcc 2004-08-12 15:59:46.000000000 -0500
-@@ -664,6 +664,12 @@
- extra_parts=""
- use_collect2=yes
- ;;
-+arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
-+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
-+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-+ gnu_ld=yes
-+ ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
-@@ -725,6 +731,10 @@
- tmake_file="cris/t-cris cris/t-elfmulti"
- gas=yes
- ;;
-+cris-*-linux-uclibc*)
-+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
-+ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc"
-+ ;;
- cris-*-linux*)
- tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
- tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
-@@ -988,6 +998,11 @@
- thread_file='single'
- fi
- ;;
-+i[34567]86-*-linux*uclibc*) # Intel 80386's running GNU/Linux
-+ # with ELF format using uClibc
-+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc i386/t-crtstuff"
-+ ;;
- i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
- # with ELF format using glibc 2
- # aka GNU/Linux C library 6
-@@ -1547,6 +1562,16 @@
- gnu_ld=yes
- gas=yes
- ;;
-+mips*-*-linux-uclibc*) # Linux MIPS, either endian. uClibc
-+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
-+ case ${target} in
-+ mipsisa32*-*)
-+ target_cpu_default="MASK_SOFT_FLOAT"
-+ tm_defines="MIPS_ISA_DEFAULT=32"
-+ ;;
-+ esac
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc"
-+ ;;
- mips*-*-linux*) # Linux MIPS, either endian.
- tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
- case ${target} in
-@@ -1764,6 +1789,10 @@
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
- tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
- ;;
-+powerpc-*-linux-uclibc*)
-+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
-+ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm"
-+ ;;
- powerpc-*-linux*)
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
- tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
-@@ -1916,7 +1945,7 @@
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
- ;;
- sh-*-linux* | sh[2346lbe]*-*-linux*)
-- tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux"
-+ tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver"
- case ${target} in
- sh*be-*-* | sh*eb-*-*) ;;
- *)
-@@ -1924,9 +1953,17 @@
- tmake_file="${tmake_file} sh/t-le"
- ;;
- esac
-- tmake_file="${tmake_file} sh/t-linux"
-+ case ${target} in
-+ *-*-linux-uclibc*) tmake_file="${tmake_file} t-linux-uclibc sh/t-linux-uclibc" ;;
-+ *) tmake_file="${tmake_file} t-linux sh/t-linux" ;;
-+ esac
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
- case ${target} in
-+ sh64*-*-linux-uclibc*)
-+ tmake_file="${tmake_file} sh/t-sh64-uclibc"
-+ tm_file="${tm_file} sh/sh64.h"
-+ extra_headers="shmedia.h ushmedia.h sshmedia.h"
-+ ;;
- sh64*)
- tmake_file="${tmake_file} sh/t-sh64"
- tm_file="${tm_file} sh/sh64.h"
-diff -urN gcc-3.4.1-dist/libtool.m4 gcc-3.4.1/libtool.m4
---- gcc-3.4.1-dist/libtool.m4 2004-05-18 04:08:37.000000000 -0500
-+++ gcc-3.4.1/libtool.m4 2004-08-12 15:54:43.000000000 -0500
-@@ -689,6 +689,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -urN gcc-3.4.1-dist/ltconfig gcc-3.4.1/ltconfig
---- gcc-3.4.1-dist/ltconfig 2004-03-05 15:05:41.000000000 -0600
-+++ gcc-3.4.1/ltconfig 2004-08-12 15:55:48.000000000 -0500
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1262,6 +1263,24 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ # Note: copied from linux-gnu, and may not be appropriate.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
diff --git a/openwrt/toolchain/gcc/3.4.6/200-uclibc-locale.patch b/openwrt/toolchain/gcc/3.4.6/200-uclibc-locale.patch
deleted file mode 100644
index 3fc4900..0000000
--- a/openwrt/toolchain/gcc/3.4.6/200-uclibc-locale.patch
+++ /dev/null
@@ -1,3246 +0,0 @@
-diff -urN gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 gcc-3.4.2/libstdc++-v3/acinclude.m4
---- gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 2004-07-15 12:42:45.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/acinclude.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -996,7 +996,7 @@
- AC_MSG_CHECKING([for C locale to use])
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
-@@ -1012,6 +1012,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ x*-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1138,6 +1141,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 gcc-3.4.2/libstdc++-v3/aclocal.m4
---- gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 2004-08-13 15:44:03.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/aclocal.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -1025,6 +1025,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ x*-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1151,6 +1154,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,59 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#endif // GLIBC 2.3 and later
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L) strtof((S), (E))
-+#define __strtod_l(S, E, L) strtod((S), (E))
-+#define __strtold_l(S, E, L) strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c) NULL
-+#define __freelocale(a) ((void)0)
-+#define __duplocale(a) __c_locale()
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale __old)
-+ {
-+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ if (!__cloc)
-+ {
-+ // This named locale is not supported by the underlying OS.
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ }
-+#endif
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ {
-+ if (_S_get_c_locale() != __cloc)
-+ __freelocale(__cloc);
-+ }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+ { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES",
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+ "LC_PAPER",
-+ "LC_NAME",
-+ "LC_ADDRESS",
-+ "LC_TELEPHONE",
-+ "LC_MEASUREMENT",
-+ "LC_IDENTIFICATION"
-+#endif
-+ };
-+}
-+
-+namespace std
-+{
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+} // namespace std
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2004-09-10 10:48:08.000000000 -0500
-@@ -0,0 +1,115 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring> // get std::strlen
-+#include <cstdio> // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h> // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h> // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h> // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+ extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ typedef __locale_t __c_locale;
-+#else
-+ typedef int* __c_locale;
-+#endif
-+
-+ // Convert numeric value of type _Tv to string and return length of
-+ // string. If snprintf is available use it, otherwise fall back to
-+ // the unsafe sprintf which, in general, can be dangerous and should
-+ // be avoided.
-+ template<typename _Tv>
-+ int
-+ __convert_from_v(char* __out, const int __size, const char* __fmt,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ _Tv __v, const __c_locale& __cloc, int __prec)
-+ {
-+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+ _Tv __v, const __c_locale&, int __prec)
-+ {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+ char* __old = std::setlocale(LC_ALL, NULL);
-+ char* __sav = new char[std::strlen(__old) + 1];
-+ std::strcpy(__sav, __old);
-+ std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ std::setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+#endif
-+ return __ret;
-+ }
-+}
-+
-+#endif
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+ // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_out(state_type& __state, const intern_type* __from,
-+ const intern_type* __from_end, const intern_type*& __from_next,
-+ extern_type* __to, extern_type* __to_end,
-+ extern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+ // in case we fall back to wcrtomb and then continue, in a loop.
-+ // NB: wcsnrtombs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+ __from_end - __from_next);
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // wcrtomb.
-+ for (; __from < __from_next; ++__from)
-+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ extern_type __buf[MB_LEN_MAX];
-+ __tmp_state = __state;
-+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+ if (__conv > static_cast<size_t>(__to_end - __to_next))
-+ __ret = partial;
-+ else
-+ {
-+ memcpy(__to_next, __buf, __conv);
-+ __state = __tmp_state;
-+ __to_next += __conv;
-+ ++__from_next;
-+ }
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_in(state_type& __state, const extern_type* __from,
-+ const extern_type* __from_end, const extern_type*& __from_next,
-+ intern_type* __to, intern_type* __to_end,
-+ intern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we store a L'\0' and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+ __from_end
-+ - __from_next));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (;; ++__to_next, __from += __conv)
-+ {
-+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __from_next = __from;
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ // It is unclear what to return in this case (see DR 382).
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ if (__to_next < __to_end)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from_next;
-+ *__to_next++ = L'\0';
-+ }
-+ else
-+ __ret = partial;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_encoding() const throw()
-+ {
-+ // XXX This implementation assumes that the encoding is
-+ // stateless and is either single-byte or variable-width.
-+ int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ if (MB_CUR_MAX == 1)
-+ __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_max_length() const throw()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ // XXX Probably wrong for stateful encodings.
-+ int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_length(state_type& __state, const extern_type* __from,
-+ const extern_type* __end, size_t __max) const
-+ {
-+ int __ret = 0;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we advance past it and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+
-+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+ // its fourth parameter (it wouldn't with NULL as first parameter).
-+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
-+ * __max));
-+ while (__from < __end && __max)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+ __end
-+ - __from));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __end;
-+
-+ const extern_type* __tmp_from = __from;
-+ size_t __conv = mbsnrtowcs(__to, &__from,
-+ __from_chunk_end - __from,
-+ __max, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (__from = __tmp_from;; __from += __conv)
-+ {
-+ __conv = mbrtowc(NULL, __from, __end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __state = __tmp_state;
-+ __ret += __from - __tmp_from;
-+ break;
-+ }
-+ if (!__from)
-+ __from = __from_chunk_end;
-+
-+ __ret += __from - __tmp_from;
-+ __max -= __conv;
-+
-+ if (__from < __end && __max)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from;
-+ ++__ret;
-+ --__max;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+ // These are basically extensions to char_traits, and perhaps should
-+ // be put there instead of here.
-+ template<>
-+ int
-+ collate<char>::_M_compare(const char* __one, const char* __two) const
-+ {
-+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<char>::_M_transform(char* __to, const char* __from,
-+ size_t __n) const
-+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ int
-+ collate<wchar_t>::_M_compare(const wchar_t* __one,
-+ const wchar_t* __two) const
-+ {
-+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+ size_t __n) const
-+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L) wctype((S))
-+#define __towupper_l(C, L) towupper((C))
-+#define __towlower_l(C, L) towlower((C))
-+#define __iswctype_l(C, M, L) iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+ template<>
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+ {
-+ __wmask_type __ret;
-+ switch (__m)
-+ {
-+ case space:
-+ __ret = __wctype_l("space", _M_c_locale_ctype);
-+ break;
-+ case print:
-+ __ret = __wctype_l("print", _M_c_locale_ctype);
-+ break;
-+ case cntrl:
-+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+ break;
-+ case upper:
-+ __ret = __wctype_l("upper", _M_c_locale_ctype);
-+ break;
-+ case lower:
-+ __ret = __wctype_l("lower", _M_c_locale_ctype);
-+ break;
-+ case alpha:
-+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+ break;
-+ case digit:
-+ __ret = __wctype_l("digit", _M_c_locale_ctype);
-+ break;
-+ case punct:
-+ __ret = __wctype_l("punct", _M_c_locale_ctype);
-+ break;
-+ case xdigit:
-+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+ break;
-+ case alnum:
-+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+ break;
-+ case graph:
-+ __ret = __wctype_l("graph", _M_c_locale_ctype);
-+ break;
-+ default:
-+ __ret = 0;
-+ }
-+ return __ret;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return __towlower_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ bool __ret = false;
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur]
-+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ return __ret;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ mask __m = 0;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ __m |= _M_bit[__bitcur];
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !this->do_is(__m, *__lo))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __j = 0;
-+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+ _M_widen[__j] = btowc(__j);
-+
-+ for (size_t __k = 0; __k <= 11; ++__k)
-+ {
-+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+ // Specializations.
-+ template<>
-+ string
-+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+ __uselocale(__old);
-+ return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ const char* __msg = gettext(__dfault.c_str());
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return string(__msg);
-+#else
-+ const char* __msg = gettext(__dfault.c_str());
-+ return string(__msg);
-+#endif
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ wstring
-+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+ {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ __uselocale(__old);
-+ return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return _M_convert_from_char(__msg);
-+# else
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ return _M_convert_from_char(__msg);
-+# endif
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D) ((void)0)
-+#define __bindtextdomain(D,P) ((void)0)
-+#endif
-+
-+ // Non-virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::messages(size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-+ _M_name_messages(_S_get_c_name())
-+ { }
-+
-+ template<typename _CharT>
-+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+ _M_name_messages(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_messages = __tmp;
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
-+ const char* __dir) const
-+ {
-+ __bindtextdomain(__s.c_str(), __dir);
-+ return this->do_open(__s, __loc);
-+ }
-+
-+ // Virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::~messages()
-+ {
-+ if (_M_name_messages != _S_get_c_name())
-+ delete [] _M_name_messages;
-+ _S_destroy_c_locale(_M_c_locale_messages);
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::do_open(const basic_string<char>& __s,
-+ const locale&) const
-+ {
-+ // No error checking is done, assume the catalog exists and can
-+ // be used.
-+ __textdomain(__s.c_str());
-+ return 0;
-+ }
-+
-+ template<typename _CharT>
-+ void
-+ messages<_CharT>::do_close(catalog) const
-+ { }
-+
-+ // messages_byname
-+ template<typename _CharT>
-+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+ : messages<_CharT>(__refs)
-+ {
-+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+ delete [] this->_M_name_messages;
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ this->_M_name_messages = __tmp;
-+
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
-+ }
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,698 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ // Construct and return valid pattern consisting of some combination of:
-+ // space none symbol sign value
-+ money_base::pattern
-+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+ {
-+ pattern __ret;
-+
-+ // This insanely complicated routine attempts to construct a valid
-+ // pattern for use with monyepunct. A couple of invariants:
-+
-+ // if (__precedes) symbol -> value
-+ // else value -> symbol
-+
-+ // if (__space) space
-+ // else none
-+
-+ // none == never first
-+ // space never first or last
-+
-+ // Any elegant implementations of this are welcome.
-+ switch (__posn)
-+ {
-+ case 0:
-+ case 1:
-+ // 1 The sign precedes the value and symbol.
-+ __ret.field[0] = sign;
-+ if (__space)
-+ {
-+ // Pattern starts with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[3] = symbol;
-+ }
-+ __ret.field[2] = space;
-+ }
-+ else
-+ {
-+ // Pattern starts with sign and ends with none.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 2:
-+ // 2 The sign follows the value and symbol.
-+ if (__space)
-+ {
-+ // Pattern either ends with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[1] = space;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ // Pattern ends with sign then none.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[1] = symbol;
-+ }
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 3:
-+ // 3 The sign immediately precedes the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = sign;
-+ __ret.field[1] = symbol;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = symbol;
-+ }
-+ else
-+ {
-+ __ret.field[1] = sign;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ case 4:
-+ // 4 The sign immediately follows the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = sign;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ default:
-+ ;
-+ }
-+ return __ret;
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == false
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<char, true>::~moneypunct()
-+ { delete _M_data; }
-+
-+ template<>
-+ moneypunct<char, false>::~moneypunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len;
-+ __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, true>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, false>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,183 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
-+ __cloc));
-+
-+ // Check for NULL, which implies no grouping.
-+ if (_M_data->_M_thousands_sep == '\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = "true";
-+ _M_data->_M_truename_size = strlen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = "false";
-+ _M_data->_M_falsename_size = strlen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<char>::~numpunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<wchar_t>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_S_get_c_locale());
-+#endif
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_out[__i]);
-+ _M_data->_M_atoms_out[__i] = btowc(uc);
-+ }
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_in[__j]);
-+ _M_data->_M_atoms_in[__j] = btowc(uc);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+
-+ if (_M_data->_M_thousands_sep == L'\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = L"true";
-+ _M_data->_M_truename_size = wcslen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = L"false";
-+ _M_data->_M_falsename_size = wcslen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<wchar_t>::~numpunct()
-+ { delete _M_data; }
-+ #endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2004-09-10 10:48:00.000000000 -0500
-@@ -0,0 +1,356 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __timepunct<char>::
-+ _M_put(char* __s, size_t __maxlen, const char* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = '\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = "%m/%d/%y";
-+ _M_data->_M_date_era_format = "%m/%d/%y";
-+ _M_data->_M_time_format = "%H:%M:%S";
-+ _M_data->_M_time_era_format = "%H:%M:%S";
-+ _M_data->_M_date_time_format = "";
-+ _M_data->_M_date_time_era_format = "";
-+ _M_data->_M_am = "AM";
-+ _M_data->_M_pm = "PM";
-+ _M_data->_M_am_pm_format = "";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = "Sunday";
-+ _M_data->_M_day2 = "Monday";
-+ _M_data->_M_day3 = "Tuesday";
-+ _M_data->_M_day4 = "Wednesday";
-+ _M_data->_M_day5 = "Thursday";
-+ _M_data->_M_day6 = "Friday";
-+ _M_data->_M_day7 = "Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = "Sun";
-+ _M_data->_M_aday2 = "Mon";
-+ _M_data->_M_aday3 = "Tue";
-+ _M_data->_M_aday4 = "Wed";
-+ _M_data->_M_aday5 = "Thu";
-+ _M_data->_M_aday6 = "Fri";
-+ _M_data->_M_aday7 = "Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = "January";
-+ _M_data->_M_month02 = "February";
-+ _M_data->_M_month03 = "March";
-+ _M_data->_M_month04 = "April";
-+ _M_data->_M_month05 = "May";
-+ _M_data->_M_month06 = "June";
-+ _M_data->_M_month07 = "July";
-+ _M_data->_M_month08 = "August";
-+ _M_data->_M_month09 = "September";
-+ _M_data->_M_month10 = "October";
-+ _M_data->_M_month11 = "November";
-+ _M_data->_M_month12 = "December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = "Jan";
-+ _M_data->_M_amonth02 = "Feb";
-+ _M_data->_M_amonth03 = "Mar";
-+ _M_data->_M_amonth04 = "Apr";
-+ _M_data->_M_amonth05 = "May";
-+ _M_data->_M_amonth06 = "Jun";
-+ _M_data->_M_amonth07 = "Jul";
-+ _M_data->_M_amonth08 = "Aug";
-+ _M_data->_M_amonth09 = "Sep";
-+ _M_data->_M_amonth10 = "Oct";
-+ _M_data->_M_amonth11 = "Nov";
-+ _M_data->_M_amonth12 = "Dec";
-+ }
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
-+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ __timepunct<wchar_t>::
-+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = L'\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+// if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = L"%m/%d/%y";
-+ _M_data->_M_date_era_format = L"%m/%d/%y";
-+ _M_data->_M_time_format = L"%H:%M:%S";
-+ _M_data->_M_time_era_format = L"%H:%M:%S";
-+ _M_data->_M_date_time_format = L"";
-+ _M_data->_M_date_time_era_format = L"";
-+ _M_data->_M_am = L"AM";
-+ _M_data->_M_pm = L"PM";
-+ _M_data->_M_am_pm_format = L"";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = L"Sunday";
-+ _M_data->_M_day2 = L"Monday";
-+ _M_data->_M_day3 = L"Tuesday";
-+ _M_data->_M_day4 = L"Wednesday";
-+ _M_data->_M_day5 = L"Thursday";
-+ _M_data->_M_day6 = L"Friday";
-+ _M_data->_M_day7 = L"Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = L"Sun";
-+ _M_data->_M_aday2 = L"Mon";
-+ _M_data->_M_aday3 = L"Tue";
-+ _M_data->_M_aday4 = L"Wed";
-+ _M_data->_M_aday5 = L"Thu";
-+ _M_data->_M_aday6 = L"Fri";
-+ _M_data->_M_aday7 = L"Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = L"January";
-+ _M_data->_M_month02 = L"February";
-+ _M_data->_M_month03 = L"March";
-+ _M_data->_M_month04 = L"April";
-+ _M_data->_M_month05 = L"May";
-+ _M_data->_M_month06 = L"June";
-+ _M_data->_M_month07 = L"July";
-+ _M_data->_M_month08 = L"August";
-+ _M_data->_M_month09 = L"September";
-+ _M_data->_M_month10 = L"October";
-+ _M_data->_M_month11 = L"November";
-+ _M_data->_M_month12 = L"December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = L"Jan";
-+ _M_data->_M_amonth02 = L"Feb";
-+ _M_data->_M_amonth03 = L"Mar";
-+ _M_data->_M_amonth04 = L"Apr";
-+ _M_data->_M_amonth05 = L"May";
-+ _M_data->_M_amonth06 = L"Jun";
-+ _M_data->_M_amonth07 = L"Jul";
-+ _M_data->_M_amonth08 = L"Aug";
-+ _M_data->_M_amonth09 = L"Sep";
-+ _M_data->_M_amonth10 = L"Oct";
-+ _M_data->_M_amonth11 = L"Nov";
-+ _M_data->_M_amonth12 = L"Dec";
-+ }
-+#if 0
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
-+ _M_data->_M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
-+ _M_data->_M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
-+ _M_data->_M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
-+ _M_data->_M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
-+ _M_data->_M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
-+ _M_data->_M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
-+ _M_data->_M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
-+ _M_data->_M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
-+ _M_data->_M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
-+ _M_data->_M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
-+ _M_data->_M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
-+ _M_data->_M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
-+ _M_data->_M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
-+ _M_data->_M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
-+ _M_data->_M_aday2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
-+ _M_data->_M_aday3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
-+ _M_data->_M_aday4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
-+ _M_data->_M_aday5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
-+ _M_data->_M_aday6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
-+ _M_data->_M_aday7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
-+ _M_data->_M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
-+ _M_data->_M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
-+ _M_data->_M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
-+ _M_data->_M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
-+ _M_data->_M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
-+ _M_data->_M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
-+ _M_data->_M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
-+ _M_data->_M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
-+ _M_data->_M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
-+ _M_data->_M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
-+ _M_data->_M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
-+ _M_data->_M_amonth02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
-+ _M_data->_M_amonth03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
-+ _M_data->_M_amonth04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
-+ _M_data->_M_amonth05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
-+ _M_data->_M_amonth06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
-+ _M_data->_M_amonth07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
-+ _M_data->_M_amonth08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
-+ _M_data->_M_amonth09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
-+ _M_data->_M_amonth10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
-+ _M_data->_M_amonth11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
-+ _M_data->_M_amonth12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
-+ }
-+#endif // 0
-+ }
-+#endif
-+}
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
-+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_timepunct = __tmp;
-+ _M_initialize_timepunct(__cloc);
-+ }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::~__timepunct()
-+ {
-+ if (_M_name_timepunct != _S_get_c_name())
-+ delete [] _M_name_timepunct;
-+ delete _M_data;
-+ _S_destroy_c_locale(_M_c_locale_timepunct);
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,58 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ struct ctype_base
-+ {
-+ // Note: In uClibc, the following two types depend on configuration.
-+
-+ // Non-standard typedefs.
-+ typedef const __ctype_touplow_t* __to_type;
-+
-+ // NB: Offsets into ctype<char>::_M_table force a particular size
-+ // on the mask type. Because of this, we don't use an enum.
-+ typedef __ctype_mask_t mask;
-+ static const mask upper = _ISupper;
-+ static const mask lower = _ISlower;
-+ static const mask alpha = _ISalpha;
-+ static const mask digit = _ISdigit;
-+ static const mask xdigit = _ISxdigit;
-+ static const mask space = _ISspace;
-+ static const mask print = _ISprint;
-+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
-+ static const mask cntrl = _IScntrl;
-+ static const mask punct = _ISpunct;
-+ static const mask alnum = _ISalpha | _ISdigit;
-+ };
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,69 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+
-+ bool
-+ ctype<char>::
-+ is(mask __m, char __c) const
-+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-+
-+ const char*
-+ ctype<char>::
-+ is(const char* __low, const char* __high, mask* __vec) const
-+ {
-+ while (__low < __high)
-+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-+ return __high;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_is(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-+ ++__low;
-+ return __low;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_not(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-+ ++__low;
-+ return __low;
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,92 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ { return __C_ctype_b; }
-+
-+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ char
-+ ctype<char>::do_toupper(char __c) const
-+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_toupper(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-+
-+ char
-+ ctype<char>::do_tolower(char __c) const
-+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_tolower(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h
---- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h 2004-09-10 10:47:40.000000000 -0500
-@@ -0,0 +1,44 @@
-+// Specific definitions for GNU/Linux -*- C++ -*-
-+
-+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here. This
-+// file will come before all others.
-+
-+// This keeps isanum, et al from being propagated as macros.
-+#define __NO_CTYPE 1
-+
-+#include <features.h>
-+
-+// We must not see the optimized string functions GNU libc defines.
-+#define __NO_STRING_INLINES
-+
-+#endif
-diff -urN gcc-3.4.2-dist/libstdc++-v3/configure gcc-3.4.2/libstdc++-v3/configure
---- gcc-3.4.2-dist/libstdc++-v3/configure 2004-08-13 15:44:04.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/configure 2004-09-10 10:47:40.000000000 -0500
-@@ -3878,6 +3878,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5545,6 +5550,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case x${target_os} in
-+ xlinux-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
- cat >conftest.$ac_ext <<_ACEOF
- #line $LINENO "configure"
-@@ -5759,6 +5767,77 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$check_msgfmt"; then
-+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_check_msgfmt="yes"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+
-+
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-3.4.2-dist/libstdc++-v3/configure.host gcc-3.4.2/libstdc++-v3/configure.host
---- gcc-3.4.2-dist/libstdc++-v3/configure.host 2004-08-27 14:52:30.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/configure.host 2004-09-10 10:47:40.000000000 -0500
-@@ -217,6 +217,12 @@
- ;;
- esac
-
-+# Override for uClibc since linux-uclibc gets mishandled above.
-+case "${host_os}" in
-+ *-uclibc*)
-+ os_include_dir="os/uclibc"
-+ ;;
-+esac
-
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
-diff -urN gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 gcc-3.4.2/libstdc++-v3/crossconfig.m4
---- gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 2004-07-06 20:23:49.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/crossconfig.m4 2004-09-10 10:47:40.000000000 -0500
-@@ -138,6 +138,99 @@
- ;;
- esac
- ;;
-+ *-uclibc*)
-+# Temporary hack until we implement the float versions of the libm funcs
-+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
-+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
-+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
-+ AC_SUBST(SECTION_FLAGS)
-+ GLIBCXX_CHECK_LINKER_FEATURES
-+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
-+
-+ # For LFS.
-+ AC_DEFINE(HAVE_INT64_T)
-+ case "$target" in
-+ *-uclinux*)
-+ # Don't enable LFS with uClinux
-+ ;;
-+ *)
-+ AC_DEFINE(_GLIBCXX_USE_LFS)
-+ esac
-+
-+ # For showmanyc_helper().
-+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
-+ GLIBCXX_CHECK_POLL
-+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-+
-+ # For xsputn_2().
-+ AC_CHECK_HEADERS(sys/uio.h)
-+ GLIBCXX_CHECK_WRITEV
-+
-+# AC_DEFINE(HAVE_ACOSF)
-+# AC_DEFINE(HAVE_ASINF)
-+# AC_DEFINE(HAVE_ATANF)
-+# AC_DEFINE(HAVE_ATAN2F)
-+ AC_DEFINE(HAVE_CEILF)
-+ AC_DEFINE(HAVE_COPYSIGN)
-+# AC_DEFINE(HAVE_COPYSIGNF)
-+# AC_DEFINE(HAVE_COSF)
-+# AC_DEFINE(HAVE_COSHF)
-+# AC_DEFINE(HAVE_EXPF)
-+# AC_DEFINE(HAVE_FABSF)
-+ AC_DEFINE(HAVE_FINITE)
-+ AC_DEFINE(HAVE_FINITEF)
-+ AC_DEFINE(HAVE_FLOORF)
-+# AC_DEFINE(HAVE_FMODF)
-+# AC_DEFINE(HAVE_FREXPF)
-+ AC_DEFINE(HAVE_HYPOT)
-+# AC_DEFINE(HAVE_HYPOTF)
-+ AC_DEFINE(HAVE_ISINF)
-+ AC_DEFINE(HAVE_ISINFF)
-+ AC_DEFINE(HAVE_ISNAN)
-+ AC_DEFINE(HAVE_ISNANF)
-+# AC_DEFINE(HAVE_LOGF)
-+# AC_DEFINE(HAVE_LOG10F)
-+# AC_DEFINE(HAVE_MODFF)
-+# AC_DEFINE(HAVE_SINF)
-+# AC_DEFINE(HAVE_SINHF)
-+# AC_DEFINE(HAVE_SINCOS)
-+# AC_DEFINE(HAVE_SINCOSF)
-+ AC_DEFINE(HAVE_SQRTF)
-+# AC_DEFINE(HAVE_TANF)
-+# AC_DEFINE(HAVE_TANHF)
-+ if test x"long_double_math_on_this_cpu" = x"yes"; then
-+ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
-+# AC_DEFINE(HAVE_ACOSL)
-+# AC_DEFINE(HAVE_ASINL)
-+# AC_DEFINE(HAVE_ATANL)
-+# AC_DEFINE(HAVE_ATAN2L)
-+# AC_DEFINE(HAVE_CEILL)
-+# AC_DEFINE(HAVE_COPYSIGNL)
-+# AC_DEFINE(HAVE_COSL)
-+# AC_DEFINE(HAVE_COSHL)
-+# AC_DEFINE(HAVE_EXPL)
-+# AC_DEFINE(HAVE_FABSL)
-+# AC_DEFINE(HAVE_FINITEL)
-+# AC_DEFINE(HAVE_FLOORL)
-+# AC_DEFINE(HAVE_FMODL)
-+# AC_DEFINE(HAVE_FREXPL)
-+# AC_DEFINE(HAVE_HYPOTL)
-+# AC_DEFINE(HAVE_ISINFL)
-+# AC_DEFINE(HAVE_ISNANL)
-+# AC_DEFINE(HAVE_LOGL)
-+# AC_DEFINE(HAVE_LOG10L)
-+# AC_DEFINE(HAVE_MODFL)
-+# AC_DEFINE(HAVE_POWL)
-+# AC_DEFINE(HAVE_SINL)
-+# AC_DEFINE(HAVE_SINHL)
-+# AC_DEFINE(HAVE_SINCOSL)
-+# AC_DEFINE(HAVE_SQRTL)
-+# AC_DEFINE(HAVE_TANL)
-+# AC_DEFINE(HAVE_TANHL)
-+ fi
-+ ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -152,7 +245,7 @@
- AC_DEFINE(HAVE_INT64_T)
- case "$target" in
- *-uclinux*)
-- # Don't enable LFS with uClibc
-+ # Don't enable LFS with uClinux
- ;;
- *)
- AC_DEFINE(_GLIBCXX_USE_LFS)
-diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h 2003-12-08 21:51:45.000000000 -0600
-+++ gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h 2004-09-10 10:47:40.000000000 -0500
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
-
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h 2004-07-20 03:52:12.000000000 -0500
-+++ gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h 2004-09-10 10:47:40.000000000 -0500
-@@ -179,7 +179,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
diff --git a/openwrt/toolchain/gcc/3.4.6/300-libstdc++-pic.patch b/openwrt/toolchain/gcc/3.4.6/300-libstdc++-pic.patch
deleted file mode 100644
index c030ba6..0000000
--- a/openwrt/toolchain/gcc/3.4.6/300-libstdc++-pic.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-# DP: Build and install libstdc++_pic.a library.
-
---- gcc/libstdc++-v3/src/Makefile.am~ 2003-02-28 09:21:05.000000000 +0100
-+++ gcc/libstdc++-v3/src/Makefile.am 2003-02-28 09:28:50.000000000 +0100
-@@ -224,6 +224,10 @@
- @OPT_LDFLAGS@ @SECTION_LDFLAGS@ $(AM_CXXFLAGS) $(LDFLAGS) -o $@
-
-
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # Added bits to build debug library.
- if GLIBCPP_BUILD_DEBUG
- all-local: build_debug
-
---- gcc/libstdc++-v3/src/Makefile.in~ 2004-02-21 09:55:48.000000000 +0100
-+++ gcc/libstdc++-v3/src/Makefile.in 2004-02-21 09:59:34.000000000 +0100
-@@ -585,7 +585,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -618,6 +618,7 @@
- distclean-tags distdir dvi dvi-am info info-am install \
- install-am install-data install-data-am install-data-local \
- install-exec install-exec-am install-info install-info-am \
-+ install-exec-local \
- install-man install-strip install-toolexeclibLTLIBRARIES \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
-@@ -707,6 +708,11 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # 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.
- .NOEXPORT:
diff --git a/openwrt/toolchain/gcc/3.4.6/601-gcc34-arm-ldm.patch b/openwrt/toolchain/gcc/3.4.6/601-gcc34-arm-ldm.patch
deleted file mode 100644
index 142052f..0000000
--- a/openwrt/toolchain/gcc/3.4.6/601-gcc34-arm-ldm.patch
+++ /dev/null
@@ -1,119 +0,0 @@
---- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm 2004-02-27 09:51:05.000000000 -0500
-+++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:16:25.000000000 -0400
-@@ -8520,6 +8520,26 @@
- return_used_this_function = 0;
- }
-
-+/* Return the number (counting from 0) of
-+ the least significant set bit in MASK. */
-+
-+#ifdef __GNUC__
-+inline
-+#endif
-+static int
-+number_of_first_bit_set (mask)
-+ int mask;
-+{
-+ int bit;
-+
-+ for (bit = 0;
-+ (mask & (1 << bit)) == 0;
-+ ++bit)
-+ continue;
-+
-+ return bit;
-+}
-+
- const char *
- arm_output_epilogue (rtx sibling)
- {
-@@ -8753,27 +8773,47 @@
- saved_regs_mask |= (1 << PC_REGNUM);
- }
-
-- /* Load the registers off the stack. If we only have one register
-- to load use the LDR instruction - it is faster. */
-- if (saved_regs_mask == (1 << LR_REGNUM))
-- {
-- /* The exception handler ignores the LR, so we do
-- not really need to load it off the stack. */
-- if (eh_ofs)
-- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
-- else
-- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM);
-- }
-- else if (saved_regs_mask)
-+ if (saved_regs_mask)
- {
-- if (saved_regs_mask & (1 << SP_REGNUM))
-- /* Note - write back to the stack register is not enabled
-- (ie "ldmfd sp!..."). We know that the stack pointer is
-- in the list of registers and if we add writeback the
-- instruction becomes UNPREDICTABLE. */
-- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
-+ /* Load the registers off the stack. If we only have one register
-+ to load use the LDR instruction - it is faster. */
-+ if (bit_count (saved_regs_mask) == 1)
-+ {
-+ int reg = number_of_first_bit_set (saved_regs_mask);
-+
-+ switch (reg)
-+ {
-+ case SP_REGNUM:
-+ /* Mustn't use base writeback when loading SP. */
-+ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM);
-+ break;
-+
-+ case LR_REGNUM:
-+ if (eh_ofs)
-+ {
-+ /* The exception handler ignores the LR, so we do
-+ not really need to load it off the stack. */
-+ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
-+ break;
-+ }
-+ /* else fall through */
-+
-+ default:
-+ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM);
-+ break;
-+ }
-+ }
- else
-- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
-+ {
-+ if (saved_regs_mask & (1 << SP_REGNUM))
-+ /* Note - write back to the stack register is not enabled
-+ (ie "ldmfd sp!..."). We know that the stack pointer is
-+ in the list of registers and if we add writeback the
-+ instruction becomes UNPREDICTABLE. */
-+ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
-+ else
-+ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
-+ }
- }
-
- if (current_function_pretend_args_size)
-@@ -11401,22 +11441,6 @@
- }
- }
-
--/* Return the number (counting from 0) of
-- the least significant set bit in MASK. */
--
--inline static int
--number_of_first_bit_set (int mask)
--{
-- int bit;
--
-- for (bit = 0;
-- (mask & (1 << bit)) == 0;
-- ++bit)
-- continue;
--
-- return bit;
--}
--
- /* Generate code to return from a thumb function.
- If 'reg_containing_return_addr' is -1, then the return address is
- actually on the stack, at the stack pointer. */
diff --git a/openwrt/toolchain/gcc/3.4.6/602-sdk-libstdc++-includes.patch b/openwrt/toolchain/gcc/3.4.6/602-sdk-libstdc++-includes.patch
deleted file mode 100644
index 4377c21..0000000
--- a/openwrt/toolchain/gcc/3.4.6/602-sdk-libstdc++-includes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- gcc-3.4.1/libstdc++-v3/libmath/Makefile.am~ 2003-08-27 22:29:42.000000000 +0100
-+++ gcc-3.4.1/libstdc++-v3/libmath/Makefile.am 2004-07-22 16:41:45.152130128 +0100
-@@ -32,7 +32,7 @@
-
- libmath_la_SOURCES = stubs.c
-
--AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
-
- # Only compiling "C" sources in this directory.
- LIBTOOL = @LIBTOOL@ --tag CC
---- gcc-3.4.1/libstdc++-v3/fragment.am.old 2004-07-22 18:24:58.024083656 +0100
-+++ gcc-3.4.1/libstdc++-v3/fragment.am 2004-07-22 18:24:59.019932264 +0100
-@@ -18,7 +18,7 @@
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
- # -I/-D flags to pass when compiling.
--AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
-
-
-
diff --git a/openwrt/toolchain/gcc/3.4.6/700-pr15068-fix.patch b/openwrt/toolchain/gcc/3.4.6/700-pr15068-fix.patch
deleted file mode 100644
index 2977765..0000000
--- a/openwrt/toolchain/gcc/3.4.6/700-pr15068-fix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-See http://gcc.gnu.org/PR15068
-
-Fixes error
-
-../sysdeps/generic/s_fmax.c: In function `__fmax':
-../sysdeps/generic/s_fmax.c:28: internal compiler error: in elim_reg_cond, at flow.c:3257
-Please submit a full bug report,
-with preprocessed source if appropriate.
-See <URL:http://gcc.gnu.org/bugs.html> for instructions.
-make[2]: *** [/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/build-glibc/math/s_fmax.o] Error 1
-make[2]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822/math'
-make[1]: *** [math/others] Error 2
-make[1]: Leaving directory `/home/dank/wk/crosstool-0.28-rc35/build/arm-unknown-linux-gnu/gcc-3.4.1-glibc-20040822/glibc-20040822'
-make: *** [all] Error 2
-
-[ rediffed against gcc-3.4.1, with elbow grease, ending up with same thing as
-http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=csl-arm-branch&r1=1.563.4.2&r2=1.563.4.3 ]
-
---- gcc-3.4.1/gcc/flow.c.old 2004-02-27 19:39:19.000000000 -0800
-+++ gcc-3.4.1/gcc/flow.c 2004-08-26 07:29:46.000000000 -0700
-@@ -1878,6 +1878,7 @@
- rtx set_src = SET_SRC (pc_set (BB_END (bb)));
- rtx cond_true = XEXP (set_src, 0);
- rtx reg = XEXP (cond_true, 0);
-+ enum rtx_code inv_cond;
-
- if (GET_CODE (reg) == SUBREG)
- reg = SUBREG_REG (reg);
-@@ -1886,11 +1887,13 @@
- in the form of a comparison of a register against zero.
- If the condition is more complex than that, then it is safe
- not to record any information. */
-- if (GET_CODE (reg) == REG
-+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
-+ if (inv_cond != UNKNOWN
-+ && GET_CODE (reg) == REG
- && XEXP (cond_true, 1) == const0_rtx)
- {
- rtx cond_false
-- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
-+ = gen_rtx_fmt_ee (inv_cond,
- GET_MODE (cond_true), XEXP (cond_true, 0),
- XEXP (cond_true, 1));
- if (GET_CODE (XEXP (set_src, 1)) == PC)
diff --git a/openwrt/toolchain/gcc/3.4.6/800-arm-bigendian.patch b/openwrt/toolchain/gcc/3.4.6/800-arm-bigendian.patch
deleted file mode 100644
index 0bae8f4..0000000
--- a/openwrt/toolchain/gcc/3.4.6/800-arm-bigendian.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
-diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-08-16 16:01:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-16 15:43:40.000000000 -0500
-@@ -30,17 +30,34 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- /* Default is to use APCS-32 mode. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 | \
-+ ARM_FLAG_MMU_TRAPS | \
-+ TARGET_ENDIAN_DEFAULT )
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -101,7 +118,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
- #endif
-
-diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
---- gcc-3.4.1-dist/gcc/config.gcc 2004-08-16 16:01:50.000000000 -0500
-+++ gcc-3.4.1/gcc/config.gcc 2004-08-16 16:01:25.000000000 -0500
-@@ -672,6 +672,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/openwrt/toolchain/gcc/3.4.6/810-arm-bigendian-uclibc.patch b/openwrt/toolchain/gcc/3.4.6/810-arm-bigendian-uclibc.patch
deleted file mode 100644
index a4d87e2..0000000
--- a/openwrt/toolchain/gcc/3.4.6/810-arm-bigendian-uclibc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-08-16 16:08:18.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-16 16:06:24.000000000 -0500
-@@ -107,7 +107,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
- #else
- #define LINK_SPEC "%{h*} %{version:-v} \
-diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
---- gcc-3.4.1-dist/gcc/config.gcc 2004-08-16 16:08:18.000000000 -0500
-+++ gcc-3.4.1/gcc/config.gcc 2004-08-16 16:03:25.000000000 -0500
-@@ -666,6 +666,11 @@
- ;;
- arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/openwrt/toolchain/gcc/3.4.6/arm-softfloat.patch.conditional b/openwrt/toolchain/gcc/3.4.6/arm-softfloat.patch.conditional
deleted file mode 100644
index 19d1b90..0000000
--- a/openwrt/toolchain/gcc/3.4.6/arm-softfloat.patch.conditional
+++ /dev/null
@@ -1,270 +0,0 @@
-Note... modified my mjn3 to not conflict with the big endian arm patch.
-Warning!!! Only the linux target is aware of TARGET_ENDIAN_DEFAULT.
-Also changed
- #define SUBTARGET_EXTRA_ASM_SPEC "\
- %{!mcpu=*:-mcpu=xscale} \
- %{mhard-float:-mfpu=fpa} \
- %{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
-to
- #define SUBTARGET_EXTRA_ASM_SPEC "\
- %{mhard-float:-mfpu=fpa} \
- %{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
-in gcc/config/arm/linux-elf.h.
-#
-# Submitted:
-#
-# Dimitry Andric <dimitry@andric.com>, 2004-05-01
-#
-# Description:
-#
-# Nicholas Pitre released this patch for gcc soft-float support here:
-# http://lists.arm.linux.org.uk/pipermail/linux-arm/2003-October/006436.html
-#
-# This version has been adapted to work with gcc 3.4.0.
-#
-# The original patch doesn't distinguish between softfpa and softvfp modes
-# in the way Nicholas Pitre probably meant. His description is:
-#
-# "Default is to use APCS-32 mode with soft-vfp. The old Linux default for
-# floats can be achieved with -mhard-float or with the configure
-# --with-float=hard option. If -msoft-float or --with-float=soft is used then
-# software float support will be used just like the default but with the legacy
-# big endian word ordering for double float representation instead."
-#
-# Which means the following:
-#
-# * If you compile without -mhard-float or -msoft-float, you should get
-# software floating point, using the VFP format. The produced object file
-# should have these flags in its header:
-#
-# private flags = 600: [APCS-32] [VFP float format] [software FP]
-#
-# * If you compile with -mhard-float, you should get hardware floating point,
-# which always uses the FPA format. Object file header flags should be:
-#
-# private flags = 0: [APCS-32] [FPA float format]
-#
-# * If you compile with -msoft-float, you should get software floating point,
-# using the FPA format. This is done for compatibility reasons with many
-# existing distributions. Object file header flags should be:
-#
-# private flags = 200: [APCS-32] [FPA float format] [software FP]
-#
-# The original patch from Nicholas Pitre contained the following constructs:
-#
-# #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
-# %{mhard-float:-mfpu=fpa} \
-# %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
-#
-# However, gcc doesn't accept this ";:" notation, used in the 3rd line. This
-# is probably the reason Robert Schwebel modified it to:
-#
-# #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
-# %{mhard-float:-mfpu=fpa} \
-# %{!mhard-float: %{msoft-float:-mfpu=softfpa -mfpu=softvfp}}"
-#
-# But this causes the following behaviour:
-#
-# * If you compile without -mhard-float or -msoft-float, the compiler generates
-# software floating point instructions, but *nothing* is passed to the
-# assembler, which results in an object file which has flags:
-#
-# private flags = 0: [APCS-32] [FPA float format]
-#
-# This is not correct!
-#
-# * If you compile with -mhard-float, the compiler generates hardware floating
-# point instructions, and passes "-mfpu=fpa" to the assembler, which results
-# in an object file which has the same flags as in the previous item, but now
-# those *are* correct.
-#
-# * If you compile with -msoft-float, the compiler generates software floating
-# point instructions, and passes "-mfpu=softfpa -mfpu=softvfp" (in that
-# order) to the assembler, which results in an object file with flags:
-#
-# private flags = 600: [APCS-32] [VFP float format] [software FP]
-#
-# This is not correct, because the last "-mfpu=" option on the assembler
-# command line determines the actual FPU convention used (which should be FPA
-# in this case).
-#
-# Therefore, I modified this patch to get the desired behaviour. Every
-# instance of the notation:
-#
-# %{msoft-float:-mfpu=softfpa -mfpu=softvfp}
-#
-# was changed to:
-#
-# %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}
-#
-# I also did the following:
-#
-# * Modified all TARGET_DEFAULT macros I could find to include ARM_FLAG_VFP, to
-# be consistent with Nicholas' original patch.
-# * Removed any "msoft-float" or "mhard-float" from all MULTILIB_DEFAULTS
-# macros I could find. I think that if you compile without any options, you
-# would like to get the defaults. :)
-# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
-# anymore. (The required functions are now in libgcc.)
-
-diff -urN gcc-3.4.1-old/gcc/config/arm/coff.h gcc-3.4.1/gcc/config/arm/coff.h
---- gcc-3.4.1-old/gcc/config/arm/coff.h 2004-02-24 08:25:22.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/coff.h 2004-09-02 21:51:15.000000000 -0500
-@@ -31,11 +31,16 @@
- #define TARGET_VERSION fputs (" (ARM/coff)", stderr)
-
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_SOFT_FLOAT \
-+ | ARM_FLAG_VFP \
-+ | ARM_FLAG_APCS_32 \
-+ | ARM_FLAG_APCS_FRAME \
-+ | ARM_FLAG_MMU_TRAPS )
-
- #ifndef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork" }
- #endif
-
- /* This is COFF, but prefer stabs. */
-diff -urN gcc-3.4.1-old/gcc/config/arm/elf.h gcc-3.4.1/gcc/config/arm/elf.h
---- gcc-3.4.1-old/gcc/config/arm/elf.h 2004-02-24 08:25:22.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/elf.h 2004-09-02 21:51:15.000000000 -0500
-@@ -46,7 +46,9 @@
-
- #ifndef SUBTARGET_ASM_FLOAT_SPEC
- #define SUBTARGET_ASM_FLOAT_SPEC "\
--%{mapcs-float:-mfloat} %{msoft-float:-mfpu=softfpa}"
-+%{mapcs-float:-mfloat} \
-+%{mhard-float:-mfpu=fpa} \
-+%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
- #endif
-
- #ifndef ASM_SPEC
-@@ -106,12 +108,17 @@
- #endif
-
- #ifndef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_SOFT_FLOAT \
-+ | ARM_FLAG_VFP \
-+ | ARM_FLAG_APCS_32 \
-+ | ARM_FLAG_APCS_FRAME \
-+ | ARM_FLAG_MMU_TRAPS )
- #endif
-
- #ifndef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork", "fno-leading-underscore" }
-+ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork", "fno-leading-underscore" }
- #endif
-
- #define TARGET_ASM_FILE_START_APP_OFF true
-diff -urN gcc-3.4.1-old/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
---- gcc-3.4.1-old/gcc/config/arm/linux-elf.h 2004-09-02 21:50:52.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-09-02 22:00:49.000000000 -0500
-@@ -44,12 +44,26 @@
- #define TARGET_LINKER_EMULATION "armelf_linux"
- #endif
-
--/* Default is to use APCS-32 mode. */
-+/*
-+ * Default is to use APCS-32 mode with soft-vfp.
-+ * The old Linux default for floats can be achieved with -mhard-float
-+ * or with the configure --with-float=hard option.
-+ * If -msoft-float or --with-float=soft is used then software float
-+ * support will be used just like the default but with the legacy
-+ * big endian word ordering for double float representation instead.
-+ */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT \
-- ( ARM_FLAG_APCS_32 | \
-- ARM_FLAG_MMU_TRAPS | \
-- TARGET_ENDIAN_DEFAULT )
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_APCS_32 \
-+ | ARM_FLAG_SOFT_FLOAT \
-+ | TARGET_ENDIAN_DEFAULT \
-+ | ARM_FLAG_VFP \
-+ | ARM_FLAG_MMU_TRAPS )
-+
-+#undef SUBTARGET_EXTRA_ASM_SPEC
-+#define SUBTARGET_EXTRA_ASM_SPEC "\
-+%{mhard-float:-mfpu=fpa} \
-+%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
-@@ -57,7 +71,7 @@
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mapcs-32", "mno-thumb-interwork" }
-
- #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
-
-@@ -72,7 +86,7 @@
- %{shared:-lc} \
- %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
-
- /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
- the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
-diff -urN gcc-3.4.1-old/gcc/config/arm/t-linux gcc-3.4.1/gcc/config/arm/t-linux
---- gcc-3.4.1-old/gcc/config/arm/t-linux 2003-09-20 16:09:07.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/t-linux 2004-09-02 21:51:15.000000000 -0500
-@@ -4,7 +4,10 @@
- LIBGCC2_DEBUG_CFLAGS = -g0
-
- LIB1ASMSRC = arm/lib1funcs.asm
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
-+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
-+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-+ _fixsfsi _fixunssfsi
-
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
-diff -urN gcc-3.4.1-old/gcc/config/arm/unknown-elf.h gcc-3.4.1/gcc/config/arm/unknown-elf.h
---- gcc-3.4.1-old/gcc/config/arm/unknown-elf.h 2004-02-24 08:25:22.000000000 -0600
-+++ gcc-3.4.1/gcc/config/arm/unknown-elf.h 2004-09-02 21:51:15.000000000 -0500
-@@ -30,7 +30,12 @@
-
- /* Default to using APCS-32 and software floating point. */
- #ifndef TARGET_DEFAULT
--#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
-+#define TARGET_DEFAULT \
-+ ( ARM_FLAG_SOFT_FLOAT \
-+ | ARM_FLAG_VFP \
-+ | ARM_FLAG_APCS_32 \
-+ | ARM_FLAG_APCS_FRAME \
-+ | ARM_FLAG_MMU_TRAPS )
- #endif
-
- /* Now we define the strings used to build the spec file. */
-diff -urN gcc-3.4.1-old/gcc/config/arm/xscale-elf.h gcc-3.4.1/gcc/config/arm/xscale-elf.h
---- gcc-3.4.1-old/gcc/config/arm/xscale-elf.h 2003-07-01 18:26:43.000000000 -0500
-+++ gcc-3.4.1/gcc/config/arm/xscale-elf.h 2004-09-02 21:51:15.000000000 -0500
-@@ -49,11 +49,12 @@
- endian, regardless of the endian-ness of the memory
- system. */
-
--#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
-- %{mhard-float:-mfpu=fpa} \
-- %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
-+#define SUBTARGET_EXTRA_ASM_SPEC "\
-+%{!mcpu=*:-mcpu=xscale} \
-+%{mhard-float:-mfpu=fpa} \
-+%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
-
- #ifndef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "mlittle-endian", "mno-thumb-interwork", "marm", "msoft-float" }
-+ { "mlittle-endian", "mno-thumb-interwork", "marm" }
- #endif
diff --git a/openwrt/toolchain/gcc/3.4.6/static-libgcc.patch.conditional b/openwrt/toolchain/gcc/3.4.6/static-libgcc.patch.conditional
deleted file mode 100644
index c8c1d84..0000000
--- a/openwrt/toolchain/gcc/3.4.6/static-libgcc.patch.conditional
+++ /dev/null
@@ -1,11 +0,0 @@
---- specs~ 2005-11-21 17:22:08.000000000 +0100
-+++ specs 2005-11-21 17:22:08.000000000 +0100
-@@ -51,7 +51,7 @@
- %{shared: -lc} %{!static:-rpath-link %R/lib:%R/usr/lib} %{!shared: %{pthread:-lpthread} %{profile:-lc_p} %{!profile: -lc}}
-
- *libgcc:
--%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --as-needed -lgcc_s%M --no-as-needed}%{shared-libgcc:-lgcc_s%M%{!shared: -lgcc}}}}
-+%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:%{shared-libgcc:-lgcc_s%M}%{!shared-libgcc:-lgcc}}}}
-
- *startfile:
- %{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}
diff --git a/openwrt/toolchain/gcc/4.0.2/100-uclibc-conf.patch b/openwrt/toolchain/gcc/4.0.2/100-uclibc-conf.patch
deleted file mode 100644
index 9436c7d..0000000
--- a/openwrt/toolchain/gcc/4.0.2/100-uclibc-conf.patch
+++ /dev/null
@@ -1,410 +0,0 @@
-diff -urN gcc-4.1.0/boehm-gc/configure gcc-4.1.0-patched/boehm-gc/configure
---- gcc-4.1.0/boehm-gc/configure 2005-04-13 19:31:24.000000000 -0500
-+++ gcc-4.1.0-patched/boehm-gc/configure 2005-04-25 20:47:19.919723167 -0500
-@@ -4320,6 +4320,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-diff -urN gcc-4.1.0/gcc/config/arm/linux-elf.h gcc-4.1.0-patched/gcc/config/arm/linux-elf.h
---- gcc-4.1.0/gcc/config/arm/linux-elf.h 2005-03-02 10:27:42.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/arm/linux-elf.h 2005-04-25 20:45:31.795953620 -0500
-@@ -82,6 +82,18 @@
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_SPEC "%{h*} %{version:-v} \
-+ %{b} %{Wl,*:%*} \
-+ %{static:-Bstatic} \
-+ %{shared:-shared} \
-+ %{symbolic:-Bsymbolic} \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
-+ -X \
-+ %{mbig-endian:-EB}" \
-+ SUBTARGET_EXTRA_LINK_SPEC
-+#else
- #define LINK_SPEC "%{h*} %{version:-v} \
- %{b} %{Wl,*:%*} \
- %{static:-Bstatic} \
-@@ -92,6 +104,7 @@
- -X \
- %{mbig-endian:-EB}" \
- SUBTARGET_EXTRA_LINK_SPEC
-+#endif
-
- #define TARGET_OS_CPP_BUILTINS() \
- do \
-diff -urN gcc-4.1.0/gcc/config/cris/linux.h gcc-4.1.0-patched/gcc/config/cris/linux.h
---- gcc-4.1.0/gcc/config/cris/linux.h 2005-04-23 23:01:27.000000000 -0500
-+++ gcc-4.1.0-patched/gcc/config/cris/linux.h 2005-04-25 20:45:31.796953451 -0500
-@@ -73,6 +73,25 @@
- #undef CRIS_DEFAULT_CPU_VERSION
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-
-+#ifdef USE_UCLIBC
-+
-+#undef CRIS_SUBTARGET_VERSION
-+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+
-+#undef CRIS_LINK_SUBTARGET_SPEC
-+#define CRIS_LINK_SUBTARGET_SPEC \
-+ "-mcrislinux\
-+ -rpath-link include/asm/../..%s\
-+ %{shared} %{static}\
-+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
-+ %{!shared: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
-+ %{!r:%{O2|O3: --gc-sections}}"
-+
-+#else /* USE_UCLIBC */
-+
- #undef CRIS_SUBTARGET_VERSION
- #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-
-@@ -87,6 +106,8 @@
- %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
- %{!r:%{O2|O3: --gc-sections}}"
-
-+#endif /* USE_UCLIBC */
-+
-
- /* Node: Run-time Target */
-
-diff -urN gcc-4.1.0/gcc/config/cris/t-linux-uclibc gcc-4.1.0-patched/gcc/config/cris/t-linux-uclibc
---- gcc-4.1.0/gcc/config/cris/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/cris/t-linux-uclibc 2005-04-25 20:45:31.797953283 -0500
-@@ -0,0 +1,3 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+TARGET_LIBGCC2_CFLAGS += -fPIC
-+CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
-diff -urN gcc-4.1.0/gcc/config/i386/linux.h gcc-4.1.0-patched/gcc/config/i386/linux.h
---- gcc-4.1.0/gcc/config/i386/linux.h 2004-11-27 10:45:14.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/i386/linux.h 2005-04-25 21:21:05.828409973 -0500
-@@ -104,8 +104,13 @@
-
- /* If ELF is the default format, we should not use /lib/elf. */
-
-+#if defined USE_UCLIBC
-+#define LINK_EMULATION "elf_i386"
-+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
- #define LINK_EMULATION "elf_i386"
- #define DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
-
- #undef SUBTARGET_EXTRA_SPECS
- #define SUBTARGET_EXTRA_SPECS \
-@@ -144,6 +149,7 @@
- } \
- } while (0)
- #endif
-+#endif
-
- /* Handle special EH pointer encodings. Absolute, pc-relative, and
- indirect are handled automatically. */
-diff -urN gcc-4.1.0/gcc/config/mips/linux.h gcc-4.1.0-patched/gcc/config/mips/linux.h
---- gcc-4.1.0/gcc/config/mips/linux.h 2005-01-25 20:04:46.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/mips/linux.h 2005-04-25 20:45:31.809951259 -0500
-@@ -108,6 +108,17 @@
-
- /* Borrowed from sparc/linux.h */
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_SPEC \
-+ "%(endian_spec) \
-+ %{shared:-shared} \
-+ %{!shared: \
-+ %{!ibcs: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}}}"
-+#else
- #define LINK_SPEC \
- "%(endian_spec) \
- %{shared:-shared} \
-@@ -117,6 +128,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
- %{static:-static}}}"
-+#endif
-
- #undef SUBTARGET_ASM_SPEC
- #define SUBTARGET_ASM_SPEC "%{mabi=64: -64} %{!mno-abicalls:-KPIC}"
-diff -urN gcc-4.1.0/gcc/config/rs6000/linux.h gcc-4.1.0-patched/gcc/config/rs6000/linux.h
---- gcc-4.1.0/gcc/config/rs6000/linux.h 2004-12-01 20:21:28.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/rs6000/linux.h 2005-04-25 20:45:31.810951091 -0500
-@@ -69,7 +69,11 @@
- #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
- #undef LINK_OS_DEFAULT_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
-+#else
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-+#endif
-
- #define LINK_GCC_C_SEQUENCE_SPEC \
- "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-diff -urN gcc-4.1.0/gcc/config/rs6000/sysv4.h gcc-4.1.0-patched/gcc/config/rs6000/sysv4.h
---- gcc-4.1.0/gcc/config/rs6000/sysv4.h 2005-04-13 19:26:50.000000000 -0500
-+++ gcc-4.1.0-patched/gcc/config/rs6000/sysv4.h 2005-04-25 20:45:31.812950754 -0500
-@@ -957,6 +957,7 @@
- mcall-linux : %(link_os_linux) ; \
- mcall-gnu : %(link_os_gnu) ; \
- mcall-netbsd : %(link_os_netbsd) ; \
-+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
- mcall-openbsd: %(link_os_openbsd) ; \
- : %(link_os_default) }"
-
-@@ -1135,6 +1136,10 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
- #endif
-@@ -1301,6 +1306,7 @@
- { "link_os_sim", LINK_OS_SIM_SPEC }, \
- { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
- { "link_os_linux", LINK_OS_LINUX_SPEC }, \
-+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
- { "link_os_gnu", LINK_OS_GNU_SPEC }, \
- { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
-diff -urN gcc-4.1.0/gcc/config/sh/linux.h gcc-4.1.0-patched/gcc/config/sh/linux.h
---- gcc-4.1.0/gcc/config/sh/linux.h 2005-02-28 21:39:03.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/sh/linux.h 2005-04-25 20:45:31.814950416 -0500
-@@ -55,12 +55,21 @@
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
- #undef SUBTARGET_LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define SUBTARGET_LINK_SPEC \
-+ "%{shared:-shared} \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}"
-+#else
- #define SUBTARGET_LINK_SPEC \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{static:-static}"
-+#endif
-
- /* Output assembler code to STREAM to call the profiler. */
-
-diff -urN gcc-4.1.0/gcc/config/sh/t-linux-uclibc gcc-4.1.0-patched/gcc/config/sh/t-linux-uclibc
---- gcc-4.1.0/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/sh/t-linux-uclibc 2005-04-25 20:45:31.814950416 -0500
-@@ -0,0 +1,13 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+
-+TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES
-+LIB1ASMFUNCS_CACHE = _ic_invalidate
-+
-+LIB2FUNCS_EXTRA=
-+
-+MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4
-+MULTILIB_DIRNAMES=
-+MULTILIB_MATCHES =
-+MULTILIB_EXCEPTIONS=
-+
-+EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
-diff -urN gcc-4.1.0/gcc/config/sh/t-sh64-uclibc gcc-4.1.0-patched/gcc/config/sh/t-sh64-uclibc
---- gcc-4.1.0/gcc/config/sh/t-sh64-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/sh/t-sh64-uclibc 2005-04-25 20:45:31.815950248 -0500
-@@ -0,0 +1,13 @@
-+EXTRA_MULTILIB_PARTS= crt1.o crti.o crtn.o crtbegin.o crtend.o
-+
-+LIB1ASMFUNCS = \
-+ _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
-+ _shcompact_call_trampoline _shcompact_return_trampoline \
-+ _shcompact_incoming_args _ic_invalidate _nested_trampoline \
-+ _push_pop_shmedia_regs \
-+ _udivdi3 _divdi3 _umoddi3 _moddi3
-+
-+MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu
-+MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64
-+MULTILIB_MATCHES=
-+MULTILIB_EXCEPTIONS=
-diff -urN gcc-4.1.0/gcc/config/t-linux-uclibc gcc-4.1.0-patched/gcc/config/t-linux-uclibc
---- gcc-4.1.0/gcc/config/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/gcc/config/t-linux-uclibc 2005-04-25 20:45:31.815950248 -0500
-@@ -0,0 +1,15 @@
-+T_CFLAGS = -DUSE_UCLIBC
-+
-+# Compile crtbeginS.o and crtendS.o with pic.
-+CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
-+# Compile libgcc2.a with pic.
-+TARGET_LIBGCC2_CFLAGS = -fPIC
-+
-+# Override t-slibgcc-elf-ver to export some libgcc symbols with
-+# the symbol versions that glibc used.
-+#SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
-+
-+# Use unwind-dw2-fde
-+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
-+ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
-+LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
-diff -urN gcc-4.1.0/gcc/config.gcc gcc-4.1.0-patched/gcc/config.gcc
---- gcc-4.1.0/gcc/config.gcc 2005-04-23 23:01:23.000000000 -0500
-+++ gcc-4.1.0-patched/gcc/config.gcc 2005-04-25 21:12:43.375594576 -0500
-@@ -448,7 +448,14 @@
- case ${enable_threads} in
- "" | yes | posix) thread_file='posix' ;;
- esac
-- tmake_file="t-slibgcc-elf-ver t-linux"
-+ case ${target} in
-+ *-linux*uclibc*)
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc"
-+ ;;
-+ *)
-+ tmake_file="t-slibgcc-elf-ver t-linux"
-+ ;;
-+ esac
- ;;
- *-*-gnu*)
- # On the Hurd, the setup is just about the same on
-@@ -667,6 +674,12 @@
- extra_parts=""
- use_collect2=yes
- ;;
-+arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
-+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
-+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-+ gnu_ld=yes
-+ ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
- tmake_file="${tmake_file} arm/t-arm arm/t-linux"
-@@ -765,6 +778,10 @@
- gas=yes
- extra_options="${extra_options} cris/elf.opt"
- ;;
-+cris-*-linux-uclibc*)
-+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
-+ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc"
-+ ;;
- cris-*-linux*)
- tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
- # We need to avoid using t-linux, so override default tmake_file
-@@ -1443,6 +1460,16 @@
- gnu_ld=yes
- gas=yes
- ;;
-+mips*-*-linux-uclibc*) # Linux MIPS, either endian. uClibc
-+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
-+ case ${target} in
-+ mipsisa32*-*)
-+ target_cpu_default="MASK_SOFT_FLOAT"
-+ tm_defines="MIPS_ISA_DEFAULT=32"
-+ ;;
-+ esac
-+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc"
-+ ;;
- mips*-*-linux*) # Linux MIPS, either endian.
- tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
- case ${target} in
-@@ -1659,6 +1686,10 @@
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
- tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
- ;;
-+powerpc-*-linux-uclibc*)
-+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
-+ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm"
-+ ;;
- powerpc-*-linux*)
- tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
- tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
-@@ -1821,6 +1852,8 @@
- esac
- tm_file="${tm_file} sh/elf.h"
- case ${target} in
-+ sh*-*-linux-uclibc*) tmake_file="${tmake_file} t-linux-uclibc sh/t-linux-uclibc"
-+ tm_file="${tm_file} linux.h sh/linux.h" ;;
- sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
- tm_file="${tm_file} linux.h sh/linux.h" ;;
- sh*-*-kaos*) tm_file="${tm_file} sh/embed-elf.h kaos.h sh/kaos-sh.h"
-@@ -1840,6 +1873,11 @@
- *-*-netbsd)
- tmake_file="${tmake_file} sh/t-netbsd"
- ;;
-+ sh64*-*-linux-uclibc*)
-+ tmake_file="${tmake_file} sh/t-sh64-uclibc"
-+ tm_file="${tm_file} sh/sh64.h"
-+ extra_headers="shmedia.h ushmedia.h sshmedia.h"
-+ ;;
- sh64*-*-linux*)
- tmake_file="${tmake_file} sh/t-sh64 sh/t-linux64"
- tm_file="${tm_file} sh/sh64.h"
-diff -urN gcc-4.1.0/libtool.m4 gcc-4.1.0-patched/libtool.m4
---- gcc-4.1.0/libtool.m4 2005-04-13 19:31:24.000000000 -0500
-+++ gcc-4.1.0-patched/libtool.m4 2005-04-25 20:47:51.679369687 -0500
-@@ -743,6 +743,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
-diff -urN gcc-4.1.0/ltconfig gcc-4.1.0-patched/ltconfig
---- gcc-4.1.0/ltconfig 2004-10-02 11:33:06.000000000 -0500
-+++ gcc-4.1.0-patched/ltconfig 2005-04-25 20:45:31.836946707 -0500
-@@ -602,6 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1273,6 +1274,24 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ # Note: copied from linux-gnu, and may not be appropriate.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
diff --git a/openwrt/toolchain/gcc/4.0.2/200-uclibc-locale.patch b/openwrt/toolchain/gcc/4.0.2/200-uclibc-locale.patch
deleted file mode 100644
index c57f173..0000000
--- a/openwrt/toolchain/gcc/4.0.2/200-uclibc-locale.patch
+++ /dev/null
@@ -1,3191 +0,0 @@
-diff -urN gcc-4.1.0/libstdc++-v3/acinclude.m4 gcc-4.1.0-patched/libstdc++-v3/acinclude.m4
---- gcc-4.1.0/libstdc++-v3/acinclude.m4 2005-04-11 19:13:06.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/acinclude.m4 2005-04-27 22:20:27.569248995 -0500
-@@ -1047,7 +1047,7 @@
- AC_MSG_CHECKING([for C locale to use])
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
-@@ -1063,6 +1063,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
-+ *-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1206,6 +1209,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2005-04-27 22:20:27.571248664 -0500
-@@ -0,0 +1,59 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#endif // GLIBC 2.3 and later
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c_locale.cc 2005-04-27 22:20:27.572248498 -0500
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L) strtof((S), (E))
-+#define __strtod_l(S, E, L) strtod((S), (E))
-+#define __strtold_l(S, E, L) strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c) NULL
-+#define __freelocale(a) ((void)0)
-+#define __duplocale(a) __c_locale()
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale __old)
-+ {
-+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ if (!__cloc)
-+ {
-+ // This named locale is not supported by the underlying OS.
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ }
-+#endif
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ {
-+ if (_S_get_c_locale() != __cloc)
-+ __freelocale(__cloc);
-+ }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+ { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES",
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+ "LC_PAPER",
-+ "LC_NAME",
-+ "LC_ADDRESS",
-+ "LC_TELEPHONE",
-+ "LC_MEASUREMENT",
-+ "LC_IDENTIFICATION"
-+#endif
-+ };
-+}
-+
-+namespace std
-+{
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+} // namespace std
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c_locale.h 2005-04-27 22:20:27.573248332 -0500
-@@ -0,0 +1,115 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring> // get std::strlen
-+#include <cstdio> // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h> // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h> // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h> // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+ extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ typedef __locale_t __c_locale;
-+#else
-+ typedef int* __c_locale;
-+#endif
-+
-+ // Convert numeric value of type _Tv to string and return length of
-+ // string. If snprintf is available use it, otherwise fall back to
-+ // the unsafe sprintf which, in general, can be dangerous and should
-+ // be avoided.
-+ template<typename _Tv>
-+ int
-+ __convert_from_v(char* __out, const int __size, const char* __fmt,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ _Tv __v, const __c_locale& __cloc, int __prec)
-+ {
-+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+ _Tv __v, const __c_locale&, int __prec)
-+ {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+ char* __old = std::setlocale(LC_ALL, NULL);
-+ char* __sav = new char[std::strlen(__old) + 1];
-+ std::strcpy(__sav, __old);
-+ std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ std::setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+#endif
-+ return __ret;
-+ }
-+}
-+
-+#endif
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2005-04-27 22:20:27.574248167 -0500
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+ // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_out(state_type& __state, const intern_type* __from,
-+ const intern_type* __from_end, const intern_type*& __from_next,
-+ extern_type* __to, extern_type* __to_end,
-+ extern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+ // in case we fall back to wcrtomb and then continue, in a loop.
-+ // NB: wcsnrtombs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+ __from_end - __from_next);
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // wcrtomb.
-+ for (; __from < __from_next; ++__from)
-+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ extern_type __buf[MB_LEN_MAX];
-+ __tmp_state = __state;
-+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+ if (__conv > static_cast<size_t>(__to_end - __to_next))
-+ __ret = partial;
-+ else
-+ {
-+ memcpy(__to_next, __buf, __conv);
-+ __state = __tmp_state;
-+ __to_next += __conv;
-+ ++__from_next;
-+ }
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_in(state_type& __state, const extern_type* __from,
-+ const extern_type* __from_end, const extern_type*& __from_next,
-+ intern_type* __to, intern_type* __to_end,
-+ intern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we store a L'\0' and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+ __from_end
-+ - __from_next));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (;; ++__to_next, __from += __conv)
-+ {
-+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __from_next = __from;
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ // It is unclear what to return in this case (see DR 382).
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ if (__to_next < __to_end)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from_next;
-+ *__to_next++ = L'\0';
-+ }
-+ else
-+ __ret = partial;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_encoding() const throw()
-+ {
-+ // XXX This implementation assumes that the encoding is
-+ // stateless and is either single-byte or variable-width.
-+ int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ if (MB_CUR_MAX == 1)
-+ __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_max_length() const throw()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ // XXX Probably wrong for stateful encodings.
-+ int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_length(state_type& __state, const extern_type* __from,
-+ const extern_type* __end, size_t __max) const
-+ {
-+ int __ret = 0;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we advance past it and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+
-+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+ // its fourth parameter (it wouldn't with NULL as first parameter).
-+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
-+ * __max));
-+ while (__from < __end && __max)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+ __end
-+ - __from));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __end;
-+
-+ const extern_type* __tmp_from = __from;
-+ size_t __conv = mbsnrtowcs(__to, &__from,
-+ __from_chunk_end - __from,
-+ __max, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (__from = __tmp_from;; __from += __conv)
-+ {
-+ __conv = mbrtowc(NULL, __from, __end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __state = __tmp_state;
-+ __ret += __from - __tmp_from;
-+ break;
-+ }
-+ if (!__from)
-+ __from = __from_chunk_end;
-+
-+ __ret += __from - __tmp_from;
-+ __max -= __conv;
-+
-+ if (__from < __end && __max)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from;
-+ ++__ret;
-+ --__max;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/collate_members.cc 2005-04-27 22:20:27.575248001 -0500
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+ // These are basically extensions to char_traits, and perhaps should
-+ // be put there instead of here.
-+ template<>
-+ int
-+ collate<char>::_M_compare(const char* __one, const char* __two) const
-+ {
-+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<char>::_M_transform(char* __to, const char* __from,
-+ size_t __n) const
-+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ int
-+ collate<wchar_t>::_M_compare(const wchar_t* __one,
-+ const wchar_t* __two) const
-+ {
-+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+ size_t __n) const
-+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2005-04-27 22:20:27.595244687 -0500
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L) wctype((S))
-+#define __towupper_l(C, L) towupper((C))
-+#define __towlower_l(C, L) towlower((C))
-+#define __iswctype_l(C, M, L) iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+ template<>
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+ {
-+ __wmask_type __ret;
-+ switch (__m)
-+ {
-+ case space:
-+ __ret = __wctype_l("space", _M_c_locale_ctype);
-+ break;
-+ case print:
-+ __ret = __wctype_l("print", _M_c_locale_ctype);
-+ break;
-+ case cntrl:
-+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+ break;
-+ case upper:
-+ __ret = __wctype_l("upper", _M_c_locale_ctype);
-+ break;
-+ case lower:
-+ __ret = __wctype_l("lower", _M_c_locale_ctype);
-+ break;
-+ case alpha:
-+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+ break;
-+ case digit:
-+ __ret = __wctype_l("digit", _M_c_locale_ctype);
-+ break;
-+ case punct:
-+ __ret = __wctype_l("punct", _M_c_locale_ctype);
-+ break;
-+ case xdigit:
-+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+ break;
-+ case alnum:
-+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+ break;
-+ case graph:
-+ __ret = __wctype_l("graph", _M_c_locale_ctype);
-+ break;
-+ default:
-+ __ret = 0;
-+ }
-+ return __ret;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return __towlower_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ bool __ret = false;
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur]
-+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ return __ret;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ mask __m = 0;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ __m |= _M_bit[__bitcur];
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !this->do_is(__m, *__lo))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __j = 0;
-+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+ _M_widen[__j] = btowc(__j);
-+
-+ for (size_t __k = 0; __k <= 11; ++__k)
-+ {
-+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/messages_members.cc 2005-04-27 22:20:27.618240876 -0500
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+ // Specializations.
-+ template<>
-+ string
-+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+ __uselocale(__old);
-+ return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ const char* __msg = gettext(__dfault.c_str());
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return string(__msg);
-+#else
-+ const char* __msg = gettext(__dfault.c_str());
-+ return string(__msg);
-+#endif
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ wstring
-+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+ {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ __uselocale(__old);
-+ return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return _M_convert_from_char(__msg);
-+# else
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ return _M_convert_from_char(__msg);
-+# endif
-+ }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/messages_members.h 2005-04-27 22:20:27.619240710 -0500
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D) ((void)0)
-+#define __bindtextdomain(D,P) ((void)0)
-+#endif
-+
-+ // Non-virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::messages(size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-+ _M_name_messages(_S_get_c_name())
-+ { }
-+
-+ template<typename _CharT>
-+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+ _M_name_messages(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_messages = __tmp;
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
-+ const char* __dir) const
-+ {
-+ __bindtextdomain(__s.c_str(), __dir);
-+ return this->do_open(__s, __loc);
-+ }
-+
-+ // Virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::~messages()
-+ {
-+ if (_M_name_messages != _S_get_c_name())
-+ delete [] _M_name_messages;
-+ _S_destroy_c_locale(_M_c_locale_messages);
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::do_open(const basic_string<char>& __s,
-+ const locale&) const
-+ {
-+ // No error checking is done, assume the catalog exists and can
-+ // be used.
-+ __textdomain(__s.c_str());
-+ return 0;
-+ }
-+
-+ template<typename _CharT>
-+ void
-+ messages<_CharT>::do_close(catalog) const
-+ { }
-+
-+ // messages_byname
-+ template<typename _CharT>
-+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+ : messages<_CharT>(__refs)
-+ {
-+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+ delete [] this->_M_name_messages;
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ this->_M_name_messages = __tmp;
-+
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
-+ }
-+ }
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2005-04-27 22:20:27.621240379 -0500
-@@ -0,0 +1,698 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ // Construct and return valid pattern consisting of some combination of:
-+ // space none symbol sign value
-+ money_base::pattern
-+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+ {
-+ pattern __ret;
-+
-+ // This insanely complicated routine attempts to construct a valid
-+ // pattern for use with monyepunct. A couple of invariants:
-+
-+ // if (__precedes) symbol -> value
-+ // else value -> symbol
-+
-+ // if (__space) space
-+ // else none
-+
-+ // none == never first
-+ // space never first or last
-+
-+ // Any elegant implementations of this are welcome.
-+ switch (__posn)
-+ {
-+ case 0:
-+ case 1:
-+ // 1 The sign precedes the value and symbol.
-+ __ret.field[0] = sign;
-+ if (__space)
-+ {
-+ // Pattern starts with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[3] = symbol;
-+ }
-+ __ret.field[2] = space;
-+ }
-+ else
-+ {
-+ // Pattern starts with sign and ends with none.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 2:
-+ // 2 The sign follows the value and symbol.
-+ if (__space)
-+ {
-+ // Pattern either ends with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[1] = space;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ // Pattern ends with sign then none.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[1] = symbol;
-+ }
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 3:
-+ // 3 The sign immediately precedes the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = sign;
-+ __ret.field[1] = symbol;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = symbol;
-+ }
-+ else
-+ {
-+ __ret.field[1] = sign;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ case 4:
-+ // 4 The sign immediately follows the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = sign;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ default:
-+ ;
-+ }
-+ return __ret;
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == false
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<char, true>::~moneypunct()
-+ { delete _M_data; }
-+
-+ template<>
-+ moneypunct<char, false>::~moneypunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
-+ _M_data->_M_atoms[__i] = btowc(uc);
-+ }
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len;
-+ __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, true>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, false>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2005-04-27 22:20:27.623240047 -0500
-@@ -0,0 +1,183 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
-+ __cloc));
-+
-+ // Check for NULL, which implies no grouping.
-+ if (_M_data->_M_thousands_sep == '\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = "true";
-+ _M_data->_M_truename_size = strlen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = "false";
-+ _M_data->_M_falsename_size = strlen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<char>::~numpunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<wchar_t>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_S_get_c_locale());
-+#endif
-+ // Use ctype::widen code without the facet...
-+ unsigned char uc;
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_out[__i]);
-+ _M_data->_M_atoms_out[__i] = btowc(uc);
-+ }
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ {
-+ uc = static_cast<unsigned char>(__num_base::_S_atoms_in[__j]);
-+ _M_data->_M_atoms_in[__j] = btowc(uc);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union __s_and_w { const char *__s; unsigned int __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
-+
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
-+#endif
-+
-+ if (_M_data->_M_thousands_sep == L'\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = L"true";
-+ _M_data->_M_truename_size = wcslen(_M_data->_M_truename);
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = L"false";
-+ _M_data->_M_falsename_size = wcslen(_M_data->_M_falsename);
-+ }
-+
-+ template<>
-+ numpunct<wchar_t>::~numpunct()
-+ { delete _M_data; }
-+ #endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/time_members.cc 2005-04-27 22:20:27.624239882 -0500
-@@ -0,0 +1,356 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __timepunct<char>::
-+ _M_put(char* __s, size_t __maxlen, const char* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = '\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = "%m/%d/%y";
-+ _M_data->_M_date_era_format = "%m/%d/%y";
-+ _M_data->_M_time_format = "%H:%M:%S";
-+ _M_data->_M_time_era_format = "%H:%M:%S";
-+ _M_data->_M_date_time_format = "";
-+ _M_data->_M_date_time_era_format = "";
-+ _M_data->_M_am = "AM";
-+ _M_data->_M_pm = "PM";
-+ _M_data->_M_am_pm_format = "";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = "Sunday";
-+ _M_data->_M_day2 = "Monday";
-+ _M_data->_M_day3 = "Tuesday";
-+ _M_data->_M_day4 = "Wednesday";
-+ _M_data->_M_day5 = "Thursday";
-+ _M_data->_M_day6 = "Friday";
-+ _M_data->_M_day7 = "Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = "Sun";
-+ _M_data->_M_aday2 = "Mon";
-+ _M_data->_M_aday3 = "Tue";
-+ _M_data->_M_aday4 = "Wed";
-+ _M_data->_M_aday5 = "Thu";
-+ _M_data->_M_aday6 = "Fri";
-+ _M_data->_M_aday7 = "Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = "January";
-+ _M_data->_M_month02 = "February";
-+ _M_data->_M_month03 = "March";
-+ _M_data->_M_month04 = "April";
-+ _M_data->_M_month05 = "May";
-+ _M_data->_M_month06 = "June";
-+ _M_data->_M_month07 = "July";
-+ _M_data->_M_month08 = "August";
-+ _M_data->_M_month09 = "September";
-+ _M_data->_M_month10 = "October";
-+ _M_data->_M_month11 = "November";
-+ _M_data->_M_month12 = "December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = "Jan";
-+ _M_data->_M_amonth02 = "Feb";
-+ _M_data->_M_amonth03 = "Mar";
-+ _M_data->_M_amonth04 = "Apr";
-+ _M_data->_M_amonth05 = "May";
-+ _M_data->_M_amonth06 = "Jun";
-+ _M_data->_M_amonth07 = "Jul";
-+ _M_data->_M_amonth08 = "Aug";
-+ _M_data->_M_amonth09 = "Sep";
-+ _M_data->_M_amonth10 = "Oct";
-+ _M_data->_M_amonth11 = "Nov";
-+ _M_data->_M_amonth12 = "Dec";
-+ }
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
-+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ __timepunct<wchar_t>::
-+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = L'\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+// if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = L"%m/%d/%y";
-+ _M_data->_M_date_era_format = L"%m/%d/%y";
-+ _M_data->_M_time_format = L"%H:%M:%S";
-+ _M_data->_M_time_era_format = L"%H:%M:%S";
-+ _M_data->_M_date_time_format = L"";
-+ _M_data->_M_date_time_era_format = L"";
-+ _M_data->_M_am = L"AM";
-+ _M_data->_M_pm = L"PM";
-+ _M_data->_M_am_pm_format = L"";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = L"Sunday";
-+ _M_data->_M_day2 = L"Monday";
-+ _M_data->_M_day3 = L"Tuesday";
-+ _M_data->_M_day4 = L"Wednesday";
-+ _M_data->_M_day5 = L"Thursday";
-+ _M_data->_M_day6 = L"Friday";
-+ _M_data->_M_day7 = L"Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = L"Sun";
-+ _M_data->_M_aday2 = L"Mon";
-+ _M_data->_M_aday3 = L"Tue";
-+ _M_data->_M_aday4 = L"Wed";
-+ _M_data->_M_aday5 = L"Thu";
-+ _M_data->_M_aday6 = L"Fri";
-+ _M_data->_M_aday7 = L"Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = L"January";
-+ _M_data->_M_month02 = L"February";
-+ _M_data->_M_month03 = L"March";
-+ _M_data->_M_month04 = L"April";
-+ _M_data->_M_month05 = L"May";
-+ _M_data->_M_month06 = L"June";
-+ _M_data->_M_month07 = L"July";
-+ _M_data->_M_month08 = L"August";
-+ _M_data->_M_month09 = L"September";
-+ _M_data->_M_month10 = L"October";
-+ _M_data->_M_month11 = L"November";
-+ _M_data->_M_month12 = L"December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = L"Jan";
-+ _M_data->_M_amonth02 = L"Feb";
-+ _M_data->_M_amonth03 = L"Mar";
-+ _M_data->_M_amonth04 = L"Apr";
-+ _M_data->_M_amonth05 = L"May";
-+ _M_data->_M_amonth06 = L"Jun";
-+ _M_data->_M_amonth07 = L"Jul";
-+ _M_data->_M_amonth08 = L"Aug";
-+ _M_data->_M_amonth09 = L"Sep";
-+ _M_data->_M_amonth10 = L"Oct";
-+ _M_data->_M_amonth11 = L"Nov";
-+ _M_data->_M_amonth12 = L"Dec";
-+ }
-+#if 0
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
-+ _M_data->_M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
-+ _M_data->_M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
-+ _M_data->_M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
-+ _M_data->_M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
-+ _M_data->_M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
-+ _M_data->_M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
-+ _M_data->_M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
-+ _M_data->_M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
-+ _M_data->_M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
-+ _M_data->_M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
-+ _M_data->_M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
-+ _M_data->_M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
-+ _M_data->_M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
-+ _M_data->_M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
-+ _M_data->_M_aday2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
-+ _M_data->_M_aday3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
-+ _M_data->_M_aday4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
-+ _M_data->_M_aday5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
-+ _M_data->_M_aday6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
-+ _M_data->_M_aday7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
-+ _M_data->_M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
-+ _M_data->_M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
-+ _M_data->_M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
-+ _M_data->_M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
-+ _M_data->_M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
-+ _M_data->_M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
-+ _M_data->_M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
-+ _M_data->_M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
-+ _M_data->_M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
-+ _M_data->_M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
-+ _M_data->_M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
-+ _M_data->_M_amonth02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
-+ _M_data->_M_amonth03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
-+ _M_data->_M_amonth04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
-+ _M_data->_M_amonth05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
-+ _M_data->_M_amonth06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
-+ _M_data->_M_amonth07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
-+ _M_data->_M_amonth08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
-+ _M_data->_M_amonth09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
-+ _M_data->_M_amonth10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
-+ _M_data->_M_amonth11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
-+ _M_data->_M_amonth12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
-+ }
-+#endif // 0
-+ }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/time_members.h 2005-04-27 22:20:27.625239716 -0500
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
-+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_timepunct = __tmp;
-+ _M_initialize_timepunct(__cloc);
-+ }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::~__timepunct()
-+ {
-+ if (_M_name_timepunct != _S_get_c_name())
-+ delete [] _M_name_timepunct;
-+ delete _M_data;
-+ _S_destroy_c_locale(_M_c_locale_timepunct);
-+ }
-diff -urN gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_base.h
---- gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_base.h 2005-04-27 22:20:27.626239550 -0500
-@@ -0,0 +1,58 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ struct ctype_base
-+ {
-+ // Note: In uClibc, the following two types depend on configuration.
-+
-+ // Non-standard typedefs.
-+ typedef const __ctype_touplow_t* __to_type;
-+
-+ // NB: Offsets into ctype<char>::_M_table force a particular size
-+ // on the mask type. Because of this, we don't use an enum.
-+ typedef __ctype_mask_t mask;
-+ static const mask upper = _ISupper;
-+ static const mask lower = _ISlower;
-+ static const mask alpha = _ISalpha;
-+ static const mask digit = _ISdigit;
-+ static const mask xdigit = _ISxdigit;
-+ static const mask space = _ISspace;
-+ static const mask print = _ISprint;
-+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
-+ static const mask cntrl = _IScntrl;
-+ static const mask punct = _ISpunct;
-+ static const mask alnum = _ISalpha | _ISdigit;
-+ };
-diff -urN gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_inline.h
---- gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_inline.h 2005-04-27 22:20:27.626239550 -0500
-@@ -0,0 +1,69 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+
-+ bool
-+ ctype<char>::
-+ is(mask __m, char __c) const
-+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-+
-+ const char*
-+ ctype<char>::
-+ is(const char* __low, const char* __high, mask* __vec) const
-+ {
-+ while (__low < __high)
-+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-+ return __high;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_is(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-+ ++__low;
-+ return __low;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_not(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-+ ++__low;
-+ return __low;
-+ }
-diff -urN gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_noninline.h
---- gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2005-04-27 22:20:27.627239385 -0500
-@@ -0,0 +1,92 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ { return __C_ctype_b; }
-+
-+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ char
-+ ctype<char>::do_toupper(char __c) const
-+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_toupper(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-+
-+ char
-+ ctype<char>::do_tolower(char __c) const
-+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_tolower(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-diff -urN gcc-4.1.0/libstdc++-v3/config/os/uclibc/os_defines.h gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/os_defines.h
---- gcc-4.1.0/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/os_defines.h 2005-04-27 22:20:27.628239219 -0500
-@@ -0,0 +1,44 @@
-+// Specific definitions for GNU/Linux -*- C++ -*-
-+
-+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here. This
-+// file will come before all others.
-+
-+// This keeps isanum, et al from being propagated as macros.
-+#define __NO_CTYPE 1
-+
-+#include <features.h>
-+
-+// We must not see the optimized string functions GNU libc defines.
-+#define __NO_STRING_INLINES
-+
-+#endif
-diff -urN gcc-4.1.0/libstdc++-v3/configure gcc-4.1.0-patched/libstdc++-v3/configure
---- gcc-4.1.0/libstdc++-v3/configure 2005-04-13 19:31:43.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/configure 2005-04-27 22:20:33.285301695 -0500
-@@ -3986,6 +3986,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5744,6 +5749,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
-+ linux-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
-@@ -5974,6 +5982,77 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$check_msgfmt"; then
-+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_check_msgfmt="yes"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+
-+
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-4.1.0/libstdc++-v3/configure.host gcc-4.1.0-patched/libstdc++-v3/configure.host
---- gcc-4.1.0/libstdc++-v3/configure.host 2005-01-13 16:48:14.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/configure.host 2005-04-27 22:20:28.088162997 -0500
-@@ -249,6 +249,12 @@
- ;;
- esac
-
-+# Override for uClibc since linux-uclibc gets mishandled above.
-+case "${host_os}" in
-+ *-uclibc*)
-+ os_include_dir="os/uclibc"
-+ ;;
-+esac
-
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
-diff -urN gcc-4.1.0/libstdc++-v3/crossconfig.m4 gcc-4.1.0-patched/libstdc++-v3/crossconfig.m4
---- gcc-4.1.0/libstdc++-v3/crossconfig.m4 2005-04-06 18:31:16.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/crossconfig.m4 2005-04-27 22:20:28.089162832 -0500
-@@ -143,6 +143,99 @@
- ;;
- esac
- ;;
-+ *-uclibc*)
-+# Temporary hack until we implement the float versions of the libm funcs
-+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
-+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
-+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
-+ AC_SUBST(SECTION_FLAGS)
-+ GLIBCXX_CHECK_LINKER_FEATURES
-+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
-+
-+ # For LFS.
-+ AC_DEFINE(HAVE_INT64_T)
-+ case "$target" in
-+ *-uclinux*)
-+ # Don't enable LFS with uClinux
-+ ;;
-+ *)
-+ AC_DEFINE(_GLIBCXX_USE_LFS)
-+ esac
-+
-+ # For showmanyc_helper().
-+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
-+ GLIBCXX_CHECK_POLL
-+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-+
-+ # For xsputn_2().
-+ AC_CHECK_HEADERS(sys/uio.h)
-+ GLIBCXX_CHECK_WRITEV
-+
-+# AC_DEFINE(HAVE_ACOSF)
-+# AC_DEFINE(HAVE_ASINF)
-+# AC_DEFINE(HAVE_ATANF)
-+# AC_DEFINE(HAVE_ATAN2F)
-+ AC_DEFINE(HAVE_CEILF)
-+ AC_DEFINE(HAVE_COPYSIGN)
-+# AC_DEFINE(HAVE_COPYSIGNF)
-+# AC_DEFINE(HAVE_COSF)
-+# AC_DEFINE(HAVE_COSHF)
-+# AC_DEFINE(HAVE_EXPF)
-+# AC_DEFINE(HAVE_FABSF)
-+ AC_DEFINE(HAVE_FINITE)
-+ AC_DEFINE(HAVE_FINITEF)
-+ AC_DEFINE(HAVE_FLOORF)
-+# AC_DEFINE(HAVE_FMODF)
-+# AC_DEFINE(HAVE_FREXPF)
-+ AC_DEFINE(HAVE_HYPOT)
-+# AC_DEFINE(HAVE_HYPOTF)
-+ AC_DEFINE(HAVE_ISINF)
-+ AC_DEFINE(HAVE_ISINFF)
-+ AC_DEFINE(HAVE_ISNAN)
-+ AC_DEFINE(HAVE_ISNANF)
-+# AC_DEFINE(HAVE_LOGF)
-+# AC_DEFINE(HAVE_LOG10F)
-+# AC_DEFINE(HAVE_MODFF)
-+# AC_DEFINE(HAVE_SINF)
-+# AC_DEFINE(HAVE_SINHF)
-+# AC_DEFINE(HAVE_SINCOS)
-+# AC_DEFINE(HAVE_SINCOSF)
-+ AC_DEFINE(HAVE_SQRTF)
-+# AC_DEFINE(HAVE_TANF)
-+# AC_DEFINE(HAVE_TANHF)
-+ if test x"long_double_math_on_this_cpu" = x"yes"; then
-+ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
-+# AC_DEFINE(HAVE_ACOSL)
-+# AC_DEFINE(HAVE_ASINL)
-+# AC_DEFINE(HAVE_ATANL)
-+# AC_DEFINE(HAVE_ATAN2L)
-+# AC_DEFINE(HAVE_CEILL)
-+# AC_DEFINE(HAVE_COPYSIGNL)
-+# AC_DEFINE(HAVE_COSL)
-+# AC_DEFINE(HAVE_COSHL)
-+# AC_DEFINE(HAVE_EXPL)
-+# AC_DEFINE(HAVE_FABSL)
-+# AC_DEFINE(HAVE_FINITEL)
-+# AC_DEFINE(HAVE_FLOORL)
-+# AC_DEFINE(HAVE_FMODL)
-+# AC_DEFINE(HAVE_FREXPL)
-+# AC_DEFINE(HAVE_HYPOTL)
-+# AC_DEFINE(HAVE_ISINFL)
-+# AC_DEFINE(HAVE_ISNANL)
-+# AC_DEFINE(HAVE_LOGL)
-+# AC_DEFINE(HAVE_LOG10L)
-+# AC_DEFINE(HAVE_MODFL)
-+# AC_DEFINE(HAVE_POWL)
-+# AC_DEFINE(HAVE_SINL)
-+# AC_DEFINE(HAVE_SINHL)
-+# AC_DEFINE(HAVE_SINCOSL)
-+# AC_DEFINE(HAVE_SQRTL)
-+# AC_DEFINE(HAVE_TANL)
-+# AC_DEFINE(HAVE_TANHL)
-+ fi
-+ ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -157,7 +250,7 @@
- AC_DEFINE(HAVE_INT64_T)
- case "$target" in
- *-uclinux*)
-- # Don't enable LFS with uClibc
-+ # Don't enable LFS with uClinux
- ;;
- *)
- AC_DEFINE(_GLIBCXX_USE_LFS)
-diff -urN gcc-4.1.0/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.1.0-patched/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-4.1.0/libstdc++-v3/include/c_compatibility/wchar.h 2003-12-08 21:51:45.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-27 22:20:28.089162832 -0500
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
-
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -urN gcc-4.1.0/libstdc++-v3/include/c_std/std_cwchar.h gcc-4.1.0-patched/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-4.1.0/libstdc++-v3/include/c_std/std_cwchar.h 2004-07-20 03:47:42.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/include/c_std/std_cwchar.h 2005-04-27 22:20:28.090162666 -0500
-@@ -179,7 +179,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
diff --git a/openwrt/toolchain/gcc/4.0.3/100-uclibc-conf.patch b/openwrt/toolchain/gcc/4.0.3/100-uclibc-conf.patch
deleted file mode 100644
index 3be7d09..0000000
--- a/openwrt/toolchain/gcc/4.0.3/100-uclibc-conf.patch
+++ /dev/null
@@ -1,553 +0,0 @@
---- gcc-4.0.2/gcc/config/t-linux-uclibc
-+++ gcc-4.0.2/gcc/config/t-linux-uclibc
-@@ -0,0 +1,5 @@
-+# Remove glibc specific files added in t-linux
-+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
-+
-+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
-+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
---- gcc-4.0.2/gcc/config.gcc
-+++ gcc-4.0.2/gcc/config.gcc
-@@ -1778,7 +1778,7 @@
- ;;
- sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
- sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
-- sh-*-linux* | sh[346lbe]*-*-linux* | \
-+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
- sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
- sh64-*-netbsd* | sh64l*-*-netbsd*)
- tmake_file="${tmake_file} sh/t-sh sh/t-elf"
-@@ -2234,10 +2234,16 @@
- *)
- echo "*** Configuration ${target} not supported" 1>&2
- exit 1
- ;;
- esac
-+
-+# Rather than hook into each target, just do it after all the linux
-+# targets have been processed
-+case ${target} in
-+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
-+esac
-
- case ${target} in
- i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
- tmake_file="${tmake_file} i386/t-gmm_malloc"
- ;;
---- gcc-4.0.2/gcc/config/alpha/linux-elf.h
-+++ gcc-4.0.2/gcc/config/alpha/linux-elf.h
-@@ -27,7 +27,11 @@
- #define SUBTARGET_EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
- #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
-
- #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
- %{O*:-O3} %{!O*:-O1} \
---- gcc-4.0.2/gcc/config/arm/linux-elf.h
-+++ gcc-4.0.2/gcc/config/arm/linux-elf.h
-@@ -81,14 +81,19 @@
- #define ENDFILE_SPEC \
- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "%{h*} %{version:-v} \
- %{b} %{Wl,*:%*} \
- %{static:-Bstatic} \
- %{shared:-shared} \
- %{symbolic:-Bsymbolic} \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "} \
- -X \
- %{mbig-endian:-EB}" \
- SUBTARGET_EXTRA_LINK_SPEC
---- gcc-4.0.2/gcc/config/cris/linux.h
-+++ gcc-4.0.2/gcc/config/cris/linux.h
-@@ -79,6 +79,25 @@
- #undef CRIS_DEFAULT_CPU_VERSION
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-
-+#ifdef USE_UCLIBC
-+
-+#undef CRIS_SUBTARGET_VERSION
-+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+
-+#undef CRIS_LINK_SUBTARGET_SPEC
-+#define CRIS_LINK_SUBTARGET_SPEC \
-+ "-mcrislinux\
-+ -rpath-link include/asm/../..%s\
-+ %{shared} %{static}\
-+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
-+ %{!shared: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
-+ %{!r:%{O2|O3: --gc-sections}}"
-+
-+#else /* USE_UCLIBC */
-+
- #undef CRIS_SUBTARGET_VERSION
- #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-
-@@ -93,6 +112,8 @@
- %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
- %{!r:%{O2|O3: --gc-sections}}"
-
-+#endif /* USE_UCLIBC */
-+
-
- /* Node: Run-time Target */
-
---- gcc-4.0.2/gcc/config/i386/linux.h
-+++ gcc-4.0.2/gcc/config/i386/linux.h
-@@ -107,6 +107,11 @@
- #define LINK_EMULATION "elf_i386"
- #define DYNAMIC_LINKER "/lib/ld-linux.so.2"
-
-+#ifdef USE_UCLIBC
-+#undef DYNAMIC_LINKER
-+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#endif
-+
- #undef SUBTARGET_EXTRA_SPECS
- #define SUBTARGET_EXTRA_SPECS \
- { "link_emulation", LINK_EMULATION },\
---- gcc-4.0.2/gcc/config/i386/linux64.h
-+++ gcc-4.0.2/gcc/config/i386/linux64.h
-@@ -54,14 +54,21 @@
- When the -shared link option is used a final link is not being
- done. */
-
-+#ifdef USE_UCLIBC
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
-+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
-+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
- %{static:-static}}"
-
- #define MULTILIB_DEFAULTS { "m64" }
---- gcc-4.0.2/gcc/config/ia64/linux.h
-+++ gcc-4.0.2/gcc/config/ia64/linux.h
-@@ -37,13 +37,18 @@
- /* Define this for shared library support because it isn't in the main
- linux.h file. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}"
-
-
---- gcc-4.0.2/gcc/config/m68k/linux.h
-+++ gcc-4.0.2/gcc/config/m68k/linux.h
-@@ -127,12 +127,17 @@
-
- /* If ELF is the default format, we should not use /lib/elf. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "-m m68kelf %{shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static}}"
-
- /* For compatibility with linux/a.out */
---- gcc-4.0.2/gcc/config/mips/linux.h
-+++ gcc-4.0.2/gcc/config/mips/linux.h
-@@ -108,14 +108,19 @@
-
- /* Borrowed from sparc/linux.h */
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #define LINK_SPEC \
- "%(endian_spec) \
- %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
-
- #undef SUBTARGET_ASM_SPEC
---- gcc-4.0.2/gcc/config/pa/pa-linux.h
-+++ gcc-4.0.2/gcc/config/pa/pa-linux.h
-@@ -82,13 +82,18 @@
- /* Define this for shared library support because it isn't in the main
- linux.h file. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}"
-
- /* glibc's profiling functions don't need gcc to allocate counters. */
---- gcc-4.0.2/gcc/config/rs6000/linux.h
-+++ gcc-4.0.2/gcc/config/rs6000/linux.h
-@@ -69,7 +69,11 @@
- #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
- #undef LINK_OS_DEFAULT_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
-+#else
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-+#endif
-
- #define LINK_GCC_C_SEQUENCE_SPEC \
- "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
---- gcc-4.0.2/gcc/config/rs6000/sysv4.h
-+++ gcc-4.0.2/gcc/config/rs6000/sysv4.h
-@@ -949,6 +949,7 @@
- mcall-linux : %(link_os_linux) ; \
- mcall-gnu : %(link_os_gnu) ; \
- mcall-netbsd : %(link_os_netbsd) ; \
-+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
- mcall-openbsd: %(link_os_openbsd) ; \
- : %(link_os_default) }"
-
-@@ -1127,6 +1128,10 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
- #endif
-@@ -1293,6 +1298,7 @@
- { "link_os_sim", LINK_OS_SIM_SPEC }, \
- { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
- { "link_os_linux", LINK_OS_LINUX_SPEC }, \
-+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
- { "link_os_gnu", LINK_OS_GNU_SPEC }, \
- { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
---- gcc-4.0.2/gcc/config/s390/linux.h
-+++ gcc-4.0.2/gcc/config/s390/linux.h
-@@ -77,6 +77,13 @@
- #define MULTILIB_DEFAULTS { "m31" }
- #endif
-
-+#ifdef USE_UCLIBC
-+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
-@@ -86,8 +93,8 @@
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker: \
-- %{m31:-dynamic-linker /lib/ld.so.1} \
-- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
-+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
-
-
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
---- gcc-4.0.2/gcc/config/sh/linux.h
-+++ gcc-4.0.2/gcc/config/sh/linux.h
-@@ -67,11 +67,16 @@
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
- #undef SUBTARGET_LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define SUBTARGET_LINK_SPEC \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}"
-
- #undef LIB_SPEC
---- gcc-4.0.2/gcc/config/sparc/linux.h
-+++ gcc-4.0.2/gcc/config/sparc/linux.h
-@@ -130,14 +130,19 @@
-
- /* If ELF is the default format, we should not use /lib/elf. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!mno-relax:%{!r:-relax}} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
-
- /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
---- gcc-4.0.2/gcc/config/sparc/linux64.h
-+++ gcc-4.0.2/gcc/config/sparc/linux64.h
-@@ -167,12 +166,17 @@
- { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
- { "link_arch", LINK_ARCH_SPEC },
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}} \
- "
-
---- gcc-4.0.2/libtool.m4
-+++ gcc-4.0.2/libtool.m4
-@@ -682,6 +682,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
---- gcc-4.0.2/ltconfig
-+++ gcc-4.0.2/ltconfig
-@@ -603,6 +603,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1274,6 +1275,23 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
---- gcc-4.0.2/libffi/configure
-+++ gcc-4.0.2/libffi/configure
-@@ -3457,6 +3457,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/libgfortran/configure
-+++ gcc-4.0.2/libgfortran/configure
-@@ -3681,6 +3681,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/libjava/configure
-+++ gcc-4.0.2/libjava/configure
-@@ -4351,6 +4351,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/libmudflap/configure
-+++ gcc-4.0.2/libmudflap/configure
-@@ -5380,6 +5380,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/libobjc/configure
-+++ gcc-4.0.2/libobjc/configure
-@@ -3283,6 +3283,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/boehm-gc/configure
-+++ gcc-4.0.2/boehm-gc/configure
-@@ -4320,6 +4320,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/configure
-+++ gcc-4.0.2/configure
-@@ -1141,7 +1141,7 @@
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
---- gcc-4.0.2/configure.in
-+++ gcc-4.0.2/configure.in
-@@ -350,7 +350,7 @@
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
---- gcc-4.0.2/contrib/regression/objs-gcc.sh
-+++ gcc-4.0.2/contrib/regression/objs-gcc.sh
-@@ -105,6 +105,10 @@
- then
- make all-gdb all-dejagnu all-ld || exit 1
- make install-gdb install-dejagnu install-ld || exit 1
-+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
-+ then
-+ make all-gdb all-dejagnu all-ld || exit 1
-+ make install-gdb install-dejagnu install-ld || exit 1
- elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
- make bootstrap || exit 1
- make install || exit 1
---- gcc-4.0.2/zlib/configure
-+++ gcc-4.0.2/zlib/configure
-@@ -3426,6 +3426,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
diff --git a/openwrt/toolchain/gcc/4.0.3/200-uclibc-locale.patch b/openwrt/toolchain/gcc/4.0.3/200-uclibc-locale.patch
deleted file mode 100644
index ac4cf97..0000000
--- a/openwrt/toolchain/gcc/4.0.3/200-uclibc-locale.patch
+++ /dev/null
@@ -1,3237 +0,0 @@
-diff -urN gcc-4.0.0-100/libstdc++-v3/acinclude.m4 gcc-4.0.0/libstdc++-v3/acinclude.m4
---- gcc-4.0.0-100/libstdc++-v3/acinclude.m4 2005-04-30 13:06:53.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/acinclude.m4 2005-04-28 20:19:01.000000000 -0500
-@@ -1104,7 +1104,7 @@
- AC_MSG_CHECKING([for C locale to use])
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
-@@ -1120,6 +1120,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
-+ *-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1263,6 +1266,40 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,59 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#endif // GLIBC 2.3 and later
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L) strtof((S), (E))
-+#define __strtod_l(S, E, L) strtod((S), (E))
-+#define __strtold_l(S, E, L) strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c) NULL
-+#define __freelocale(a) ((void)0)
-+#define __duplocale(a) __c_locale()
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale __old)
-+ {
-+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ if (!__cloc)
-+ {
-+ // This named locale is not supported by the underlying OS.
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ }
-+#endif
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ {
-+ if (_S_get_c_locale() != __cloc)
-+ __freelocale(__cloc);
-+ }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+ { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES",
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+ "LC_PAPER",
-+ "LC_NAME",
-+ "LC_ADDRESS",
-+ "LC_TELEPHONE",
-+ "LC_MEASUREMENT",
-+ "LC_IDENTIFICATION"
-+#endif
-+ };
-+}
-+
-+namespace std
-+{
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+} // namespace std
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.h 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,115 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring> // get std::strlen
-+#include <cstdio> // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h> // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h> // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h> // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+ extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ typedef __locale_t __c_locale;
-+#else
-+ typedef int* __c_locale;
-+#endif
-+
-+ // Convert numeric value of type _Tv to string and return length of
-+ // string. If snprintf is available use it, otherwise fall back to
-+ // the unsafe sprintf which, in general, can be dangerous and should
-+ // be avoided.
-+ template<typename _Tv>
-+ int
-+ __convert_from_v(char* __out, const int __size, const char* __fmt,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ _Tv __v, const __c_locale& __cloc, int __prec)
-+ {
-+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+ _Tv __v, const __c_locale&, int __prec)
-+ {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+ char* __old = std::setlocale(LC_ALL, NULL);
-+ char* __sav = new char[std::strlen(__old) + 1];
-+ std::strcpy(__sav, __old);
-+ std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ std::setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+#endif
-+ return __ret;
-+ }
-+}
-+
-+#endif
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+ // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_out(state_type& __state, const intern_type* __from,
-+ const intern_type* __from_end, const intern_type*& __from_next,
-+ extern_type* __to, extern_type* __to_end,
-+ extern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+ // in case we fall back to wcrtomb and then continue, in a loop.
-+ // NB: wcsnrtombs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+ __from_end - __from_next);
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // wcrtomb.
-+ for (; __from < __from_next; ++__from)
-+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ extern_type __buf[MB_LEN_MAX];
-+ __tmp_state = __state;
-+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+ if (__conv > static_cast<size_t>(__to_end - __to_next))
-+ __ret = partial;
-+ else
-+ {
-+ memcpy(__to_next, __buf, __conv);
-+ __state = __tmp_state;
-+ __to_next += __conv;
-+ ++__from_next;
-+ }
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_in(state_type& __state, const extern_type* __from,
-+ const extern_type* __from_end, const extern_type*& __from_next,
-+ intern_type* __to, intern_type* __to_end,
-+ intern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we store a L'\0' and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+ __from_end
-+ - __from_next));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (;; ++__to_next, __from += __conv)
-+ {
-+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __from_next = __from;
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ // It is unclear what to return in this case (see DR 382).
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ if (__to_next < __to_end)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from_next;
-+ *__to_next++ = L'\0';
-+ }
-+ else
-+ __ret = partial;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_encoding() const throw()
-+ {
-+ // XXX This implementation assumes that the encoding is
-+ // stateless and is either single-byte or variable-width.
-+ int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ if (MB_CUR_MAX == 1)
-+ __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_max_length() const throw()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ // XXX Probably wrong for stateful encodings.
-+ int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_length(state_type& __state, const extern_type* __from,
-+ const extern_type* __end, size_t __max) const
-+ {
-+ int __ret = 0;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we advance past it and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+
-+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+ // its fourth parameter (it wouldn't with NULL as first parameter).
-+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
-+ * __max));
-+ while (__from < __end && __max)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+ __end
-+ - __from));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __end;
-+
-+ const extern_type* __tmp_from = __from;
-+ size_t __conv = mbsnrtowcs(__to, &__from,
-+ __from_chunk_end - __from,
-+ __max, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (__from = __tmp_from;; __from += __conv)
-+ {
-+ __conv = mbrtowc(NULL, __from, __end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __state = __tmp_state;
-+ __ret += __from - __tmp_from;
-+ break;
-+ }
-+ if (!__from)
-+ __from = __from_chunk_end;
-+
-+ __ret += __from - __tmp_from;
-+ __max -= __conv;
-+
-+ if (__from < __end && __max)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from;
-+ ++__ret;
-+ --__max;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/collate_members.cc 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+ // These are basically extensions to char_traits, and perhaps should
-+ // be put there instead of here.
-+ template<>
-+ int
-+ collate<char>::_M_compare(const char* __one, const char* __two) const
-+ {
-+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<char>::_M_transform(char* __to, const char* __from,
-+ size_t __n) const
-+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ int
-+ collate<wchar_t>::_M_compare(const wchar_t* __one,
-+ const wchar_t* __two) const
-+ {
-+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+ size_t __n) const
-+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L) wctype((S))
-+#define __towupper_l(C, L) towupper((C))
-+#define __towlower_l(C, L) towlower((C))
-+#define __iswctype_l(C, M, L) iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+ template<>
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+ {
-+ __wmask_type __ret;
-+ switch (__m)
-+ {
-+ case space:
-+ __ret = __wctype_l("space", _M_c_locale_ctype);
-+ break;
-+ case print:
-+ __ret = __wctype_l("print", _M_c_locale_ctype);
-+ break;
-+ case cntrl:
-+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+ break;
-+ case upper:
-+ __ret = __wctype_l("upper", _M_c_locale_ctype);
-+ break;
-+ case lower:
-+ __ret = __wctype_l("lower", _M_c_locale_ctype);
-+ break;
-+ case alpha:
-+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+ break;
-+ case digit:
-+ __ret = __wctype_l("digit", _M_c_locale_ctype);
-+ break;
-+ case punct:
-+ __ret = __wctype_l("punct", _M_c_locale_ctype);
-+ break;
-+ case xdigit:
-+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+ break;
-+ case alnum:
-+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+ break;
-+ case graph:
-+ __ret = __wctype_l("graph", _M_c_locale_ctype);
-+ break;
-+ default:
-+ __ret = __wmask_type();
-+ }
-+ return __ret;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return __towlower_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ bool __ret = false;
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur]
-+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ return __ret;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ mask __m = 0;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ __m |= _M_bit[__bitcur];
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !this->do_is(__m, *__lo))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __j = 0;
-+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+ _M_widen[__j] = btowc(__j);
-+
-+ for (size_t __k = 0; __k <= 11; ++__k)
-+ {
-+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.cc 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+ // Specializations.
-+ template<>
-+ string
-+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+ __uselocale(__old);
-+ return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ const char* __msg = gettext(__dfault.c_str());
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return string(__msg);
-+#else
-+ const char* __msg = gettext(__dfault.c_str());
-+ return string(__msg);
-+#endif
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ wstring
-+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+ {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ __uselocale(__old);
-+ return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return _M_convert_from_char(__msg);
-+# else
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ return _M_convert_from_char(__msg);
-+# endif
-+ }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.h 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D) ((void)0)
-+#define __bindtextdomain(D,P) ((void)0)
-+#endif
-+
-+ // Non-virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::messages(size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-+ _M_name_messages(_S_get_c_name())
-+ { }
-+
-+ template<typename _CharT>
-+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+ _M_name_messages(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_messages = __tmp;
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
-+ const char* __dir) const
-+ {
-+ __bindtextdomain(__s.c_str(), __dir);
-+ return this->do_open(__s, __loc);
-+ }
-+
-+ // Virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::~messages()
-+ {
-+ if (_M_name_messages != _S_get_c_name())
-+ delete [] _M_name_messages;
-+ _S_destroy_c_locale(_M_c_locale_messages);
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::do_open(const basic_string<char>& __s,
-+ const locale&) const
-+ {
-+ // No error checking is done, assume the catalog exists and can
-+ // be used.
-+ __textdomain(__s.c_str());
-+ return 0;
-+ }
-+
-+ template<typename _CharT>
-+ void
-+ messages<_CharT>::do_close(catalog) const
-+ { }
-+
-+ // messages_byname
-+ template<typename _CharT>
-+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+ : messages<_CharT>(__refs)
-+ {
-+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+ delete [] this->_M_name_messages;
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ this->_M_name_messages = __tmp;
-+
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
-+ }
-+ }
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2005-04-28 01:23:02.000000000 -0500
-@@ -0,0 +1,692 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ // Construct and return valid pattern consisting of some combination of:
-+ // space none symbol sign value
-+ money_base::pattern
-+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+ {
-+ pattern __ret;
-+
-+ // This insanely complicated routine attempts to construct a valid
-+ // pattern for use with monyepunct. A couple of invariants:
-+
-+ // if (__precedes) symbol -> value
-+ // else value -> symbol
-+
-+ // if (__space) space
-+ // else none
-+
-+ // none == never first
-+ // space never first or last
-+
-+ // Any elegant implementations of this are welcome.
-+ switch (__posn)
-+ {
-+ case 0:
-+ case 1:
-+ // 1 The sign precedes the value and symbol.
-+ __ret.field[0] = sign;
-+ if (__space)
-+ {
-+ // Pattern starts with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[3] = symbol;
-+ }
-+ __ret.field[2] = space;
-+ }
-+ else
-+ {
-+ // Pattern starts with sign and ends with none.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 2:
-+ // 2 The sign follows the value and symbol.
-+ if (__space)
-+ {
-+ // Pattern either ends with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[1] = space;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ // Pattern ends with sign then none.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[1] = symbol;
-+ }
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 3:
-+ // 3 The sign immediately precedes the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = sign;
-+ __ret.field[1] = symbol;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = symbol;
-+ }
-+ else
-+ {
-+ __ret.field[1] = sign;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ case 4:
-+ // 4 The sign immediately follows the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = sign;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ default:
-+ __ret = pattern();
-+ }
-+ return __ret;
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == false
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<char, true>::~moneypunct()
-+ { delete _M_data; }
-+
-+ template<>
-+ moneypunct<char, false>::~moneypunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] =
-+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] =
-+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len;
-+ __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, true>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, false>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2005-04-28 01:20:20.000000000 -0500
-@@ -0,0 +1,173 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
-+ __cloc));
-+
-+ // Check for NULL, which implies no grouping.
-+ if (_M_data->_M_thousands_sep == '\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = "true";
-+ _M_data->_M_truename_size = 4;
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = "false";
-+ _M_data->_M_falsename_size = 5;
-+ }
-+
-+ template<>
-+ numpunct<char>::~numpunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<wchar_t>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] =
-+ static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] =
-+ static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+ // NB: In the GNU model wchar_t is always 32 bit wide.
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+
-+ if (_M_data->_M_thousands_sep == L'\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = L"true";
-+ _M_data->_M_truename_size = 4;
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = L"false";
-+ _M_data->_M_falsename_size = 5;
-+ }
-+
-+ template<>
-+ numpunct<wchar_t>::~numpunct()
-+ { delete _M_data; }
-+ #endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.cc 2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,406 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __timepunct<char>::
-+ _M_put(char* __s, size_t __maxlen, const char* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = '\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = "%m/%d/%y";
-+ _M_data->_M_date_era_format = "%m/%d/%y";
-+ _M_data->_M_time_format = "%H:%M:%S";
-+ _M_data->_M_time_era_format = "%H:%M:%S";
-+ _M_data->_M_date_time_format = "";
-+ _M_data->_M_date_time_era_format = "";
-+ _M_data->_M_am = "AM";
-+ _M_data->_M_pm = "PM";
-+ _M_data->_M_am_pm_format = "";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = "Sunday";
-+ _M_data->_M_day2 = "Monday";
-+ _M_data->_M_day3 = "Tuesday";
-+ _M_data->_M_day4 = "Wednesday";
-+ _M_data->_M_day5 = "Thursday";
-+ _M_data->_M_day6 = "Friday";
-+ _M_data->_M_day7 = "Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = "Sun";
-+ _M_data->_M_aday2 = "Mon";
-+ _M_data->_M_aday3 = "Tue";
-+ _M_data->_M_aday4 = "Wed";
-+ _M_data->_M_aday5 = "Thu";
-+ _M_data->_M_aday6 = "Fri";
-+ _M_data->_M_aday7 = "Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = "January";
-+ _M_data->_M_month02 = "February";
-+ _M_data->_M_month03 = "March";
-+ _M_data->_M_month04 = "April";
-+ _M_data->_M_month05 = "May";
-+ _M_data->_M_month06 = "June";
-+ _M_data->_M_month07 = "July";
-+ _M_data->_M_month08 = "August";
-+ _M_data->_M_month09 = "September";
-+ _M_data->_M_month10 = "October";
-+ _M_data->_M_month11 = "November";
-+ _M_data->_M_month12 = "December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = "Jan";
-+ _M_data->_M_amonth02 = "Feb";
-+ _M_data->_M_amonth03 = "Mar";
-+ _M_data->_M_amonth04 = "Apr";
-+ _M_data->_M_amonth05 = "May";
-+ _M_data->_M_amonth06 = "Jun";
-+ _M_data->_M_amonth07 = "Jul";
-+ _M_data->_M_amonth08 = "Aug";
-+ _M_data->_M_amonth09 = "Sep";
-+ _M_data->_M_amonth10 = "Oct";
-+ _M_data->_M_amonth11 = "Nov";
-+ _M_data->_M_amonth12 = "Dec";
-+ }
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
-+ __cloc);
-+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ __timepunct<wchar_t>::
-+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = L'\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+// if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = L"%m/%d/%y";
-+ _M_data->_M_date_era_format = L"%m/%d/%y";
-+ _M_data->_M_time_format = L"%H:%M:%S";
-+ _M_data->_M_time_era_format = L"%H:%M:%S";
-+ _M_data->_M_date_time_format = L"";
-+ _M_data->_M_date_time_era_format = L"";
-+ _M_data->_M_am = L"AM";
-+ _M_data->_M_pm = L"PM";
-+ _M_data->_M_am_pm_format = L"";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = L"Sunday";
-+ _M_data->_M_day2 = L"Monday";
-+ _M_data->_M_day3 = L"Tuesday";
-+ _M_data->_M_day4 = L"Wednesday";
-+ _M_data->_M_day5 = L"Thursday";
-+ _M_data->_M_day6 = L"Friday";
-+ _M_data->_M_day7 = L"Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = L"Sun";
-+ _M_data->_M_aday2 = L"Mon";
-+ _M_data->_M_aday3 = L"Tue";
-+ _M_data->_M_aday4 = L"Wed";
-+ _M_data->_M_aday5 = L"Thu";
-+ _M_data->_M_aday6 = L"Fri";
-+ _M_data->_M_aday7 = L"Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = L"January";
-+ _M_data->_M_month02 = L"February";
-+ _M_data->_M_month03 = L"March";
-+ _M_data->_M_month04 = L"April";
-+ _M_data->_M_month05 = L"May";
-+ _M_data->_M_month06 = L"June";
-+ _M_data->_M_month07 = L"July";
-+ _M_data->_M_month08 = L"August";
-+ _M_data->_M_month09 = L"September";
-+ _M_data->_M_month10 = L"October";
-+ _M_data->_M_month11 = L"November";
-+ _M_data->_M_month12 = L"December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = L"Jan";
-+ _M_data->_M_amonth02 = L"Feb";
-+ _M_data->_M_amonth03 = L"Mar";
-+ _M_data->_M_amonth04 = L"Apr";
-+ _M_data->_M_amonth05 = L"May";
-+ _M_data->_M_amonth06 = L"Jun";
-+ _M_data->_M_amonth07 = L"Jul";
-+ _M_data->_M_amonth08 = L"Aug";
-+ _M_data->_M_amonth09 = L"Sep";
-+ _M_data->_M_amonth10 = L"Oct";
-+ _M_data->_M_amonth11 = L"Nov";
-+ _M_data->_M_amonth12 = L"Dec";
-+ }
-+#if 0
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ union { char *__s; wchar_t *__w; } __u;
-+
-+ __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
-+ _M_data->_M_date_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
-+ _M_data->_M_time_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
-+ _M_data->_M_am = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
-+ _M_data->_M_pm = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
-+ _M_data->_M_am_pm_format = __u.__w;
-+
-+ // Day names, starting with "C"'s Sunday.
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
-+ _M_data->_M_day1 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
-+ _M_data->_M_day2 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
-+ _M_data->_M_day3 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
-+ _M_data->_M_day4 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
-+ _M_data->_M_day5 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
-+ _M_data->_M_day6 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
-+ _M_data->_M_day7 = __u.__w;
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
-+ _M_data->_M_aday1 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
-+ _M_data->_M_aday2 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
-+ _M_data->_M_aday3 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
-+ _M_data->_M_aday4 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
-+ _M_data->_M_aday5 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
-+ _M_data->_M_aday6 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
-+ _M_data->_M_aday7 = __u.__w;
-+
-+ // Month names, starting with "C"'s January.
-+ __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
-+ _M_data->_M_month01 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
-+ _M_data->_M_month02 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
-+ _M_data->_M_month03 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
-+ _M_data->_M_month04 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
-+ _M_data->_M_month05 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
-+ _M_data->_M_month06 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
-+ _M_data->_M_month07 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
-+ _M_data->_M_month08 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
-+ _M_data->_M_month09 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
-+ _M_data->_M_month10 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
-+ _M_data->_M_month11 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
-+ _M_data->_M_month12 = __u.__w;
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
-+ _M_data->_M_amonth01 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
-+ _M_data->_M_amonth02 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
-+ _M_data->_M_amonth03 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
-+ _M_data->_M_amonth04 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
-+ _M_data->_M_amonth05 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
-+ _M_data->_M_amonth06 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
-+ _M_data->_M_amonth07 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
-+ _M_data->_M_amonth08 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
-+ _M_data->_M_amonth09 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
-+ _M_data->_M_amonth10 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
-+ _M_data->_M_amonth11 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
-+ _M_data->_M_amonth12 = __u.__w;
-+ }
-+#endif // 0
-+ }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.h 2004-05-22 18:46:31.000000000 -0500
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
-+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_timepunct = __tmp;
-+ _M_initialize_timepunct(__cloc);
-+ }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::~__timepunct()
-+ {
-+ if (_M_name_timepunct != _S_get_c_name())
-+ delete [] _M_name_timepunct;
-+ delete _M_data;
-+ _S_destroy_c_locale(_M_c_locale_timepunct);
-+ }
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_base.h
---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_base.h 2005-04-28 01:10:27.000000000 -0500
-@@ -0,0 +1,64 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+/** @file ctype_base.h
-+ * This is an internal header file, included by other library headers.
-+ * You should not attempt to use it directly.
-+ */
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ /// @brief Base class for ctype.
-+ struct ctype_base
-+ {
-+ // Note: In uClibc, the following two types depend on configuration.
-+
-+ // Non-standard typedefs.
-+ typedef const __ctype_touplow_t* __to_type;
-+
-+ // NB: Offsets into ctype<char>::_M_table force a particular size
-+ // on the mask type. Because of this, we don't use an enum.
-+ typedef __ctype_mask_t mask;
-+ static const mask upper = _ISupper;
-+ static const mask lower = _ISlower;
-+ static const mask alpha = _ISalpha;
-+ static const mask digit = _ISdigit;
-+ static const mask xdigit = _ISxdigit;
-+ static const mask space = _ISspace;
-+ static const mask print = _ISprint;
-+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
-+ static const mask cntrl = _IScntrl;
-+ static const mask punct = _ISpunct;
-+ static const mask alnum = _ISalpha | _ISdigit;
-+ };
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_inline.h
---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_inline.h 2002-06-24 00:49:19.000000000 -0500
-@@ -0,0 +1,69 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+
-+ bool
-+ ctype<char>::
-+ is(mask __m, char __c) const
-+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-+
-+ const char*
-+ ctype<char>::
-+ is(const char* __low, const char* __high, mask* __vec) const
-+ {
-+ while (__low < __high)
-+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-+ return __high;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_is(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-+ ++__low;
-+ return __low;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_not(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-+ ++__low;
-+ return __low;
-+ }
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h
---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2005-04-28 01:10:27.000000000 -0500
-@@ -0,0 +1,92 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ { return __C_ctype_b; }
-+
-+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ char
-+ ctype<char>::do_toupper(char __c) const
-+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_toupper(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-+
-+ char
-+ ctype<char>::do_tolower(char __c) const
-+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_tolower(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/os_defines.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/os_defines.h
---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/os_defines.h 2005-04-28 01:10:27.000000000 -0500
-@@ -0,0 +1,44 @@
-+// Specific definitions for GNU/Linux -*- C++ -*-
-+
-+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here. This
-+// file will come before all others.
-+
-+// This keeps isanum, et al from being propagated as macros.
-+#define __NO_CTYPE 1
-+
-+#include <features.h>
-+
-+// We must not see the optimized string functions GNU libc defines.
-+#define __NO_STRING_INLINES
-+
-+#endif
-diff -urN gcc-4.0.0-100/libstdc++-v3/configure gcc-4.0.0/libstdc++-v3/configure
---- gcc-4.0.0-100/libstdc++-v3/configure 2005-04-30 13:06:53.683055232 -0500
-+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 12:24:24.000000000 -0500
-@@ -3998,6 +3998,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5672,7 +5677,7 @@
- enableval="$enable_clocale"
-
- case "$enableval" in
-- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
-+ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
- *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
- echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
- { (exit 1); exit 1; }; } ;;
-@@ -5697,6 +5702,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
-+ linux-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
-@@ -5927,6 +5935,76 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$check_msgfmt"; then
-+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_check_msgfmt="yes"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+
-+
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-4.0.0-100/libstdc++-v3/configure.host gcc-4.0.0/libstdc++-v3/configure.host
---- gcc-4.0.0-100/libstdc++-v3/configure.host 2005-04-30 13:06:53.688054472 -0500
-+++ gcc-4.0.0/libstdc++-v3/configure.host 2005-04-28 20:20:32.000000000 -0500
-@@ -249,6 +249,12 @@
- ;;
- esac
-
-+# Override for uClibc since linux-uclibc gets mishandled above.
-+case "${host_os}" in
-+ *-uclibc*)
-+ os_include_dir="os/uclibc"
-+ ;;
-+esac
-
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
-diff -urN gcc-4.0.0-100/libstdc++-v3/crossconfig.m4 gcc-4.0.0/libstdc++-v3/crossconfig.m4
---- gcc-4.0.0-100/libstdc++-v3/crossconfig.m4 2005-04-30 13:06:53.689054320 -0500
-+++ gcc-4.0.0/libstdc++-v3/crossconfig.m4 2005-04-28 20:27:15.000000000 -0500
-@@ -142,6 +142,98 @@
- ;;
- esac
- ;;
-+ *-uclibc*)
-+# Temporary hack until we implement the float versions of the libm funcs
-+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
-+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
-+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
-+ AC_SUBST(SECTION_FLAGS)
-+ GLIBCXX_CHECK_LINKER_FEATURES
-+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
-+
-+ # For LFS.
-+ AC_DEFINE(HAVE_INT64_T)
-+ case "$target" in
-+ *-uclinux*)
-+ # Don't enable LFS with uClinux
-+ ;;
-+ *)
-+ AC_DEFINE(_GLIBCXX_USE_LFS)
-+ esac
-+
-+ # For showmanyc_helper().
-+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
-+ GLIBCXX_CHECK_POLL
-+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-+
-+ # For xsputn_2().
-+ AC_CHECK_HEADERS(sys/uio.h)
-+ GLIBCXX_CHECK_WRITEV
-+
-+# AC_DEFINE(HAVE_ACOSF)
-+# AC_DEFINE(HAVE_ASINF)
-+# AC_DEFINE(HAVE_ATANF)
-+# AC_DEFINE(HAVE_ATAN2F)
-+ AC_DEFINE(HAVE_CEILF)
-+ AC_DEFINE(HAVE_COPYSIGN)
-+# AC_DEFINE(HAVE_COPYSIGNF)
-+# AC_DEFINE(HAVE_COSF)
-+# AC_DEFINE(HAVE_COSHF)
-+# AC_DEFINE(HAVE_EXPF)
-+# AC_DEFINE(HAVE_FABSF)
-+ AC_DEFINE(HAVE_FINITE)
-+ AC_DEFINE(HAVE_FINITEF)
-+ AC_DEFINE(HAVE_FLOORF)
-+# AC_DEFINE(HAVE_FMODF)
-+# AC_DEFINE(HAVE_FREXPF)
-+ AC_DEFINE(HAVE_HYPOT)
-+# AC_DEFINE(HAVE_HYPOTF)
-+ AC_DEFINE(HAVE_ISINF)
-+ AC_DEFINE(HAVE_ISINFF)
-+ AC_DEFINE(HAVE_ISNAN)
-+ AC_DEFINE(HAVE_ISNANF)
-+# AC_DEFINE(HAVE_LOGF)
-+# AC_DEFINE(HAVE_LOG10F)
-+# AC_DEFINE(HAVE_MODFF)
-+# AC_DEFINE(HAVE_SINF)
-+# AC_DEFINE(HAVE_SINHF)
-+# AC_DEFINE(HAVE_SINCOS)
-+# AC_DEFINE(HAVE_SINCOSF)
-+ AC_DEFINE(HAVE_SQRTF)
-+# AC_DEFINE(HAVE_TANF)
-+# AC_DEFINE(HAVE_TANHF)
-+ if test x"long_double_math_on_this_cpu" = x"yes"; then
-+# AC_DEFINE(HAVE_ACOSL)
-+# AC_DEFINE(HAVE_ASINL)
-+# AC_DEFINE(HAVE_ATANL)
-+# AC_DEFINE(HAVE_ATAN2L)
-+# AC_DEFINE(HAVE_CEILL)
-+# AC_DEFINE(HAVE_COPYSIGNL)
-+# AC_DEFINE(HAVE_COSL)
-+# AC_DEFINE(HAVE_COSHL)
-+# AC_DEFINE(HAVE_EXPL)
-+# AC_DEFINE(HAVE_FABSL)
-+# AC_DEFINE(HAVE_FINITEL)
-+# AC_DEFINE(HAVE_FLOORL)
-+# AC_DEFINE(HAVE_FMODL)
-+# AC_DEFINE(HAVE_FREXPL)
-+# AC_DEFINE(HAVE_HYPOTL)
-+# AC_DEFINE(HAVE_ISINFL)
-+# AC_DEFINE(HAVE_ISNANL)
-+# AC_DEFINE(HAVE_LOGL)
-+# AC_DEFINE(HAVE_LOG10L)
-+# AC_DEFINE(HAVE_MODFL)
-+# AC_DEFINE(HAVE_POWL)
-+# AC_DEFINE(HAVE_SINL)
-+# AC_DEFINE(HAVE_SINHL)
-+# AC_DEFINE(HAVE_SINCOSL)
-+# AC_DEFINE(HAVE_SQRTL)
-+# AC_DEFINE(HAVE_TANL)
-+# AC_DEFINE(HAVE_TANHL)
-+ fi
-+ ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -156,7 +248,7 @@
- AC_DEFINE(HAVE_INT64_T)
- case "$target" in
- *-uclinux*)
-- # Don't enable LFS with uClibc
-+ # Don't enable LFS with uClinux
- ;;
- *)
- AC_DEFINE(_GLIBCXX_USE_LFS)
-diff -urN gcc-4.0.0-100/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.0.0/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-4.0.0-100/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-30 13:06:53.690054168 -0500
-+++ gcc-4.0.0/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-28 20:15:56.000000000 -0500
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
-
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -urN gcc-4.0.0-100/libstdc++-v3/include/c_std/std_cwchar.h gcc-4.0.0/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-4.0.0-100/libstdc++-v3/include/c_std/std_cwchar.h 2005-04-30 13:06:53.691054016 -0500
-+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cwchar.h 2005-04-28 20:15:56.000000000 -0500
-@@ -179,7 +179,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
diff --git a/openwrt/toolchain/gcc/4.0.3/300-libstdc++-pic.patch b/openwrt/toolchain/gcc/4.0.3/300-libstdc++-pic.patch
deleted file mode 100644
index 63aed34..0000000
--- a/openwrt/toolchain/gcc/4.0.3/300-libstdc++-pic.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -urN gcc-4.0.0-200/libstdc++-v3/src/Makefile.am gcc-4.0.0/libstdc++-v3/src/Makefile.am
---- gcc-4.0.0-200/libstdc++-v3/src/Makefile.am 2004-11-15 17:33:05.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/src/Makefile.am 2005-04-28 21:42:18.614344056 -0500
-@@ -214,6 +214,10 @@
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
-
-
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # Added bits to build debug library.
- if GLIBCXX_BUILD_DEBUG
- all-local: build_debug
-diff -urN gcc-4.0.0-200/libstdc++-v3/src/Makefile.in gcc-4.0.0/libstdc++-v3/src/Makefile.in
---- gcc-4.0.0-200/libstdc++-v3/src/Makefile.in 2005-02-01 00:56:27.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/src/Makefile.in 2005-04-28 21:44:20.868758560 -0500
-@@ -625,7 +625,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -664,7 +664,7 @@
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
-- uninstall-toolexeclibLTLIBRARIES
-+ uninstall-toolexeclibLTLIBRARIES install-exec-local
-
- @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP)
- @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@ cp ${glibcxx_srcdir}/$(SYMVER_MAP) ./libstdc++-symbol.ver
-@@ -743,6 +743,11 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # 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.
- .NOEXPORT:
diff --git a/openwrt/toolchain/gcc/4.0.3/301-missing-execinfo_h.patch b/openwrt/toolchain/gcc/4.0.3/301-missing-execinfo_h.patch
deleted file mode 100644
index 0e2092f..0000000
--- a/openwrt/toolchain/gcc/4.0.3/301-missing-execinfo_h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
-+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
-@@ -500,7 +500,7 @@
- #ifdef __linux__
- # include <features.h>
- # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
-- && !defined(__ia64__)
-+ && !defined(__ia64__) && !defined(__UCLIBC__)
- # ifndef GC_HAVE_BUILTIN_BACKTRACE
- # define GC_HAVE_BUILTIN_BACKTRACE
- # endif
diff --git a/openwrt/toolchain/gcc/4.0.3/302-c99-snprintf.patch b/openwrt/toolchain/gcc/4.0.3/302-c99-snprintf.patch
deleted file mode 100644
index dfb22d6..0000000
--- a/openwrt/toolchain/gcc/4.0.3/302-c99-snprintf.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500
-@@ -142,7 +142,7 @@
- using ::vsprintf;
- }
-
--#if _GLIBCXX_USE_C99
-+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
-
- #undef snprintf
- #undef vfscanf
diff --git a/openwrt/toolchain/gcc/4.0.3/303-c99-complex-ugly-hack.patch b/openwrt/toolchain/gcc/4.0.3/303-c99-complex-ugly-hack.patch
deleted file mode 100644
index 2ccc80d..0000000
--- a/openwrt/toolchain/gcc/4.0.3/303-c99-complex-ugly-hack.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
-+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
-@@ -7194,6 +7194,9 @@
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <complex.h>
-+#ifdef __UCLIBC__
-+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
-+#endif
- int
- main ()
- {
diff --git a/openwrt/toolchain/gcc/4.0.3/602-sdk-libstdc++-includes.patch b/openwrt/toolchain/gcc/4.0.3/602-sdk-libstdc++-includes.patch
deleted file mode 100644
index c7676ae..0000000
--- a/openwrt/toolchain/gcc/4.0.3/602-sdk-libstdc++-includes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -urN gcc-4.0.0-100/libstdc++-v3/fragment.am gcc-4.0.0/libstdc++-v3/fragment.am
---- gcc-4.0.0-100/libstdc++-v3/fragment.am 2004-10-25 15:32:40.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/fragment.am 2005-04-28 21:48:43.000000000 -0500
-@@ -18,5 +18,5 @@
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
- # -I/-D flags to pass when compiling.
--AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
-
-diff -urN gcc-4.0.0-100/libstdc++-v3/libmath/Makefile.am gcc-4.0.0/libstdc++-v3/libmath/Makefile.am
---- gcc-4.0.0-100/libstdc++-v3/libmath/Makefile.am 2003-08-27 16:29:42.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/libmath/Makefile.am 2005-04-28 21:48:43.000000000 -0500
-@@ -32,7 +32,7 @@
-
- libmath_la_SOURCES = stubs.c
-
--AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
-
- # Only compiling "C" sources in this directory.
- LIBTOOL = @LIBTOOL@ --tag CC
diff --git a/openwrt/toolchain/gcc/4.0.3/800-arm-bigendian.patch b/openwrt/toolchain/gcc/4.0.3/800-arm-bigendian.patch
deleted file mode 100644
index 307aea3..0000000
--- a/openwrt/toolchain/gcc/4.0.3/800-arm-bigendian.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
---- gcc-4.0.3/gcc/config/arm/linux-elf.h
-+++ gcc-4.0.3/gcc/config/arm/linux-elf.h
-@@ -31,19 +31,33 @@
- /* Do not assume anything about header files. */
- #define NO_IMPLICIT_EXTERN_C
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- #undef TARGET_DEFAULT_FLOAT_ABI
- #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
-
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (0)
-+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
-
- /* The GNU C++ standard library requires that these macros be defined. */
- #undef CPLUSPLUS_CPP_SPEC
-@@ -90,7 +104,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #define TARGET_OS_CPP_BUILTINS() \
---- gcc-4.0.3/gcc/config.gcc
-+++ gcc-4.0.3/gcc/config.gcc
-@@ -672,6 +672,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
-+ ;;
-+ esac
- tmake_file="${tmake_file} arm/t-arm arm/t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
- gnu_ld=yes
diff --git a/openwrt/toolchain/gcc/4.1.0/100-uclibc-conf.patch b/openwrt/toolchain/gcc/4.1.0/100-uclibc-conf.patch
deleted file mode 100644
index 49d576c..0000000
--- a/openwrt/toolchain/gcc/4.1.0/100-uclibc-conf.patch
+++ /dev/null
@@ -1,544 +0,0 @@
---- gcc-4.1.0/gcc/config/t-linux-uclibc
-+++ gcc-4.1.0/gcc/config/t-linux-uclibc
-@@ -0,0 +1,5 @@
-+# Remove glibc specific files added in t-linux
-+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
-+
-+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
-+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
---- gcc-4.1.0/gcc/config.gcc
-+++ gcc-4.1.0/gcc/config.gcc
-@@ -1887,7 +1887,7 @@ s390x-ibm-tpf*)
- ;;
- sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
- sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
-- sh-*-linux* | sh[346lbe]*-*-linux* | \
-+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
- sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
- sh64-*-netbsd* | sh64l*-*-netbsd*)
- tmake_file="${tmake_file} sh/t-sh sh/t-elf"
-@@ -2341,6 +2341,12 @@ m32c-*-elf*)
- ;;
- esac
-
-+# Rather than hook into each target, just do it after all the linux
-+# targets have been processed
-+case ${target} in
-+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
-+esac
-+
- case ${target} in
- i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
- tmake_file="${tmake_file} i386/t-gmm_malloc"
---- gcc-4.1.0/boehm-gc/configure
-+++ gcc-4.1.0/boehm-gc/configure
-@@ -4320,6 +4320,11 @@ linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/configure
-+++ gcc-4.1.0/configure
-@@ -1133,7 +1133,7 @@ no)
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
---- gcc-4.1.0/configure.in
-+++ gcc-4.1.0/configure.in
-@@ -341,7 +341,7 @@ no)
- ;;
- "")
- case "${target}" in
-- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
- # Enable libmudflap by default in GNU and friends.
- ;;
- *-*-freebsd*)
---- gcc-4.1.0/contrib/regression/objs-gcc.sh
-+++ gcc-4.1.0/contrib/regression/objs-gcc.sh
-@@ -105,6 +105,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H
- then
- make all-gdb all-dejagnu all-ld || exit 1
- make install-gdb install-dejagnu install-ld || exit 1
-+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
-+ then
-+ make all-gdb all-dejagnu all-ld || exit 1
-+ make install-gdb install-dejagnu install-ld || exit 1
- elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
- make bootstrap || exit 1
- make install || exit 1
---- gcc-4.1.0/gcc/config/alpha/linux-elf.h
-+++ gcc-4.1.0/gcc/config/alpha/linux-elf.h
-@@ -27,7 +27,11 @@ Boston, MA 02110-1301, USA. */
- #define SUBTARGET_EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-
-+#if defined USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
- #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
-
- #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
- %{O*:-O3} %{!O*:-O1} \
---- gcc-4.1.0/gcc/config/arm/linux-elf.h
-+++ gcc-4.1.0/gcc/config/arm/linux-elf.h
-@@ -51,7 +51,11 @@
-
- #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
-
-+#ifdef USE_UCLIBC
-+#define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"
-+#else
- #define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
-+#endif
-
- #define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
- %{b} \
---- gcc-4.1.0/gcc/config/cris/linux.h
-+++ gcc-4.1.0/gcc/config/cris/linux.h
-@@ -73,6 +73,25 @@ Boston, MA 02110-1301, USA. */
- #undef CRIS_DEFAULT_CPU_VERSION
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-
-+#ifdef USE_UCLIBC
-+
-+#undef CRIS_SUBTARGET_VERSION
-+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+
-+#undef CRIS_LINK_SUBTARGET_SPEC
-+#define CRIS_LINK_SUBTARGET_SPEC \
-+ "-mcrislinux\
-+ -rpath-link include/asm/../..%s\
-+ %{shared} %{static}\
-+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
-+ %{!shared: \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
-+ %{!r:%{O2|O3: --gc-sections}}"
-+
-+#else /* USE_UCLIBC */
-+
- #undef CRIS_SUBTARGET_VERSION
- #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-
-@@ -87,6 +106,8 @@ Boston, MA 02110-1301, USA. */
- %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
- %{!r:%{O2|O3: --gc-sections}}"
-
-+#endif /* USE_UCLIBC */
-+
-
- /* Node: Run-time Target */
-
---- gcc-4.1.0/gcc/config/i386/linux.h
-+++ gcc-4.1.0/gcc/config/i386/linux.h
-@@ -107,6 +107,11 @@ Boston, MA 02110-1301, USA. */
- #define LINK_EMULATION "elf_i386"
- #define DYNAMIC_LINKER "/lib/ld-linux.so.2"
-
-+#if defined USE_UCLIBC
-+#undef DYNAMIC_LINKER
-+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#endif
-+
- #undef SUBTARGET_EXTRA_SPECS
- #define SUBTARGET_EXTRA_SPECS \
- { "link_emulation", LINK_EMULATION },\
---- gcc-4.1.0/gcc/config/i386/linux64.h
-+++ gcc-4.1.0/gcc/config/i386/linux64.h
-@@ -54,14 +54,21 @@ Boston, MA 02110-1301, USA. */
- When the -shared link option is used a final link is not being
- done. */
-
-+#ifdef USE_UCLIBC
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
-+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
-+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
- %{static:-static}}"
-
- /* Similar to standard Linux, but adding -ffast-math support. */
---- gcc-4.1.0/gcc/config/ia64/linux.h
-+++ gcc-4.1.0/gcc/config/ia64/linux.h
-@@ -37,13 +37,18 @@ do { \
- /* Define this for shared library support because it isn't in the main
- linux.h file. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}"
-
-
---- gcc-4.1.0/gcc/config/m68k/linux.h
-+++ gcc-4.1.0/gcc/config/m68k/linux.h
-@@ -123,12 +123,17 @@ Boston, MA 02110-1301, USA. */
-
- /* If ELF is the default format, we should not use /lib/elf. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "-m m68kelf %{shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static}}"
-
- /* For compatibility with linux/a.out */
---- gcc-4.1.0/gcc/config/mips/linux.h
-+++ gcc-4.1.0/gcc/config/mips/linux.h
-@@ -105,6 +105,11 @@ Boston, MA 02110-1301, USA. */
-
- /* Borrowed from sparc/linux.h */
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #define LINK_SPEC \
- "%(endian_spec) \
- %{shared:-shared} \
-@@ -112,7 +117,7 @@ Boston, MA 02110-1301, USA. */
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
-
- #undef SUBTARGET_ASM_SPEC
---- gcc-4.1.0/gcc/config/pa/pa-linux.h
-+++ gcc-4.1.0/gcc/config/pa/pa-linux.h
-@@ -49,13 +49,18 @@ Boston, MA 02110-1301, USA. */
- /* Define this for shared library support because it isn't in the main
- linux.h file. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
- %{shared:-shared} \
- %{!shared: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}"
-
- /* glibc's profiling functions don't need gcc to allocate counters. */
---- gcc-4.1.0/gcc/config/rs6000/linux.h
-+++ gcc-4.1.0/gcc/config/rs6000/linux.h
-@@ -72,7 +72,11 @@
- #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
-
- #undef LINK_OS_DEFAULT_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
-+#else
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-+#endif
-
- #define LINK_GCC_C_SEQUENCE_SPEC \
- "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
---- gcc-4.1.0/gcc/config/rs6000/sysv4.h
-+++ gcc-4.1.0/gcc/config/rs6000/sysv4.h
-@@ -866,6 +866,7 @@ extern int fixuplabelno;
- mcall-linux : %(link_os_linux) ; \
- mcall-gnu : %(link_os_gnu) ; \
- mcall-netbsd : %(link_os_netbsd) ; \
-+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
- mcall-openbsd: %(link_os_openbsd) ; \
- : %(link_os_default) }"
-
-@@ -1043,6 +1044,10 @@ extern int fixuplabelno;
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
- #endif
-@@ -1209,6 +1214,7 @@ ncrtn.o%s"
- { "link_os_sim", LINK_OS_SIM_SPEC }, \
- { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
- { "link_os_linux", LINK_OS_LINUX_SPEC }, \
-+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
- { "link_os_gnu", LINK_OS_GNU_SPEC }, \
- { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
- { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
---- gcc-4.1.0/gcc/config/s390/linux.h
-+++ gcc-4.1.0/gcc/config/s390/linux.h
-@@ -77,6 +77,13 @@ Software Foundation, 51 Franklin Street,
- #define MULTILIB_DEFAULTS { "m31" }
- #endif
-
-+#ifdef USE_UCLIBC
-+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
-@@ -86,8 +93,8 @@ Software Foundation, 51 Franklin Street,
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker: \
-- %{m31:-dynamic-linker /lib/ld.so.1} \
-- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
-+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
-
-
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
---- gcc-4.1.0/gcc/config/sh/linux.h
-+++ gcc-4.1.0/gcc/config/sh/linux.h
-@@ -56,12 +56,21 @@ Boston, MA 02110-1301, USA. */
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
- #undef SUBTARGET_LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define SUBTARGET_LINK_SPEC \
-+ "%{shared:-shared} \
-+ %{!static: \
-+ %{rdynamic:-export-dynamic} \
-+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
-+ %{static:-static}"
-+#else
- #define SUBTARGET_LINK_SPEC \
- "%{shared:-shared} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{static:-static}"
-+#endif
-
- /* Output assembler code to STREAM to call the profiler. */
-
---- gcc-4.1.0/gcc/config/sparc/linux.h
-+++ gcc-4.1.0/gcc/config/sparc/linux.h
-@@ -125,6 +125,11 @@ Boston, MA 02110-1301, USA. */
-
- /* If ELF is the default format, we should not use /lib/elf. */
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!mno-relax:%{!r:-relax}} \
-@@ -132,7 +137,7 @@ Boston, MA 02110-1301, USA. */
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}}"
-
- /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
---- gcc-4.1.0/gcc/config/sparc/linux64.h
-+++ gcc-4.1.0/gcc/config/sparc/linux64.h
-@@ -162,12 +162,17 @@ Boston, MA 02110-1301, USA. */
- { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
- { "link_arch", LINK_ARCH_SPEC },
-
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
- %{!shared: \
- %{!ibcs: \
- %{!static: \
- %{rdynamic:-export-dynamic} \
-- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
- %{static:-static}}} \
- "
-
---- gcc-4.1.0/libffi/configure
-+++ gcc-4.1.0/libffi/configure
-@@ -3457,6 +3457,11 @@ linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libgfortran/configure
-+++ gcc-4.1.0/libgfortran/configure
-@@ -3699,6 +3699,11 @@ linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libjava/configure
-+++ gcc-4.1.0/libjava/configure
-@@ -5137,6 +5137,11 @@ linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libmudflap/configure
-+++ gcc-4.1.0/libmudflap/configure
-@@ -5382,6 +5382,11 @@ linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libobjc/configure
-+++ gcc-4.1.0/libobjc/configure
-@@ -3312,6 +3312,11 @@ linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libtool.m4
-+++ gcc-4.1.0/libtool.m4
-@@ -743,6 +743,11 @@ linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
---- gcc-4.1.0/ltconfig
-+++ gcc-4.1.0/ltconfig
-@@ -603,6 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1274,6 +1275,23 @@ linux-gnu*)
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
---- gcc-4.1.0/zlib/configure
-+++ gcc-4.1.0/zlib/configure
-@@ -3426,6 +3426,11 @@ linux-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
diff --git a/openwrt/toolchain/gcc/4.1.0/200-uclibc-locale.patch b/openwrt/toolchain/gcc/4.1.0/200-uclibc-locale.patch
deleted file mode 100644
index bba729c..0000000
--- a/openwrt/toolchain/gcc/4.1.0/200-uclibc-locale.patch
+++ /dev/null
@@ -1,3246 +0,0 @@
-diff -urN gcc-4.1.0/libstdc++-v3/acinclude.m4 gcc-4.1.0-patched/libstdc++-v3/acinclude.m4
---- gcc-4.1.0/libstdc++-v3/acinclude.m4 2005-04-11 19:13:06.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/acinclude.m4 2005-04-30 19:36:16.917899167 -0500
-@@ -1047,7 +1047,7 @@
- AC_MSG_CHECKING([for C locale to use])
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-
- # If they didn't use this option switch, or if they specified --enable
- # with no specific model, we'll have to look for one. If they
-@@ -1063,6 +1063,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
-+ *-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- AC_EGREP_CPP([_GLIBCXX_ok], [
- #include <features.h>
-@@ -1206,6 +1209,41 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2005-04-30 19:36:16.918898999 -0500
-@@ -0,0 +1,63 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <bits/c++config.h>
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+#endif
-+
-+#endif // GLIBC 2.3 and later
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c_locale.cc 2005-04-30 19:36:16.919898830 -0500
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L) strtof((S), (E))
-+#define __strtod_l(S, E, L) strtod((S), (E))
-+#define __strtold_l(S, E, L) strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c) NULL
-+#define __freelocale(a) ((void)0)
-+#define __duplocale(a) __c_locale()
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale __old)
-+ {
-+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ if (!__cloc)
-+ {
-+ // This named locale is not supported by the underlying OS.
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ }
-+#endif
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ {
-+ if (_S_get_c_locale() != __cloc)
-+ __freelocale(__cloc);
-+ }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+ { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES",
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+ "LC_PAPER",
-+ "LC_NAME",
-+ "LC_ADDRESS",
-+ "LC_TELEPHONE",
-+ "LC_MEASUREMENT",
-+ "LC_IDENTIFICATION"
-+#endif
-+ };
-+}
-+
-+namespace std
-+{
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+} // namespace std
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/c_locale.h 2005-04-30 19:36:16.920898661 -0500
-@@ -0,0 +1,117 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring> // get std::strlen
-+#include <cstdio> // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h> // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h> // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h> // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+ extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ typedef __locale_t __c_locale;
-+#else
-+ typedef int* __c_locale;
-+#endif
-+
-+ // Convert numeric value of type _Tv to string and return length of
-+ // string. If snprintf is available use it, otherwise fall back to
-+ // the unsafe sprintf which, in general, can be dangerous and should
-+ // be avoided.
-+ template<typename _Tv>
-+ int
-+ __convert_from_v(char* __out,
-+ const int __size __attribute__ ((__unused__)),
-+ const char* __fmt,
-+#ifdef __UCLIBC_HAS_XCLOCALE__
-+ _Tv __v, const __c_locale& __cloc, int __prec)
-+ {
-+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+ _Tv __v, const __c_locale&, int __prec)
-+ {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+ char* __old = std::setlocale(LC_ALL, NULL);
-+ char* __sav = new char[std::strlen(__old) + 1];
-+ std::strcpy(__sav, __old);
-+ std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XCLOCALE__
-+ __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ std::setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+#endif
-+ return __ret;
-+ }
-+}
-+
-+#endif
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2005-04-30 19:36:16.921898492 -0500
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+ // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_out(state_type& __state, const intern_type* __from,
-+ const intern_type* __from_end, const intern_type*& __from_next,
-+ extern_type* __to, extern_type* __to_end,
-+ extern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+ // in case we fall back to wcrtomb and then continue, in a loop.
-+ // NB: wcsnrtombs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+ __from_end - __from_next);
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // wcrtomb.
-+ for (; __from < __from_next; ++__from)
-+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ extern_type __buf[MB_LEN_MAX];
-+ __tmp_state = __state;
-+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+ if (__conv > static_cast<size_t>(__to_end - __to_next))
-+ __ret = partial;
-+ else
-+ {
-+ memcpy(__to_next, __buf, __conv);
-+ __state = __tmp_state;
-+ __to_next += __conv;
-+ ++__from_next;
-+ }
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_in(state_type& __state, const extern_type* __from,
-+ const extern_type* __from_end, const extern_type*& __from_next,
-+ intern_type* __to, intern_type* __to_end,
-+ intern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we store a L'\0' and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+ __from_end
-+ - __from_next));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (;; ++__to_next, __from += __conv)
-+ {
-+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __from_next = __from;
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ // It is unclear what to return in this case (see DR 382).
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ if (__to_next < __to_end)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from_next;
-+ *__to_next++ = L'\0';
-+ }
-+ else
-+ __ret = partial;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_encoding() const throw()
-+ {
-+ // XXX This implementation assumes that the encoding is
-+ // stateless and is either single-byte or variable-width.
-+ int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ if (MB_CUR_MAX == 1)
-+ __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_max_length() const throw()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ // XXX Probably wrong for stateful encodings.
-+ int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_length(state_type& __state, const extern_type* __from,
-+ const extern_type* __end, size_t __max) const
-+ {
-+ int __ret = 0;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we advance past it and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+
-+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+ // its fourth parameter (it wouldn't with NULL as first parameter).
-+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
-+ * __max));
-+ while (__from < __end && __max)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+ __end
-+ - __from));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __end;
-+
-+ const extern_type* __tmp_from = __from;
-+ size_t __conv = mbsnrtowcs(__to, &__from,
-+ __from_chunk_end - __from,
-+ __max, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (__from = __tmp_from;; __from += __conv)
-+ {
-+ __conv = mbrtowc(NULL, __from, __end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __state = __tmp_state;
-+ __ret += __from - __tmp_from;
-+ break;
-+ }
-+ if (!__from)
-+ __from = __from_chunk_end;
-+
-+ __ret += __from - __tmp_from;
-+ __max -= __conv;
-+
-+ if (__from < __end && __max)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from;
-+ ++__ret;
-+ --__max;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/collate_members.cc 2005-04-30 19:36:16.922898323 -0500
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+ // These are basically extensions to char_traits, and perhaps should
-+ // be put there instead of here.
-+ template<>
-+ int
-+ collate<char>::_M_compare(const char* __one, const char* __two) const
-+ {
-+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<char>::_M_transform(char* __to, const char* __from,
-+ size_t __n) const
-+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ int
-+ collate<wchar_t>::_M_compare(const wchar_t* __one,
-+ const wchar_t* __two) const
-+ {
-+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+ size_t __n) const
-+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2005-04-30 19:36:16.923898155 -0500
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L) wctype((S))
-+#define __towupper_l(C, L) towupper((C))
-+#define __towlower_l(C, L) towlower((C))
-+#define __iswctype_l(C, M, L) iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+ template<>
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+ {
-+ __wmask_type __ret;
-+ switch (__m)
-+ {
-+ case space:
-+ __ret = __wctype_l("space", _M_c_locale_ctype);
-+ break;
-+ case print:
-+ __ret = __wctype_l("print", _M_c_locale_ctype);
-+ break;
-+ case cntrl:
-+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+ break;
-+ case upper:
-+ __ret = __wctype_l("upper", _M_c_locale_ctype);
-+ break;
-+ case lower:
-+ __ret = __wctype_l("lower", _M_c_locale_ctype);
-+ break;
-+ case alpha:
-+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+ break;
-+ case digit:
-+ __ret = __wctype_l("digit", _M_c_locale_ctype);
-+ break;
-+ case punct:
-+ __ret = __wctype_l("punct", _M_c_locale_ctype);
-+ break;
-+ case xdigit:
-+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+ break;
-+ case alnum:
-+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+ break;
-+ case graph:
-+ __ret = __wctype_l("graph", _M_c_locale_ctype);
-+ break;
-+ default:
-+ __ret = __wmask_type();
-+ }
-+ return __ret;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return __towlower_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ bool __ret = false;
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur]
-+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ return __ret;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ mask __m = 0;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ __m |= _M_bit[__bitcur];
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !this->do_is(__m, *__lo))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __j = 0;
-+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+ _M_widen[__j] = btowc(__j);
-+
-+ for (size_t __k = 0; __k <= 11; ++__k)
-+ {
-+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/messages_members.cc 2005-04-30 19:36:16.925897817 -0500
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+ // Specializations.
-+ template<>
-+ string
-+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+ __uselocale(__old);
-+ return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ const char* __msg = gettext(__dfault.c_str());
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return string(__msg);
-+#else
-+ const char* __msg = gettext(__dfault.c_str());
-+ return string(__msg);
-+#endif
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ wstring
-+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+ {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ __uselocale(__old);
-+ return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return _M_convert_from_char(__msg);
-+# else
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ return _M_convert_from_char(__msg);
-+# endif
-+ }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/messages_members.h 2005-04-30 19:36:16.925897817 -0500
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D) ((void)0)
-+#define __bindtextdomain(D,P) ((void)0)
-+#endif
-+
-+ // Non-virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::messages(size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-+ _M_name_messages(_S_get_c_name())
-+ { }
-+
-+ template<typename _CharT>
-+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+ _M_name_messages(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_messages = __tmp;
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
-+ const char* __dir) const
-+ {
-+ __bindtextdomain(__s.c_str(), __dir);
-+ return this->do_open(__s, __loc);
-+ }
-+
-+ // Virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::~messages()
-+ {
-+ if (_M_name_messages != _S_get_c_name())
-+ delete [] _M_name_messages;
-+ _S_destroy_c_locale(_M_c_locale_messages);
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::do_open(const basic_string<char>& __s,
-+ const locale&) const
-+ {
-+ // No error checking is done, assume the catalog exists and can
-+ // be used.
-+ __textdomain(__s.c_str());
-+ return 0;
-+ }
-+
-+ template<typename _CharT>
-+ void
-+ messages<_CharT>::do_close(catalog) const
-+ { }
-+
-+ // messages_byname
-+ template<typename _CharT>
-+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+ : messages<_CharT>(__refs)
-+ {
-+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+ delete [] this->_M_name_messages;
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ this->_M_name_messages = __tmp;
-+
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
-+ }
-+ }
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2005-04-30 19:36:16.927897479 -0500
-@@ -0,0 +1,692 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ // Construct and return valid pattern consisting of some combination of:
-+ // space none symbol sign value
-+ money_base::pattern
-+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+ {
-+ pattern __ret;
-+
-+ // This insanely complicated routine attempts to construct a valid
-+ // pattern for use with monyepunct. A couple of invariants:
-+
-+ // if (__precedes) symbol -> value
-+ // else value -> symbol
-+
-+ // if (__space) space
-+ // else none
-+
-+ // none == never first
-+ // space never first or last
-+
-+ // Any elegant implementations of this are welcome.
-+ switch (__posn)
-+ {
-+ case 0:
-+ case 1:
-+ // 1 The sign precedes the value and symbol.
-+ __ret.field[0] = sign;
-+ if (__space)
-+ {
-+ // Pattern starts with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[3] = symbol;
-+ }
-+ __ret.field[2] = space;
-+ }
-+ else
-+ {
-+ // Pattern starts with sign and ends with none.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 2:
-+ // 2 The sign follows the value and symbol.
-+ if (__space)
-+ {
-+ // Pattern either ends with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[1] = space;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ // Pattern ends with sign then none.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[1] = symbol;
-+ }
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 3:
-+ // 3 The sign immediately precedes the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = sign;
-+ __ret.field[1] = symbol;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = symbol;
-+ }
-+ else
-+ {
-+ __ret.field[1] = sign;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ case 4:
-+ // 4 The sign immediately follows the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = sign;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ default:
-+ ;
-+ }
-+ return __ret;
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == false
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<char, true>::~moneypunct()
-+ { delete _M_data; }
-+
-+ template<>
-+ moneypunct<char, false>::~moneypunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] =
-+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] =
-+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len;
-+ __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, true>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, false>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2005-04-30 19:36:38.467261324 -0500
-@@ -0,0 +1,160 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
-+ __cloc));
-+
-+ // Check for NULL, which implies no grouping.
-+ if (_M_data->_M_thousands_sep == '\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = "true";
-+ _M_data->_M_truename_size = 4;
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = "false";
-+ _M_data->_M_falsename_size = 5;
-+ }
-+
-+ template<>
-+ numpunct<char>::~numpunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<wchar_t>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] =
-+ static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] =
-+ static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+ // NB: In the GNU model wchar_t is always 32 bit wide.
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+
-+ if (_M_data->_M_thousands_sep == L'\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = L"true";
-+ _M_data->_M_truename_size = 4;
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = L"false";
-+ _M_data->_M_falsename_size = 5;
-+ }
-+
-+ template<>
-+ numpunct<wchar_t>::~numpunct()
-+ { delete _M_data; }
-+ #endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/time_members.cc 2005-04-30 19:36:16.929897142 -0500
-@@ -0,0 +1,406 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __timepunct<char>::
-+ _M_put(char* __s, size_t __maxlen, const char* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = '\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = "%m/%d/%y";
-+ _M_data->_M_date_era_format = "%m/%d/%y";
-+ _M_data->_M_time_format = "%H:%M:%S";
-+ _M_data->_M_time_era_format = "%H:%M:%S";
-+ _M_data->_M_date_time_format = "";
-+ _M_data->_M_date_time_era_format = "";
-+ _M_data->_M_am = "AM";
-+ _M_data->_M_pm = "PM";
-+ _M_data->_M_am_pm_format = "";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = "Sunday";
-+ _M_data->_M_day2 = "Monday";
-+ _M_data->_M_day3 = "Tuesday";
-+ _M_data->_M_day4 = "Wednesday";
-+ _M_data->_M_day5 = "Thursday";
-+ _M_data->_M_day6 = "Friday";
-+ _M_data->_M_day7 = "Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = "Sun";
-+ _M_data->_M_aday2 = "Mon";
-+ _M_data->_M_aday3 = "Tue";
-+ _M_data->_M_aday4 = "Wed";
-+ _M_data->_M_aday5 = "Thu";
-+ _M_data->_M_aday6 = "Fri";
-+ _M_data->_M_aday7 = "Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = "January";
-+ _M_data->_M_month02 = "February";
-+ _M_data->_M_month03 = "March";
-+ _M_data->_M_month04 = "April";
-+ _M_data->_M_month05 = "May";
-+ _M_data->_M_month06 = "June";
-+ _M_data->_M_month07 = "July";
-+ _M_data->_M_month08 = "August";
-+ _M_data->_M_month09 = "September";
-+ _M_data->_M_month10 = "October";
-+ _M_data->_M_month11 = "November";
-+ _M_data->_M_month12 = "December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = "Jan";
-+ _M_data->_M_amonth02 = "Feb";
-+ _M_data->_M_amonth03 = "Mar";
-+ _M_data->_M_amonth04 = "Apr";
-+ _M_data->_M_amonth05 = "May";
-+ _M_data->_M_amonth06 = "Jun";
-+ _M_data->_M_amonth07 = "Jul";
-+ _M_data->_M_amonth08 = "Aug";
-+ _M_data->_M_amonth09 = "Sep";
-+ _M_data->_M_amonth10 = "Oct";
-+ _M_data->_M_amonth11 = "Nov";
-+ _M_data->_M_amonth12 = "Dec";
-+ }
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
-+ __cloc);
-+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ __timepunct<wchar_t>::
-+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = L'\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+// if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = L"%m/%d/%y";
-+ _M_data->_M_date_era_format = L"%m/%d/%y";
-+ _M_data->_M_time_format = L"%H:%M:%S";
-+ _M_data->_M_time_era_format = L"%H:%M:%S";
-+ _M_data->_M_date_time_format = L"";
-+ _M_data->_M_date_time_era_format = L"";
-+ _M_data->_M_am = L"AM";
-+ _M_data->_M_pm = L"PM";
-+ _M_data->_M_am_pm_format = L"";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = L"Sunday";
-+ _M_data->_M_day2 = L"Monday";
-+ _M_data->_M_day3 = L"Tuesday";
-+ _M_data->_M_day4 = L"Wednesday";
-+ _M_data->_M_day5 = L"Thursday";
-+ _M_data->_M_day6 = L"Friday";
-+ _M_data->_M_day7 = L"Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = L"Sun";
-+ _M_data->_M_aday2 = L"Mon";
-+ _M_data->_M_aday3 = L"Tue";
-+ _M_data->_M_aday4 = L"Wed";
-+ _M_data->_M_aday5 = L"Thu";
-+ _M_data->_M_aday6 = L"Fri";
-+ _M_data->_M_aday7 = L"Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = L"January";
-+ _M_data->_M_month02 = L"February";
-+ _M_data->_M_month03 = L"March";
-+ _M_data->_M_month04 = L"April";
-+ _M_data->_M_month05 = L"May";
-+ _M_data->_M_month06 = L"June";
-+ _M_data->_M_month07 = L"July";
-+ _M_data->_M_month08 = L"August";
-+ _M_data->_M_month09 = L"September";
-+ _M_data->_M_month10 = L"October";
-+ _M_data->_M_month11 = L"November";
-+ _M_data->_M_month12 = L"December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = L"Jan";
-+ _M_data->_M_amonth02 = L"Feb";
-+ _M_data->_M_amonth03 = L"Mar";
-+ _M_data->_M_amonth04 = L"Apr";
-+ _M_data->_M_amonth05 = L"May";
-+ _M_data->_M_amonth06 = L"Jun";
-+ _M_data->_M_amonth07 = L"Jul";
-+ _M_data->_M_amonth08 = L"Aug";
-+ _M_data->_M_amonth09 = L"Sep";
-+ _M_data->_M_amonth10 = L"Oct";
-+ _M_data->_M_amonth11 = L"Nov";
-+ _M_data->_M_amonth12 = L"Dec";
-+ }
-+#if 0
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ union { char *__s; wchar_t *__w; } __u;
-+
-+ __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
-+ _M_data->_M_date_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
-+ _M_data->_M_time_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
-+ _M_data->_M_am = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
-+ _M_data->_M_pm = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
-+ _M_data->_M_am_pm_format = __u.__w;
-+
-+ // Day names, starting with "C"'s Sunday.
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
-+ _M_data->_M_day1 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
-+ _M_data->_M_day2 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
-+ _M_data->_M_day3 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
-+ _M_data->_M_day4 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
-+ _M_data->_M_day5 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
-+ _M_data->_M_day6 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
-+ _M_data->_M_day7 = __u.__w;
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
-+ _M_data->_M_aday1 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
-+ _M_data->_M_aday2 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
-+ _M_data->_M_aday3 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
-+ _M_data->_M_aday4 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
-+ _M_data->_M_aday5 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
-+ _M_data->_M_aday6 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
-+ _M_data->_M_aday7 = __u.__w;
-+
-+ // Month names, starting with "C"'s January.
-+ __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
-+ _M_data->_M_month01 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
-+ _M_data->_M_month02 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
-+ _M_data->_M_month03 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
-+ _M_data->_M_month04 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
-+ _M_data->_M_month05 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
-+ _M_data->_M_month06 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
-+ _M_data->_M_month07 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
-+ _M_data->_M_month08 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
-+ _M_data->_M_month09 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
-+ _M_data->_M_month10 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
-+ _M_data->_M_month11 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
-+ _M_data->_M_month12 = __u.__w;
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
-+ _M_data->_M_amonth01 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
-+ _M_data->_M_amonth02 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
-+ _M_data->_M_amonth03 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
-+ _M_data->_M_amonth04 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
-+ _M_data->_M_amonth05 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
-+ _M_data->_M_amonth06 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
-+ _M_data->_M_amonth07 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
-+ _M_data->_M_amonth08 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
-+ _M_data->_M_amonth09 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
-+ _M_data->_M_amonth10 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
-+ _M_data->_M_amonth11 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
-+ _M_data->_M_amonth12 = __u.__w;
-+ }
-+#endif // 0
-+ }
-+#endif
-+}
-diff -urN gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/locale/uclibc/time_members.h 2005-04-30 19:36:16.929897142 -0500
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
-+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_timepunct = __tmp;
-+ _M_initialize_timepunct(__cloc);
-+ }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::~__timepunct()
-+ {
-+ if (_M_name_timepunct != _S_get_c_name())
-+ delete [] _M_name_timepunct;
-+ delete _M_data;
-+ _S_destroy_c_locale(_M_c_locale_timepunct);
-+ }
-diff -urN gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_base.h
---- gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_base.h 2005-04-30 19:36:16.930896973 -0500
-@@ -0,0 +1,64 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+/** @file ctype_base.h
-+ * This is an internal header file, included by other library headers.
-+ * You should not attempt to use it directly.
-+ */
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ /// @brief Base class for ctype.
-+ struct ctype_base
-+ {
-+ // Note: In uClibc, the following two types depend on configuration.
-+
-+ // Non-standard typedefs.
-+ typedef const __ctype_touplow_t* __to_type;
-+
-+ // NB: Offsets into ctype<char>::_M_table force a particular size
-+ // on the mask type. Because of this, we don't use an enum.
-+ typedef __ctype_mask_t mask;
-+ static const mask upper = _ISupper;
-+ static const mask lower = _ISlower;
-+ static const mask alpha = _ISalpha;
-+ static const mask digit = _ISdigit;
-+ static const mask xdigit = _ISxdigit;
-+ static const mask space = _ISspace;
-+ static const mask print = _ISprint;
-+ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
-+ static const mask cntrl = _IScntrl;
-+ static const mask punct = _ISpunct;
-+ static const mask alnum = _ISalpha | _ISdigit;
-+ };
-diff -urN gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_inline.h
---- gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_inline.h 2005-04-30 19:36:16.931896804 -0500
-@@ -0,0 +1,69 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+
-+ bool
-+ ctype<char>::
-+ is(mask __m, char __c) const
-+ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-+
-+ const char*
-+ ctype<char>::
-+ is(const char* __low, const char* __high, mask* __vec) const
-+ {
-+ while (__low < __high)
-+ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-+ return __high;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_is(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-+ ++__low;
-+ return __low;
-+ }
-+
-+ const char*
-+ ctype<char>::
-+ scan_not(mask __m, const char* __low, const char* __high) const
-+ {
-+ while (__low < __high
-+ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-+ ++__low;
-+ return __low;
-+ }
-diff -urN gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_noninline.h
---- gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2005-04-30 19:36:16.931896804 -0500
-@@ -0,0 +1,92 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1 Locales
-+//
-+
-+// Information as gleaned from /usr/include/ctype.h
-+
-+ const ctype_base::mask*
-+ ctype<char>::classic_table() throw()
-+ { return __C_ctype_b; }
-+
-+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
-+ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+ {
-+ _M_toupper = __C_ctype_toupper;
-+ _M_tolower = __C_ctype_tolower;
-+ _M_table = __table ? __table : __C_ctype_b;
-+ memset(_M_widen, 0, sizeof(_M_widen));
-+ memset(_M_narrow, 0, sizeof(_M_narrow));
-+ }
-+
-+ char
-+ ctype<char>::do_toupper(char __c) const
-+ { return _M_toupper[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_toupper(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-+
-+ char
-+ ctype<char>::do_tolower(char __c) const
-+ { return _M_tolower[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<char>::do_tolower(char* __low, const char* __high) const
-+ {
-+ while (__low < __high)
-+ {
-+ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
-+ ++__low;
-+ }
-+ return __high;
-+ }
-diff -urN gcc-4.1.0/libstdc++-v3/config/os/uclibc/os_defines.h gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/os_defines.h
---- gcc-4.1.0/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/config/os/uclibc/os_defines.h 2005-04-30 19:36:16.932896635 -0500
-@@ -0,0 +1,44 @@
-+// Specific definitions for GNU/Linux -*- C++ -*-
-+
-+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here. This
-+// file will come before all others.
-+
-+// This keeps isanum, et al from being propagated as macros.
-+#define __NO_CTYPE 1
-+
-+#include <features.h>
-+
-+// We must not see the optimized string functions GNU libc defines.
-+#define __NO_STRING_INLINES
-+
-+#endif
-diff -urN gcc-4.1.0/libstdc++-v3/configure gcc-4.1.0-patched/libstdc++-v3/configure
---- gcc-4.1.0/libstdc++-v3/configure 2005-04-13 19:31:43.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/configure 2005-04-30 19:36:16.993886339 -0500
-@@ -3986,6 +3986,11 @@
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5744,6 +5749,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
-+ linux-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
-@@ -5974,6 +5982,77 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$check_msgfmt"; then
-+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_check_msgfmt="yes"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+
-+
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-@@ -7686,21 +7765,6 @@
- echo "${ECHO_T}$enable_long_long" >&6
-
-
-- # Check whether --enable-wchar_t or --disable-wchar_t was given.
--if test "${enable_wchar_t+set}" = set; then
-- enableval="$enable_wchar_t"
--
-- case "$enableval" in
-- yes|no) ;;
-- *) { { echo "$as_me:$LINENO: error: Argument to enable/disable wchar_t must be yes or no" >&5
--echo "$as_me: error: Argument to enable/disable wchar_t must be yes or no" >&2;}
-- { (exit 1); exit 1; }; } ;;
-- esac
--
--else
-- enable_wchar_t=yes
--fi;
--
- if test x"$ac_c99_wchar" = x"yes" && test x"$enable_wchar_t" = x"yes"; then
-
- cat >>confdefs.h <<\_ACEOF
-diff -urN gcc-4.1.0/libstdc++-v3/configure.host gcc-4.1.0-patched/libstdc++-v3/configure.host
---- gcc-4.1.0/libstdc++-v3/configure.host 2005-01-13 16:48:14.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/configure.host 2005-04-30 19:36:16.996885833 -0500
-@@ -249,6 +249,12 @@
- ;;
- esac
-
-+# Override for uClibc since linux-uclibc gets mishandled above.
-+case "${host_os}" in
-+ *-uclibc*)
-+ os_include_dir="os/uclibc"
-+ ;;
-+esac
-
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED. KEEP IT THAT WAY.
-diff -urN gcc-4.1.0/libstdc++-v3/crossconfig.m4 gcc-4.1.0-patched/libstdc++-v3/crossconfig.m4
---- gcc-4.1.0/libstdc++-v3/crossconfig.m4 2005-04-06 18:31:16.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/crossconfig.m4 2005-04-30 19:36:16.997885664 -0500
-@@ -143,6 +143,99 @@
- ;;
- esac
- ;;
-+ *-uclibc*)
-+# Temporary hack until we implement the float versions of the libm funcs
-+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
-+ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
-+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
-+ AC_SUBST(SECTION_FLAGS)
-+ GLIBCXX_CHECK_LINKER_FEATURES
-+ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-+ GLIBCXX_CHECK_WCHAR_T_SUPPORT
-+
-+ # For LFS.
-+ AC_DEFINE(HAVE_INT64_T)
-+ case "$target" in
-+ *-uclinux*)
-+ # Don't enable LFS with uClinux
-+ ;;
-+ *)
-+ AC_DEFINE(_GLIBCXX_USE_LFS)
-+ esac
-+
-+ # For showmanyc_helper().
-+ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
-+ GLIBCXX_CHECK_POLL
-+ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-+
-+ # For xsputn_2().
-+ AC_CHECK_HEADERS(sys/uio.h)
-+ GLIBCXX_CHECK_WRITEV
-+
-+# AC_DEFINE(HAVE_ACOSF)
-+# AC_DEFINE(HAVE_ASINF)
-+# AC_DEFINE(HAVE_ATANF)
-+# AC_DEFINE(HAVE_ATAN2F)
-+ AC_DEFINE(HAVE_CEILF)
-+ AC_DEFINE(HAVE_COPYSIGN)
-+# AC_DEFINE(HAVE_COPYSIGNF)
-+# AC_DEFINE(HAVE_COSF)
-+# AC_DEFINE(HAVE_COSHF)
-+# AC_DEFINE(HAVE_EXPF)
-+# AC_DEFINE(HAVE_FABSF)
-+ AC_DEFINE(HAVE_FINITE)
-+ AC_DEFINE(HAVE_FINITEF)
-+ AC_DEFINE(HAVE_FLOORF)
-+# AC_DEFINE(HAVE_FMODF)
-+# AC_DEFINE(HAVE_FREXPF)
-+ AC_DEFINE(HAVE_HYPOT)
-+# AC_DEFINE(HAVE_HYPOTF)
-+ AC_DEFINE(HAVE_ISINF)
-+ AC_DEFINE(HAVE_ISINFF)
-+ AC_DEFINE(HAVE_ISNAN)
-+ AC_DEFINE(HAVE_ISNANF)
-+# AC_DEFINE(HAVE_LOGF)
-+# AC_DEFINE(HAVE_LOG10F)
-+# AC_DEFINE(HAVE_MODFF)
-+# AC_DEFINE(HAVE_SINF)
-+# AC_DEFINE(HAVE_SINHF)
-+# AC_DEFINE(HAVE_SINCOS)
-+# AC_DEFINE(HAVE_SINCOSF)
-+ AC_DEFINE(HAVE_SQRTF)
-+# AC_DEFINE(HAVE_TANF)
-+# AC_DEFINE(HAVE_TANHF)
-+ if test x"long_double_math_on_this_cpu" = x"yes"; then
-+ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
-+# AC_DEFINE(HAVE_ACOSL)
-+# AC_DEFINE(HAVE_ASINL)
-+# AC_DEFINE(HAVE_ATANL)
-+# AC_DEFINE(HAVE_ATAN2L)
-+# AC_DEFINE(HAVE_CEILL)
-+# AC_DEFINE(HAVE_COPYSIGNL)
-+# AC_DEFINE(HAVE_COSL)
-+# AC_DEFINE(HAVE_COSHL)
-+# AC_DEFINE(HAVE_EXPL)
-+# AC_DEFINE(HAVE_FABSL)
-+# AC_DEFINE(HAVE_FINITEL)
-+# AC_DEFINE(HAVE_FLOORL)
-+# AC_DEFINE(HAVE_FMODL)
-+# AC_DEFINE(HAVE_FREXPL)
-+# AC_DEFINE(HAVE_HYPOTL)
-+# AC_DEFINE(HAVE_ISINFL)
-+# AC_DEFINE(HAVE_ISNANL)
-+# AC_DEFINE(HAVE_LOGL)
-+# AC_DEFINE(HAVE_LOG10L)
-+# AC_DEFINE(HAVE_MODFL)
-+# AC_DEFINE(HAVE_POWL)
-+# AC_DEFINE(HAVE_SINL)
-+# AC_DEFINE(HAVE_SINHL)
-+# AC_DEFINE(HAVE_SINCOSL)
-+# AC_DEFINE(HAVE_SQRTL)
-+# AC_DEFINE(HAVE_TANL)
-+# AC_DEFINE(HAVE_TANHL)
-+ fi
-+ ;;
- *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
- AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
- machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -157,7 +250,7 @@
- AC_DEFINE(HAVE_INT64_T)
- case "$target" in
- *-uclinux*)
-- # Don't enable LFS with uClibc
-+ # Don't enable LFS with uClinux
- ;;
- *)
- AC_DEFINE(_GLIBCXX_USE_LFS)
-diff -urN gcc-4.1.0/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.1.0-patched/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-4.1.0/libstdc++-v3/include/c_compatibility/wchar.h 2003-12-08 21:51:45.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-30 19:36:16.997885664 -0500
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
-
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -urN gcc-4.1.0/libstdc++-v3/include/c_std/std_cwchar.h gcc-4.1.0-patched/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-4.1.0/libstdc++-v3/include/c_std/std_cwchar.h 2004-07-20 03:47:42.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/include/c_std/std_cwchar.h 2005-04-30 19:36:16.998885495 -0500
-@@ -179,7 +179,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
diff --git a/openwrt/toolchain/gcc/4.1.0/300-libstdc++-pic.patch b/openwrt/toolchain/gcc/4.1.0/300-libstdc++-pic.patch
deleted file mode 100644
index 89d03a8..0000000
--- a/openwrt/toolchain/gcc/4.1.0/300-libstdc++-pic.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-# DP: Build and install libstdc++_pic.a library.
-
---- gcc-4.1.0/libstdc++-v3/src/Makefile.am 2004-11-15 17:33:05.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/src/Makefile.am 2005-04-25 20:05:59.186930896 -0500
-@@ -214,6 +214,10 @@
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
-
-
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # Added bits to build debug library.
- if GLIBCXX_BUILD_DEBUG
- all-local: build_debug
---- gcc-4.1.0/libstdc++-v3/src/Makefile.in 2005-04-11 19:13:08.000000000 -0500
-+++ gcc-4.1.0-patched/libstdc++-v3/src/Makefile.in 2005-04-25 20:12:33.284316275 -0500
-@@ -627,7 +627,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -660,6 +660,7 @@
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-data-local install-exec \
-+ install-exec-local \
- install-exec-am install-info install-info-am install-man \
- install-strip install-toolexeclibLTLIBRARIES installcheck \
- installcheck-am installdirs maintainer-clean \
-@@ -745,6 +746,11 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # 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.
- .NOEXPORT:
diff --git a/openwrt/toolchain/gcc/4.1.0/301-missing-execinfo_h.patch b/openwrt/toolchain/gcc/4.1.0/301-missing-execinfo_h.patch
deleted file mode 100644
index 0e2092f..0000000
--- a/openwrt/toolchain/gcc/4.1.0/301-missing-execinfo_h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
-+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
-@@ -500,7 +500,7 @@
- #ifdef __linux__
- # include <features.h>
- # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
-- && !defined(__ia64__)
-+ && !defined(__ia64__) && !defined(__UCLIBC__)
- # ifndef GC_HAVE_BUILTIN_BACKTRACE
- # define GC_HAVE_BUILTIN_BACKTRACE
- # endif
diff --git a/openwrt/toolchain/gcc/4.1.0/302-c99-snprintf.patch b/openwrt/toolchain/gcc/4.1.0/302-c99-snprintf.patch
deleted file mode 100644
index dfb22d6..0000000
--- a/openwrt/toolchain/gcc/4.1.0/302-c99-snprintf.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500
-@@ -142,7 +142,7 @@
- using ::vsprintf;
- }
-
--#if _GLIBCXX_USE_C99
-+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
-
- #undef snprintf
- #undef vfscanf
diff --git a/openwrt/toolchain/gcc/4.1.0/303-c99-complex-ugly-hack.patch b/openwrt/toolchain/gcc/4.1.0/303-c99-complex-ugly-hack.patch
deleted file mode 100644
index 2ccc80d..0000000
--- a/openwrt/toolchain/gcc/4.1.0/303-c99-complex-ugly-hack.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
-+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
-@@ -7194,6 +7194,9 @@
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <complex.h>
-+#ifdef __UCLIBC__
-+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
-+#endif
- int
- main ()
- {
diff --git a/openwrt/toolchain/gcc/4.1.0/602-sdk-libstdc++-includes.patch b/openwrt/toolchain/gcc/4.1.0/602-sdk-libstdc++-includes.patch
deleted file mode 100644
index 23fce75..0000000
--- a/openwrt/toolchain/gcc/4.1.0/602-sdk-libstdc++-includes.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- gcc-4.1.0/libstdc++-v3/fragment.am 2005-03-21 11:40:14.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/fragment.am 2005-04-25 20:14:39.856251785 -0500
-@@ -21,5 +21,5 @@
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
-
- # -I/-D flags to pass when compiling.
--AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
-
---- gcc-4.1.0/libstdc++-v3/libmath/Makefile.am 2005-03-21 11:40:18.000000000 -0600
-+++ gcc-4.1.0-patched/libstdc++-v3/libmath/Makefile.am 2005-04-25 20:14:39.682280735 -0500
-@@ -35,7 +35,7 @@
-
- libmath_la_SOURCES = stubs.c
-
--AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
-
- # Only compiling "C" sources in this directory.
- LIBTOOL = @LIBTOOL@ --tag CC
diff --git a/openwrt/toolchain/gcc/4.1.0/740-sh-pr24836.patch b/openwrt/toolchain/gcc/4.1.0/740-sh-pr24836.patch
deleted file mode 100644
index 7992282..0000000
--- a/openwrt/toolchain/gcc/4.1.0/740-sh-pr24836.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
-http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
-
---- gcc/gcc/configure.ac (revision 106699)
-+++ gcc/gcc/configure.ac (working copy)
-@@ -2446,7 +2446,7 @@
- tls_first_minor=14
- tls_as_opt="-m64 -Aesame --fatal-warnings"
- ;;
-- sh-*-* | sh[34]-*-*)
-+ sh-*-* | sh[34]*-*-*)
- conftest_s='
- .section ".tdata","awT",@progbits
- foo: .long 25
---- gcc/gcc/configure
-+++ gcc/gcc/configure
-@@ -14846,7 +14846,7 @@
- tls_first_minor=14
- tls_as_opt="-m64 -Aesame --fatal-warnings"
- ;;
-- sh-*-* | sh[34]-*-*)
-+ sh-*-* | sh[34]*-*-*)
- conftest_s='
- .section ".tdata","awT",@progbits
- foo: .long 25
diff --git a/openwrt/toolchain/gcc/4.1.0/800-arm-bigendian.patch b/openwrt/toolchain/gcc/4.1.0/800-arm-bigendian.patch
deleted file mode 100644
index 1fa5ae1..0000000
--- a/openwrt/toolchain/gcc/4.1.0/800-arm-bigendian.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
---- gcc-4.1.0/gcc/config/arm/linux-elf.h
-+++ gcc-4.1.0/gcc/config/arm/linux-elf.h
-@@ -28,19 +28,33 @@
- #undef TARGET_VERSION
- #define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- #undef TARGET_DEFAULT_FLOAT_ABI
- #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
-
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (0)
-+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
-
- /* Now we define the strings used to build the spec file. */
- #undef LIB_SPEC
-@@ -61,7 +75,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " LINUX_TARGET_INTERPRETER "} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #undef LINK_SPEC
---- gcc-4.1.0/gcc/config.gcc
-+++ gcc-4.1.0/gcc/config.gcc
-@@ -672,6 +672,11 @@
- ;;
- arm*-*-linux*) # ARM GNU/Linux with ELF
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
-+ case $target in
-+ arm*b-*)
-+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
-+ ;;
-+ esac
- tmake_file="${tmake_file} t-linux arm/t-arm"
- case ${target} in
- arm*-*-linux-gnueabi)
diff --git a/openwrt/toolchain/gcc/Config.in b/openwrt/toolchain/gcc/Config.in
deleted file mode 100644
index 356e9eb..0000000
--- a/openwrt/toolchain/gcc/Config.in
+++ /dev/null
@@ -1,92 +0,0 @@
-# Choose gcc version.
-# WARNING -- 2.95 currently only builds for i386, arm, mips*, and powerpc.
-# WARNING -- 2.95 does not currently build natively for the target.
-
-if CONFIG_DEVEL
- comment "Gcc Options"
-endif
-
-
-# the choice option below is completely ignored
-# if CONFIG_DEVEL isn't set, so we have to set
-# these manually ... annoying.
-config BR2_GCC_VERSION_3_4_4
- bool
- default y if BR2_LINUX_2_4_BRCM
-
-config BR2_GCC_VERSION_4_0_3
- bool
- default y if BR2_LINUX_2_6_ARUBA || BR2_LINUX_2_6_XSCALE
-
-config BR2_GCC_VERSION_4_1_0
- bool
-
-choice
- prompt "GCC compiler Version" if CONFIG_DEVEL
- default BR2_GCC_VERSION_4_0_3 if BR2_LINUX_2_6_ARUBA || BR2_LINUX_2_6_XSCALE
- default BR2_GCC_VERSION_3_4_4 if BR2_LINUX_2_4_BRCM
- default BR2_GCC_VERSION_3_4_6
- help
- Select the version of gcc you wish to use.
-
-
- config BR2_GCC_VERSION_3_4_4
- bool "gcc 3.4.4"
-
- config BR2_GCC_VERSION_3_4_5
- bool "gcc 3.4.5"
-
- config BR2_GCC_VERSION_3_4_6
- bool "gcc 3.4.6"
-
- config BR2_GCC_VERSION_4_0_2
- bool "gcc 4.0.2"
-
- config BR2_GCC_VERSION_4_0_3
- bool "gcc 4.0.3"
-
- config BR2_GCC_VERSION_4_1_0
- bool "gcc 4.1.0"
-
-endchoice
-
-# more nasty hacks
-config BR2_PACKAGE_LIBGCC
- tristate
- default y if BR2_GCC_VERSION_4_0_2 || BR2_GCC_VERSION_4_0_3 || BR2_GCC_VERSION_4_1_0
- default m if CONFIG_DEVEL
- default n
-
-config BR2_GCC_VERSION
- string
- default "3.4.4" if BR2_GCC_VERSION_3_4_4
- default "3.4.5" if BR2_GCC_VERSION_3_4_5
- default "3.4.6" if BR2_GCC_VERSION_3_4_6
- default "4.0.2" if BR2_GCC_VERSION_4_0_2
- default "4.0.3" if BR2_GCC_VERSION_4_0_3
- default "4.1.0" if BR2_GCC_VERSION_4_1_0
- default "3.4.6"
-
-
-config BR2_GCC_USE_SJLJ_EXCEPTIONS
- string
-# default "--enable-sjlj-exceptions"
- default ""
- help
- Currently the unwind stuff seems to work for staticly linked apps
- but not dynamic. So use setjmp/longjmp exceptions by default.
-
-config BR2_EXTRA_GCC_CONFIG_OPTIONS
- string
- prompt "Additional gcc options" if CONFIG_DEVEL
- default ""
- help
- Any additional gcc options you may want to include....
-
-config BR2_INSTALL_LIBSTDCPP
- bool
- prompt "Build/install c++ compiler and libstdc++?" if CONFIG_DEVEL
- default y
- help
- Build/install c++ compiler and libstdc++?
-
diff --git a/openwrt/toolchain/gcc/Makefile b/openwrt/toolchain/gcc/Makefile
deleted file mode 100644
index 26e17ad..0000000
--- a/openwrt/toolchain/gcc/Makefile
+++ /dev/null
@@ -1,209 +0,0 @@
-# Makefile for to build a gcc/uClibc toolchain
-#
-# Copyright (C) 2002-2003 Erik Andersen <andersen@uclibc.org>
-# Copyright (C) 2004 Manuel Novoa III <mjn3@uclibc.org>
-# Copyright (C) 2005 Felix Fietkau <openwrt@nbd.name>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-include $(TOPDIR)/rules.mk
-
-GCC_VERSION:=$(strip $(GCC_VERSION))
-
-#GCC_SITE:=ftp://ftp.gnu.org/gnu/gcc/releases/gcc-$(GCC_VERSION)
-GCC_SITE:=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-$(GCC_VERSION) \
- http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(GCC_VERSION)
-
-GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2
-GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION)
-GCC_CAT:=bzcat
-GCC_STRIP_HOST_BINARIES:=true
-
-#############################################################
-#
-# Setup some initial stuff
-#
-#############################################################
-
-ifeq ($(BR2_INSTALL_LIBGCJ),y)
-TARGET_LANGUAGES:=c,c++,java
-else
-ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
-TARGET_LANGUAGES:=c,c++
-else
-TARGET_LANGUAGES:=c
-endif
-endif
-
-#############################################################
-#
-# build the first pass gcc compiler
-#
-#############################################################
-
-GCC_BUILD_DIR1:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION)-initial
-
-$(DL_DIR)/$(GCC_SOURCE):
- mkdir -p $(DL_DIR)
- $(SCRIPT_DIR)/download.pl $(DL_DIR) $(GCC_SOURCE) x $(GCC_SITE)
-
-$(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
- mkdir -p $(TOOL_BUILD_DIR)
- $(GCC_CAT) $(DL_DIR)/$(GCC_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
- touch $(GCC_DIR)/.unpacked
-
-$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
- # Apply any files named gcc-*.patch from the source directory to gcc
- $(SCRIPT_DIR)/patch-kernel.sh $(GCC_DIR) ./$(GCC_VERSION) \*.patch
- # Note: The soft float situation has improved considerably with gcc 3.4.x.
- # We can dispense with the custom spec files, as well as libfloat for the arm case.
- # However, we still need a patch for arm. There's a similar patch for gcc 3.3.x
- # which needs to be integrated so we can kill of libfloat for good.
-ifeq ($(BR2_SOFT_FLOAT),y)
-ifeq ("$(strip $(ARCH))","arm")
- $(SCRIPT_DIR)/patch-kernel.sh $(GCC_DIR) ./$(GCC_VERSION) arm-softfloat.patch.conditional
-endif
-ifeq ("$(strip $(ARCH))","armeb")
- $(SCRIPT_DIR)/patch-kernel.sh $(GCC_DIR) ./$(GCC_VERSION) arm-softfloat.patch.conditional
-endif
-endif
- $(SED) 's,\(version_string.. = "[0-9\.]*\).*\(";\),\1 (OpenWrt-2.0)\2,' $(GCC_DIR)/gcc/version.c
- $(SED) 's,\(bug_report_url.. = "\).*\(";\),\1<URL:https://dev.openwrt.org/>\2,' $(GCC_DIR)/gcc/version.c
- touch $(GCC_DIR)/.patched
-
-# The --without-headers option stopped working with gcc 3.0 and has never been
-# # fixed, so we need to actually have working C library header files prior to
-# # the step or libgcc will not build...
-
-$(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
- mkdir -p $(GCC_BUILD_DIR1)
- (cd $(GCC_BUILD_DIR1); rm -f config.cache; PATH=$(TARGET_PATH) \
- $(GCC_DIR)/configure \
- --prefix=$(STAGING_DIR) \
- --build=$(GNU_HOST_NAME) \
- --host=$(GNU_HOST_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
- --enable-languages=c \
- --disable-shared \
- --with-sysroot=$(TOOL_BUILD_DIR)/uClibc_dev/ \
- --disable-__cxa_atexit \
- --enable-target-optspace \
- --with-gnu-ld \
- $(DISABLE_NLS) \
- $(MULTILIB) \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- $(GCC_WITH_CPU) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
- $(EXTRA_GCC_CONFIG_OPTIONS));
- touch $(GCC_BUILD_DIR1)/.configured
-
-$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
- touch $(GCC_BUILD_DIR1)/.compiled
-
-$(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gcc: $(GCC_BUILD_DIR1)/.compiled
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc
-
-#############################################################
-#
-# second pass compiler build. Build the compiler targeting
-# the newly built shared uClibc library.
-#
-#############################################################
-#
-# Sigh... I had to rework things because using --with-gxx-include-dir
-# causes issues with include dir search order for g++. This seems to
-# have something to do with "path translations" and possibly doesn't
-# affect gcc-target. However, I haven't tested gcc-target yet so no
-# guarantees. mjn3
-
-GCC_BUILD_DIR2:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION)-final
-$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched $(STAGING_DIR)/lib/libc.a
- mkdir -p $(GCC_BUILD_DIR2)
- # Important! Required for limits.h to be fixed.
- rm -rf $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
- ln -sf ../include $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/sys-include
- rm -rf $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib
- ln -sf ../lib $(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/lib
- (cd $(GCC_BUILD_DIR2); rm -f config.cache; PATH=$(TARGET_PATH) \
- $(GCC_DIR)/configure \
- --prefix=$(STAGING_DIR) \
- --build=$(GNU_HOST_NAME) \
- --host=$(GNU_HOST_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
- --enable-languages=$(TARGET_LANGUAGES) \
- --enable-shared \
- --disable-__cxa_atexit \
- --enable-target-optspace \
- --with-gnu-ld \
- $(DISABLE_NLS) \
- $(MULTILIB) \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- $(GCC_WITH_CPU) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
- $(GCC_USE_SJLJ_EXCEPTIONS) \
- $(EXTRA_GCC_CONFIG_OPTIONS));
- touch $(GCC_BUILD_DIR2)/.configured
-
-$(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) all
- touch $(GCC_BUILD_DIR2)/.compiled
-
-gcc-install: $(GCC_BUILD_DIR2)/.compiled
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install
- echo $(GCC_VERSION) > $(STAGING_DIR)/gcc_version
- # Set up the symlinks to enable lying about target name.
- set -e; \
- (cd $(STAGING_DIR); \
- ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \
- cd bin; \
- for app in $(REAL_GNU_TARGET_NAME)-* ; do \
- ln -sf $${app} \
- $(GNU_TARGET_NAME)$${app##$(REAL_GNU_TARGET_NAME)}; \
- done; \
- );
- #
- # Now for the ugly 3.3.x soft float hack...
- #
-ifeq ($(BR2_SOFT_FLOAT),y)
-ifeq ($(findstring 3.3.,$(GCC_VERSION)),3.3.)
- # Make sure we have a soft float specs file for this arch
- if [ ! -f ./$(GCC_VERSION)/specs-$(ARCH)-soft-float ] ; then \
- echo soft float configured but no specs file for this arch ; \
- /bin/false ; \
- fi;
- # Replace specs file with one that defaults to soft float mode.
- if [ ! -f $(STAGING_DIR)/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs ] ; then \
- echo staging dir specs file is missing ; \
- /bin/false ; \
- fi;
- $(CP) ./$(GCC_VERSION)/specs-$(ARCH)-soft-float $(STAGING_DIR)/lib/gcc-lib/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs
-endif
-endif
-# We do another ugly hack here because the standard behaviour is
-# to include a reference to libgcc.so.1 in all binaries. For flash space
-# saving, we change the specs file to link in a static libgcc here.
- if [ -f $(STAGING_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/specs ] ; then \
- patch -d $(STAGING_DIR)/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_VERSION)/ -p0 < ./$(GCC_VERSION)/static-libgcc.patch.conditional ; \
- fi;
-
-source: $(DL_DIR)/$(GCC_SOURCE)
-prepare: $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gcc
-compile: gcc-install
-install:
-clean: gcc-clean
- rm -rf $(GCC_DIR)
- rm -rf $(GCC_BUILD_DIR1)
- rm -rf $(GCC_BUILD_DIR2)
- rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-gc*
- rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)-c*
diff --git a/openwrt/toolchain/gdb/Config.in b/openwrt/toolchain/gdb/Config.in
deleted file mode 100644
index 574a398..0000000
--- a/openwrt/toolchain/gdb/Config.in
+++ /dev/null
@@ -1,8 +0,0 @@
-comment "Gdb Options"
-
-config BR2_PACKAGE_GDB_CLIENT
- bool "Build gdb client for the Host"
- default n
- help
- Build gdb to run on the host to debug programs running on the target.
-
diff --git a/openwrt/toolchain/gdb/Makefile b/openwrt/toolchain/gdb/Makefile
deleted file mode 100644
index b1a2ad5..0000000
--- a/openwrt/toolchain/gdb/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# $Id$
-
-include $(TOPDIR)/rules.mk
-
-GDB_NAME:=gdb
-GDB_SITE:=http://ftp.gnu.org/gnu/gdb
-GDB_VERSION:=6.3
-GDB_SOURCE:=$(GDB_NAME)-$(GDB_VERSION).tar.bz2
-GDB_CAT:=bzcat
-
-GDB_DIR:=$(TOOL_BUILD_DIR)/$(GDB_NAME)-$(GDB_VERSION)
-
-$(DL_DIR)/$(GDB_SOURCE):
- $(WGET) -P $(DL_DIR) $(GDB_SITE)/$(GDB_SOURCE)
-
-$(GDB_DIR)/.patched: $(DL_DIR)/$(GDB_SOURCE)
- $(GDB_CAT) $(DL_DIR)/$(GDB_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
- $(PATCH) $(GDB_DIR) ./patches
- # Copy a config.sub from gcc. This is only necessary until
- # gdb's config.sub supports <arch>-linux-uclibc tuples.
- # Should probably integrate this into the patch.
- touch $(GDB_DIR)/.patched
-
-# gdb client
-
-GDB_CLIENT_DIR:=$(TOOL_BUILD_DIR)/gdbclient-$(GDB_VERSION)
-
-$(GDB_CLIENT_DIR)/.configured: $(GDB_DIR)/.patched
- mkdir -p $(GDB_CLIENT_DIR)
- (cd $(GDB_CLIENT_DIR); \
- gdb_cv_func_sigsetjmp=yes \
- $(GDB_DIR)/configure \
- --prefix=$(STAGING_DIR) \
- --build=$(GNU_HOST_NAME) \
- --host=$(GNU_HOST_NAME) \
- --target=$(REAL_GNU_TARGET_NAME) \
- $(DISABLE_NLS) \
- --without-uiout --disable-gdbmi \
- --disable-tui --disable-gdbtk --without-x \
- --without-included-gettext \
- --enable-threads \
- );
- touch $(GDB_CLIENT_DIR)/.configured
-
-$(GDB_CLIENT_DIR)/gdb/gdb: $(GDB_CLIENT_DIR)/.configured
- $(MAKE) -C $(GDB_CLIENT_DIR)
- strip $(GDB_CLIENT_DIR)/gdb/gdb
-
-$(TARGET_CROSS)gdb: $(GDB_CLIENT_DIR)/gdb/gdb
- install -c $(GDB_CLIENT_DIR)/gdb/gdb $(TARGET_CROSS)gdb
- cd $(STAGING_DIR)/bin && \
- ln -fs $(TARGET_CROSS)gdb $(GNU_TARGET_NAME)-gdb
-
-source: $(DL_DIR)/$(GDB_SOURCE)
-prepare: $(GDB_DIR)/.patched
-compile:
-install: $(TARGET_CROSS)gdb
-clean:
- rm -rf $(GDB_CLIENT_DIR) $(GDB_DIR)
diff --git a/openwrt/toolchain/gdb/patches/100-uclibc-conf.patch b/openwrt/toolchain/gdb/patches/100-uclibc-conf.patch
deleted file mode 100644
index cc69ff3..0000000
--- a/openwrt/toolchain/gdb/patches/100-uclibc-conf.patch
+++ /dev/null
@@ -1,280 +0,0 @@
---- gdb-6.3/bfd/config.bfd.orig Fri Oct 15 07:47:11 2004
-+++ gdb-6.3/bfd/config.bfd Mon Feb 28 00:04:43 2005
-@@ -129,7 +129,7 @@
- targ_defvec=ecoffalpha_little_vec
- targ_selvecs=bfd_elf64_alpha_vec
- ;;
-- alpha*-*-linux-gnu* | alpha*-*-elf*)
-+ alpha*-*-linux-* | alpha*-*-elf*)
- targ_defvec=bfd_elf64_alpha_vec
- targ_selvecs=ecoffalpha_little_vec
- ;;
-@@ -139,7 +139,7 @@
- alpha*-*-*)
- targ_defvec=ecoffalpha_little_vec
- ;;
-- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
-+ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
- targ_defvec=bfd_elf64_ia64_little_vec
- targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
- ;;
-@@ -216,7 +216,7 @@
- targ_defvec=bfd_elf32_littlearm_vec
- targ_selvecs=bfd_elf32_bigarm_vec
- ;;
-- armeb-*-elf | arm*b-*-linux-gnu*)
-+ armeb-*-elf | arm*b-*-linux-*)
- targ_defvec=bfd_elf32_bigarm_vec
- targ_selvecs=bfd_elf32_littlearm_vec
- ;;
-@@ -224,7 +224,7 @@
- targ_defvec=bfd_elf32_littlearm_vec
- targ_selvecs=bfd_elf32_bigarm_vec
- ;;
-- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
-+ arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
- arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
- arm*-*-eabi* )
- targ_defvec=bfd_elf32_littlearm_vec
-@@ -378,7 +378,7 @@
- ;;
-
- #ifdef BFD64
-- hppa*64*-*-linux-gnu*)
-+ hppa*64*-*-linux-*)
- targ_defvec=bfd_elf64_hppa_linux_vec
- targ_selvecs=bfd_elf64_hppa_vec
- ;;
-@@ -389,7 +389,7 @@
- ;;
- #endif
-
-- hppa*-*-linux-gnu*)
-+ hppa*-*-linux-*)
- targ_defvec=bfd_elf32_hppa_linux_vec
- targ_selvecs=bfd_elf32_hppa_vec
- ;;
-@@ -522,7 +522,7 @@
- targ_selvecs=bfd_elf32_i386_vec
- targ_underscore=yes
- ;;
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-*)
- targ_defvec=bfd_elf32_i386_vec
- targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
- targ64_selvecs=bfd_elf64_x86_64_vec
-@@ -536,7 +536,7 @@
- targ_defvec=bfd_elf64_x86_64_vec
- targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
- ;;
-- x86_64-*-linux-gnu*)
-+ x86_64-*-linux-*)
- targ_defvec=bfd_elf64_x86_64_vec
- targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
- ;;
-@@ -706,7 +706,7 @@
- targ_defvec=hp300hpux_vec
- targ_underscore=yes
- ;;
-- m68*-*-linux*aout*)
-+ m68*-*-linux*aout* | m68*-*-linux-uclibc*)
- targ_defvec=m68klinux_vec
- targ_selvecs=bfd_elf32_m68k_vec
- targ_underscore=yes
-@@ -987,7 +987,7 @@
- ;;
- #endif
- powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
-- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
-+ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
- powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
- targ_defvec=bfd_elf32_powerpc_vec
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
-@@ -1024,7 +1024,7 @@
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
- ;;
- powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
-- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
-+ powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks* |\
- powerpcle-*-rtems*)
- targ_defvec=bfd_elf32_powerpcle_vec
- targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
-@@ -1192,7 +1192,7 @@
- targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
- targ_underscore=yes
- ;;
-- sparc-*-linux-gnu*)
-+ sparc-*-linux-*)
- targ_defvec=bfd_elf32_sparc_vec
- targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
- ;;
-@@ -1239,7 +1239,7 @@
- targ_defvec=sunos_big_vec
- targ_underscore=yes
- ;;
-- sparc64-*-linux-gnu*)
-+ sparc64-*-linux-*)
- targ_defvec=bfd_elf64_sparc_vec
- targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
- ;;
-@@ -1308,7 +1308,7 @@
- targ_underscore=yes
- ;;
-
-- vax-*-linux-gnu*)
-+ vax-*-linux-*)
- targ_defvec=bfd_elf32_vax_vec
- ;;
-
---- gdb-6.3/bfd/configure.orig Fri Oct 8 16:53:56 2004
-+++ gdb-6.3/bfd/configure Sun Feb 27 18:32:58 2005
-@@ -3583,6 +3583,11 @@
- lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- netbsd* | knetbsd*-gnu)
- if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -9914,7 +9919,7 @@
- alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
- COREFILE=''
- ;;
-- alpha*-*-linux-gnu*)
-+ alpha*-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/alphalinux.h"'
- ;;
-@@ -9978,7 +9983,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386mach3.h"'
- ;;
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386linux.h"'
- ;;
-@@ -10016,7 +10021,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/hp300bsd.h"'
- ;;
-- m68*-*-linux-gnu*)
-+ m68*-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/m68klinux.h"'
- ;;
-@@ -10150,7 +10155,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxult2.h"'
- ;;
-- vax-*-linux-gnu*)
-+ vax-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxlinux.h"'
- ;;
---- gdb-6.3/bfd/configure.in.orig Fri Oct 8 16:53:59 2004
-+++ gdb-6.3/bfd/configure.in Sun Feb 27 18:14:41 2005
-@@ -163,7 +163,7 @@
- alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
- COREFILE=''
- ;;
-- alpha*-*-linux-gnu*)
-+ alpha*-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/alphalinux.h"'
- ;;
-@@ -248,7 +248,7 @@
- TRAD_HEADER='"hosts/i386mach3.h"'
- ;;
- changequote(,)dnl
-- i[3-7]86-*-linux-gnu*)
-+ i[3-7]86-*-linux-*)
- changequote([,])dnl
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/i386linux.h"'
-@@ -289,7 +289,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/hp300bsd.h"'
- ;;
-- m68*-*-linux-gnu*)
-+ m68*-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/m68klinux.h"'
- ;;
-@@ -375,7 +375,7 @@
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxult2.h"'
- ;;
-- vax-*-linux-gnu*)
-+ vax-*-linux-*)
- COREFILE=trad-core.lo
- TRAD_HEADER='"hosts/vaxlinux.h"'
- ;;
---- gdb-6.3/libtool.m4.orig Wed Jul 21 21:21:41 2004
-+++ gdb-6.3/libtool.m4 Mon Feb 28 00:08:11 2005
-@@ -653,6 +653,11 @@
- fi
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- newsos6)
- [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
- lt_cv_file_magic_cmd=/usr/bin/file
---- gdb-6.3/ltconfig.orig Tue Oct 5 15:34:42 2004
-+++ gdb-6.3/ltconfig Sun Feb 27 18:14:41 2005
-@@ -602,7 +602,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
--linux-gnu*) ;;
-+linux-gnu*|linux-uclibc*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-
-@@ -1270,6 +1270,24 @@
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+linux-uclibc*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+ soname_spec='${libname}${release}.so$major'
-+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ # This implies no fast_install, which is unacceptable.
-+ # Some rework will be needed to allow for fast_install
-+ # before this can be enabled.
-+ # Note: copied from linux-gnu, and may not be appropriate.
-+ hardcode_into_libs=yes
-+ # Assume using the uClibc dynamic linker.
-+ dynamic_linker="uClibc ld.so"
-+ ;;
-+
- netbsd*)
- need_lib_prefix=no
- need_version=no
---- gdb-6.3/opcodes/configure.orig Fri Sep 17 08:13:38 2004
-+++ gdb-6.3/opcodes/configure Mon Feb 28 00:09:42 2005
-@@ -3595,6 +3595,11 @@
- fi
- ;;
-
-+linux-uclibc*)
-+ lt_cv_deplibs_check_method=pass_all
-+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+ ;;
-+
- newsos6)
- lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
diff --git a/openwrt/toolchain/gdb/patches/200-uclibc-readline-conf.patch b/openwrt/toolchain/gdb/patches/200-uclibc-readline-conf.patch
deleted file mode 100644
index ffe792d..0000000
--- a/openwrt/toolchain/gdb/patches/200-uclibc-readline-conf.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- gdb-6.1.1-dist/readline/configure 2003-05-27 18:29:47.000000000 -0500
-+++ gdb-6.1.1/readline/configure 2004-08-09 14:20:23.000000000 -0500
-@@ -6249,7 +6249,12 @@
-
-
- echo "$as_me:$LINENO: checking for mbstate_t" >&5
-+echo $ECHO_N "bash_cv_have_mbstate_t=$bash_cv_have_mbstate_t" >&6
- echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6
-+if test "${bash_cv_have_mbstate_t+set}" != set; then
-+ bash_cv_have_mbstate_t=yes
-+ echo $ECHO_N "WARNING!! forcing to yes!!! $ECHO_C" >&6
-+fi
- if test "${bash_cv_have_mbstate_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
diff --git a/openwrt/toolchain/gdb/patches/400-mips-coredump.patch b/openwrt/toolchain/gdb/patches/400-mips-coredump.patch
deleted file mode 100644
index 4e17ba7..0000000
--- a/openwrt/toolchain/gdb/patches/400-mips-coredump.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Sometime around 2.4.22-23, the mips pt_regs.h fields were reordered, breaking
-coredump handling by gdb for current kernels. Update the hardcoded constants
-to reflect the change.
---- gdb-6.2.1/gdb/mips-linux-tdep.c-orig 2004-10-29 14:23:55.000000000 -0500
-+++ gdb-6.2.1/gdb/mips-linux-tdep.c 2004-10-29 14:26:44.000000000 -0500
-@@ -53,12 +53,22 @@
-
- #define EF_REG0 6
- #define EF_REG31 37
-+
-+#if 0
- #define EF_LO 38
- #define EF_HI 39
- #define EF_CP0_EPC 40
- #define EF_CP0_BADVADDR 41
- #define EF_CP0_STATUS 42
- #define EF_CP0_CAUSE 43
-+#else
-+#define EF_CP0_STATUS 38
-+#define EF_LO 39
-+#define EF_HI 40
-+#define EF_CP0_BADVADDR 41
-+#define EF_CP0_CAUSE 42
-+#define EF_CP0_EPC 43
-+#endif
-
- #define EF_SIZE 180
-
diff --git a/openwrt/toolchain/gdb/patches/500-thread-timeout.patch b/openwrt/toolchain/gdb/patches/500-thread-timeout.patch
deleted file mode 100644
index 6db0a7a..0000000
--- a/openwrt/toolchain/gdb/patches/500-thread-timeout.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- gdb-6.3.org/gdb/gdbserver/thread-db.c 2004-10-17 02:42:00.000000000 +0900
-+++ gdb-6.3/gdb/gdbserver/thread-db.c 2005-01-27 12:19:29.000000000 +0900
-@@ -21,6 +21,7 @@
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
-+#include <unistd.h>
- #include "server.h"
-
- #include "linux-low.h"
-@@ -142,6 +143,7 @@
- td_event_msg_t msg;
- td_err_e err;
- struct inferior_linux_data *tdata;
-+ int timeout;
-
- if (debug_threads)
- fprintf (stderr, "Thread creation event.\n");
-@@ -152,7 +154,13 @@
- In the LinuxThreads implementation, this is safe,
- because all events come from the manager thread
- (except for its own creation, of course). */
-- err = td_ta_event_getmsg (thread_agent, &msg);
-+ for (timeout = 0; timeout < 50000; timeout++)
-+ {
-+ err = td_ta_event_getmsg (thread_agent, &msg);
-+ if (err != TD_NOMSG)
-+ break;
-+ usleep(1000);
-+ }
- if (err != TD_OK)
- fprintf (stderr, "thread getmsg err: %s\n",
- thread_db_err_str (err));
-
diff --git a/openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch b/openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch
deleted file mode 100644
index 5970f9b..0000000
--- a/openwrt/toolchain/gdb/patches/600-debian_10.selected-frame.patch
+++ /dev/null
@@ -1,552 +0,0 @@
-2004-10-11
-
-This patch is not submitted. Many of these functions should be passing
-a frame around rather than calling get_selected_frame, but at least it
-is an improvement over deprecated_selected_frame.
-
-Index: gdb-6.3/gdb/breakpoint.c
-===================================================================
---- gdb-6.3.orig/gdb/breakpoint.c 2004-10-08 13:30:46.000000000 -0400
-+++ gdb-6.3/gdb/breakpoint.c 2004-11-09 22:55:11.231620957 -0500
-@@ -922,7 +922,7 @@ insert_bp_location (struct bp_location *
- /* FIXME drow/2003-09-09: It would be nice if evaluate_expression
- took a frame parameter, so that we didn't have to change the
- selected frame. */
-- saved_frame_id = get_frame_id (deprecated_selected_frame);
-+ saved_frame_id = get_frame_id (get_selected_frame ());
-
- /* Determine if the watchpoint is within scope. */
- if (bpt->owner->exp_valid_block == NULL)
-@@ -5464,14 +5464,9 @@ break_at_finish_at_depth_command_1 (char
-
- if (default_breakpoint_valid)
- {
-- if (deprecated_selected_frame)
-- {
-- selected_pc = get_frame_pc (deprecated_selected_frame);
-- if (arg)
-- if_arg = 1;
-- }
-- else
-- error ("No selected frame.");
-+ selected_pc = get_frame_pc (get_selected_frame ());
-+ if (arg)
-+ if_arg = 1;
- }
- else
- error ("No default breakpoint address now.");
-@@ -5542,15 +5537,10 @@ break_at_finish_command_1 (char *arg, in
- {
- if (default_breakpoint_valid)
- {
-- if (deprecated_selected_frame)
-- {
-- addr_string = xstrprintf ("*0x%s",
-- paddr_nz (get_frame_pc (deprecated_selected_frame)));
-- if (arg)
-- if_arg = 1;
-- }
-- else
-- error ("No selected frame.");
-+ addr_string = xstrprintf ("*0x%s",
-+ paddr_nz (get_frame_pc (get_selected_frame ())));
-+ if (arg)
-+ if_arg = 1;
- }
- else
- error ("No default breakpoint address now.");
-@@ -6082,7 +6072,7 @@ until_break_command (char *arg, int from
- {
- struct symtabs_and_lines sals;
- struct symtab_and_line sal;
-- struct frame_info *prev_frame = get_prev_frame (deprecated_selected_frame);
-+ struct frame_info *prev_frame = get_prev_frame (get_selected_frame ());
- struct breakpoint *breakpoint;
- struct cleanup *old_chain;
- struct continuation_arg *arg1;
-@@ -6119,7 +6109,7 @@ until_break_command (char *arg, int from
- /* Otherwise, specify the current frame, because we want to stop only
- at the very same frame. */
- breakpoint = set_momentary_breakpoint (sal,
-- get_frame_id (deprecated_selected_frame),
-+ get_frame_id (get_selected_frame ()),
- bp_until);
-
- if (!target_can_async_p ())
-Index: gdb-6.3/gdb/cli/cli-cmds.c
-===================================================================
---- gdb-6.3.orig/gdb/cli/cli-cmds.c 2004-09-11 06:24:53.000000000 -0400
-+++ gdb-6.3/gdb/cli/cli-cmds.c 2004-11-09 22:51:07.323246218 -0500
-@@ -845,10 +845,7 @@ disassemble_command (char *arg, int from
- name = NULL;
- if (!arg)
- {
-- if (!deprecated_selected_frame)
-- error ("No frame selected.\n");
--
-- pc = get_frame_pc (deprecated_selected_frame);
-+ pc = get_frame_pc (get_selected_frame ());
- if (find_pc_partial_function (pc, &name, &low, &high) == 0)
- error ("No function contains program counter for selected frame.\n");
- #if defined(TUI)
-Index: gdb-6.3/gdb/f-valprint.c
-===================================================================
---- gdb-6.3.orig/gdb/f-valprint.c 2003-10-14 02:51:14.000000000 -0400
-+++ gdb-6.3/gdb/f-valprint.c 2004-11-09 22:51:07.326245632 -0500
-@@ -76,7 +76,7 @@ f77_get_dynamic_lowerbound (struct type
- switch (TYPE_ARRAY_LOWER_BOUND_TYPE (type))
- {
- case BOUND_BY_VALUE_ON_STACK:
-- current_frame_addr = get_frame_base (deprecated_selected_frame);
-+ current_frame_addr = get_frame_base (get_selected_frame ());
- if (current_frame_addr > 0)
- {
- *lower_bound =
-@@ -100,7 +100,7 @@ f77_get_dynamic_lowerbound (struct type
- break;
-
- case BOUND_BY_REF_ON_STACK:
-- current_frame_addr = get_frame_base (deprecated_selected_frame);
-+ current_frame_addr = get_frame_base (get_selected_frame ());
- if (current_frame_addr > 0)
- {
- ptr_to_lower_bound =
-@@ -134,7 +134,7 @@ f77_get_dynamic_upperbound (struct type
- switch (TYPE_ARRAY_UPPER_BOUND_TYPE (type))
- {
- case BOUND_BY_VALUE_ON_STACK:
-- current_frame_addr = get_frame_base (deprecated_selected_frame);
-+ current_frame_addr = get_frame_base (get_selected_frame ());
- if (current_frame_addr > 0)
- {
- *upper_bound =
-@@ -163,7 +163,7 @@ f77_get_dynamic_upperbound (struct type
- break;
-
- case BOUND_BY_REF_ON_STACK:
-- current_frame_addr = get_frame_base (deprecated_selected_frame);
-+ current_frame_addr = get_frame_base (get_selected_frame ());
- if (current_frame_addr > 0)
- {
- ptr_to_upper_bound =
-@@ -630,10 +630,7 @@ info_common_command (char *comname, int
- first make sure that it is visible and if so, let
- us display its contents */
-
-- fi = deprecated_selected_frame;
--
-- if (fi == NULL)
-- error ("No frame selected");
-+ fi = get_selected_frame ();
-
- /* The following is generally ripped off from stack.c's routine
- print_frame_info() */
-@@ -722,10 +719,7 @@ there_is_a_visible_common_named (char *c
- if (comname == NULL)
- error ("Cannot deal with NULL common name!");
-
-- fi = deprecated_selected_frame;
--
-- if (fi == NULL)
-- error ("No frame selected");
-+ fi = get_selected_frame ();
-
- /* The following is generally ripped off from stack.c's routine
- print_frame_info() */
-Index: gdb-6.3/gdb/infcmd.c
-===================================================================
---- gdb-6.3.orig/gdb/infcmd.c 2004-09-13 14:26:28.000000000 -0400
-+++ gdb-6.3/gdb/infcmd.c 2004-11-09 22:57:37.274099559 -0500
-@@ -1214,10 +1214,8 @@ finish_command (char *arg, int from_tty)
- error ("The \"finish\" command does not take any arguments.");
- if (!target_has_execution)
- error ("The program is not running.");
-- if (deprecated_selected_frame == NULL)
-- error ("No selected frame.");
-
-- frame = get_prev_frame (deprecated_selected_frame);
-+ frame = get_prev_frame (get_selected_frame ());
- if (frame == 0)
- error ("\"finish\" not meaningful in the outermost frame.");
-
-@@ -1235,7 +1233,7 @@ finish_command (char *arg, int from_tty)
-
- /* Find the function we will return from. */
-
-- function = find_pc_function (get_frame_pc (deprecated_selected_frame));
-+ function = find_pc_function (get_frame_pc (get_selected_frame ()));
-
- /* Print info on the selected frame, including level number but not
- source. */
-@@ -1600,13 +1598,11 @@ registers_info (char *addr_exp, int fpre
-
- if (!target_has_registers)
- error ("The program has no registers now.");
-- if (deprecated_selected_frame == NULL)
-- error ("No selected frame.");
-
- if (!addr_exp)
- {
- gdbarch_print_registers_info (current_gdbarch, gdb_stdout,
-- deprecated_selected_frame, -1, fpregs);
-+ get_selected_frame (), -1, fpregs);
- return;
- }
-
-@@ -1644,7 +1640,7 @@ registers_info (char *addr_exp, int fpre
- if (regnum >= 0)
- {
- gdbarch_print_registers_info (current_gdbarch, gdb_stdout,
-- deprecated_selected_frame, regnum, fpregs);
-+ get_selected_frame (), regnum, fpregs);
- continue;
- }
- }
-@@ -1658,7 +1654,7 @@ registers_info (char *addr_exp, int fpre
- && regnum < NUM_REGS + NUM_PSEUDO_REGS)
- {
- gdbarch_print_registers_info (current_gdbarch, gdb_stdout,
-- deprecated_selected_frame, regnum, fpregs);
-+ get_selected_frame (), regnum, fpregs);
- continue;
- }
- }
-@@ -1684,7 +1680,7 @@ registers_info (char *addr_exp, int fpre
- if (gdbarch_register_reggroup_p (current_gdbarch, regnum,
- group))
- gdbarch_print_registers_info (current_gdbarch,
-- gdb_stdout, deprecated_selected_frame,
-+ gdb_stdout, get_selected_frame (),
- regnum, fpregs);
- }
- continue;
-@@ -1714,8 +1710,6 @@ print_vector_info (struct gdbarch *gdbar
- {
- if (!target_has_registers)
- error ("The program has no registers now.");
-- if (deprecated_selected_frame == NULL)
-- error ("No selected frame.");
-
- if (gdbarch_print_vector_info_p (gdbarch))
- gdbarch_print_vector_info (gdbarch, file, frame, args);
-@@ -1740,7 +1734,7 @@ print_vector_info (struct gdbarch *gdbar
- static void
- vector_info (char *args, int from_tty)
- {
-- print_vector_info (current_gdbarch, gdb_stdout, deprecated_selected_frame, args);
-+ print_vector_info (current_gdbarch, gdb_stdout, get_selected_frame (), args);
- }
-
-
-@@ -1910,8 +1904,6 @@ print_float_info (struct gdbarch *gdbarc
- {
- if (!target_has_registers)
- error ("The program has no registers now.");
-- if (deprecated_selected_frame == NULL)
-- error ("No selected frame.");
-
- if (gdbarch_print_float_info_p (gdbarch))
- gdbarch_print_float_info (gdbarch, file, frame, args);
-@@ -1937,7 +1929,7 @@ No floating-point info available for thi
- static void
- float_info (char *args, int from_tty)
- {
-- print_float_info (current_gdbarch, gdb_stdout, deprecated_selected_frame, args);
-+ print_float_info (current_gdbarch, gdb_stdout, get_selected_frame (), args);
- }
-
- static void
-Index: gdb-6.3/gdb/inflow.c
-===================================================================
---- gdb-6.3.orig/gdb/inflow.c 2004-08-11 05:00:57.000000000 -0400
-+++ gdb-6.3/gdb/inflow.c 2004-11-09 22:58:37.488338883 -0500
-@@ -591,10 +591,7 @@ kill_command (char *arg, int from_tty)
- if (target_has_stack)
- {
- printf_filtered ("In %s,\n", target_longname);
-- if (deprecated_selected_frame == NULL)
-- fputs_filtered ("No selected stack frame.\n", gdb_stdout);
-- else
-- print_stack_frame (get_selected_frame (), 1, SRC_AND_LOC);
-+ print_stack_frame (get_selected_frame (), 1, SRC_AND_LOC);
- }
- bfd_cache_close_all ();
- }
-Index: gdb-6.3/gdb/infrun.c
-===================================================================
---- gdb-6.3.orig/gdb/infrun.c 2004-09-27 13:58:08.000000000 -0400
-+++ gdb-6.3/gdb/infrun.c 2004-11-09 22:51:07.351240752 -0500
-@@ -3485,7 +3485,7 @@ save_inferior_status (int restore_stack_
-
- inf_status->registers = regcache_dup (current_regcache);
-
-- inf_status->selected_frame_id = get_frame_id (deprecated_selected_frame);
-+ inf_status->selected_frame_id = get_frame_id (get_selected_frame ());
- return inf_status;
- }
-
-Index: gdb-6.3/gdb/mi/mi-main.c
-===================================================================
---- gdb-6.3.orig/gdb/mi/mi-main.c 2004-09-12 11:00:42.000000000 -0400
-+++ gdb-6.3/gdb/mi/mi-main.c 2004-11-09 22:53:29.998389013 -0500
-@@ -388,7 +388,7 @@ register_changed_p (int regnum)
- {
- char raw_buffer[MAX_REGISTER_SIZE];
-
-- if (! frame_register_read (deprecated_selected_frame, regnum, raw_buffer))
-+ if (! frame_register_read (get_selected_frame (), regnum, raw_buffer))
- return -1;
-
- if (memcmp (&old_regs[DEPRECATED_REGISTER_BYTE (regnum)], raw_buffer,
-@@ -509,7 +509,7 @@ get_register (int regnum, int format)
- if (format == 'N')
- format = 0;
-
-- frame_register (deprecated_selected_frame, regnum, &optim, &lval, &addr,
-+ frame_register (get_selected_frame (), regnum, &optim, &lval, &addr,
- &realnum, buffer);
-
- if (optim)
-Index: gdb-6.3/gdb/mn10300-tdep.c
-===================================================================
---- gdb-6.3.orig/gdb/mn10300-tdep.c 2004-08-02 22:02:22.000000000 -0400
-+++ gdb-6.3/gdb/mn10300-tdep.c 2004-11-09 22:51:07.356239776 -0500
-@@ -1154,7 +1154,7 @@ mn10300_print_register (const char *name
- printf_filtered ("%s: ", name);
-
- /* Get the data */
-- if (!frame_register_read (deprecated_selected_frame, regnum, raw_buffer))
-+ if (!frame_register_read (get_selected_frame (), regnum, raw_buffer))
- {
- printf_filtered ("[invalid]");
- return;
-Index: gdb-6.3/gdb/stack.c
-===================================================================
---- gdb-6.3.orig/gdb/stack.c 2004-08-02 20:57:26.000000000 -0400
-+++ gdb-6.3/gdb/stack.c 2004-11-09 22:51:07.361238800 -0500
-@@ -758,9 +758,7 @@ parse_frame_specification (char *frame_e
- switch (numargs)
- {
- case 0:
-- if (deprecated_selected_frame == NULL)
-- error ("No selected frame.");
-- return deprecated_selected_frame;
-+ return get_selected_frame ();
- /* NOTREACHED */
- case 1:
- {
-@@ -902,10 +900,10 @@ frame_info (char *addr_exp, int from_tty
- }
- calling_frame_info = get_prev_frame (fi);
-
-- if (!addr_exp && frame_relative_level (deprecated_selected_frame) >= 0)
-+ if (!addr_exp && frame_relative_level (get_selected_frame ()) >= 0)
- {
- printf_filtered ("Stack level %d, frame at ",
-- frame_relative_level (deprecated_selected_frame));
-+ frame_relative_level (get_selected_frame ()));
- print_address_numeric (get_frame_base (fi), 1, gdb_stdout);
- printf_filtered (":\n");
- }
-@@ -1445,9 +1443,7 @@ print_frame_label_vars (struct frame_inf
- void
- locals_info (char *args, int from_tty)
- {
-- if (!deprecated_selected_frame)
-- error ("No frame selected.");
-- print_frame_local_vars (deprecated_selected_frame, 0, gdb_stdout);
-+ print_frame_local_vars (get_selected_frame (), 0, gdb_stdout);
- }
-
- static void
-@@ -1470,7 +1466,7 @@ catch_info (char *ignore, int from_tty)
- if (!deprecated_selected_frame)
- error ("No frame selected.");
-
-- print_frame_label_vars (deprecated_selected_frame, 0, gdb_stdout);
-+ print_frame_label_vars (get_selected_frame (), 0, gdb_stdout);
- }
- }
-
-@@ -1537,9 +1533,7 @@ print_frame_arg_vars (struct frame_info
- void
- args_info (char *ignore, int from_tty)
- {
-- if (!deprecated_selected_frame)
-- error ("No frame selected.");
-- print_frame_arg_vars (deprecated_selected_frame, gdb_stdout);
-+ print_frame_arg_vars (get_selected_frame (), gdb_stdout);
- }
-
-
-@@ -1724,7 +1718,7 @@ down_silently_base (char *count_exp)
- if (target_has_stack == 0 || deprecated_selected_frame == 0)
- error ("No stack.");
-
-- frame = find_relative_frame (deprecated_selected_frame, &count1);
-+ frame = find_relative_frame (get_selected_frame (), &count1);
- if (count1 != 0 && count_exp == 0)
- {
-
-@@ -1944,7 +1938,7 @@ func_command (char *arg, int from_tty)
-
- if (!found)
- printf_filtered ("'%s' not within current stack frame.\n", arg);
-- else if (fp != deprecated_selected_frame)
-+ else if (fp != get_selected_frame ())
- select_and_print_frame (fp);
- }
-
-@@ -1965,7 +1959,7 @@ get_frame_language (void)
- instruction of another function. So we rely on
- get_frame_address_in_block(), it provides us with a PC which is
- guaranteed to be inside the frame's code block. */
-- s = find_pc_symtab (get_frame_address_in_block (deprecated_selected_frame));
-+ s = find_pc_symtab (get_frame_address_in_block (get_selected_frame ()));
- if (s)
- flang = s->language;
- else
-Index: gdb-6.3/gdb/tui/tui-disasm.c
-===================================================================
---- gdb-6.3.orig/gdb/tui/tui-disasm.c 2004-02-24 20:10:01.000000000 -0500
-+++ gdb-6.3/gdb/tui/tui-disasm.c 2004-11-09 22:51:07.370237044 -0500
-@@ -382,7 +382,7 @@ tui_vertical_disassem_scroll (enum tui_s
-
- content = (tui_win_content) TUI_DISASM_WIN->generic.content;
- if (cursal.symtab == (struct symtab *) NULL)
-- s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
-+ s = find_pc_symtab (get_frame_pc (get_selected_frame ()));
- else
- s = cursal.symtab;
-
-Index: gdb-6.3/gdb/tui/tui-source.c
-===================================================================
---- gdb-6.3.orig/gdb/tui/tui-source.c 2004-02-16 16:05:09.000000000 -0500
-+++ gdb-6.3/gdb/tui/tui-source.c 2004-11-09 22:51:07.370237044 -0500
-@@ -326,7 +326,7 @@ tui_vertical_source_scroll (enum tui_scr
- struct symtab_and_line cursal = get_current_source_symtab_and_line ();
-
- if (cursal.symtab == (struct symtab *) NULL)
-- s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
-+ s = find_pc_symtab (get_frame_pc (get_selected_frame ()));
- else
- s = cursal.symtab;
-
-Index: gdb-6.3/gdb/tui/tui-winsource.c
-===================================================================
---- gdb-6.3.orig/gdb/tui/tui-winsource.c 2004-02-16 16:05:09.000000000 -0500
-+++ gdb-6.3/gdb/tui/tui-winsource.c 2004-11-09 22:51:07.371236848 -0500
-@@ -311,7 +311,7 @@ tui_horizontal_source_scroll (struct tui
- struct symtab_and_line cursal = get_current_source_symtab_and_line ();
-
- if (cursal.symtab == (struct symtab *) NULL)
-- s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
-+ s = find_pc_symtab (get_frame_pc (get_selected_frame ()));
- else
- s = cursal.symtab;
-
-Index: gdb-6.3/gdb/valops.c
-===================================================================
---- gdb-6.3.orig/gdb/valops.c 2004-09-13 23:01:48.000000000 -0400
-+++ gdb-6.3/gdb/valops.c 2004-11-09 22:51:07.374236263 -0500
-@@ -2663,15 +2663,10 @@ value_of_local (const char *name, int co
- struct block *b;
- struct value * ret;
-
-- if (deprecated_selected_frame == 0)
-- {
-- if (complain)
-- error ("no frame selected");
-- else
-- return 0;
-- }
-+ if (!complain && deprecated_selected_frame == 0)
-+ return 0;
-
-- func = get_frame_function (deprecated_selected_frame);
-+ func = get_frame_function (get_selected_frame ());
- if (!func)
- {
- if (complain)
-@@ -2700,7 +2695,7 @@ value_of_local (const char *name, int co
- return NULL;
- }
-
-- ret = read_var_value (sym, deprecated_selected_frame);
-+ ret = read_var_value (sym, get_selected_frame ());
- if (ret == 0 && complain)
- error ("`%s' argument unreadable", name);
- return ret;
-Index: gdb-6.3/gdb/varobj.c
-===================================================================
---- gdb-6.3.orig/gdb/varobj.c 2004-07-26 10:53:06.000000000 -0400
-+++ gdb-6.3/gdb/varobj.c 2004-11-09 22:51:07.377235677 -0500
-@@ -488,7 +488,7 @@ varobj_create (char *objname,
- if (fi != NULL)
- {
- var->root->frame = get_frame_id (fi);
-- old_fi = deprecated_selected_frame;
-+ old_fi = get_selected_frame ();
- select_frame (fi);
- }
-
-Index: gdb-6.3/gdb/testsuite/gdb.base/default.exp
-===================================================================
---- gdb-6.3.orig/gdb/testsuite/gdb.base/default.exp 2003-03-20 09:45:50.000000000 -0500
-+++ gdb-6.3/gdb/testsuite/gdb.base/default.exp 2004-11-09 22:51:07.379235287 -0500
-@@ -167,7 +167,7 @@ gdb_test "disable breakpoints" "" "disab
- #test disable display
- gdb_test "disable display" "" "disable display"
- #test disassemble
--gdb_test "disassemble" "No frame selected." "disassemble"
-+gdb_test "disassemble" "No (frame selected|registers)." "disassemble"
- #test display
- gdb_test "display" "" "display"
- #test do
-@@ -229,9 +229,9 @@ gdb_expect {
- }
-
- #test frame "f" abbreviation
--gdb_test "f" "No stack." "frame \"f\" abbreviation"
-+gdb_test "f" "No (stack|registers)." "frame \"f\" abbreviation"
- #test frame
--gdb_test "frame" "No stack." "frame"
-+gdb_test "frame" "No (stack|registers)." "frame"
- #test fg
- gdb_test "fg" "The program is not being run." "fg"
- # FIXME: fg kills the udi connection
-@@ -294,9 +294,9 @@ gdb_test "ignore" "Argument required .a
- #test info address
- gdb_test "info address" "Argument required." "info address"
- #test info all-registers
--gdb_test "info all-registers" "The program has no registers now." "info all-registers"
-+gdb_test "info all-registers" "(The program has no registers now|No registers)." "info all-registers"
- #test info args
--gdb_test "info args" "No frame selected." "info args"
-+gdb_test "info args" "No (frame selected|registers)." "info args"
- #test info bogus-gdb-command
- gdb_test "info bogus-gdb-command" "Undefined info command: \"bogus-gdb-command\". Try \"help info\".*" "info bogus-gdb-command"
- #test info breakpoints
-@@ -320,11 +320,11 @@ gdb_test "info frame" "No stack.|No sele
- #test info files
- gdb_test "info files" "" "info files"
- #test info float
--gdb_test "info float" "The program has no registers now." "info float"
-+gdb_test "info float" "(The program has no registers now|No registers)." "info float"
- #test info functions
- gdb_test "info functions" "All defined functions:" "info functions"
- #test info locals
--gdb_test "info locals" "No frame selected." "info locals"
-+gdb_test "info locals" "(No frame selected|No registers)." "info locals"
- #test info program
- gdb_test "info program" "The program being debugged is not being run." "info program"
- #test info registers
-@@ -352,7 +352,7 @@ gdb_test "info types" "All defined types
- #test info variables
- gdb_test "info variables" "All defined variables:" "info variables"
- #test info vector
--gdb_test "info vector" "The program has no registers now." "info vector"
-+gdb_test "info vector" "(The program has no registers now|No registers)." "info vector"
- #test info warranty
- gdb_test "info warranty" "NO WARRANTY(\[^\r\n\]*\[\r\n\])+ *11. *BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY(\[^\r\n\]*\[\r\n\])+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN(\[^\r\n\]*\[\r\n\])+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES(\[^\r\n\]*\[\r\n\])+PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED(\[^\r\n\]*\[\r\n\])+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF(\[^\r\n\]*\[\r\n\])+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS(\[^\r\n\]*\[\r\n\])+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE(\[^\r\n\]*\[\r\n\])+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,(\[^\r\n\]*\[\r\n\])+REPAIR OR CORRECTION.(\[^\r\n\]*\[\r\n\])+ *12. *IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING(\[^\r\n\]*\[\r\n\])+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR(\[^\r\n\]*\[\r\n\])+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,(\[^\r\n\]*\[\r\n\])+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING(\[^\r\n\]*\[\r\n\])+OUT OF THE USE OR INABILITY TO USE THE PROGRAM .INCLUDING BUT NOT LIMITED(\[^\r\n\]*\[\r\n\])+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY(\[^\r\n\]*\[\r\n\])+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER(\[^\r\n\]*\[\r\n\])+PROGRAMS., EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE(\[^\r\n\]*\[\r\n\])+POSSIBILITY OF SUCH DAMAGES.*" "info warranty"
- #test info watchpoints
diff --git a/openwrt/toolchain/gdb/patches/620-debian_static-thread-db.patch b/openwrt/toolchain/gdb/patches/620-debian_static-thread-db.patch
deleted file mode 100644
index c5ac5a6..0000000
--- a/openwrt/toolchain/gdb/patches/620-debian_static-thread-db.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-Status: submitted similar patch 2004-12-08
-
-This patch cleans up the initialization of thread_db. It works for static
-binaries now. The vsyscall patches hide this problem, since new static
-binaries will load the vsyscall DSO and then trigger thread_db; but
-this is still a good cleanup.
-
-Index: gdb-6.3/gdb/thread-db.c
-===================================================================
---- gdb-6.3.orig/gdb/thread-db.c 2004-10-08 16:29:56.000000000 -0400
-+++ gdb-6.3/gdb/thread-db.c 2004-11-10 00:19:30.626530413 -0500
-@@ -34,6 +34,7 @@
- #include "target.h"
- #include "regcache.h"
- #include "solib-svr4.h"
-+#include "observer.h"
-
- #ifdef HAVE_GNU_LIBC_VERSION_H
- #include <gnu/libc-version.h>
-@@ -627,59 +628,49 @@ check_thread_signals (void)
- #endif
- }
-
-+/* Check whether thread_db is usable. This function is called when
-+ an inferior is created (or otherwise acquired, e.g. attached to)
-+ and when new shared libraries are loaded into a running process. */
-+
- static void
--thread_db_new_objfile (struct objfile *objfile)
-+check_for_thread_db (void)
- {
- td_err_e err;
-+ static int already_loaded;
-
- /* First time through, report that libthread_db was successfuly
- loaded. Can't print this in in thread_db_load as, at that stage,
-- the interpreter and it's console haven't started. The real
-- problem here is that libthread_db is loaded too early - it should
-- only be loaded when there is a program to debug. */
-- {
-- static int dejavu;
-- if (!dejavu)
-- {
-- Dl_info info;
-- const char *library = NULL;
-- /* Try dladdr. */
-- if (dladdr ((*td_ta_new_p), &info) != 0)
-- library = info.dli_fname;
-- /* Try dlinfo? */
-- if (library == NULL)
-- /* Paranoid - don't let a NULL path slip through. */
-- library = LIBTHREAD_DB_SO;
-- printf_unfiltered ("Using host libthread_db library \"%s\".\n",
-- library);
-- dejavu = 1;
-- }
-- }
-+ the interpreter and it's console haven't started. */
-
-- /* Don't attempt to use thread_db on targets which can not run
-- (core files). */
-- if (objfile == NULL || !target_has_execution)
-+ if (!already_loaded)
- {
-- /* All symbols have been discarded. If the thread_db target is
-- active, deactivate it now. */
-- if (using_thread_db)
-- {
-- gdb_assert (proc_handle.pid == 0);
-- unpush_target (&thread_db_ops);
-- using_thread_db = 0;
-- }
-+ Dl_info info;
-+ const char *library = NULL;
-+ if (dladdr ((*td_ta_new_p), &info) != 0)
-+ library = info.dli_fname;
-+
-+ /* Try dlinfo? */
-
-- goto quit;
-+ if (library == NULL)
-+ /* Paranoid - don't let a NULL path slip through. */
-+ library = LIBTHREAD_DB_SO;
-+
-+ printf_unfiltered ("Using host libthread_db library \"%s\".\n",
-+ library);
-+ already_loaded = 1;
- }
-
- if (using_thread_db)
- /* Nothing to do. The thread library was already detected and the
- target vector was already activated. */
-- goto quit;
-+ return;
-+
-+ /* Don't attempt to use thread_db on targets which can not run
-+ (executables not running yet, core files) for now. */
-+ if (!target_has_execution)
-+ return;
-
-- /* Initialize the structure that identifies the child process. Note
-- that at this point there is no guarantee that we actually have a
-- child process. */
-+ /* Initialize the structure that identifies the child process. */
- proc_handle.pid = GET_PID (inferior_ptid);
-
- /* Now attempt to open a connection to the thread library. */
-@@ -706,12 +697,24 @@ thread_db_new_objfile (struct objfile *o
- thread_db_err_str (err));
- break;
- }
-+}
-+
-+static void
-+thread_db_new_objfile (struct objfile *objfile)
-+{
-+ if (objfile != NULL)
-+ check_for_thread_db ();
-
--quit:
- if (target_new_objfile_chain)
- target_new_objfile_chain (objfile);
- }
-
-+static void
-+check_for_thread_db_observer (struct target_ops *target, int from_tty)
-+{
-+ check_for_thread_db ();
-+}
-+
- /* Attach to a new thread. This function is called when we receive a
- TD_CREATE event or when we iterate over all threads and find one
- that wasn't already in our list. */
-@@ -1366,5 +1369,8 @@ _initialize_thread_db (void)
- /* Add ourselves to objfile event chain. */
- target_new_objfile_chain = deprecated_target_new_objfile_hook;
- deprecated_target_new_objfile_hook = thread_db_new_objfile;
-+
-+ /* Register ourselves for the new inferior observer. */
-+ observer_attach_inferior_created (check_for_thread_db_observer);
- }
- }
-Index: gdb-6.3/gdb/Makefile.in
-===================================================================
---- gdb-6.3.orig/gdb/Makefile.in 2004-11-09 23:04:57.000000000 -0500
-+++ gdb-6.3/gdb/Makefile.in 2004-11-10 00:19:26.440347022 -0500
-@@ -2626,7 +2626,8 @@ thread.o: thread.c $(defs_h) $(symtab_h)
- $(gdbcmd_h) $(regcache_h) $(gdb_h) $(gdb_string_h) $(ui_out_h)
- thread-db.o: thread-db.c $(defs_h) $(gdb_assert_h) $(gdb_proc_service_h) \
- $(gdb_thread_db_h) $(bfd_h) $(gdbthread_h) $(inferior_h) \
-- $(symfile_h) $(objfiles_h) $(target_h) $(regcache_h) $(solib_svr4_h)
-+ $(symfile_h) $(objfiles_h) $(target_h) $(regcache_h) $(solib_svr4_h) \
-+ $(observer_h)
- top.o: top.c $(defs_h) $(gdbcmd_h) $(call_cmds_h) $(cli_cmds_h) \
- $(cli_script_h) $(cli_setshow_h) $(cli_decode_h) $(symtab_h) \
- $(inferior_h) $(target_h) $(breakpoint_h) $(gdbtypes_h) \
diff --git a/openwrt/toolchain/gdb/patches/630-debian_24.tracepoint-segv.patch b/openwrt/toolchain/gdb/patches/630-debian_24.tracepoint-segv.patch
deleted file mode 100644
index d038ff8..0000000
--- a/openwrt/toolchain/gdb/patches/630-debian_24.tracepoint-segv.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Trivial. Still need to submit this.
-
-Index: gdb-6.1/gdb/tracepoint.c
-===================================================================
---- gdb-6.1.orig/gdb/tracepoint.c 2004-04-05 13:26:43.000000000 -0400
-+++ gdb-6.1/gdb/tracepoint.c 2004-04-05 13:26:45.000000000 -0400
-@@ -853,6 +853,8 @@ read_actions (struct tracepoint *t)
- else
- line = gdb_readline (0);
-
-+ if (line == NULL || *line == EOF)
-+ break;
- linetype = validate_actionline (&line, t);
- if (linetype == BADLINE)
- continue; /* already warned -- collect another line */
diff --git a/openwrt/toolchain/gdb/patches/640-debian_dwarf2-frame-signal-unwinder.patch b/openwrt/toolchain/gdb/patches/640-debian_dwarf2-frame-signal-unwinder.patch
deleted file mode 100644
index 246427e..0000000
--- a/openwrt/toolchain/gdb/patches/640-debian_dwarf2-frame-signal-unwinder.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-Status: Checked in to HEAD after 6.3.
-
-2004-11-07 Daniel Jacobowitz <dan@debian.org>
-
- * dwarf2-frame.c (struct dwarf2_frame_ops): Add signal_frame_p.
- (dwarf2_frame_set_signal_frame_p, dwarf2_frame_signal_frame_p)
- (dwarf2_signal_frame_unwind): New.
- (dwarf2_frame_sniffer): Use dwarf2_frame_signal_frame_p.
- * dwarf2-frame.h (dwarf2_frame_set_signal_frame_p): New prototype.
-
-Index: src/gdb/dwarf2-frame.c
-===================================================================
-RCS file: /big/fsf/rsync/src-cvs/src/gdb/dwarf2-frame.c,v
-retrieving revision 1.41
-diff -u -p -r1.41 dwarf2-frame.c
---- src/gdb/dwarf2-frame.c 4 Nov 2004 21:15:15 -0000 1.41
-+++ src/gdb/dwarf2-frame.c 7 Nov 2004 17:41:58 -0000
-@@ -471,6 +471,10 @@ struct dwarf2_frame_ops
- {
- /* Pre-initialize the register state REG for register REGNUM. */
- void (*init_reg) (struct gdbarch *, int, struct dwarf2_frame_state_reg *);
-+
-+ /* Check whether the frame preceding NEXT_FRAME will be a signal
-+ trampoline. */
-+ int (*signal_frame_p) (struct gdbarch *, struct frame_info *);
- };
-
- /* Default architecture-specific register state initialization
-@@ -547,6 +551,33 @@ dwarf2_frame_init_reg (struct gdbarch *g
-
- ops->init_reg (gdbarch, regnum, reg);
- }
-+
-+/* Set the architecture-specific signal trampoline recognition
-+ function for GDBARCH to SIGNAL_FRAME_P. */
-+
-+void
-+dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch,
-+ int (*signal_frame_p) (struct gdbarch *,
-+ struct frame_info *))
-+{
-+ struct dwarf2_frame_ops *ops = gdbarch_data (gdbarch, dwarf2_frame_data);
-+
-+ ops->signal_frame_p = signal_frame_p;
-+}
-+
-+/* Query the architecture-specific signal frame recognizer for
-+ NEXT_FRAME. */
-+
-+static int
-+dwarf2_frame_signal_frame_p (struct gdbarch *gdbarch,
-+ struct frame_info *next_frame)
-+{
-+ struct dwarf2_frame_ops *ops = gdbarch_data (gdbarch, dwarf2_frame_data);
-+
-+ if (ops->signal_frame_p == NULL)
-+ return 0;
-+ return ops->signal_frame_p (gdbarch, next_frame);
-+}
-
-
- struct dwarf2_frame_cache
-@@ -841,6 +872,13 @@ static const struct frame_unwind dwarf2_
- dwarf2_frame_prev_register
- };
-
-+static const struct frame_unwind dwarf2_signal_frame_unwind =
-+{
-+ SIGTRAMP_FRAME,
-+ dwarf2_frame_this_id,
-+ dwarf2_frame_prev_register
-+};
-+
- const struct frame_unwind *
- dwarf2_frame_sniffer (struct frame_info *next_frame)
- {
-@@ -848,10 +886,18 @@ dwarf2_frame_sniffer (struct frame_info
- function. frame_pc_unwind(), for a no-return next function, can
- end up returning something past the end of this function's body. */
- CORE_ADDR block_addr = frame_unwind_address_in_block (next_frame);
-- if (dwarf2_frame_find_fde (&block_addr))
-- return &dwarf2_frame_unwind;
-+ if (!dwarf2_frame_find_fde (&block_addr))
-+ return NULL;
-
-- return NULL;
-+ /* On some targets, signal trampolines may have unwind information.
-+ We need to recognize them so that we set the frame type
-+ correctly. */
-+
-+ if (dwarf2_frame_signal_frame_p (get_frame_arch (next_frame),
-+ next_frame))
-+ return &dwarf2_signal_frame_unwind;
-+
-+ return &dwarf2_frame_unwind;
- }
-
-
-Index: src/gdb/dwarf2-frame.h
-===================================================================
-RCS file: /big/fsf/rsync/src-cvs/src/gdb/dwarf2-frame.h,v
-retrieving revision 1.6
-diff -u -p -r1.6 dwarf2-frame.h
---- src/gdb/dwarf2-frame.h 28 Feb 2004 16:59:32 -0000 1.6
-+++ src/gdb/dwarf2-frame.h 7 Nov 2004 17:40:41 -0000
-@@ -79,6 +79,14 @@ extern void dwarf2_frame_set_init_reg (s
- void (*init_reg) (struct gdbarch *, int,
- struct dwarf2_frame_state_reg *));
-
-+/* Set the architecture-specific signal trampoline recognition
-+ function for GDBARCH to SIGNAL_FRAME_P. */
-+
-+extern void
-+ dwarf2_frame_set_signal_frame_p (struct gdbarch *gdbarch,
-+ int (*signal_frame_p) (struct gdbarch *,
-+ struct frame_info *));
-+
- /* Return the frame unwind methods for the function that contains PC,
- or NULL if it can't be handled by DWARF CFI frame unwinder. */
-
diff --git a/openwrt/toolchain/gdb/patches/650-debian_vsyscall-gdb-support.patch b/openwrt/toolchain/gdb/patches/650-debian_vsyscall-gdb-support.patch
deleted file mode 100644
index e725f9c..0000000
--- a/openwrt/toolchain/gdb/patches/650-debian_vsyscall-gdb-support.patch
+++ /dev/null
@@ -1,245 +0,0 @@
-Status: Checked in to HEAD after 6.3.
-
-2004-11-07 Andrew Cagney <cagney@redhat.com>
- Daniel Jacobowitz <dan@debian.org>
- Roland McGrath <roland@redhat.com>
-
- * Makefile.in (symfile-mem.o): Update dependencies.
- * i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): New.
- (i386_linux_init_abi): Call dwarf2_frame_set_signal_frame_p.
- * inf-ptrace.c (inf_ptrace_attach): Call
- observer_notify_inferior_created.
- * inftarg.c (child_attach): Likewise.
- * symfile-mem.c: Include "observer.h", "auxv.h", and "elf/common.h".
- (symbol_file_add_from_memory): Take NAME argument. Use it for
- the new BFD's filename.
- (add_symbol_file_from_memory_command): Update call to
- symbol_file_add_from_memory.
- (struct symbol_file_add_from_memory_args, add_vsyscall_page)
- (symbol_file_add_from_memory_wrapper): New.
- (_initialize_symfile_mem): Register add_vsyscall_page as an
- inferior_created observer.
-
-Index: gdb-6.3/gdb/i386-linux-tdep.c
-===================================================================
---- gdb-6.3.orig/gdb/i386-linux-tdep.c 2004-08-06 16:58:28.000000000 -0400
-+++ gdb-6.3/gdb/i386-linux-tdep.c 2004-11-10 00:55:06.669398770 -0500
-@@ -27,6 +27,7 @@
- #include "inferior.h"
- #include "osabi.h"
- #include "reggroups.h"
-+#include "dwarf2-frame.h"
-
- #include "gdb_string.h"
-
-@@ -244,6 +245,27 @@ i386_linux_sigtramp_p (struct frame_info
- || strcmp ("__restore_rt", name) == 0);
- }
-
-+/* Return one if the unwound PC from NEXT_FRAME is in a signal trampoline
-+ which may have DWARF-2 CFI. */
-+
-+static int
-+i386_linux_dwarf_signal_frame_p (struct gdbarch *gdbarch,
-+ struct frame_info *next_frame)
-+{
-+ CORE_ADDR pc = frame_pc_unwind (next_frame);
-+ char *name;
-+
-+ find_pc_partial_function (pc, &name, NULL, NULL);
-+
-+ /* If a vsyscall DSO is in use, the signal trampolines may have these
-+ names. */
-+ if (name && (strcmp (name, "__kernel_sigreturn") == 0
-+ || strcmp (name, "__kernel_rt_sigreturn") == 0))
-+ return 1;
-+
-+ return 0;
-+}
-+
- /* Offset to struct sigcontext in ucontext, from <asm/ucontext.h>. */
- #define I386_LINUX_UCONTEXT_SIGCONTEXT_OFFSET 20
-
-@@ -414,6 +436,8 @@ i386_linux_init_abi (struct gdbarch_info
-
- /* GNU/Linux uses the dynamic linker included in the GNU C Library. */
- set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
-+
-+ dwarf2_frame_set_signal_frame_p (gdbarch, i386_linux_dwarf_signal_frame_p);
- }
-
- /* Provide a prototype to silence -Wmissing-prototypes. */
-Index: gdb-6.3/gdb/inf-ptrace.c
-===================================================================
---- gdb-6.3.orig/gdb/inf-ptrace.c 2004-10-15 09:29:33.000000000 -0400
-+++ gdb-6.3/gdb/inf-ptrace.c 2004-11-10 00:53:43.697615843 -0500
-@@ -220,6 +220,10 @@ inf_ptrace_attach (char *args, int from_
-
- inferior_ptid = pid_to_ptid (pid);
- push_target (ptrace_ops_hack);
-+
-+ /* Do this first, before anything has had a chance to query the
-+ inferior's symbol table or similar. */
-+ observer_notify_inferior_created (&current_target, from_tty);
- }
-
- static void
-Index: gdb-6.3/gdb/inftarg.c
-===================================================================
---- gdb-6.3.orig/gdb/inftarg.c 2004-10-08 16:29:47.000000000 -0400
-+++ gdb-6.3/gdb/inftarg.c 2004-11-10 00:53:43.711613107 -0500
-@@ -211,6 +211,10 @@ child_attach (char *args, int from_tty)
-
- inferior_ptid = pid_to_ptid (pid);
- push_target (&deprecated_child_ops);
-+
-+ /* Do this first, before anything has had a chance to query the
-+ inferior's symbol table or similar. */
-+ observer_notify_inferior_created (&current_target, from_tty);
- }
-
- #if !defined(CHILD_POST_ATTACH)
-Index: gdb-6.3/gdb/symfile-mem.c
-===================================================================
---- gdb-6.3.orig/gdb/symfile-mem.c 2004-07-17 10:24:07.000000000 -0400
-+++ gdb-6.3/gdb/symfile-mem.c 2004-11-10 00:53:43.722610958 -0500
-@@ -52,13 +52,19 @@
- #include "target.h"
- #include "value.h"
- #include "symfile.h"
-+#include "observer.h"
-+#include "auxv.h"
-+#include "elf/common.h"
-
-
- /* Read inferior memory at ADDR to find the header of a loaded object file
- and read its in-core symbols out of inferior memory. TEMPL is a bfd
-- representing the target's format. */
-+ representing the target's format. NAME is the name to use for this
-+ symbol file in messages; it can be NULL or a malloc-allocated string
-+ which will be attached to the BFD. */
- static struct objfile *
--symbol_file_add_from_memory (struct bfd *templ, CORE_ADDR addr, int from_tty)
-+symbol_file_add_from_memory (struct bfd *templ, CORE_ADDR addr, char *name,
-+ int from_tty)
- {
- struct objfile *objf;
- struct bfd *nbfd;
-@@ -75,7 +81,10 @@ symbol_file_add_from_memory (struct bfd
- if (nbfd == NULL)
- error ("Failed to read a valid object file image from memory.");
-
-- nbfd->filename = xstrdup ("shared object read from target memory");
-+ if (name == NULL)
-+ nbfd->filename = xstrdup ("shared object read from target memory");
-+ else
-+ nbfd->filename = name;
-
- if (!bfd_check_format (nbfd, bfd_object))
- {
-@@ -129,7 +138,73 @@ add_symbol_file_from_memory_command (cha
- error ("\
- Must use symbol-file or exec-file before add-symbol-file-from-memory.");
-
-- symbol_file_add_from_memory (templ, addr, from_tty);
-+ symbol_file_add_from_memory (templ, addr, NULL, from_tty);
-+}
-+
-+/* Arguments for symbol_file_add_from_memory_wrapper. */
-+
-+struct symbol_file_add_from_memory_args
-+{
-+ struct bfd *bfd;
-+ CORE_ADDR sysinfo_ehdr;
-+ char *name;
-+ int from_tty;
-+};
-+
-+/* Wrapper function for symbol_file_add_from_memory, for
-+ catch_exceptions. */
-+
-+static int
-+symbol_file_add_from_memory_wrapper (struct ui_out *uiout, void *data)
-+{
-+ struct symbol_file_add_from_memory_args *args = data;
-+
-+ symbol_file_add_from_memory (args->bfd, args->sysinfo_ehdr, args->name,
-+ args->from_tty);
-+ return 0;
-+}
-+
-+/* Try to add the symbols for the vsyscall page, if there is one. This function
-+ is called via the inferior_created observer. */
-+
-+static void
-+add_vsyscall_page (struct target_ops *target, int from_tty)
-+{
-+ CORE_ADDR sysinfo_ehdr;
-+
-+ if (target_auxv_search (target, AT_SYSINFO_EHDR, &sysinfo_ehdr) > 0
-+ && sysinfo_ehdr != (CORE_ADDR) 0)
-+ {
-+ struct bfd *bfd;
-+ struct symbol_file_add_from_memory_args args;
-+
-+ if (core_bfd != NULL)
-+ bfd = core_bfd;
-+ else if (exec_bfd != NULL)
-+ bfd = exec_bfd;
-+ else
-+ /* FIXME: cagney/2004-05-06: Should not require an existing
-+ BFD when trying to create a run-time BFD of the VSYSCALL
-+ page in the inferior. Unfortunately that's the current
-+ interface so for the moment bail. Introducing a
-+ ``bfd_runtime'' (a BFD created using the loaded image) file
-+ format should fix this. */
-+ {
-+ warning ("could not load vsyscall page because no executable was specified");
-+ warning ("try using the \"file\" command first");
-+ return;
-+ }
-+ args.bfd = bfd;
-+ args.sysinfo_ehdr = sysinfo_ehdr;
-+ xasprintf (&args.name, "system-supplied DSO at 0x%s",
-+ paddr_nz (sysinfo_ehdr));
-+ /* Pass zero for FROM_TTY, because the action of loading the
-+ vsyscall DSO was not triggered by the user, even if the user
-+ typed "run" at the TTY. */
-+ args.from_tty = 0;
-+ catch_exceptions (uiout, symbol_file_add_from_memory_wrapper,
-+ &args, NULL, RETURN_MASK_ALL);
-+ }
- }
-
-
-@@ -143,4 +218,7 @@ Load the symbols out of memory from a dy
- Give an expression for the address of the file's shared object file header.",
- &cmdlist);
-
-+ /* Want to know of each new inferior so that its vsyscall info can
-+ be extracted. */
-+ observer_attach_inferior_created (add_vsyscall_page);
- }
-Index: gdb-6.3/gdb/Makefile.in
-===================================================================
---- gdb-6.3.orig/gdb/Makefile.in 2004-11-10 00:29:00.000000000 -0500
-+++ gdb-6.3/gdb/Makefile.in 2004-11-10 00:54:47.728100986 -0500
-@@ -2020,7 +2020,7 @@ i386-linux-nat.o: i386-linux-nat.c $(def
- i386-linux-tdep.o: i386-linux-tdep.c $(defs_h) $(gdbcore_h) $(frame_h) \
- $(value_h) $(regcache_h) $(inferior_h) $(osabi_h) $(reggroups_h) \
- $(gdb_string_h) $(i386_tdep_h) $(i386_linux_tdep_h) $(glibc_tdep_h) \
-- $(solib_svr4_h)
-+ $(solib_svr4_h) $(dwarf2_frame_h)
- i386ly-tdep.o: i386ly-tdep.c $(defs_h) $(gdbcore_h) $(inferior_h) \
- $(regcache_h) $(target_h) $(osabi_h) $(i386_tdep_h)
- i386-nat.o: i386-nat.c $(defs_h) $(breakpoint_h) $(command_h) $(gdbcmd_h)
-@@ -2606,7 +2606,8 @@ symfile.o: symfile.c $(defs_h) $(bfdlink
- $(hashtab_h) $(readline_h) $(gdb_assert_h) $(block_h) \
- $(gdb_string_h) $(gdb_stat_h)
- symfile-mem.o: symfile-mem.c $(defs_h) $(symtab_h) $(gdbcore_h) \
-- $(objfiles_h) $(gdbcmd_h) $(target_h) $(value_h) $(symfile_h)
-+ $(objfiles_h) $(gdbcmd_h) $(target_h) $(value_h) $(symfile_h) \
-+ $(observer_h) $(auxv_h) $(elf_common_h)
- symmisc.o: symmisc.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(bfd_h) \
- $(symfile_h) $(objfiles_h) $(breakpoint_h) $(command_h) \
- $(gdb_obstack_h) $(language_h) $(bcache_h) $(block_h) $(gdb_regex_h) \
diff --git a/openwrt/toolchain/gdb/patches/660-debian_dwarf-cfa-restore.patch b/openwrt/toolchain/gdb/patches/660-debian_dwarf-cfa-restore.patch
deleted file mode 100644
index 8b81cca..0000000
--- a/openwrt/toolchain/gdb/patches/660-debian_dwarf-cfa-restore.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Status: Checked in to HEAD after 6.3.
-
-2004-11-09 Daniel Jacobowitz <dan@debian.org>
-
- * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Correct allocated
- size.
-
-Index: src/gdb/dwarf2-frame.c
-===================================================================
-RCS file: /cvs/src/src/gdb/dwarf2-frame.c,v
-retrieving revision 1.45
-diff -u -p -r1.45 dwarf2-frame.c
---- src/gdb/dwarf2-frame.c 7 Nov 2004 21:16:11 -0000 1.45
-+++ src/gdb/dwarf2-frame.c 9 Nov 2004 14:42:52 -0000
-@@ -162,7 +162,7 @@ dwarf2_frame_state_alloc_regs (struct dw
- static struct dwarf2_frame_state_reg *
- dwarf2_frame_state_copy_regs (struct dwarf2_frame_state_reg_info *rs)
- {
-- size_t size = rs->num_regs * sizeof (struct dwarf2_frame_state_reg_info);
-+ size_t size = rs->num_regs * sizeof (struct dwarf2_frame_state_reg);
- struct dwarf2_frame_state_reg *reg;
-
- reg = (struct dwarf2_frame_state_reg *) xmalloc (size);
diff --git a/openwrt/toolchain/gdb/patches/680-debian_sim-destdir.patch b/openwrt/toolchain/gdb/patches/680-debian_sim-destdir.patch
deleted file mode 100644
index 71f60b5..0000000
--- a/openwrt/toolchain/gdb/patches/680-debian_sim-destdir.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Fix some missing uses of DESTDIR in the sim/ directories. The Debian
-packages use DESTDIR to build.
-
-%patch
-Index: gdb-6.3/sim/Makefile.in
-===================================================================
---- gdb-6.3.orig/sim/Makefile.in 2003-09-03 14:46:52.000000000 -0400
-+++ gdb-6.3/sim/Makefile.in 2004-11-10 00:39:25.381315738 -0500
-@@ -93,6 +93,7 @@ FLAGS_TO_PASS = \
- "CC=$(CC)" \
- "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
- "CFLAGS=$(CFLAGS)" \
-+ "DESTDIR=$(DESTDIR)" \
- "RANLIB=$(RANLIB)" \
- "MAKEINFO=$(MAKEINFO)" \
- "INSTALL=$(INSTALL)" \
-Index: gdb-6.3/sim/common/Make-common.in
-===================================================================
---- gdb-6.3.orig/sim/common/Make-common.in 2003-09-08 13:24:59.000000000 -0400
-+++ gdb-6.3/sim/common/Make-common.in 2004-11-10 00:39:25.383315347 -0500
-@@ -581,14 +581,14 @@ install: install-common $(SIM_EXTRA_INST
-
- install-common: installdirs
- n=`echo run | sed '$(program_transform_name)'`; \
-- $(INSTALL_PROGRAM) run$(EXEEXT) $(bindir)/$$n$(EXEEXT)
-+ $(INSTALL_PROGRAM) run$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
- n=`echo libsim.a | sed s/libsim.a/lib$(target_alias)-sim.a/`; \
-- $(INSTALL_DATA) libsim.a $(libdir)/$$n ; \
-- ( cd $(libdir) ; $(RANLIB) $$n )
-+ $(INSTALL_DATA) libsim.a $(DESTDIR)$(libdir)/$$n ; \
-+ ( cd $(DESTDIR)$(libdir) ; $(RANLIB) $$n )
-
- installdirs:
-- $(SHELL) $(srcdir)/../../mkinstalldirs $(bindir)
-- $(SHELL) $(srcdir)/../../mkinstalldirs $(libdir)
-+ $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir)
-+ $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(libdir)
-
- check:
- cd ../testsuite && $(MAKE) check RUNTESTFLAGS="$(RUNTESTFLAGS)"
-Index: gdb-6.3/sim/erc32/Makefile.in
-===================================================================
---- gdb-6.3.orig/sim/erc32/Makefile.in 2000-03-07 10:32:49.000000000 -0500
-+++ gdb-6.3/sim/erc32/Makefile.in 2004-11-10 00:39:25.385314957 -0500
-@@ -53,7 +53,7 @@ end.h: end
- # Copy the files into directories where they will be run.
- install-sis: installdirs
- n=`echo sis | sed '$(program_transform_name)'`; \
-- $(INSTALL_PROGRAM) sis$(EXEEXT) $(bindir)/$$n$(EXEEXT)
-+ $(INSTALL_PROGRAM) sis$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
-
- clean-sis:
- rm -f sis end end.h
diff --git a/openwrt/toolchain/gdb/patches/690-debian_member-field-symtab.patch b/openwrt/toolchain/gdb/patches/690-debian_member-field-symtab.patch
deleted file mode 100644
index 4f5fb45..0000000
--- a/openwrt/toolchain/gdb/patches/690-debian_member-field-symtab.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Status: unsubmitted
-
-This patch was for Debian bug #239535. It needs to be tested, and
-submitted.
-
-Index: gdb-6.3/gdb/valops.c
-===================================================================
---- gdb-6.3.orig/gdb/valops.c 2004-11-09 22:51:07.000000000 -0500
-+++ gdb-6.3/gdb/valops.c 2004-11-10 00:43:54.036837699 -0500
-@@ -2314,8 +2314,10 @@ check_field_in (struct type *type, const
- return 1;
- }
-
-+ /* Check each baseclass. Call check_typedef, which will follow typedefs
-+ and do opaque/stub type resolution. */
- for (i = TYPE_N_BASECLASSES (type) - 1; i >= 0; i--)
-- if (check_field_in (TYPE_BASECLASS (type, i), name))
-+ if (check_field_in (check_typedef (TYPE_BASECLASS (type, i)), name))
- return 1;
-
- return 0;
-Index: gdb-6.3/gdb/dwarf2read.c
-===================================================================
---- gdb-6.3.orig/gdb/dwarf2read.c 2004-10-15 20:41:00.000000000 -0400
-+++ gdb-6.3/gdb/dwarf2read.c 2004-11-10 00:46:21.970935829 -0500
-@@ -2099,8 +2099,8 @@ guess_structure_name (struct partial_die
- strlen (actual_class_name),
- &cu->comp_unit_obstack);
- xfree (actual_class_name);
-+ break;
- }
-- break;
- }
-
- child_pdi = child_pdi->die_sibling;
diff --git a/openwrt/toolchain/gdb/patches/700-debian_cp-pass-by-reference.patch b/openwrt/toolchain/gdb/patches/700-debian_cp-pass-by-reference.patch
deleted file mode 100644
index 666d343..0000000
--- a/openwrt/toolchain/gdb/patches/700-debian_cp-pass-by-reference.patch
+++ /dev/null
@@ -1,464 +0,0 @@
-This patch needs to be submitted for the FSF. Also, there may be testcases
-already in the GDB testsuite (currently disabled) that it would probably fix.
-
-Index: gdb-6.3/gdb/infcall.c
-===================================================================
---- gdb-6.3.orig/gdb/infcall.c 2004-10-08 04:15:56.000000000 -0400
-+++ gdb-6.3/gdb/infcall.c 2004-11-10 12:30:07.000000000 -0500
-@@ -36,6 +36,7 @@
- #include "gdb_string.h"
- #include "infcall.h"
- #include "dummy-frame.h"
-+#include "cp-abi.h"
-
- /* NOTE: cagney/2003-04-16: What's the future of this code?
-
-@@ -297,8 +298,8 @@ call_function_by_hand (struct value *fun
- {
- CORE_ADDR sp;
- CORE_ADDR dummy_addr;
-- struct type *value_type;
-- unsigned char struct_return;
-+ struct type *value_type, *target_value_type;
-+ unsigned char struct_return = 0, cp_struct_return = 0;
- CORE_ADDR struct_addr = 0;
- struct regcache *retbuf;
- struct cleanup *retbuf_cleanup;
-@@ -312,6 +313,7 @@ call_function_by_hand (struct value *fun
- struct regcache *caller_regcache;
- struct cleanup *caller_regcache_cleanup;
- struct frame_id dummy_id;
-+ struct cleanup *args_cleanup;
-
- if (!target_has_execution)
- noprocess ();
-@@ -410,10 +412,31 @@ call_function_by_hand (struct value *fun
- using_gcc = (b == NULL ? 2 : BLOCK_GCC_COMPILED (b));
- }
-
-- /* Are we returning a value using a structure return or a normal
-- value return? */
-+ /* Are we returning a value using a structure return (passing a
-+ hidden argument pointing to storage) or a normal value return?
-+ There are two cases: C++ ABI mandated structure return and
-+ target ABI structure return. The variable STRUCT_RETURN only
-+ describes the latter. The C++ version is handled by passing
-+ the return location as the first parameter to the function,
-+ even preceding "this". This is different from the target
-+ ABI version, which is target-specific; for instance, on ia64
-+ the first argument is passed in out0 but the hidden structure
-+ return pointer would normally be passed in r8. */
-
-- struct_return = using_struct_return (value_type, using_gcc);
-+ if (current_language->la_language == language_cplus
-+ && cp_pass_by_reference (value_type))
-+ {
-+ cp_struct_return = 1;
-+
-+ /* Tell the target specific argument pushing routine not to
-+ expect a value. */
-+ target_value_type = builtin_type_void;
-+ }
-+ else
-+ {
-+ struct_return = using_struct_return (value_type, using_gcc);
-+ target_value_type = value_type;
-+ }
-
- /* Determine the location of the breakpoint (and possibly other
- stuff) that the called function will return to. The SPARC, for a
-@@ -432,7 +455,7 @@ call_function_by_hand (struct value *fun
- if (INNER_THAN (1, 2))
- {
- sp = push_dummy_code (current_gdbarch, sp, funaddr,
-- using_gcc, args, nargs, value_type,
-+ using_gcc, args, nargs, target_value_type,
- &real_pc, &bp_addr);
- dummy_addr = sp;
- }
-@@ -440,7 +463,7 @@ call_function_by_hand (struct value *fun
- {
- dummy_addr = sp;
- sp = push_dummy_code (current_gdbarch, sp, funaddr,
-- using_gcc, args, nargs, value_type,
-+ using_gcc, args, nargs, target_value_type,
- &real_pc, &bp_addr);
- }
- break;
-@@ -507,9 +530,15 @@ call_function_by_hand (struct value *fun
- param_type = TYPE_FIELD_TYPE (ftype, i);
- else
- param_type = NULL;
--
-+
- args[i] = value_arg_coerce (args[i], param_type, prototyped);
-
-+ /* FIXME: Is current_language the right language? */
-+ if (current_language->la_language == language_cplus
-+ && param_type != NULL
-+ && cp_pass_by_reference (param_type))
-+ args[i] = value_addr (args[i]);
-+
- /* elz: this code is to handle the case in which the function
- to be called has a pointer to function as parameter and the
- corresponding actual argument is the address of a function
-@@ -607,7 +636,7 @@ You must use a pointer to function type
- stack, if necessary. Make certain that the value is correctly
- aligned. */
-
-- if (struct_return)
-+ if (struct_return || cp_struct_return)
- {
- int len = TYPE_LENGTH (value_type);
- if (INNER_THAN (1, 2))
-@@ -632,6 +661,22 @@ You must use a pointer to function type
- }
- }
-
-+ if (cp_struct_return)
-+ {
-+ struct value **new_args;
-+
-+ /* Add the new argument to the front of the argument list. */
-+ new_args = xmalloc (sizeof (struct value *) * (nargs + 1));
-+ new_args[0] = value_from_pointer (lookup_pointer_type (value_type),
-+ struct_addr);
-+ memcpy (&new_args[1], &args[0], sizeof (struct value *) * nargs);
-+ args = new_args;
-+ nargs++;
-+ args_cleanup = make_cleanup (xfree, args);
-+ }
-+ else
-+ args_cleanup = make_cleanup (null_cleanup, NULL);
-+
- /* Create the dummy stack frame. Pass in the call dummy address as,
- presumably, the ABI code knows where, in the call dummy, the
- return address should be pointed. */
-@@ -649,6 +694,8 @@ You must use a pointer to function type
- else
- error ("This target does not support function calls");
-
-+ do_cleanups (args_cleanup);
-+
- /* Set up a frame ID for the dummy frame so we can pass it to
- set_momentary_breakpoint. We need to give the breakpoint a frame
- ID so that the breakpoint code can correctly re-identify the
-@@ -839,11 +886,7 @@ the function call).", name);
- /* Figure out the value returned by the function, return that. */
- {
- struct value *retval;
-- if (TYPE_CODE (value_type) == TYPE_CODE_VOID)
-- /* If the function returns void, don't bother fetching the
-- return value. */
-- retval = allocate_value (value_type);
-- else if (struct_return)
-+ if (struct_return || cp_struct_return)
- /* NOTE: cagney/2003-09-27: This assumes that PUSH_DUMMY_CALL
- has correctly stored STRUCT_ADDR in the target. In the past
- that hasn't been the case, the old MIPS PUSH_ARGUMENTS
-@@ -853,6 +896,10 @@ the function call).", name);
- "struct return convention", check that PUSH_DUMMY_CALL isn't
- playing tricks. */
- retval = value_at (value_type, struct_addr, NULL);
-+ else if (TYPE_CODE (value_type) == TYPE_CODE_VOID)
-+ /* If the function returns void, don't bother fetching the
-+ return value. */
-+ retval = allocate_value (value_type);
- else
- {
- /* This code only handles "register convention". */
-Index: gdb-6.3/gdb/cp-abi.h
-===================================================================
---- gdb-6.3.orig/gdb/cp-abi.h 2003-04-12 13:41:25.000000000 -0400
-+++ gdb-6.3/gdb/cp-abi.h 2004-11-10 12:30:07.000000000 -0500
-@@ -1,7 +1,7 @@
- /* Abstraction of various C++ ABI's we support, and the info we need
- to get from them.
- Contributed by Daniel Berlin <dberlin@redhat.com>
-- Copyright 2001 Free Software Foundation, Inc.
-+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
-@@ -145,6 +145,10 @@ extern struct type *value_rtti_type (str
- extern int baseclass_offset (struct type *type, int index, char *valaddr,
- CORE_ADDR address);
-
-+/* Return non-zero if an argument of type TYPE should be passed by reference
-+ instead of value. */
-+extern int cp_pass_by_reference (struct type *type);
-+
- struct cp_abi_ops
- {
- const char *shortname;
-@@ -162,6 +166,7 @@ struct cp_abi_ops
- int *using_enc);
- int (*baseclass_offset) (struct type *type, int index, char *valaddr,
- CORE_ADDR address);
-+ int (*pass_by_reference) (struct type *type);
- };
-
-
-Index: gdb-6.3/gdb/cp-abi.c
-===================================================================
---- gdb-6.3.orig/gdb/cp-abi.c 2003-11-26 17:04:00.000000000 -0500
-+++ gdb-6.3/gdb/cp-abi.c 2004-11-10 12:30:07.000000000 -0500
-@@ -1,5 +1,5 @@
- /* Generic code for supporting multiple C++ ABI's
-- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
-+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
-@@ -94,6 +94,14 @@ value_rtti_type (struct value *v, int *f
- return (*current_cp_abi.rtti_type) (v, full, top, using_enc);
- }
-
-+int
-+cp_pass_by_reference (struct type *type)
-+{
-+ if ((current_cp_abi.pass_by_reference) == NULL)
-+ return 0;
-+ return (*current_cp_abi.pass_by_reference) (type);
-+}
-+
- /* Set the current C++ ABI to SHORT_NAME. */
-
- static int
-Index: gdb-6.3/gdb/gnu-v3-abi.c
-===================================================================
---- gdb-6.3.orig/gdb/gnu-v3-abi.c 2004-03-15 15:38:08.000000000 -0500
-+++ gdb-6.3/gdb/gnu-v3-abi.c 2004-11-10 12:30:07.000000000 -0500
-@@ -1,7 +1,7 @@
- /* Abstraction of GNU v3 abi.
- Contributed by Jim Blandy <jimb@redhat.com>
-
-- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
-+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
-@@ -419,6 +419,84 @@ gnuv3_baseclass_offset (struct type *typ
- return base_offset;
- }
-
-+/* Return nonzero if a type should be passed by reference.
-+
-+ The rule in the v3 ABI document comes from section 3.1.1. If the
-+ type has a non-trivial copy constructor or destructor, then the
-+ caller must make a copy (by calling the copy constructor if there
-+ is one or perform the copy itself otherwise), pass the address of
-+ the copy, and then destroy the temporary (if necessary).
-+
-+ For return values with non-trivial copy constructors or
-+ destructors, space will be allocated in the caller, and a pointer
-+ will be passed as the first argument (preceding "this").
-+
-+ We don't have a bulletproof mechanism for determining whether a
-+ constructor or destructor is trivial. For GCC and DWARF2 debug
-+ information, we can check the artificial flag.
-+
-+ We don't do anything with the constructors or destructors yet,
-+ but we have to get the argument passing right anyway. */
-+static int
-+gnuv3_pass_by_reference (struct type *type)
-+{
-+ int fieldnum, fieldelem, basenum;
-+
-+ CHECK_TYPEDEF (type);
-+
-+ /* We're only interested in things that can have methods. */
-+ if (TYPE_CODE (type) != TYPE_CODE_STRUCT
-+ && TYPE_CODE (type) != TYPE_CODE_CLASS
-+ && TYPE_CODE (type) != TYPE_CODE_UNION)
-+ return 0;
-+
-+ for (fieldnum = 0; fieldnum < TYPE_NFN_FIELDS (type); fieldnum++)
-+ for (fieldelem = 0; fieldelem < TYPE_FN_FIELDLIST_LENGTH (type, fieldnum);
-+ fieldelem++)
-+ {
-+ struct fn_field *fn = TYPE_FN_FIELDLIST1 (type, fieldnum);
-+ char *name = TYPE_FN_FIELDLIST_NAME (type, fieldnum);
-+ struct type *fieldtype = TYPE_FN_FIELD_TYPE (fn, fieldelem);
-+
-+ /* If this function is marked as artificial, it is compiler-generated,
-+ and we assume it is trivial. */
-+ if (TYPE_FN_FIELD_ARTIFICIAL (fn, fieldelem))
-+ continue;
-+
-+ /* If we've found a destructor, we must pass this by reference. */
-+ if (name[0] == '~')
-+ return 1;
-+
-+ /* If the mangled name of this method doesn't indicate that it
-+ is a constructor, we're not interested.
-+
-+ FIXME drow/2004-05-27: We could do this using the name of
-+ the method and the name of the class instead of dealing
-+ with the mangled name. We don't have a convenient function
-+ to strip off both leading scope qualifiers and trailing
-+ template arguments yet. */
-+ if (!is_constructor_name (TYPE_FN_FIELD_PHYSNAME (fn, fieldelem)))
-+ continue;
-+
-+ /* If this method takes two arguments, and the second argument is
-+ a reference to this class, then it is a copy constructor. */
-+ if (TYPE_NFIELDS (fieldtype) == 2
-+ && TYPE_CODE (TYPE_FIELD_TYPE (fieldtype, 1)) == TYPE_CODE_REF
-+ && check_typedef (TYPE_TARGET_TYPE (TYPE_FIELD_TYPE (fieldtype, 1))) == type)
-+ return 1;
-+ }
-+
-+ /* Even if all the constructors and destructors were artificial, one
-+ of them may have invoked a non-artificial constructor or
-+ destructor in a base class. If any base class needs to be passed
-+ by reference, so does this class. */
-+ for (basenum = 0; basenum < TYPE_N_BASECLASSES (type); basenum++)
-+ if (gnuv3_pass_by_reference (TYPE_BASECLASS (type, basenum)))
-+ return 1;
-+
-+ return 0;
-+}
-+
- static void
- init_gnuv3_ops (void)
- {
-@@ -434,6 +512,7 @@ init_gnuv3_ops (void)
- gnu_v3_abi_ops.rtti_type = gnuv3_rtti_type;
- gnu_v3_abi_ops.virtual_fn_field = gnuv3_virtual_fn_field;
- gnu_v3_abi_ops.baseclass_offset = gnuv3_baseclass_offset;
-+ gnu_v3_abi_ops.pass_by_reference = gnuv3_pass_by_reference;
- }
-
- extern initialize_file_ftype _initialize_gnu_v3_abi; /* -Wmissing-prototypes */
-Index: gdb-6.3/gdb/hpacc-abi.c
-===================================================================
---- gdb-6.3.orig/gdb/hpacc-abi.c 2003-06-08 14:27:13.000000000 -0400
-+++ gdb-6.3/gdb/hpacc-abi.c 2004-11-10 12:30:07.000000000 -0500
-@@ -3,7 +3,7 @@
- Most of the real code is from HP, i've just fiddled it to fit in
- the C++ ABI abstraction framework.
-
-- Copyright 2001 Free Software Foundation, Inc.
-+ Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
-Index: gdb-6.3/gdb/Makefile.in
-===================================================================
---- gdb-6.3.orig/gdb/Makefile.in 2004-11-10 12:30:06.000000000 -0500
-+++ gdb-6.3/gdb/Makefile.in 2004-11-10 12:30:07.000000000 -0500
-@@ -2073,7 +2073,7 @@ ia64-tdep.o: ia64-tdep.c $(defs_h) $(inf
- infcall.o: infcall.c $(defs_h) $(breakpoint_h) $(target_h) $(regcache_h) \
- $(inferior_h) $(gdb_assert_h) $(block_h) $(gdbcore_h) $(language_h) \
- $(objfiles_h) $(gdbcmd_h) $(command_h) $(gdb_string_h) $(infcall_h) \
-- $(dummy_frame_h)
-+ $(dummy_frame_h) $(cp_abi_h)
- inf-child.o: inf-child.c $(defs_h) $(regcache_h) $(memattr_h) $(symtab_h) \
- $(target_h) $(inferior_h) $(gdb_string_h)
- infcmd.o: infcmd.c $(defs_h) $(gdb_string_h) $(symtab_h) $(gdbtypes_h) \
-Index: gdb-6.3/gdb/testsuite/gdb.cp/pass-by-ref.exp
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.3/gdb/testsuite/gdb.cp/pass-by-ref.exp 2004-11-11 09:48:00.498518899 -0500
-@@ -0,0 +1,38 @@
-+# This testcase is part of GDB, the GNU debugger.
-+
-+# Copyright 2004 Free Software Foundation, Inc.
-+
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+
-+# Check that GDB can call C++ functions whose parameters have
-+# object type, but are passed by reference.
-+
-+set testfile "pass-by-ref"
-+set srcfile ${testfile}.cc
-+set binfile ${objdir}/${subdir}/${testfile}
-+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-+ return -1
-+}
-+
-+gdb_exit
-+gdb_start
-+gdb_reinitialize_dir $srcdir/$subdir
-+gdb_load ${binfile}
-+
-+if ![runto_main] then {
-+ return -1
-+}
-+
-+gdb_test "print foo (global_obj)" " = 3" "call function"
-Index: gdb-6.3/gdb/testsuite/gdb.cp/pass-by-ref.cc
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-6.3/gdb/testsuite/gdb.cp/pass-by-ref.cc 2004-11-11 09:44:17.815014667 -0500
-@@ -0,0 +1,57 @@
-+/* This testcase is part of GDB, the GNU debugger.
-+
-+ Copyright 2004 Free Software Foundation, Inc.
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+ USA. */
-+
-+class Obj {
-+public:
-+ Obj ();
-+ Obj (const Obj &);
-+ ~Obj ();
-+ int var[2];
-+};
-+
-+int foo (Obj arg)
-+{
-+ return arg.var[0] + arg.var[1];
-+}
-+
-+Obj::Obj ()
-+{
-+ var[0] = 1;
-+ var[1] = 2;
-+}
-+
-+Obj::Obj (const Obj &obj)
-+{
-+ var[0] = obj.var[0];
-+ var[1] = obj.var[1];
-+}
-+
-+Obj::~Obj ()
-+{
-+
-+}
-+
-+Obj global_obj;
-+
-+int
-+main ()
-+{
-+ int bar = foo (global_obj);
-+ return bar;
-+}
diff --git a/openwrt/toolchain/gdb/patches/710-debian_thread-db-multiple-libraries.patch b/openwrt/toolchain/gdb/patches/710-debian_thread-db-multiple-libraries.patch
deleted file mode 100644
index c164bd1..0000000
--- a/openwrt/toolchain/gdb/patches/710-debian_thread-db-multiple-libraries.patch
+++ /dev/null
@@ -1,593 +0,0 @@
-Support loading two libthread_db DSOs. In this case, the LinuxThreads
-and NPTL ones.
-
-Index: gdb-6.3/gdb/thread-db.c
-===================================================================
---- gdb-6.3.orig/gdb/thread-db.c 2004-11-10 10:46:24.000000000 -0500
-+++ gdb-6.3/gdb/thread-db.c 2004-11-10 11:22:34.858812426 -0500
-@@ -79,53 +79,63 @@ static td_thragent_t *thread_agent;
-
- /* Pointers to the libthread_db functions. */
-
--static td_err_e (*td_init_p) (void);
-+struct thread_db_pointers
-+{
-+ const char *filename;
-+
-+ td_err_e (*td_init_p) (void);
-
--static td_err_e (*td_ta_new_p) (struct ps_prochandle * ps,
-- td_thragent_t **ta);
--static td_err_e (*td_ta_map_id2thr_p) (const td_thragent_t *ta, thread_t pt,
-- td_thrhandle_t *__th);
--static td_err_e (*td_ta_map_lwp2thr_p) (const td_thragent_t *ta,
-- lwpid_t lwpid, td_thrhandle_t *th);
--static td_err_e (*td_ta_thr_iter_p) (const td_thragent_t *ta,
-- td_thr_iter_f *callback, void *cbdata_p,
-- td_thr_state_e state, int ti_pri,
-- sigset_t *ti_sigmask_p,
-- unsigned int ti_user_flags);
--static td_err_e (*td_ta_event_addr_p) (const td_thragent_t *ta,
-- td_event_e event, td_notify_t *ptr);
--static td_err_e (*td_ta_set_event_p) (const td_thragent_t *ta,
-- td_thr_events_t *event);
--static td_err_e (*td_ta_event_getmsg_p) (const td_thragent_t *ta,
-- td_event_msg_t *msg);
--
--static td_err_e (*td_thr_validate_p) (const td_thrhandle_t *th);
--static td_err_e (*td_thr_get_info_p) (const td_thrhandle_t *th,
-- td_thrinfo_t *infop);
--static td_err_e (*td_thr_getfpregs_p) (const td_thrhandle_t *th,
-- gdb_prfpregset_t *regset);
--static td_err_e (*td_thr_getgregs_p) (const td_thrhandle_t *th,
-- prgregset_t gregs);
--static td_err_e (*td_thr_setfpregs_p) (const td_thrhandle_t *th,
-- const gdb_prfpregset_t *fpregs);
--static td_err_e (*td_thr_setgregs_p) (const td_thrhandle_t *th,
-- prgregset_t gregs);
--static td_err_e (*td_thr_event_enable_p) (const td_thrhandle_t *th,
-- int event);
--
--static td_err_e (*td_thr_tls_get_addr_p) (const td_thrhandle_t *th,
-- void *map_address,
-- size_t offset, void **address);
-+ td_err_e (*td_ta_new_p) (struct ps_prochandle * ps,
-+ td_thragent_t **ta);
-+ td_err_e (*td_ta_map_id2thr_p) (const td_thragent_t *ta, thread_t pt,
-+ td_thrhandle_t *__th);
-+ td_err_e (*td_ta_map_lwp2thr_p) (const td_thragent_t *ta,
-+ lwpid_t lwpid, td_thrhandle_t *th);
-+
-+ td_err_e (*td_ta_thr_iter_p) (const td_thragent_t *ta,
-+ td_thr_iter_f *callback, void *cbdata_p,
-+ td_thr_state_e state, int ti_pri,
-+ sigset_t *ti_sigmask_p,
-+ unsigned int ti_user_flags);
-+ td_err_e (*td_ta_event_addr_p) (const td_thragent_t *ta,
-+ td_event_e event, td_notify_t *ptr);
-+ td_err_e (*td_ta_set_event_p) (const td_thragent_t *ta,
-+ td_thr_events_t *event);
-+ td_err_e (*td_ta_event_getmsg_p) (const td_thragent_t *ta,
-+ td_event_msg_t *msg);
-+
-+ td_err_e (*td_thr_validate_p) (const td_thrhandle_t *th);
-+ td_err_e (*td_thr_get_info_p) (const td_thrhandle_t *th,
-+ td_thrinfo_t *infop);
-+ td_err_e (*td_thr_getfpregs_p) (const td_thrhandle_t *th,
-+ gdb_prfpregset_t *regset);
-+ td_err_e (*td_thr_getgregs_p) (const td_thrhandle_t *th,
-+ prgregset_t gregs);
-+ td_err_e (*td_thr_setfpregs_p) (const td_thrhandle_t *th,
-+ const gdb_prfpregset_t *fpregs);
-+ td_err_e (*td_thr_setgregs_p) (const td_thrhandle_t *th,
-+ prgregset_t gregs);
-+ td_err_e (*td_thr_event_enable_p) (const td_thrhandle_t *th,
-+ int event);
-+
-+ td_err_e (*td_thr_tls_get_addr_p) (const td_thrhandle_t *th,
-+ void *map_address,
-+ size_t offset, void **address);
-+
-+ struct thread_db_pointers *next;
-+};
-
- /* Location of the thread creation event breakpoint. The code at this
- location in the child process will be called by the pthread library
- whenever a new thread is created. By setting a special breakpoint
- at this location, GDB can detect when a new thread is created. We
- obtain this location via the td_ta_event_addr call. */
--static CORE_ADDR td_create_bp_addr;
-+CORE_ADDR td_create_bp_addr;
-
- /* Location of the thread death event breakpoint. */
--static CORE_ADDR td_death_bp_addr;
-+CORE_ADDR td_death_bp_addr;
-+
-+static struct thread_db_pointers *current_pointers, *all_pointers;
-
- /* Prototypes for local functions. */
- static void thread_db_find_new_threads (void);
-@@ -262,7 +272,7 @@ thread_get_info_callback (const td_thrha
- struct thread_info *thread_info;
- ptid_t thread_ptid;
-
-- err = td_thr_get_info_p (thp, &ti);
-+ err = current_pointers->td_thr_get_info_p (thp, &ti);
- if (err != TD_OK)
- error ("thread_get_info_callback: cannot get thread info: %s",
- thread_db_err_str (err));
-@@ -316,8 +326,9 @@ thread_db_map_id2thr (struct thread_info
- if (thread_info->private->th_valid)
- return;
-
-- err = td_ta_map_id2thr_p (thread_agent, GET_THREAD (thread_info->ptid),
-- &thread_info->private->th);
-+ err = current_pointers->td_ta_map_id2thr_p (thread_agent,
-+ GET_THREAD (thread_info->ptid),
-+ &thread_info->private->th);
- if (err != TD_OK)
- {
- if (fatal)
-@@ -340,8 +351,8 @@ thread_db_get_info (struct thread_info *
- if (!thread_info->private->th_valid)
- thread_db_map_id2thr (thread_info, 1);
-
-- err =
-- td_thr_get_info_p (&thread_info->private->th, &thread_info->private->ti);
-+ err = current_pointers->td_thr_get_info_p (&thread_info->private->th,
-+ &thread_info->private->ti);
- if (err != TD_OK)
- error ("thread_db_get_info: cannot get thread info: %s",
- thread_db_err_str (err));
-@@ -365,7 +376,8 @@ thread_from_lwp (ptid_t ptid)
-
- gdb_assert (is_lwp (ptid));
-
-- err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), &th);
-+ err = current_pointers->td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid),
-+ &th);
- if (err != TD_OK)
- error ("Cannot find user-level thread for LWP %ld: %s",
- GET_LWP (ptid), thread_db_err_str (err));
-@@ -420,85 +432,102 @@ verbose_dlsym (void *handle, const char
- return sym;
- }
-
--static int
--thread_db_load (void)
-+static struct thread_db_pointers *
-+thread_db_load (const char *name)
- {
-+ struct thread_db_pointers *ptrs;
-+ Dl_info info;
- void *handle;
- td_err_e err;
-
-- handle = dlopen (LIBTHREAD_DB_SO, RTLD_NOW);
-+ ptrs = xcalloc (1, sizeof (struct thread_db_pointers));
-+
-+ handle = dlopen (name, RTLD_NOW);
- if (handle == NULL)
- {
-- fprintf_filtered (gdb_stderr, "\n\ndlopen failed on '%s' - %s\n",
-- LIBTHREAD_DB_SO, dlerror ());
-- fprintf_filtered (gdb_stderr,
-- "GDB will not be able to debug pthreads.\n\n");
-+ if (all_pointers == NULL)
-+ {
-+ fprintf_filtered (gdb_stderr, "\n\ndlopen failed on '%s' - %s\n",
-+ name, dlerror ());
-+ fprintf_filtered (gdb_stderr,
-+ "GDB will not be able to debug pthreads.\n\n");
-+ }
- return 0;
- }
-
- /* Initialize pointers to the dynamic library functions we will use.
- Essential functions first. */
-
-- td_init_p = verbose_dlsym (handle, "td_init");
-- if (td_init_p == NULL)
-+ ptrs->td_init_p = verbose_dlsym (handle, "td_init");
-+ if (ptrs->td_init_p == NULL)
- return 0;
-
-- td_ta_new_p = verbose_dlsym (handle, "td_ta_new");
-- if (td_ta_new_p == NULL)
-+ ptrs->td_ta_new_p = verbose_dlsym (handle, "td_ta_new");
-+ if (ptrs->td_ta_new_p == NULL)
- return 0;
-
-- td_ta_map_id2thr_p = verbose_dlsym (handle, "td_ta_map_id2thr");
-- if (td_ta_map_id2thr_p == NULL)
-+ ptrs->td_ta_map_id2thr_p = verbose_dlsym (handle, "td_ta_map_id2thr");
-+ if (ptrs->td_ta_map_id2thr_p == NULL)
- return 0;
-
-- td_ta_map_lwp2thr_p = verbose_dlsym (handle, "td_ta_map_lwp2thr");
-- if (td_ta_map_lwp2thr_p == NULL)
-+ ptrs->td_ta_map_lwp2thr_p = verbose_dlsym (handle, "td_ta_map_lwp2thr");
-+ if (ptrs->td_ta_map_lwp2thr_p == NULL)
- return 0;
-
-- td_ta_thr_iter_p = verbose_dlsym (handle, "td_ta_thr_iter");
-- if (td_ta_thr_iter_p == NULL)
-+ ptrs->td_ta_thr_iter_p = verbose_dlsym (handle, "td_ta_thr_iter");
-+ if (ptrs->td_ta_thr_iter_p == NULL)
- return 0;
-
-- td_thr_validate_p = verbose_dlsym (handle, "td_thr_validate");
-- if (td_thr_validate_p == NULL)
-+ ptrs->td_thr_validate_p = verbose_dlsym (handle, "td_thr_validate");
-+ if (ptrs->td_thr_validate_p == NULL)
- return 0;
-
-- td_thr_get_info_p = verbose_dlsym (handle, "td_thr_get_info");
-- if (td_thr_get_info_p == NULL)
-+ ptrs->td_thr_get_info_p = verbose_dlsym (handle, "td_thr_get_info");
-+ if (ptrs->td_thr_get_info_p == NULL)
- return 0;
-
-- td_thr_getfpregs_p = verbose_dlsym (handle, "td_thr_getfpregs");
-- if (td_thr_getfpregs_p == NULL)
-+ ptrs->td_thr_getfpregs_p = verbose_dlsym (handle, "td_thr_getfpregs");
-+ if (ptrs->td_thr_getfpregs_p == NULL)
- return 0;
-
-- td_thr_getgregs_p = verbose_dlsym (handle, "td_thr_getgregs");
-- if (td_thr_getgregs_p == NULL)
-+ ptrs->td_thr_getgregs_p = verbose_dlsym (handle, "td_thr_getgregs");
-+ if (ptrs->td_thr_getgregs_p == NULL)
- return 0;
-
-- td_thr_setfpregs_p = verbose_dlsym (handle, "td_thr_setfpregs");
-- if (td_thr_setfpregs_p == NULL)
-+ ptrs->td_thr_setfpregs_p = verbose_dlsym (handle, "td_thr_setfpregs");
-+ if (ptrs->td_thr_setfpregs_p == NULL)
- return 0;
-
-- td_thr_setgregs_p = verbose_dlsym (handle, "td_thr_setgregs");
-- if (td_thr_setgregs_p == NULL)
-+ ptrs->td_thr_setgregs_p = verbose_dlsym (handle, "td_thr_setgregs");
-+ if (ptrs->td_thr_setgregs_p == NULL)
- return 0;
-
- /* Initialize the library. */
-- err = td_init_p ();
-+ err = ptrs->td_init_p ();
- if (err != TD_OK)
- {
- warning ("Cannot initialize libthread_db: %s", thread_db_err_str (err));
-+ xfree (ptrs);
- return 0;
- }
-
- /* These are not essential. */
-- td_ta_event_addr_p = dlsym (handle, "td_ta_event_addr");
-- td_ta_set_event_p = dlsym (handle, "td_ta_set_event");
-- td_ta_event_getmsg_p = dlsym (handle, "td_ta_event_getmsg");
-- td_thr_event_enable_p = dlsym (handle, "td_thr_event_enable");
-- td_thr_tls_get_addr_p = dlsym (handle, "td_thr_tls_get_addr");
-+ ptrs->td_ta_event_addr_p = dlsym (handle, "td_ta_event_addr");
-+ ptrs->td_ta_set_event_p = dlsym (handle, "td_ta_set_event");
-+ ptrs->td_ta_event_getmsg_p = dlsym (handle, "td_ta_event_getmsg");
-+ ptrs->td_thr_event_enable_p = dlsym (handle, "td_thr_event_enable");
-+ ptrs->td_thr_tls_get_addr_p = dlsym (handle, "td_thr_tls_get_addr");
-+
-+ if (dladdr (ptrs->td_ta_new_p, &info) != 0)
-+ ptrs->filename = info.dli_fname;
-+
-+ /* Try dlinfo? */
-+
-+ if (ptrs->filename == NULL)
-+ /* Paranoid - don't let a NULL path slip through. */
-+ ptrs->filename = name;
-
-- return 1;
-+ return ptrs;
- }
-
- static td_err_e
-@@ -508,7 +537,7 @@ enable_thread_event (td_thragent_t *thre
- td_err_e err;
-
- /* Get the breakpoint address for thread EVENT. */
-- err = td_ta_event_addr_p (thread_agent, event, &notify);
-+ err = current_pointers->td_ta_event_addr_p (thread_agent, event, &notify);
- if (err != TD_OK)
- return err;
-
-@@ -534,8 +563,10 @@ enable_thread_event_reporting (void)
-
- /* We cannot use the thread event reporting facility if these
- functions aren't available. */
-- if (td_ta_event_addr_p == NULL || td_ta_set_event_p == NULL
-- || td_ta_event_getmsg_p == NULL || td_thr_event_enable_p == NULL)
-+ if (current_pointers->td_ta_event_addr_p == NULL
-+ || current_pointers->td_ta_set_event_p == NULL
-+ || current_pointers->td_ta_event_getmsg_p == NULL
-+ || current_pointers->td_thr_event_enable_p == NULL)
- return;
-
- /* Set the process wide mask saying which events we're interested in. */
-@@ -552,7 +583,7 @@ enable_thread_event_reporting (void)
- #endif
- td_event_addset (&events, TD_DEATH);
-
-- err = td_ta_set_event_p (thread_agent, &events);
-+ err = current_pointers->td_ta_set_event_p (thread_agent, &events);
- if (err != TD_OK)
- {
- warning ("Unable to set global thread event mask: %s",
-@@ -592,7 +623,7 @@ disable_thread_event_reporting (void)
- /* Set the process wide mask saying we aren't interested in any
- events anymore. */
- td_event_emptyset (&events);
-- td_ta_set_event_p (thread_agent, &events);
-+ current_pointers->td_ta_set_event_p (thread_agent, &events);
-
- /* Delete thread event breakpoints, if any. */
- remove_thread_event_breakpoints ();
-@@ -635,7 +666,6 @@ check_thread_signals (void)
- static void
- check_for_thread_db (void)
- {
-- td_err_e err;
- static int already_loaded;
-
- /* First time through, report that libthread_db was successfuly
-@@ -644,19 +674,8 @@ check_for_thread_db (void)
-
- if (!already_loaded)
- {
-- Dl_info info;
-- const char *library = NULL;
-- if (dladdr ((*td_ta_new_p), &info) != 0)
-- library = info.dli_fname;
--
-- /* Try dlinfo? */
--
-- if (library == NULL)
-- /* Paranoid - don't let a NULL path slip through. */
-- library = LIBTHREAD_DB_SO;
--
- printf_unfiltered ("Using host libthread_db library \"%s\".\n",
-- library);
-+ all_pointers->filename);
- already_loaded = 1;
- }
-
-@@ -674,28 +693,34 @@ check_for_thread_db (void)
- proc_handle.pid = GET_PID (inferior_ptid);
-
- /* Now attempt to open a connection to the thread library. */
-- err = td_ta_new_p (&proc_handle, &thread_agent);
-- switch (err)
-+ for (current_pointers = all_pointers;
-+ current_pointers != NULL;
-+ current_pointers = current_pointers->next)
- {
-- case TD_NOLIBTHREAD:
-- /* No thread library was detected. */
-- break;
--
-- case TD_OK:
-- printf_unfiltered ("[Thread debugging using libthread_db enabled]\n");
-+ td_err_e err;
-+ err = current_pointers->td_ta_new_p (&proc_handle, &thread_agent);
-+ switch (err)
-+ {
-+ case TD_NOLIBTHREAD:
-+ /* No thread library was detected. */
-+ break;
-
-- /* The thread library was detected. Activate the thread_db target. */
-- push_target (&thread_db_ops);
-- using_thread_db = 1;
-+ case TD_OK:
-+ printf_unfiltered ("[Thread debugging using libthread_db enabled]\n");
-
-- enable_thread_event_reporting ();
-- thread_db_find_new_threads ();
-- break;
-+ /* The thread library was detected. Activate the thread_db target. */
-+ push_target (&thread_db_ops);
-+ using_thread_db = 1;
-+
-+ enable_thread_event_reporting ();
-+ thread_db_find_new_threads ();
-+ return;
-
-- default:
-- warning ("Cannot initialize thread debugging library: %s",
-- thread_db_err_str (err));
-- break;
-+ default:
-+ warning ("Cannot initialize thread debugging library: %s",
-+ thread_db_err_str (err));
-+ break;
-+ }
- }
- }
-
-@@ -766,7 +791,7 @@ attach_thread (ptid_t ptid, const td_thr
- #endif
-
- /* Enable thread event reporting for this thread. */
-- err = td_thr_event_enable_p (th_p, 1);
-+ err = current_pointers->td_thr_event_enable_p (th_p, 1);
- if (err != TD_OK)
- error ("Cannot enable thread event reporting for %s: %s",
- target_pid_to_str (ptid), thread_db_err_str (err));
-@@ -892,7 +917,7 @@ check_event (ptid_t ptid)
-
- do
- {
-- err = td_ta_event_getmsg_p (thread_agent, &msg);
-+ err = current_pointers->td_ta_event_getmsg_p (thread_agent, &msg);
- if (err != TD_OK)
- {
- if (err == TD_NOMSG)
-@@ -902,7 +927,7 @@ check_event (ptid_t ptid)
- thread_db_err_str (err));
- }
-
-- err = td_thr_get_info_p (msg.th_p, &ti);
-+ err = current_pointers->td_thr_get_info_p (msg.th_p, &ti);
- if (err != TD_OK)
- error ("Cannot get thread info: %s", thread_db_err_str (err));
-
-@@ -1015,12 +1040,14 @@ thread_db_fetch_registers (int regno)
- thread_info = find_thread_pid (inferior_ptid);
- thread_db_map_id2thr (thread_info, 1);
-
-- err = td_thr_getgregs_p (&thread_info->private->th, gregset);
-+ err = current_pointers->td_thr_getgregs_p (&thread_info->private->th,
-+ gregset);
- if (err != TD_OK)
- error ("Cannot fetch general-purpose registers for thread %ld: %s",
- (long) GET_THREAD (inferior_ptid), thread_db_err_str (err));
-
-- err = td_thr_getfpregs_p (&thread_info->private->th, &fpregset);
-+ err = current_pointers->td_thr_getfpregs_p (&thread_info->private->th,
-+ &fpregset);
- if (err != TD_OK)
- error ("Cannot get floating-point registers for thread %ld: %s",
- (long) GET_THREAD (inferior_ptid), thread_db_err_str (err));
-@@ -1062,11 +1089,13 @@ thread_db_store_registers (int regno)
- fill_gregset ((gdb_gregset_t *) gregset, -1);
- fill_fpregset (&fpregset, -1);
-
-- err = td_thr_setgregs_p (&thread_info->private->th, gregset);
-+ err = current_pointers->td_thr_setgregs_p (&thread_info->private->th,
-+ gregset);
- if (err != TD_OK)
- error ("Cannot store general-purpose registers for thread %ld: %s",
- (long) GET_THREAD (inferior_ptid), thread_db_err_str (err));
-- err = td_thr_setfpregs_p (&thread_info->private->th, &fpregset);
-+ err = current_pointers->td_thr_setfpregs_p (&thread_info->private->th,
-+ &fpregset);
- if (err != TD_OK)
- error ("Cannot store floating-point registers for thread %ld: %s",
- (long) GET_THREAD (inferior_ptid), thread_db_err_str (err));
-@@ -1136,15 +1165,14 @@ thread_db_thread_alive (ptid_t ptid)
- if (!thread_info->private->th_valid)
- return 0;
-
-- err = td_thr_validate_p (&thread_info->private->th);
-+ err = current_pointers->td_thr_validate_p (&thread_info->private->th);
- if (err != TD_OK)
- return 0;
-
- if (!thread_info->private->ti_valid)
- {
-- err =
-- td_thr_get_info_p (&thread_info->private->th,
-- &thread_info->private->ti);
-+ err = current_pointers->td_thr_get_info_p
-+ (&thread_info->private->th, &thread_info->private->ti);
- if (err != TD_OK)
- return 0;
- thread_info->private->ti_valid = 1;
-@@ -1170,7 +1198,7 @@ find_new_threads_callback (const td_thrh
- td_err_e err;
- ptid_t ptid;
-
-- err = td_thr_get_info_p (th_p, &ti);
-+ err = current_pointers->td_thr_get_info_p (th_p, &ti);
- if (err != TD_OK)
- error ("find_new_threads_callback: cannot get thread info: %s",
- thread_db_err_str (err));
-@@ -1192,9 +1220,10 @@ thread_db_find_new_threads (void)
- td_err_e err;
-
- /* Iterate over all user-space threads to discover new threads. */
-- err = td_ta_thr_iter_p (thread_agent, find_new_threads_callback, NULL,
-- TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY,
-- TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS);
-+ err = current_pointers->td_ta_thr_iter_p
-+ (thread_agent, find_new_threads_callback, NULL,
-+ TD_THR_ANY_STATE, TD_THR_LOWEST_PRIORITY,
-+ TD_SIGNO_MASK, TD_THR_ANY_USER_FLAGS);
- if (err != TD_OK)
- error ("Cannot find new threads: %s", thread_db_err_str (err));
- }
-@@ -1257,7 +1286,7 @@ thread_db_get_thread_local_address (ptid
- struct thread_info *thread_info;
-
- /* glibc doesn't provide the needed interface. */
-- if (!td_thr_tls_get_addr_p)
-+ if (!current_pointers->td_thr_tls_get_addr_p)
- error ("Cannot find thread-local variables in this thread library.");
-
- /* Get the address of the link map for this objfile. */
-@@ -1279,8 +1308,8 @@ thread_db_get_thread_local_address (ptid
- thread_db_map_id2thr (thread_info, 1);
-
- /* Finally, get the address of the variable. */
-- err = td_thr_tls_get_addr_p (&thread_info->private->th, (void *) lm,
-- offset, &address);
-+ err = current_pointers->td_thr_tls_get_addr_p
-+ (&thread_info->private->th, (void *) lm, offset, &address);
-
- #ifdef THREAD_DB_HAS_TD_NOTALLOC
- /* The memory hasn't been allocated, yet. */
-@@ -1360,17 +1389,49 @@ init_thread_db_ops (void)
- void
- _initialize_thread_db (void)
- {
-+ struct thread_db_pointers *ptrs;
-+ const char *p;
-+
- /* Only initialize the module if we can load libthread_db. */
-- if (thread_db_load ())
-- {
-- init_thread_db_ops ();
-- add_target (&thread_db_ops);
-+ ptrs = thread_db_load (LIBTHREAD_DB_SO);
-+ if (ptrs == NULL)
-+ return;
-+
-+ all_pointers = ptrs;
-
-- /* Add ourselves to objfile event chain. */
-- target_new_objfile_chain = deprecated_target_new_objfile_hook;
-- deprecated_target_new_objfile_hook = thread_db_new_objfile;
-+ /* Some GNU/Linux systems have more than one binary-compatible copy
-+ of libthread_db. If we can find a second one, load that too.
-+ The inferior may force the use of a different threading package
-+ than we expect. Our guess for the location is somewhat hokey:
-+ strip out anything between /lib (or /lib64) and LIBTHREAD_DB_SO.
-+ If we loaded the NPTL libthread_db by default, this may find us
-+ the LinuxThreads copy. */
-+ p = strrchr (ptrs->filename, '/');
-+ while (p != NULL && p > ptrs->filename)
-+ {
-+ const char *component;
-
-- /* Register ourselves for the new inferior observer. */
-- observer_attach_inferior_created (check_for_thread_db_observer);
-+ component = memrchr (ptrs->filename, '/', p - ptrs->filename);
-+ if (component != NULL && strncmp (component, "/lib", 4) == 0)
-+ {
-+ char *new_name = xmalloc (p - ptrs->filename + 2
-+ + strlen (LIBTHREAD_DB_SO));
-+ memcpy (new_name, ptrs->filename, p - ptrs->filename + 1);
-+ strcpy (new_name + (p - ptrs->filename) + 1, LIBTHREAD_DB_SO);
-+ ptrs->next = thread_db_load (new_name);
-+ xfree (new_name);
-+ break;
-+ }
-+ p = component;
- }
-+
-+ init_thread_db_ops ();
-+ add_target (&thread_db_ops);
-+
-+ /* Add ourselves to objfile event chain. */
-+ target_new_objfile_chain = deprecated_target_new_objfile_hook;
-+ deprecated_target_new_objfile_hook = thread_db_new_objfile;
-+
-+ /* Register ourselves for the new inferior observer. */
-+ observer_attach_inferior_created (check_for_thread_db_observer);
- }
diff --git a/openwrt/toolchain/gdb/patches/720-debian_static-threads-test.patch b/openwrt/toolchain/gdb/patches/720-debian_static-threads-test.patch
deleted file mode 100644
index 448c9b1..0000000
--- a/openwrt/toolchain/gdb/patches/720-debian_static-threads-test.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Update staticthreads.exp to handle debugging info in libpthread.a.
-
-Index: gdb-6.3/gdb/testsuite/gdb.threads/staticthreads.exp
-===================================================================
---- gdb-6.3.orig/gdb/testsuite/gdb.threads/staticthreads.exp 2004-11-10 10:35:15.000000000 -0500
-+++ gdb-6.3/gdb/testsuite/gdb.threads/staticthreads.exp 2004-11-10 11:22:48.671121466 -0500
-@@ -53,6 +53,10 @@ gdb_test_multiple "continue" "$test" {
- -re " sem_post .*$gdb_prompt " {
- pass "$test"
- }
-+ -re " (.*_)sem_post .*$gdb_prompt " {
-+ # Glibc uses aliases for internal symbols; match __new_sem_post.
-+ pass "$test"
-+ }
- -re "Program received signal .*$gdb_prompt " {
- kfail gdb/1328 "$test"
- }
-@@ -64,8 +68,16 @@ gdb_test_multiple "continue" "$test" {
-
- rerun_to_main
- gdb_test "handle SIG32 nostop noprint pass"
--set test "Handle SIG32 helps"
--gdb_test "continue" " sem_post .*" "handle SIG32 helps"
-+set test "handle SIG32 helps"
-+gdb_test_multiple "continue" "$test" {
-+ -re " sem_post .*$gdb_prompt $" {
-+ pass "$test"
-+ }
-+ -re " (.*_)sem_post .*$gdb_prompt $" {
-+ # Glibc uses aliases for internal symbols; match __new_sem_post.
-+ pass "$test"
-+ }
-+}
-
-
- # See if info threads produces anything approaching a thread list.
diff --git a/openwrt/toolchain/gdb/patches/730-debian_gdb-fix-tracefork-check.patch b/openwrt/toolchain/gdb/patches/730-debian_gdb-fix-tracefork-check.patch
deleted file mode 100644
index 9890d80..0000000
--- a/openwrt/toolchain/gdb/patches/730-debian_gdb-fix-tracefork-check.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-Status: submitted for comments
-
-2004-11-12 Daniel Jacobowitz <dan@debian.org>
-
- * linux-nat.c (my_waitpid): New function.
- (linux_test_for_tracefork): Make more robust and verbose. Take
- an ORIGINAL_PID argument and test for PTRACE_SETOPTIONS first.
- (linux_supports_tracefork, linux_supports_tracevforkdone): Take a PID
- argument. Update calls to linux_test_for_tracefork.
- (linux_enable_event_reporting, child_follow_fork)
- (child_insert_fork_catchpoint, child_insert_vfork_catchpoint)
- (child_insert_exec_catchpoint): Update calls to
- linux_supports_tracefork and linux_supports_tracevforkdone.
-
-Index: gdb-6.3/gdb/linux-nat.c
-===================================================================
---- gdb-6.3.orig/gdb/linux-nat.c 2004-10-08 16:29:47.000000000 -0400
-+++ gdb-6.3/gdb/linux-nat.c 2004-11-13 16:41:51.368720845 -0500
-@@ -150,18 +150,47 @@ linux_tracefork_child (void)
- exit (0);
- }
-
--/* Determine if PTRACE_O_TRACEFORK can be used to follow fork events. We
-+/* Wrapper function for waitpid which handles EINTR. */
-+
-+static int
-+my_waitpid (int pid, int *status, int flags)
-+{
-+ int ret;
-+ do
-+ {
-+ ret = waitpid (pid, status, flags);
-+ }
-+ while (ret == -1 && errno == EINTR);
-+
-+ return ret;
-+}
-+
-+/* Determine if PTRACE_O_TRACEFORK can be used to follow fork events.
-+
-+ First, we try to enable fork tracing on ORIGINAL_PID. If this fails,
-+ we know that the feature is not available. This may change the tracing
-+ options for ORIGINAL_PID, but we'll be setting them shortly anyway.
-+
-+ However, if it succeeds, we don't know for sure that the feature is
-+ available; old versions of PTRACE_SETOPTIONS ignored unknown options. We
- create a child process, attach to it, use PTRACE_SETOPTIONS to enable
-- fork tracing, and let it fork. If the process exits, we assume that
-- we can't use TRACEFORK; if we get the fork notification, and we can
-- extract the new child's PID, then we assume that we can. */
-+ fork tracing, and let it fork. If the process exits, we assume that we
-+ can't use TRACEFORK; if we get the fork notification, and we can extract
-+ the new child's PID, then we assume that we can. */
-
- static void
--linux_test_for_tracefork (void)
-+linux_test_for_tracefork (int original_pid)
- {
- int child_pid, ret, status;
- long second_pid;
-
-+ linux_supports_tracefork_flag = 0;
-+ linux_supports_tracevforkdone_flag = 0;
-+
-+ ret = ptrace (PTRACE_SETOPTIONS, original_pid, 0, PTRACE_O_TRACEFORK);
-+ if (ret != 0)
-+ return;
-+
- child_pid = fork ();
- if (child_pid == -1)
- perror_with_name ("linux_test_for_tracefork: fork");
-@@ -169,7 +198,7 @@ linux_test_for_tracefork (void)
- if (child_pid == 0)
- linux_tracefork_child ();
-
-- ret = waitpid (child_pid, &status, 0);
-+ ret = my_waitpid (child_pid, &status, 0);
- if (ret == -1)
- perror_with_name ("linux_test_for_tracefork: waitpid");
- else if (ret != child_pid)
-@@ -177,13 +206,23 @@ linux_test_for_tracefork (void)
- if (! WIFSTOPPED (status))
- error ("linux_test_for_tracefork: waitpid: unexpected status %d.", status);
-
-- linux_supports_tracefork_flag = 0;
--
- ret = ptrace (PTRACE_SETOPTIONS, child_pid, 0, PTRACE_O_TRACEFORK);
- if (ret != 0)
- {
-- ptrace (PTRACE_KILL, child_pid, 0, 0);
-- waitpid (child_pid, &status, 0);
-+ ret = ptrace (PTRACE_KILL, child_pid, 0, 0);
-+ if (ret != 0)
-+ {
-+ warning ("linux_test_for_tracefork: failed to kill child");
-+ return;
-+ }
-+
-+ ret = my_waitpid (child_pid, &status, 0);
-+ if (ret != child_pid)
-+ warning ("linux_test_for_tracefork: failed to wait for killed child");
-+ else if (!WIFSIGNALED (status))
-+ warning ("linux_test_for_tracefork: unexpected wait status 0x%x from "
-+ "killed child", status);
-+
- return;
- }
-
-@@ -192,8 +231,12 @@ linux_test_for_tracefork (void)
- PTRACE_O_TRACEFORK | PTRACE_O_TRACEVFORKDONE);
- linux_supports_tracevforkdone_flag = (ret == 0);
-
-- ptrace (PTRACE_CONT, child_pid, 0, 0);
-- ret = waitpid (child_pid, &status, 0);
-+ ret = ptrace (PTRACE_CONT, child_pid, 0, 0);
-+ if (ret != 0)
-+ warning ("linux_test_for_tracefork: failed to resume child");
-+
-+ ret = my_waitpid (child_pid, &status, 0);
-+
- if (ret == child_pid && WIFSTOPPED (status)
- && status >> 16 == PTRACE_EVENT_FORK)
- {
-@@ -204,34 +247,38 @@ linux_test_for_tracefork (void)
- int second_status;
-
- linux_supports_tracefork_flag = 1;
-- waitpid (second_pid, &second_status, 0);
-- ptrace (PTRACE_DETACH, second_pid, 0, 0);
-+ my_waitpid (second_pid, &second_status, 0);
-+ ret = ptrace (PTRACE_KILL, second_pid, 0, 0);
-+ if (ret != 0)
-+ warning ("linux_test_for_tracefork: failed to kill second child");
- }
- }
-+ else
-+ warning ("linux_test_for_tracefork: unexpected result from waitpid "
-+ "(%d, status 0x%x)", ret, status);
-
-- if (WIFSTOPPED (status))
-- {
-- ptrace (PTRACE_DETACH, child_pid, 0, 0);
-- waitpid (child_pid, &status, 0);
-- }
-+ ret = ptrace (PTRACE_KILL, child_pid, 0, 0);
-+ if (ret != 0)
-+ warning ("linux_test_for_tracefork: failed to kill child");
-+ my_waitpid (child_pid, &status, 0);
- }
-
- /* Return non-zero iff we have tracefork functionality available.
- This function also sets linux_supports_tracefork_flag. */
-
- static int
--linux_supports_tracefork (void)
-+linux_supports_tracefork (int pid)
- {
- if (linux_supports_tracefork_flag == -1)
-- linux_test_for_tracefork ();
-+ linux_test_for_tracefork (pid);
- return linux_supports_tracefork_flag;
- }
-
- static int
--linux_supports_tracevforkdone (void)
-+linux_supports_tracevforkdone (int pid)
- {
- if (linux_supports_tracefork_flag == -1)
-- linux_test_for_tracefork ();
-+ linux_test_for_tracefork (pid);
- return linux_supports_tracevforkdone_flag;
- }
-
-@@ -242,12 +289,12 @@ linux_enable_event_reporting (ptid_t pti
- int pid = ptid_get_pid (ptid);
- int options;
-
-- if (! linux_supports_tracefork ())
-+ if (! linux_supports_tracefork (pid))
- return;
-
- options = PTRACE_O_TRACEFORK | PTRACE_O_TRACEVFORK | PTRACE_O_TRACEEXEC
- | PTRACE_O_TRACECLONE;
-- if (linux_supports_tracevforkdone ())
-+ if (linux_supports_tracevforkdone (pid))
- options |= PTRACE_O_TRACEVFORKDONE;
-
- /* Do not enable PTRACE_O_TRACEEXIT until GDB is more prepared to support
-@@ -308,7 +355,8 @@ child_follow_fork (int follow_child)
-
- if (has_vforked)
- {
-- if (linux_supports_tracevforkdone ())
-+ gdb_assert (linux_supports_tracefork_flag >= 0);
-+ if (linux_supports_tracevforkdone (0))
- {
- int status;
-
-@@ -476,7 +524,7 @@ linux_handle_extended_wait (int pid, int
- int
- child_insert_fork_catchpoint (int pid)
- {
-- if (! linux_supports_tracefork ())
-+ if (! linux_supports_tracefork (pid))
- error ("Your system does not support fork catchpoints.");
-
- return 0;
-@@ -485,7 +533,7 @@ child_insert_fork_catchpoint (int pid)
- int
- child_insert_vfork_catchpoint (int pid)
- {
-- if (!linux_supports_tracefork ())
-+ if (!linux_supports_tracefork (pid))
- error ("Your system does not support vfork catchpoints.");
-
- return 0;
-@@ -494,7 +542,7 @@ child_insert_vfork_catchpoint (int pid)
- int
- child_insert_exec_catchpoint (int pid)
- {
-- if (!linux_supports_tracefork ())
-+ if (!linux_supports_tracefork (pid))
- error ("Your system does not support exec catchpoints.");
-
- return 0;
diff --git a/openwrt/toolchain/gdb/patches/740-debian_make-cv-type-crash.patch b/openwrt/toolchain/gdb/patches/740-debian_make-cv-type-crash.patch
deleted file mode 100644
index 4e0b8cd..0000000
--- a/openwrt/toolchain/gdb/patches/740-debian_make-cv-type-crash.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-2004-11-04 Jim Blandy <jimb@redhat.com>
-
- * gdbtypes.c (make_qualified_type): Doc fix. Add assertion to
- prevent cross-objfile references.
- (make_cv_type): Doc fix. Don't create cross-objfile references,
- even for stub types.
- (replace_type): Add assertion to prevent cross-objfile references.
- (check_typedef): Never resolve a stub type by copying over a type
- from another file.
-
-Index: src/gdb/gdbtypes.c
-===================================================================
-RCS file: /big/fsf/rsync/src-cvs/src/gdb/gdbtypes.c,v
-retrieving revision 1.92
-retrieving revision 1.93
-diff -u -p -r1.92 -r1.93
---- src/gdb/gdbtypes.c 8 Aug 2004 17:18:16 -0000 1.92
-+++ src/gdb/gdbtypes.c 4 Nov 2004 17:50:16 -0000 1.93
-@@ -433,7 +433,9 @@ address_space_int_to_name (int space_fla
- }
-
- /* Create a new type with instance flags NEW_FLAGS, based on TYPE.
-- If STORAGE is non-NULL, create the new type instance there. */
-+
-+ If STORAGE is non-NULL, create the new type instance there.
-+ STORAGE must be in the same obstack as TYPE. */
-
- static struct type *
- make_qualified_type (struct type *type, int new_flags,
-@@ -453,6 +455,12 @@ make_qualified_type (struct type *type,
- ntype = alloc_type_instance (type);
- else
- {
-+ /* If STORAGE was provided, it had better be in the same objfile as
-+ TYPE. Otherwise, we can't link it into TYPE's cv chain: if one
-+ objfile is freed and the other kept, we'd have dangling
-+ pointers. */
-+ gdb_assert (TYPE_OBJFILE (type) == TYPE_OBJFILE (storage));
-+
- ntype = storage;
- TYPE_MAIN_TYPE (ntype) = TYPE_MAIN_TYPE (type);
- TYPE_CHAIN (ntype) = ntype;
-@@ -501,11 +509,12 @@ make_type_with_address_space (struct typ
- CNST is a flag for setting the const attribute
- VOLTL is a flag for setting the volatile attribute
- TYPE is the base type whose variant we are creating.
-- TYPEPTR, if nonzero, points
-- to a pointer to memory where the reference type should be stored.
-- If *TYPEPTR is zero, update it to point to the reference type we return.
-- We allocate new memory if needed. */
-
-+ If TYPEPTR and *TYPEPTR are non-zero, then *TYPEPTR points to
-+ storage to hold the new qualified type; *TYPEPTR and TYPE must be
-+ in the same objfile. Otherwise, allocate fresh memory for the new
-+ type whereever TYPE lives. If TYPEPTR is non-zero, set it to the
-+ new type we construct. */
- struct type *
- make_cv_type (int cnst, int voltl, struct type *type, struct type **typeptr)
- {
-@@ -524,20 +533,19 @@ make_cv_type (int cnst, int voltl, struc
-
- if (typeptr && *typeptr != NULL)
- {
-- /* Objfile is per-core-type. This const-qualified type had best
-- belong to the same objfile as the type it is qualifying, unless
-- we are overwriting a stub type, in which case the safest thing
-- to do is to copy the core type into the new objfile. */
--
-- gdb_assert (TYPE_OBJFILE (*typeptr) == TYPE_OBJFILE (type)
-- || TYPE_STUB (*typeptr));
-- if (TYPE_OBJFILE (*typeptr) != TYPE_OBJFILE (type))
-- {
-- TYPE_MAIN_TYPE (*typeptr)
-- = TYPE_ALLOC (*typeptr, sizeof (struct main_type));
-- *TYPE_MAIN_TYPE (*typeptr)
-- = *TYPE_MAIN_TYPE (type);
-- }
-+ /* TYPE and *TYPEPTR must be in the same objfile. We can't have
-+ a C-V variant chain that threads across objfiles: if one
-+ objfile gets freed, then the other has a broken C-V chain.
-+
-+ This code used to try to copy over the main type from TYPE to
-+ *TYPEPTR if they were in different objfiles, but that's
-+ wrong, too: TYPE may have a field list or member function
-+ lists, which refer to types of their own, etc. etc. The
-+ whole shebang would need to be copied over recursively; you
-+ can't have inter-objfile pointers. The only thing to do is
-+ to leave stub types as stub types, and look them up afresh by
-+ name each time you encounter them. */
-+ gdb_assert (TYPE_OBJFILE (*typeptr) == TYPE_OBJFILE (type));
- }
-
- ntype = make_qualified_type (type, new_flags, typeptr ? *typeptr : NULL);
-@@ -562,6 +570,12 @@ replace_type (struct type *ntype, struct
- {
- struct type *chain;
-
-+ /* These two types had better be in the same objfile. Otherwise,
-+ the assignment of one type's main type structure to the other
-+ will produce a type with references to objects (names; field
-+ lists; etc.) allocated on an objfile other than its own. */
-+ gdb_assert (TYPE_OBJFILE (ntype) == TYPE_OBJFILE (ntype));
-+
- *TYPE_MAIN_TYPE (ntype) = *TYPE_MAIN_TYPE (type);
-
- /* The type length is not a part of the main type. Update it for each
-@@ -1416,8 +1430,24 @@ check_typedef (struct type *type)
- return type;
- }
- newtype = lookup_transparent_type (name);
-+
- if (newtype)
-- make_cv_type (is_const, is_volatile, newtype, &type);
-+ {
-+ /* If the resolved type and the stub are in the same objfile,
-+ then replace the stub type with the real deal. But if
-+ they're in separate objfiles, leave the stub alone; we'll
-+ just look up the transparent type every time we call
-+ check_typedef. We can't create pointers between types
-+ allocated to different objfiles, since they may have
-+ different lifetimes. Trying to copy NEWTYPE over to TYPE's
-+ objfile is pointless, too, since you'll have to move over any
-+ other types NEWTYPE refers to, which could be an unbounded
-+ amount of stuff. */
-+ if (TYPE_OBJFILE (newtype) == TYPE_OBJFILE (type))
-+ make_cv_type (is_const, is_volatile, newtype, &type);
-+ else
-+ type = newtype;
-+ }
- }
- /* Otherwise, rely on the stub flag being set for opaque/stubbed types */
- else if (TYPE_STUB (type) && !currently_reading_symtab)
diff --git a/openwrt/toolchain/gdb/patches/750-debian_sparc-singlestep.patch b/openwrt/toolchain/gdb/patches/750-debian_sparc-singlestep.patch
deleted file mode 100644
index 904883c..0000000
--- a/openwrt/toolchain/gdb/patches/750-debian_sparc-singlestep.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Status: submitted for comments
-
-2004-11-13 Daniel Jacobowitz <dan@debian.org>
-
- * sparc-tdep.c (sparc_software_single_step): Handle stepping to NULL.
-
-Index: gdb-6.3/gdb/sparc-tdep.c
-===================================================================
---- gdb-6.3.orig/gdb/sparc-tdep.c 2004-06-06 22:02:55.000000000 -0400
-+++ gdb-6.3/gdb/sparc-tdep.c 2004-11-13 17:06:05.000000000 -0500
-@@ -1026,10 +1026,10 @@
-
- if (insert_breakpoints_p)
- {
-- CORE_ADDR pc;
-+ CORE_ADDR pc, orig_npc;
-
- pc = sparc_address_from_register (tdep->pc_regnum);
-- npc = sparc_address_from_register (tdep->npc_regnum);
-+ orig_npc = npc = sparc_address_from_register (tdep->npc_regnum);
-
- /* Analyze the instruction at PC. */
- nnpc = sparc_analyze_control_transfer (pc, &npc);
-@@ -1039,9 +1039,10 @@
- target_insert_breakpoint (nnpc, nnpc_save);
-
- /* Assert that we have set at least one breakpoint, and that
-- they're not set at the same spot. */
-- gdb_assert (npc != 0 || nnpc != 0);
-- gdb_assert (nnpc != npc);
-+ they're not set at the same spot - unless we're going
-+ from here straight to NULL, i.e. a call or jump to 0. */
-+ gdb_assert (npc != 0 || nnpc != 0 || orig_npc == 0);
-+ gdb_assert (nnpc != npc || orig_npc == 0);
- }
- else
- {
diff --git a/openwrt/toolchain/gdb/patches/760-debian_vsyscall-bfd-close-result.patch b/openwrt/toolchain/gdb/patches/760-debian_vsyscall-bfd-close-result.patch
deleted file mode 100644
index 56002be..0000000
--- a/openwrt/toolchain/gdb/patches/760-debian_vsyscall-bfd-close-result.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-2004-10-24 Daniel Jacobowitz <dan@debian.org>
-
- * opncls.c (bfd_close): Return TRUE for BFD_IN_MEMORY.
-
-Index: src/bfd/opncls.c
-===================================================================
-RCS file: /big/fsf/rsync/src-cvs/src/bfd/opncls.c,v
-retrieving revision 1.25
-diff -u -p -r1.25 opncls.c
---- src/bfd/opncls.c 10 Oct 2004 13:58:05 -0000 1.25
-+++ src/bfd/opncls.c 24 Oct 2004 17:52:53 -0000
-@@ -598,7 +598,7 @@ bfd_close (bfd *abfd)
- if (!(abfd->flags & BFD_IN_MEMORY))
- ret = abfd->iovec->bclose (abfd);
- else
-- ret = 0;
-+ ret = TRUE;
-
- /* If the file was open for writing and is now executable,
- make it so. */
diff --git a/openwrt/toolchain/gdb/patches/770-debian_vfork-done-spelling.patch b/openwrt/toolchain/gdb/patches/770-debian_vfork-done-spelling.patch
deleted file mode 100644
index f65db8d..0000000
--- a/openwrt/toolchain/gdb/patches/770-debian_vfork-done-spelling.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: gdb-6.3/gdb/linux-nat.c
-===================================================================
---- gdb-6.3.orig/gdb/linux-nat.c 2004-11-14 00:36:41.000000000 -0500
-+++ gdb-6.3/gdb/linux-nat.c 2004-11-15 11:51:43.954161476 -0500
-@@ -69,7 +69,7 @@
- #define PTRACE_EVENT_VFORK 2
- #define PTRACE_EVENT_CLONE 3
- #define PTRACE_EVENT_EXEC 4
--#define PTRACE_EVENT_VFORKDONE 5
-+#define PTRACE_EVENT_VFORK_DONE 5
- #define PTRACE_EVENT_EXIT 6
-
- #endif /* PTRACE_EVENT_FORK */
-@@ -362,7 +362,7 @@ child_follow_fork (int follow_child)
-
- ptrace (PTRACE_CONT, parent_pid, 0, 0);
- waitpid (parent_pid, &status, __WALL);
-- if ((status >> 16) != PTRACE_EVENT_VFORKDONE)
-+ if ((status >> 16) != PTRACE_EVENT_VFORK_DONE)
- warning ("Unexpected waitpid result %06x when waiting for "
- "vfork-done", status);
- }
-@@ -434,7 +434,7 @@ child_follow_fork (int follow_child)
- generally not encounter vfork (vfork is defined to fork
- in libpthread.so).
-
-- The holding part is very easy if we have VFORKDONE events;
-+ The holding part is very easy if we have VFORK_DONE events;
- but keeping track of both processes is beyond GDB at the
- moment. So we don't expose the parent to the rest of GDB.
- Instead we quietly hold onto it until such time as we can
diff --git a/openwrt/toolchain/gdb/patches/780-debian_gdbserver-rdynamic.patch b/openwrt/toolchain/gdb/patches/780-debian_gdbserver-rdynamic.patch
deleted file mode 100644
index 0311dde..0000000
--- a/openwrt/toolchain/gdb/patches/780-debian_gdbserver-rdynamic.patch
+++ /dev/null
@@ -1,675 +0,0 @@
-Status: Commited to GDB after 6.3.
-
-Index: gdb-6.3/gdb/gdbserver/acinclude.m4
-===================================================================
---- gdb-6.3.orig/gdb/gdbserver/acinclude.m4 2002-06-11 13:32:39.000000000 -0400
-+++ gdb-6.3/gdb/gdbserver/acinclude.m4 2004-12-07 17:19:31.115089905 -0500
-@@ -13,6 +13,7 @@ AC_DEFUN([SRV_CHECK_THREAD_DB],
- void ps_lsetregs() {}
- void ps_lgetfpregs() {}
- void ps_lsetfpregs() {}
-+ void ps_get_thread_area() {}
- void ps_getpid() {}],
- [td_ta_new();],
- [srv_cv_thread_db="-lthread_db"],
-@@ -32,10 +33,11 @@ AC_DEFUN([SRV_CHECK_THREAD_DB],
- void ps_lsetregs() {}
- void ps_lgetfpregs() {}
- void ps_lsetfpregs() {}
-+ void ps_get_thread_area() {}
- void ps_getpid() {}],
- [td_ta_new();],
- [srv_cv_thread_db="$thread_db"],
- [srv_cv_thread_db=no])
-+ ]])
- LIBS="$old_LIBS"
-- ]])
- )])
-Index: gdb-6.3/gdb/gdbserver/configure
-===================================================================
---- gdb-6.3.orig/gdb/gdbserver/configure 2004-10-16 12:18:54.000000000 -0400
-+++ gdb-6.3/gdb/gdbserver/configure 2004-12-07 17:22:17.343129771 -0500
-@@ -28,6 +28,7 @@ program_suffix=NONE
- program_transform_name=s,x,x,
- silent=
- site=
-+sitefile=
- srcdir=
- target=NONE
- verbose=
-@@ -142,6 +143,7 @@ Configuration:
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
-+ --site-file=FILE use FILE as the site file
- --version print the version of autoconf that created configure
- Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
-@@ -312,6 +314,11 @@ EOF
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
-+ -site-file | --site-file | --site-fil | --site-fi | --site-f)
-+ ac_prev=sitefile ;;
-+ -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
-+ sitefile="$ac_optarg" ;;
-+
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-@@ -477,12 +484,16 @@ fi
- srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
- # Prefer explicitly selected file to automatically selected ones.
--if test -z "$CONFIG_SITE"; then
-- if test "x$prefix" != xNONE; then
-- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-- else
-- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-+if test -z "$sitefile"; then
-+ if test -z "$CONFIG_SITE"; then
-+ if test "x$prefix" != xNONE; then
-+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-+ else
-+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-+ fi
- fi
-+else
-+ CONFIG_SITE="$sitefile"
- fi
- for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
-@@ -526,7 +537,7 @@ fi
- # Extract the first word of "gcc", so it can be a program name with args.
- set dummy gcc; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:530: checking for $ac_word" >&5
-+echo "configure:541: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -556,7 +567,7 @@ if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
- set dummy cc; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:560: checking for $ac_word" >&5
-+echo "configure:571: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -607,7 +618,7 @@ fi
- # Extract the first word of "cl", so it can be a program name with args.
- set dummy cl; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:611: checking for $ac_word" >&5
-+echo "configure:622: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -639,7 +650,7 @@ fi
- fi
-
- echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
--echo "configure:643: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-+echo "configure:654: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
- ac_ext=c
- # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-@@ -650,12 +661,12 @@ cross_compiling=$ac_cv_prog_cc_cross
-
- cat > conftest.$ac_ext << EOF
-
--#line 654 "configure"
-+#line 665 "configure"
- #include "confdefs.h"
-
- main(){return(0);}
- EOF
--if { (eval echo configure:659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:670: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
-@@ -681,12 +692,12 @@ if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
- fi
- echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
--echo "configure:685: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-+echo "configure:696: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
- echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
- cross_compiling=$ac_cv_prog_cc_cross
-
- echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
--echo "configure:690: checking whether we are using GNU C" >&5
-+echo "configure:701: checking whether we are using GNU C" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -695,7 +706,7 @@ else
- yes;
- #endif
- EOF
--if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:699: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:710: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
- else
- ac_cv_prog_gcc=no
-@@ -714,7 +725,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
--echo "configure:718: checking whether ${CC-cc} accepts -g" >&5
-+echo "configure:729: checking whether ${CC-cc} accepts -g" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -793,7 +804,7 @@ else { echo "configure: error: can not r
- fi
-
- echo $ac_n "checking host system type""... $ac_c" 1>&6
--echo "configure:797: checking host system type" >&5
-+echo "configure:808: checking host system type" >&5
-
- host_alias=$host
- case "$host_alias" in
-@@ -814,7 +825,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
- echo "$ac_t""$host" 1>&6
-
- echo $ac_n "checking target system type""... $ac_c" 1>&6
--echo "configure:818: checking target system type" >&5
-+echo "configure:829: checking target system type" >&5
-
- target_alias=$target
- case "$target_alias" in
-@@ -832,7 +843,7 @@ target_os=`echo $target | sed 's/^\([^-]
- echo "$ac_t""$target" 1>&6
-
- echo $ac_n "checking build system type""... $ac_c" 1>&6
--echo "configure:836: checking build system type" >&5
-+echo "configure:847: checking build system type" >&5
-
- build_alias=$build
- case "$build_alias" in
-@@ -867,7 +878,7 @@ test "$host_alias" != "$target_alias" &&
- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
- # ./install, which can be erroneously created by make from ./install.sh.
- echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
--echo "configure:871: checking for a BSD compatible install" >&5
-+echo "configure:882: checking for a BSD compatible install" >&5
- if test -z "$INSTALL"; then
- if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-@@ -921,7 +932,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
-
-
- echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
--echo "configure:925: checking how to run the C preprocessor" >&5
-+echo "configure:936: checking how to run the C preprocessor" >&5
- # On Suns, sometimes $CPP names a directory.
- if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-@@ -936,13 +947,13 @@ else
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
--#line 940 "configure"
-+#line 951 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:957: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- :
-@@ -953,13 +964,13 @@ else
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
--#line 957 "configure"
-+#line 968 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:963: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:974: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- :
-@@ -970,13 +981,13 @@ else
- rm -rf conftest*
- CPP="${CC-cc} -nologo -E"
- cat > conftest.$ac_ext <<EOF
--#line 974 "configure"
-+#line 985 "configure"
- #include "confdefs.h"
- #include <assert.h>
- Syntax Error
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:980: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:991: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- :
-@@ -1001,12 +1012,12 @@ fi
- echo "$ac_t""$CPP" 1>&6
-
- echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
--echo "configure:1005: checking for ANSI C header files" >&5
-+echo "configure:1016: checking for ANSI C header files" >&5
- if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1010 "configure"
-+#line 1021 "configure"
- #include "confdefs.h"
- #include <stdlib.h>
- #include <stdarg.h>
-@@ -1014,7 +1025,7 @@ else
- #include <float.h>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1018: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:1029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- rm -rf conftest*
-@@ -1031,7 +1042,7 @@ rm -f conftest*
- if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat > conftest.$ac_ext <<EOF
--#line 1035 "configure"
-+#line 1046 "configure"
- #include "confdefs.h"
- #include <string.h>
- EOF
-@@ -1049,7 +1060,7 @@ fi
- if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat > conftest.$ac_ext <<EOF
--#line 1053 "configure"
-+#line 1064 "configure"
- #include "confdefs.h"
- #include <stdlib.h>
- EOF
-@@ -1070,7 +1081,7 @@ if test "$cross_compiling" = yes; then
- :
- else
- cat > conftest.$ac_ext <<EOF
--#line 1074 "configure"
-+#line 1085 "configure"
- #include "confdefs.h"
- #include <ctype.h>
- #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-@@ -1081,7 +1092,7 @@ if (XOR (islower (i), ISLOWER (i)) || to
- exit (0); }
-
- EOF
--if { (eval echo configure:1085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:1096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
- :
- else
-@@ -1109,17 +1120,17 @@ for ac_hdr in sgtty.h termio.h termios.h
- do
- ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
- echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:1113: checking for $ac_hdr" >&5
-+echo "configure:1124: checking for $ac_hdr" >&5
- if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1118 "configure"
-+#line 1129 "configure"
- #include "confdefs.h"
- #include <$ac_hdr>
- EOF
- ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-+{ (eval echo configure:1134: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
- ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
- if test -z "$ac_err"; then
- rm -rf conftest*
-@@ -1147,12 +1158,12 @@ done
-
-
- echo $ac_n "checking whether strerror must be declared""... $ac_c" 1>&6
--echo "configure:1151: checking whether strerror must be declared" >&5
-+echo "configure:1162: checking whether strerror must be declared" >&5
- if eval "test \"`echo '$''{'bfd_cv_decl_needed_strerror'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1156 "configure"
-+#line 1167 "configure"
- #include "confdefs.h"
-
- #include <stdio.h>
-@@ -1173,7 +1184,7 @@ int main() {
- char *(*pfn) = (char *(*)) strerror
- ; return 0; }
- EOF
--if { (eval echo configure:1177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- bfd_cv_decl_needed_strerror=no
- else
-@@ -1205,19 +1216,19 @@ fi
-
- if test "${srv_linux_regsets}" = "yes"; then
- echo $ac_n "checking for PTRACE_GETREGS""... $ac_c" 1>&6
--echo "configure:1209: checking for PTRACE_GETREGS" >&5
-+echo "configure:1220: checking for PTRACE_GETREGS" >&5
- if eval "test \"`echo '$''{'gdbsrv_cv_have_ptrace_getregs'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1214 "configure"
-+#line 1225 "configure"
- #include "confdefs.h"
- #include <sys/ptrace.h>
- int main() {
- PTRACE_GETREGS;
- ; return 0; }
- EOF
--if { (eval echo configure:1221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1232: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- gdbsrv_cv_have_ptrace_getregs=yes
- else
-@@ -1238,19 +1249,19 @@ EOF
- fi
-
- echo $ac_n "checking for PTRACE_GETFPXREGS""... $ac_c" 1>&6
--echo "configure:1242: checking for PTRACE_GETFPXREGS" >&5
-+echo "configure:1253: checking for PTRACE_GETFPXREGS" >&5
- if eval "test \"`echo '$''{'gdbsrv_cv_have_ptrace_getfpxregs'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1247 "configure"
-+#line 1258 "configure"
- #include "confdefs.h"
- #include <sys/ptrace.h>
- int main() {
- PTRACE_GETFPXREGS;
- ; return 0; }
- EOF
--if { (eval echo configure:1254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1265: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- gdbsrv_cv_have_ptrace_getfpxregs=yes
- else
-@@ -1273,12 +1284,12 @@ fi
-
- if test "$ac_cv_header_sys_procfs_h" = yes; then
- echo $ac_n "checking for lwpid_t in sys/procfs.h""... $ac_c" 1>&6
--echo "configure:1277: checking for lwpid_t in sys/procfs.h" >&5
-+echo "configure:1288: checking for lwpid_t in sys/procfs.h" >&5
- if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_lwpid_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1282 "configure"
-+#line 1293 "configure"
- #include "confdefs.h"
-
- #define _SYSCALL32
-@@ -1287,7 +1298,7 @@ int main() {
- lwpid_t avar
- ; return 0; }
- EOF
--if { (eval echo configure:1291: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- bfd_cv_have_sys_procfs_type_lwpid_t=yes
- else
-@@ -1309,12 +1320,12 @@ EOF
- echo "$ac_t""$bfd_cv_have_sys_procfs_type_lwpid_t" 1>&6
-
- echo $ac_n "checking for psaddr_t in sys/procfs.h""... $ac_c" 1>&6
--echo "configure:1313: checking for psaddr_t in sys/procfs.h" >&5
-+echo "configure:1324: checking for psaddr_t in sys/procfs.h" >&5
- if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_psaddr_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1318 "configure"
-+#line 1329 "configure"
- #include "confdefs.h"
-
- #define _SYSCALL32
-@@ -1323,7 +1334,7 @@ int main() {
- psaddr_t avar
- ; return 0; }
- EOF
--if { (eval echo configure:1327: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1338: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- bfd_cv_have_sys_procfs_type_psaddr_t=yes
- else
-@@ -1345,12 +1356,12 @@ EOF
- echo "$ac_t""$bfd_cv_have_sys_procfs_type_psaddr_t" 1>&6
-
- echo $ac_n "checking for prgregset_t in sys/procfs.h""... $ac_c" 1>&6
--echo "configure:1349: checking for prgregset_t in sys/procfs.h" >&5
-+echo "configure:1360: checking for prgregset_t in sys/procfs.h" >&5
- if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prgregset_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1354 "configure"
-+#line 1365 "configure"
- #include "confdefs.h"
-
- #define _SYSCALL32
-@@ -1359,7 +1370,7 @@ int main() {
- prgregset_t avar
- ; return 0; }
- EOF
--if { (eval echo configure:1363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1374: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- bfd_cv_have_sys_procfs_type_prgregset_t=yes
- else
-@@ -1381,12 +1392,12 @@ EOF
- echo "$ac_t""$bfd_cv_have_sys_procfs_type_prgregset_t" 1>&6
-
- echo $ac_n "checking for prfpregset_t in sys/procfs.h""... $ac_c" 1>&6
--echo "configure:1385: checking for prfpregset_t in sys/procfs.h" >&5
-+echo "configure:1396: checking for prfpregset_t in sys/procfs.h" >&5
- if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_prfpregset_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1390 "configure"
-+#line 1401 "configure"
- #include "confdefs.h"
-
- #define _SYSCALL32
-@@ -1395,7 +1406,7 @@ int main() {
- prfpregset_t avar
- ; return 0; }
- EOF
--if { (eval echo configure:1399: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1410: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- bfd_cv_have_sys_procfs_type_prfpregset_t=yes
- else
-@@ -1421,7 +1432,7 @@ EOF
-
- if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
- echo $ac_n "checking whether prfpregset_t type is broken""... $ac_c" 1>&6
--echo "configure:1425: checking whether prfpregset_t type is broken" >&5
-+echo "configure:1436: checking whether prfpregset_t type is broken" >&5
- if eval "test \"`echo '$''{'gdb_cv_prfpregset_t_broken'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
-@@ -1429,7 +1440,7 @@ else
- gdb_cv_prfpregset_t_broken=yes
- else
- cat > conftest.$ac_ext <<EOF
--#line 1433 "configure"
-+#line 1444 "configure"
- #include "confdefs.h"
- #include <sys/procfs.h>
- int main ()
-@@ -1439,7 +1450,7 @@ else
- return 0;
- }
- EOF
--if { (eval echo configure:1443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-+if { (eval echo configure:1454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
- then
- gdb_cv_prfpregset_t_broken=no
- else
-@@ -1463,12 +1474,12 @@ EOF
- fi
-
- echo $ac_n "checking for elf_fpregset_t in sys/procfs.h""... $ac_c" 1>&6
--echo "configure:1467: checking for elf_fpregset_t in sys/procfs.h" >&5
-+echo "configure:1478: checking for elf_fpregset_t in sys/procfs.h" >&5
- if eval "test \"`echo '$''{'bfd_cv_have_sys_procfs_type_elf_fpregset_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- cat > conftest.$ac_ext <<EOF
--#line 1472 "configure"
-+#line 1483 "configure"
- #include "confdefs.h"
-
- #define _SYSCALL32
-@@ -1477,7 +1488,7 @@ int main() {
- elf_fpregset_t avar
- ; return 0; }
- EOF
--if { (eval echo configure:1481: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-+if { (eval echo configure:1492: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- bfd_cv_have_sys_procfs_type_elf_fpregset_t=yes
- else
-@@ -1506,14 +1517,14 @@ USE_THREAD_DB=
-
- if test "$srv_linux_thread_db" = "yes"; then
- echo $ac_n "checking for libthread_db""... $ac_c" 1>&6
--echo "configure:1510: checking for libthread_db" >&5
-+echo "configure:1521: checking for libthread_db" >&5
- if eval "test \"`echo '$''{'srv_cv_thread_db'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
- else
- old_LIBS="$LIBS"
- LIBS="$LIBS -lthread_db"
- cat > conftest.$ac_ext <<EOF
--#line 1517 "configure"
-+#line 1528 "configure"
- #include "confdefs.h"
- void ps_pglobal_lookup() {}
- void ps_pdread() {}
-@@ -1522,12 +1533,13 @@ void ps_pglobal_lookup() {}
- void ps_lsetregs() {}
- void ps_lgetfpregs() {}
- void ps_lsetfpregs() {}
-+ void ps_get_thread_area() {}
- void ps_getpid() {}
- int main() {
- td_ta_new();
- ; return 0; }
- EOF
--if { (eval echo configure:1531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:1543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- srv_cv_thread_db="-lthread_db"
- else
-@@ -1543,7 +1555,7 @@ else
- fi
- LIBS="$old_LIBS `eval echo "$thread_db"`"
- cat > conftest.$ac_ext <<EOF
--#line 1547 "configure"
-+#line 1559 "configure"
- #include "confdefs.h"
- void ps_pglobal_lookup() {}
- void ps_pdread() {}
-@@ -1552,12 +1564,13 @@ void ps_pglobal_lookup() {}
- void ps_lsetregs() {}
- void ps_lgetfpregs() {}
- void ps_lsetfpregs() {}
-+ void ps_get_thread_area() {}
- void ps_getpid() {}
- int main() {
- td_ta_new();
- ; return 0; }
- EOF
--if { (eval echo configure:1561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:1574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- srv_cv_thread_db="$thread_db"
- else
-@@ -1567,11 +1580,11 @@ else
- srv_cv_thread_db=no
- fi
- rm -f conftest*
-- LIBS="$old_LIBS"
--
-+
- fi
-
- echo "$ac_t""$srv_cv_thread_db" 1>&6
-+ LIBS="$old_LIBS"
-
- fi
- rm -f conftest*
-@@ -1585,14 +1598,14 @@ rm -f conftest*
- old_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -rdynamic"
- cat > conftest.$ac_ext <<EOF
--#line 1589 "configure"
-+#line 1602 "configure"
- #include "confdefs.h"
-
- int main() {
-
- ; return 0; }
- EOF
--if { (eval echo configure:1596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-+if { (eval echo configure:1609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
- rm -rf conftest*
- RDYNAMIC=-rdynamic
- else
-Index: gdb-6.3/gdb/gdbserver/aclocal.m4
-===================================================================
---- gdb-6.3.orig/gdb/gdbserver/aclocal.m4 2002-06-11 13:32:39.000000000 -0400
-+++ gdb-6.3/gdb/gdbserver/aclocal.m4 2004-12-07 17:22:00.382495519 -0500
-@@ -1,4 +1,4 @@
--dnl aclocal.m4 generated automatically by aclocal 1.4-p4
-+dnl aclocal.m4 generated automatically by aclocal 1.4
-
- dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
- dnl This file is free software; the Free Software Foundation
-@@ -25,6 +25,7 @@ AC_DEFUN([SRV_CHECK_THREAD_DB],
- void ps_lsetregs() {}
- void ps_lgetfpregs() {}
- void ps_lsetfpregs() {}
-+ void ps_get_thread_area() {}
- void ps_getpid() {}],
- [td_ta_new();],
- [srv_cv_thread_db="-lthread_db"],
-@@ -44,11 +45,12 @@ AC_DEFUN([SRV_CHECK_THREAD_DB],
- void ps_lsetregs() {}
- void ps_lgetfpregs() {}
- void ps_lsetfpregs() {}
-+ void ps_get_thread_area() {}
- void ps_getpid() {}],
- [td_ta_new();],
- [srv_cv_thread_db="$thread_db"],
- [srv_cv_thread_db=no])
-+ ]])
- LIBS="$old_LIBS"
-- ]])
- )])
-
diff --git a/openwrt/toolchain/gdb/patches/790-debian_dwarf2-cfi-warning.patch b/openwrt/toolchain/gdb/patches/790-debian_dwarf2-cfi-warning.patch
deleted file mode 100644
index cfb3d95..0000000
--- a/openwrt/toolchain/gdb/patches/790-debian_dwarf2-cfi-warning.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Status: Unsuitable for upstream (at least, without a lot of arguing).
-
-GCC does not specify the state of every last register in the CIE. Since
-GCC's focus is on correctness of runtime unwinding, any registers which
-have to be unwound will be specified; but unmodified registers will not
-be explicitly marked. (How about modified, call-clobbered registers?
-I'm not sure if they are marked as unavailable.)
-
-GDB issues a noisy warning about this. The warning is generally not useful,
-and we can get it extremely frequently (any time we load a new CIE).
-
-This patch disables the warning. Alternately we could set the complaints
-threshold to zero, or implement a default frame init-register method for
-every architecture. But someday the compiler will support using different
-calling conventions for internal functions, so that's not much of a stopgap.
-ARM has a complex algorithm for handling this, involving scanning all CIEs -
-benefit not completely clear outside of the ARM context of flexible register
-sets.
-
-Index: gdb-6.3/gdb/dwarf2-frame.c
-===================================================================
---- gdb-6.3.orig/gdb/dwarf2-frame.c 2004-11-15 11:54:57.000000000 -0500
-+++ gdb-6.3/gdb/dwarf2-frame.c 2004-12-08 18:02:23.896409471 -0500
-@@ -705,9 +705,12 @@ dwarf2_frame_cache (struct frame_info *n
- table. We need a way of iterating through all the valid
- DWARF2 register numbers. */
- if (fs->regs.reg[column].how == DWARF2_FRAME_REG_UNSPECIFIED)
-- complaint (&symfile_complaints,
-- "Incomplete CFI data; unspecified registers at 0x%s",
-- paddr (fs->pc));
-+ {
-+ if (0)
-+ complaint (&symfile_complaints,
-+ "Incomplete CFI data; unspecified registers at 0x%s",
-+ paddr (fs->pc));
-+ }
- else
- cache->reg[regnum] = fs->regs.reg[column];
- }
diff --git a/openwrt/toolchain/gdb/patches/800-debian_linux-use-underscore-exit.patch b/openwrt/toolchain/gdb/patches/800-debian_linux-use-underscore-exit.patch
deleted file mode 100644
index 198918c..0000000
--- a/openwrt/toolchain/gdb/patches/800-debian_linux-use-underscore-exit.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Status: committed upstream after 6.3. Fixes some terminal mangling in
-gdbtui.
-
-2004-12-04 Daniel Jacobowitz <dan@debian.org>
-
- PR tui/1703
- * linux-nat.c (linux_tracefork_child): Use _exit instead of exit.
- Suggested by Joshua Neuheisel.
-
-Index: gdb-6.3/gdb/linux-nat.c
-===================================================================
---- gdb-6.3.orig/gdb/linux-nat.c 2004-12-08 18:22:04.996973094 -0500
-+++ gdb-6.3/gdb/linux-nat.c 2004-12-08 18:22:20.386956067 -0500
-@@ -147,7 +147,7 @@ linux_tracefork_child (void)
- ptrace (PTRACE_TRACEME, 0, 0, 0);
- kill (getpid (), SIGSTOP);
- fork ();
-- exit (0);
-+ _exit (0);
- }
-
- /* Wrapper function for waitpid which handles EINTR. */
diff --git a/openwrt/toolchain/gdb/patches/810-debian_bfd-no-kylix-crash.patch b/openwrt/toolchain/gdb/patches/810-debian_bfd-no-kylix-crash.patch
deleted file mode 100644
index 9aba5ca..0000000
--- a/openwrt/toolchain/gdb/patches/810-debian_bfd-no-kylix-crash.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Status: committed upstream after 6.3.
-
-Fix a crash triggered by Kylix libraries.
-
-2004-12-06 Daniel Jacobowitz <dan@debian.org>
-
- Suggested by Fergal Daly <fergal@esatclear.ie>:
- * simple.c (simple_dummy_multiple_definition): New function.
- (bfd_simple_get_relocated_section_contents): Use it.
-
-Index: src/bfd/simple.c
-===================================================================
-RCS file: /cvs/src/src/bfd/simple.c,v
-retrieving revision 1.19
-retrieving revision 1.20
-Index: gdb-6.3/bfd/simple.c
-===================================================================
---- gdb-6.3.orig/bfd/simple.c 2004-09-24 03:07:19.000000000 -0400
-+++ gdb-6.3/bfd/simple.c 2004-12-08 18:25:58.415216808 -0500
-@@ -78,6 +78,19 @@ simple_dummy_unattached_reloc (struct bf
- return TRUE;
- }
-
-+static bfd_boolean
-+simple_dummy_multiple_definition (struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
-+ const char *name ATTRIBUTE_UNUSED,
-+ bfd *obfd ATTRIBUTE_UNUSED,
-+ asection *osec ATTRIBUTE_UNUSED,
-+ bfd_vma oval ATTRIBUTE_UNUSED,
-+ bfd *nbfd ATTRIBUTE_UNUSED,
-+ asection *nsec ATTRIBUTE_UNUSED,
-+ bfd_vma nval ATTRIBUTE_UNUSED)
-+{
-+ return TRUE;
-+}
-+
- struct saved_output_info
- {
- bfd_vma offset;
-@@ -172,6 +185,7 @@ bfd_simple_get_relocated_section_content
- callbacks.reloc_overflow = simple_dummy_reloc_overflow;
- callbacks.reloc_dangerous = simple_dummy_reloc_dangerous;
- callbacks.unattached_reloc = simple_dummy_unattached_reloc;
-+ callbacks.multiple_definition = simple_dummy_multiple_definition;
-
- memset (&link_order, 0, sizeof (link_order));
- link_order.next = NULL;
diff --git a/openwrt/toolchain/gdb/patches/820-debian_disable-linux-fork-messages.patch b/openwrt/toolchain/gdb/patches/820-debian_disable-linux-fork-messages.patch
deleted file mode 100644
index 60730ab..0000000
--- a/openwrt/toolchain/gdb/patches/820-debian_disable-linux-fork-messages.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Status: Proposed upstream after 6.3, not yet committed.
-
-2004-12-06 Daniel Jacobowitz <dan@debian.org>
-
- * linux-nat.c (child_follow_fork): Call target_terminal_ours before
- printing output. Use fprintf_unfiltered. Only print output when
- debugging.
-
-Index: gdb-6.3/gdb/linux-nat.c
-===================================================================
---- gdb-6.3.orig/gdb/linux-nat.c 2004-12-08 18:22:20.386956067 -0500
-+++ gdb-6.3/gdb/linux-nat.c 2004-12-08 18:28:49.995585970 -0500
-@@ -347,9 +347,13 @@ child_follow_fork (int follow_child)
- also, but they'll be reinserted below. */
- detach_breakpoints (child_pid);
-
-- fprintf_filtered (gdb_stdout,
-- "Detaching after fork from child process %d.\n",
-- child_pid);
-+ if (debug_linux_nat)
-+ {
-+ target_terminal_ours ();
-+ fprintf_unfiltered (gdb_stdlog,
-+ "Detaching after fork from child process %d.\n",
-+ child_pid);
-+ }
-
- ptrace (PTRACE_DETACH, child_pid, 0, 0);
-
-@@ -418,9 +422,13 @@ child_follow_fork (int follow_child)
- /* Before detaching from the parent, remove all breakpoints from it. */
- remove_breakpoints ();
-
-- fprintf_filtered (gdb_stdout,
-- "Attaching after fork to child process %d.\n",
-- child_pid);
-+ if (debug_linux_nat)
-+ {
-+ target_terminal_ours ();
-+ fprintf_unfiltered (gdb_stdlog,
-+ "Attaching after fork to child process %d.\n",
-+ child_pid);
-+ }
-
- /* If we're vforking, we may want to hold on to the parent until
- the child exits or execs. At exec time we can remove the old
diff --git a/openwrt/toolchain/gdb/patches/830-arm_gcc4.patch b/openwrt/toolchain/gdb/patches/830-arm_gcc4.patch
deleted file mode 100644
index 5441e17..0000000
--- a/openwrt/toolchain/gdb/patches/830-arm_gcc4.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff -ur gdb-6.3/sim/arm/iwmmxt.c gdb-6.3-owrt/sim/arm/iwmmxt.c
---- gdb-6.3/sim/arm/iwmmxt.c 2003-03-27 18:13:33.000000000 +0100
-+++ gdb-6.3-owrt/sim/arm/iwmmxt.c 2006-04-12 15:06:03.000000000 +0200
-@@ -2114,7 +2114,7 @@
-
- s = (signed long) a * (signed long) b;
-
-- (signed long long) t += s;
-+ t = t + (ARMdword) s;
- }
- else
- {
-@@ -2130,7 +2130,7 @@
- wR [BITS (12, 15)] = 0;
-
- if (BIT (21)) /* Signed. */
-- (signed long long) wR[BITS (12, 15)] += (signed long long) t;
-+ wR[BITS (12, 15)] += t;
- else
- wR [BITS (12, 15)] += t;
-
-@@ -2166,7 +2166,7 @@
- b = wRHALF (BITS (0, 3), i * 2);
- b = EXTEND16 (b);
-
-- (signed long) s1 = a * b;
-+ s1 = (ARMdword) (a * b);
-
- a = wRHALF (BITS (16, 19), i * 2 + 1);
- a = EXTEND16 (a);
-@@ -2174,7 +2174,7 @@
- b = wRHALF (BITS (0, 3), i * 2 + 1);
- b = EXTEND16 (b);
-
-- (signed long) s2 = a * b;
-+ s2 = (ARMdword) (a * b);
- }
- else /* Unsigned. */
- {
-@@ -2183,12 +2183,12 @@
- a = wRHALF (BITS (16, 19), i * 2);
- b = wRHALF (BITS ( 0, 3), i * 2);
-
-- (unsigned long) s1 = a * b;
-+ s1 = (ARMdword) (a * b);
-
- a = wRHALF (BITS (16, 19), i * 2 + 1);
- b = wRHALF (BITS ( 0, 3), i * 2 + 1);
-
-- (signed long) s2 = a * b;
-+ s2 = (ARMdword) a * b;
- }
-
- r |= (ARMdword) ((s1 + s2) & 0xffffffff) << (i ? 32 : 0);
-@@ -2914,9 +2914,9 @@
-
- case Dqual:
- if (shift > 63)
-- r = (wR [BITS (16, 19)] & 0x8000000000000000) ? 0xffffffffffffffff : 0;
-+ r = (wR [BITS (16, 19)] & 0x8000000000000000ULL) ? 0xffffffffffffffffULL : 0;
- else
-- r = ((signed long long) (wR[BITS (16, 19)] & 0xffffffffffffffff) >> shift);
-+ r = ((signed long long) (wR[BITS (16, 19)] & 0xffffffffffffffffULL) >> shift);
- SIMD64_SET (psr, NBIT64 (r), SIMD_NBIT);
- SIMD64_SET (psr, ZBIT64 (r), SIMD_ZBIT);
- break;
-@@ -2985,7 +2985,7 @@
- if (shift > 63)
- r = 0;
- else
-- r = (wR [BITS (16, 19)] & 0xffffffffffffffff) >> shift;
-+ r = (wR [BITS (16, 19)] & 0xffffffffffffffffULL) >> shift;
-
- SIMD64_SET (psr, NBIT64 (r), SIMD_NBIT);
- SIMD64_SET (psr, ZBIT64 (r), SIMD_ZBIT);
-@@ -3287,7 +3287,7 @@
- r = wRWORD (BITS (16, 19), 1);
-
- if (BIT (21) && NBIT32 (r))
-- r |= 0xffffffff00000000;
-+ r |= 0xffffffff00000000ULL;
-
- SIMD64_SET (psr, NBIT64 (r), SIMD_NBIT);
- SIMD64_SET (psr, ZBIT64 (r), SIMD_ZBIT);
-@@ -3354,7 +3354,7 @@
- r = wRWORD (BITS (16, 19), 0);
-
- if (BIT (21) && NBIT32 (r))
-- r |= 0xffffffff00000000;
-+ r |= 0xffffffff00000000ULL;
-
- SIMD64_SET (psr, NBIT64 (r), SIMD_NBIT);
- SIMD64_SET (psr, ZBIT64 (r), SIMD_ZBIT);
diff --git a/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_build_clean.patch b/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_build_clean.patch
deleted file mode 100644
index 4cff731..0000000
--- a/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_build_clean.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -ruN ipkg-utils-1.7-old/ipkg-build ipkg-utils-1.7-new/ipkg-build
---- ipkg-utils-1.7-old/ipkg-build 2004-08-24 04:56:12.000000000 +0200
-+++ ipkg-utils-1.7-new/ipkg-build 2004-08-24 04:55:49.000000000 +0200
-@@ -47,6 +47,19 @@
-
- PKG_ERROR=0
-
-+ cvs_dirs=`find . -name 'CVS'`
-+ if [ -n "$cvs_dirs" ]; then
-+ if [ "$noclean" = "1" ]; then
-+ echo "*** Warning: The following CVS directories where found.
-+You probably want to remove them: " >&2
-+ ls -ld $cvs_dirs
-+ echo >&2
-+ else
-+ echo "*** Removing the following files: $cvs_dirs"
-+ rm -rf "$cvs_dirs"
-+ fi
-+ fi
-+
- tilde_files=`find . -name '*~'`
- if [ -n "$tilde_files" ]; then
- if [ "$noclean" = "1" ]; then
-@@ -134,8 +147,12 @@
-
- for script in $CONTROL/preinst $CONTROL/postinst $CONTROL/prerm $CONTROL/postrm; do
- if [ -f $script -a ! -x $script ]; then
-+ if [ "$noclean" = "1" ]; then
- echo "*** Error: package script $script is not executable" >&2
- PKG_ERROR=1
-+ else
-+ chmod a+x $script
-+ fi
- fi
- done
-
diff --git a/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_build_tar.patch b/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_build_tar.patch
deleted file mode 100644
index 441d3ad..0000000
--- a/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_build_tar.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-This patch from aorlinsk fixes an issue with order in options passed to tar
-
- http://openwrt.org/forum/viewtopic.php?pid=8332#p8332
-
-
---- ipkg-utils-1.7/ipkg-build.orig 2005-06-14 23:48:36.000000000 +0200
-+++ ipkg-utils-1.7/ipkg-build 2005-06-14 23:50:03.000000000 +0200
-@@ -243,7 +243,7 @@
- mkdir $tmp_dir
-
- echo $CONTROL > $tmp_dir/tarX
--( cd $pkg_dir && tar $ogargs -czf $tmp_dir/data.tar.gz . -X $tmp_dir/tarX )
-+( cd $pkg_dir && tar $ogargs -X $tmp_dir/tarX -czf $tmp_dir/data.tar.gz . )
- ( cd $pkg_dir/$CONTROL && tar $ogargs -czf $tmp_dir/control.tar.gz . )
- rm $tmp_dir/tarX
-
diff --git a/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_buildpackage.patch b/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_buildpackage.patch
deleted file mode 100644
index d0a3048..0000000
--- a/openwrt/toolchain/ipkg-utils/1.7/ipkg-utils-1.7-ipkg_buildpackage.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ruN ipkg-utils-1.7-old/ipkg-buildpackage ipkg-utils-1.7-new/ipkg-buildpackage
---- ipkg-utils-1.7-old/ipkg-buildpackage 2001-07-26 17:36:36.000000000 +0200
-+++ ipkg-utils-1.7-new/ipkg-buildpackage 2004-07-05 19:46:24.000000000 +0200
-@@ -30,8 +30,9 @@
-
- set -e
-
--#SCRIPTDIR=/usr/local/bin
--SCRIPTDIR=/other/kurth/ipaq-dev/familiar/dist/ipkg/util/
-+SCRIPTDIR=/usr/local/bin
-+
-+IPKG_BUILD_OPTIONS=$*
-
- SCRIPTNAME=`basename $0`
-
-@@ -212,7 +213,7 @@
- # build the ipk package
- owd=`pwd`
- cd ..
--ipkg-build /tmp/${pkg} || exit 1
-+ipkg-build $IPKG_BUILD_OPTIONS /tmp/${pkg} || exit 1
-
- rm -rf /tmp/${pkg}
-
diff --git a/openwrt/toolchain/ipkg-utils/Makefile b/openwrt/toolchain/ipkg-utils/Makefile
deleted file mode 100644
index 41c78fc..0000000
--- a/openwrt/toolchain/ipkg-utils/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-# ipkg-utils
-#
-# http://handhelds.org/packages/ipkg-utils
-#
-
-PKG_NAME := ipkg-utils
-PKG_VERSION := 1.7
-
-PKG_SOURCE_SITE := http://handhelds.org/packages/ipkg-utils/
-PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_CAT := zcat
-PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
-
-include $(TOPDIR)/rules.mk
-
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
-
-
-$(DL_DIR)/$(PKG_SOURCE_FILE):
- mkdir -p $(DL_DIR)
- $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) x $(PKG_SOURCE_SITE)
-
-$(PKG_BUILD_DIR)/.unpacked: $(DL_DIR)/$(PKG_SOURCE_FILE)
- mkdir -p $(BUILD_DIR)
- $(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
- touch $(PKG_BUILD_DIR)/.unpacked
-
-$(PKG_BUILD_DIR)/.patched: $(PKG_BUILD_DIR)/.unpacked
- $(PATCH) $(PKG_BUILD_DIR) $(PKG_VERSION)/ \*.patch
- touch $(PKG_BUILD_DIR)/.patched
-
-$(STAGING_DIR)/usr/bin/ipkg-build: $(PKG_BUILD_DIR)/.patched
- mkdir -p $(STAGING_DIR)/etc
- echo "dest root /" > $(STAGING_DIR)/etc/ipkg.conf
- echo "option offline_root $(TARGET_DIR)" >> $(STAGING_DIR)/etc/ipkg.conf
- mkdir -p $(STAGING_DIR)/usr/bin
- install -m0755 $(PKG_BUILD_DIR)/ipkg-build $(STAGING_DIR)/usr/bin
- install -m0755 $(PKG_BUILD_DIR)/ipkg-buildpackage $(STAGING_DIR)/usr/bin
- install -m0755 $(PKG_BUILD_DIR)/ipkg-make-index $(STAGING_DIR)/usr/bin
- install -m0755 $(PKG_BUILD_DIR)/ipkg.py $(STAGING_DIR)/usr/bin
-
-source: $(DL_DIR)/$(PKG_SOURCE_FILE)
-
-prepare: $(PKG_BUILD_DIR)/.patched
-
-compile:
-
-install: $(STAGING_DIR)/usr/bin/ipkg-build
-
-clean:
- rm -f $(STAGING_DIR)/etc/ipkg.conf
- rm -f $(STAGING_DIR)/usr/bin/ipkg*
- rm -rf $(PKG_BUILD_DIR)
-
-
diff --git a/openwrt/toolchain/kernel-headers/Makefile b/openwrt/toolchain/kernel-headers/Makefile
deleted file mode 100644
index 65fbed8..0000000
--- a/openwrt/toolchain/kernel-headers/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-# linux kernel headers for toolchain
-
-LINUX_HEADERS_VERSION=2.4.32
-LINUX_KERNEL_MD5SUM:=38f4d0830e95a20f4bfed17622d5557c
-LINUX_HEADERS_SITE= \
- http://www.de.kernel.org/pub/linux/kernel/v2.4 \
- http://www.fi.kernel.org/pub/linux/kernel/v2.4 \
- http://www.fr.kernel.org/pub/linux/kernel/v2.4 \
- http://www.kernel.org/pub/linux/kernel/v2.4 \
-
-LINUX_HEADERS_SOURCE=linux-$(LINUX_HEADERS_VERSION).tar.bz2
-LINUX_HEADERS_ARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
- -e 's/mipseb/mips/' \
- -e 's/mipsel/mips/' \
- -e 's/powerpc/ppc/' \
- -e 's/sh[234]/sh/' \
- -e 's/armeb/arm/' \
- )
-
-$(DL_DIR)/$(LINUX_HEADERS_SOURCE):
- -mkdir -p $(DL_DIR)
- $(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_HEADERS_SOURCE) $(LINUX_KERNEL_MD5SUM) $(LINUX_HEADERS_SITE)
-
-$(LINUX_HEADERS_DIR)/.unpacked: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
- mkdir -p $(TOOL_BUILD_DIR)
- bzcat $(DL_DIR)/$(LINUX_HEADERS_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - \
- linux-$(LINUX_HEADERS_VERSION)/include \
- linux-$(LINUX_HEADERS_VERSION)/Makefile \
- linux-$(LINUX_HEADERS_VERSION)/Rules.make \
- linux-$(LINUX_HEADERS_VERSION)/arch/$(LINUX_HEADERS_ARCH)/Makefile \
- linux-$(LINUX_HEADERS_VERSION)/scripts \
- linux-$(LINUX_HEADERS_VERSION)/arch/$(LINUX_HEADERS_ARCH)/config*.in \
- linux-$(LINUX_HEADERS_VERSION)/*/*/Config.in \
- linux-$(LINUX_HEADERS_VERSION)/*/Config.in
- (cd $(LINUX_HEADERS_DIR)-$(LINUX_HEADERS_VERSION) ; patch -p1 < $(TOPDIR)/toolchain/kernel-headers/patches/include.patch)
- ln -sf $(LINUX_HEADERS_DIR)-$(LINUX_HEADERS_VERSION) $(LINUX_HEADERS_DIR)
- $(SED) 's/@expr length/@-expr length/' $(LINUX_HEADERS_DIR)/Makefile
- touch $(LINUX_HEADERS_DIR)/.unpacked
-
-$(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_DIR)/.unpacked
- -$(CP) ./files/config.$(LINUX_HEADERS_ARCH) $(LINUX_HEADERS_DIR)/.config
- $(MAKE) -C $(LINUX_HEADERS_DIR) ARCH=$(LINUX_HEADERS_ARCH) oldconfig include/linux/version.h
- touch $(LINUX_HEADERS_DIR)/.configured
-
-source: $(DL_DIR)/$(LINUX_HEADERS_SOURCE)
-prepare: $(LINUX_HEADERS_DIR)/.configured
-compile:
-install:
-clean:
- rm -rf $(LINUX_HEADERS_DIR)
-
diff --git a/openwrt/toolchain/kernel-headers/config.mips b/openwrt/toolchain/kernel-headers/config.mips
deleted file mode 100644
index d641202..0000000
--- a/openwrt/toolchain/kernel-headers/config.mips
+++ /dev/null
@@ -1,1045 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-CONFIG_MIPS=y
-CONFIG_MIPS32=y
-# CONFIG_MIPS64 is not set
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_KMOD is not set
-
-#
-# Machine selection
-#
-# CONFIG_ACER_PICA_61 is not set
-# CONFIG_MIPS_BOSPORUS is not set
-# CONFIG_MIPS_MIRAGE is not set
-# CONFIG_MIPS_DB1000 is not set
-# CONFIG_MIPS_DB1100 is not set
-# CONFIG_MIPS_DB1500 is not set
-# CONFIG_MIPS_DB1550 is not set
-# CONFIG_MIPS_PB1000 is not set
-# CONFIG_MIPS_PB1100 is not set
-# CONFIG_MIPS_PB1500 is not set
-# CONFIG_MIPS_HYDROGEN3 is not set
-# CONFIG_MIPS_PB1550 is not set
-# CONFIG_MIPS_XXS1500 is not set
-# CONFIG_MIPS_MTX1 is not set
-# CONFIG_COGENT_CSB250 is not set
-# CONFIG_BAGET_MIPS is not set
-# CONFIG_CASIO_E55 is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_DECSTATION is not set
-# CONFIG_MIPS_EV64120 is not set
-# CONFIG_MIPS_EV96100 is not set
-# CONFIG_MIPS_IVR is not set
-# CONFIG_HP_LASERJET is not set
-# CONFIG_IBM_WORKPAD is not set
-# CONFIG_LASAT is not set
-# CONFIG_MIPS_ITE8172 is not set
-# CONFIG_MIPS_ATLAS is not set
-# CONFIG_MIPS_MAGNUM_4000 is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SEAD is not set
-# CONFIG_MOMENCO_OCELOT is not set
-# CONFIG_MOMENCO_OCELOT_G is not set
-# CONFIG_MOMENCO_OCELOT_C is not set
-# CONFIG_MOMENCO_JAGUAR_ATX is not set
-# CONFIG_PMC_BIG_SUR is not set
-# CONFIG_PMC_STRETCH is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_DDB5074 is not set
-# CONFIG_DDB5476 is not set
-# CONFIG_DDB5477 is not set
-# CONFIG_NEC_OSPREY is not set
-# CONFIG_NEC_EAGLE is not set
-# CONFIG_OLIVETTI_M700 is not set
-# CONFIG_NINO is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SIBYTE_SB1xxx_SOC is not set
-# CONFIG_SNI_RM200_PCI is not set
-# CONFIG_TANBAC_TB0226 is not set
-# CONFIG_TANBAC_TB0229 is not set
-# CONFIG_TOSHIBA_JMR3927 is not set
-# CONFIG_TOSHIBA_RBTX4927 is not set
-# CONFIG_VICTOR_MPC30X is not set
-# CONFIG_ZAO_CAPCELLA is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-# CONFIG_MIPS_AU1000 is not set
-
-#
-# CPU selection
-#
-CONFIG_CPU_MIPS32=y
-# CONFIG_CPU_MIPS64 is not set
-# CONFIG_CPU_R3000 is not set
-# CONFIG_CPU_TX39XX is not set
-# CONFIG_CPU_VR41XX is not set
-# CONFIG_CPU_R4300 is not set
-# CONFIG_CPU_R4X00 is not set
-# CONFIG_CPU_TX49XX is not set
-# CONFIG_CPU_R5000 is not set
-# CONFIG_CPU_R5432 is not set
-# CONFIG_CPU_R6000 is not set
-# CONFIG_CPU_NEVADA is not set
-# CONFIG_CPU_R8000 is not set
-# CONFIG_CPU_R10000 is not set
-# CONFIG_CPU_RM7000 is not set
-# CONFIG_CPU_RM9000 is not set
-# CONFIG_CPU_SB1 is not set
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_16KB is not set
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_CPU_HAS_PREFETCH=y
-# CONFIG_VTAG_ICACHE is not set
-# CONFIG_64BIT_PHYS_ADDR is not set
-# CONFIG_CPU_ADVANCED is not set
-CONFIG_CPU_HAS_LLSC=y
-# CONFIG_CPU_HAS_LLDSCD is not set
-# CONFIG_CPU_HAS_WB is not set
-CONFIG_CPU_HAS_SYNC=y
-
-#
-# General setup
-#
-CONFIG_CPU_LITTLE_ENDIAN=y
-# CONFIG_BUILD_ELF64 is not set
-CONFIG_NET=y
-CONFIG_PCI=y
-# CONFIG_PCI_NEW is not set
-CONFIG_PCI_AUTO=y
-# CONFIG_PCI_NAMES is not set
-# CONFIG_ISA is not set
-# CONFIG_TC is not set
-# CONFIG_MCA is not set
-# CONFIG_SBUS is not set
-# CONFIG_HOTPLUG is not set
-# CONFIG_PCMCIA is not set
-# CONFIG_HOTPLUG_PCI is not set
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_MIPS32_COMPAT is not set
-# CONFIG_MIPS32_O32 is not set
-# CONFIG_MIPS32_N32 is not set
-# CONFIG_BINFMT_ELF32 is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_OOM_KILLER is not set
-# CONFIG_CMDLINE_BOOL is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_CFI_B1 is not set
-CONFIG_MTD_CFI_B2=y
-# CONFIG_MTD_CFI_B4 is not set
-# CONFIG_MTD_CFI_B8 is not set
-CONFIG_MTD_CFI_I1=y
-# CONFIG_MTD_CFI_I2 is not set
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-# CONFIG_MTD_AMDSTD is not set
-# CONFIG_MTD_SHARP is not set
-# CONFIG_MTD_JEDEC is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_PB1000 is not set
-# CONFIG_MTD_PB1500 is not set
-# CONFIG_MTD_PB1100 is not set
-# CONFIG_MTD_CSTM_MIPS_IXX is not set
-# CONFIG_MTD_OCELOT is not set
-# CONFIG_MTD_LASAT is not set
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PCMCIA is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC1000 is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOCPROBE is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play configuration
-#
-# CONFIG_PNP is not set
-# CONFIG_ISAPNP is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_CISS_SCSI_TAPE is not set
-# CONFIG_CISS_MONITOR_THREAD is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_SX8 is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=m
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_BLK_STATS is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=m
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-# CONFIG_FILTER is not set
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_FWMARK=y
-CONFIG_IP_ROUTE_NAT=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_TOS=y
-# CONFIG_IP_ROUTE_VERBOSE is not set
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE=m
-# CONFIG_ARPD is not set
-# CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_CONNTRACK=y
-CONFIG_IP_NF_FTP=y
-# CONFIG_IP_NF_AMANDA is not set
-CONFIG_IP_NF_TFTP=y
-CONFIG_IP_NF_IRC=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_LIMIT=m
-CONFIG_IP_NF_MATCH_MAC=m
-CONFIG_IP_NF_MATCH_PKTTYPE=m
-CONFIG_IP_NF_MATCH_MARK=y
-CONFIG_IP_NF_MATCH_MULTIPORT=y
-CONFIG_IP_NF_MATCH_TOS=m
-# CONFIG_IP_NF_MATCH_RECENT is not set
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_DSCP=m
-CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=y
-CONFIG_IP_NF_MATCH_HELPER=m
-CONFIG_IP_NF_MATCH_STATE=y
-CONFIG_IP_NF_MATCH_CONNTRACK=m
-CONFIG_IP_NF_MATCH_UNCLEAN=m
-# CONFIG_IP_NF_MATCH_OWNER is not set
-CONFIG_IP_NF_FILTER=y
-CONFIG_IP_NF_TARGET_REJECT=y
-CONFIG_IP_NF_TARGET_MIRROR=m
-CONFIG_IP_NF_NAT=y
-CONFIG_IP_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=y
-CONFIG_IP_NF_TARGET_REDIRECT=y
-CONFIG_IP_NF_NAT_SNMP_BASIC=m
-CONFIG_IP_NF_NAT_IRC=y
-CONFIG_IP_NF_NAT_FTP=y
-CONFIG_IP_NF_NAT_TFTP=y
-CONFIG_IP_NF_MANGLE=y
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_DSCP=m
-CONFIG_IP_NF_TARGET_MARK=y
-CONFIG_IP_NF_TARGET_LOG=y
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_TARGET_TCPMSS=y
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-# CONFIG_IP_NF_ARP_MANGLE is not set
-
-#
-# IP: Virtual Server Configuration
-#
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_LIMIT=m
-CONFIG_IP6_NF_MATCH_MAC=m
-# CONFIG_IP6_NF_MATCH_RT is not set
-# CONFIG_IP6_NF_MATCH_OPTS is not set
-# CONFIG_IP6_NF_MATCH_FRAG is not set
-# CONFIG_IP6_NF_MATCH_HL is not set
-CONFIG_IP6_NF_MATCH_MULTIPORT=m
-CONFIG_IP6_NF_MATCH_OWNER=m
-CONFIG_IP6_NF_MATCH_MARK=m
-# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
-# CONFIG_IP6_NF_MATCH_AHESP is not set
-CONFIG_IP6_NF_MATCH_LENGTH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_MARK=m
-# CONFIG_KHTTPD is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-CONFIG_VLAN_8021Q=y
-
-#
-#
-#
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_DECNET is not set
-CONFIG_BRIDGE=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_CSZ=m
-# CONFIG_NET_SCH_HFSC is not set
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-# CONFIG_NET_SCH_NETEM is not set
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_QOS=y
-CONFIG_NET_ESTIMATOR=y
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_ROUTE=y
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_POLICE=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-
-#
-# Telephony Support
-#
-# CONFIG_PHONE is not set
-# CONFIG_PHONE_IXJ is not set
-# CONFIG_PHONE_IXJ_PCMCIA is not set
-
-#
-# ATA/IDE/MFM/RLL support
-#
-# CONFIG_IDE is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI support
-#
-CONFIG_SCSI=m
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=m
-CONFIG_SD_EXTRA_DEVS=5
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-CONFIG_CHR_DEV_SG=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_DEBUG_QUEUES is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AHA1740 is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_AM53C974 is not set
-# CONFIG_SCSI_MEGARAID is not set
-# CONFIG_SCSI_MEGARAID2 is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_SATA_AHCI is not set
-# CONFIG_SCSI_SATA_SVW is not set
-# CONFIG_SCSI_ATA_PIIX is not set
-# CONFIG_SCSI_SATA_NV is not set
-# CONFIG_SCSI_SATA_PROMISE is not set
-# CONFIG_SCSI_SATA_SX4 is not set
-# CONFIG_SCSI_SATA_SIL is not set
-# CONFIG_SCSI_SATA_SIS is not set
-# CONFIG_SCSI_SATA_ULI is not set
-# CONFIG_SCSI_SATA_VIA is not set
-# CONFIG_SCSI_SATA_VITESSE is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_CPQFCTS is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_EATA_DMA is not set
-# CONFIG_SCSI_EATA_PIO is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_NCR53C7xx is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_NCR53C8XX is not set
-# CONFIG_SCSI_SYM53C8XX is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PCI2000 is not set
-# CONFIG_SCSI_PCI2220I is not set
-# CONFIG_SCSI_PSI240I is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_QLOGIC_ISP is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_SIM710 is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_BOOT is not set
-# CONFIG_FUSION_ISENSE is not set
-# CONFIG_FUSION_CTL is not set
-# CONFIG_FUSION_LAN is not set
-
-#
-# IEEE 1394 (FireWire) support (EXPERIMENTAL)
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_PCI is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_SUNLANCE is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_HP100 is not set
-# CONFIG_NET_ISA is not set
-# CONFIG_NET_PCI is not set
-# CONFIG_NET_POCKET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=y
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPPOE=m
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-# CONFIG_RCPCI is not set
-CONFIG_SHAPER=m
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-# CONFIG_IRDA is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input core support
-#
-# CONFIG_INPUT is not set
-# CONFIG_INPUT_KEYBDEV is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_UINPUT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-CONFIG_SERIAL=y
-CONFIG_SERIAL_CONSOLE=y
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=128
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-# CONFIG_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-
-#
-# Input core support is needed for gameports
-#
-
-#
-# Input core support is needed for joysticks
-#
-# CONFIG_QIC02_TAPE is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_IPMI_PANIC_EVENT is not set
-# CONFIG_IPMI_DEVICE_INTERFACE is not set
-# CONFIG_IPMI_KCS is not set
-# CONFIG_IPMI_WATCHDOG is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_NOWAYOUT=y
-# CONFIG_ACQUIRE_WDT is not set
-# CONFIG_ADVANTECH_WDT is not set
-# CONFIG_ALIM1535_WDT is not set
-# CONFIG_ALIM7101_WDT is not set
-# CONFIG_SC520_WDT is not set
-# CONFIG_PCWATCHDOG is not set
-# CONFIG_EUROTECH_WDT is not set
-# CONFIG_IB700_WDT is not set
-# CONFIG_WAFER_WDT is not set
-# CONFIG_I810_TCO is not set
-# CONFIG_MIXCOMWD is not set
-# CONFIG_60XX_WDT is not set
-# CONFIG_SC1200_WDT is not set
-# CONFIG_SCx200_WDT is not set
-CONFIG_SOFT_WATCHDOG=y
-# CONFIG_W83877F_WDT is not set
-# CONFIG_WDT is not set
-# CONFIG_WDTPCI is not set
-# CONFIG_MACHZ_WDT is not set
-# CONFIG_SCx200 is not set
-# CONFIG_SCx200_GPIO is not set
-# CONFIG_AMD_PM768 is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_MIPS_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
-
-#
-# Direct Rendering Manager (XFree86 DRI support)
-#
-# CONFIG_DRM is not set
-
-#
-# File systems
-#
-# CONFIG_QUOTA is not set
-# CONFIG_QFMT_V2 is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BEFS_DEBUG is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-# CONFIG_UMSDOS_FS is not set
-CONFIG_VFAT_FS=m
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_CRAMFS=y
-# CONFIG_TMPFS is not set
-CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-CONFIG_DEVFS_FS=y
-CONFIG_DEVFS_MOUNT=y
-# CONFIG_DEVFS_DEBUG is not set
-# CONFIG_DEVPTS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=m
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_TRACE is not set
-# CONFIG_XFS_DEBUG is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_ROOT_NFS is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-# CONFIG_NFSD_TCP is not set
-CONFIG_SUNRPC=m
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-# CONFIG_SMB_FS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-# CONFIG_SMB_NLS is not set
-CONFIG_NLS=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# USB support
-#
-CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_EHCI_HCD is not set
-# CONFIG_USB_UHCI is not set
-# CONFIG_USB_UHCI_ALT is not set
-CONFIG_USB_OHCI=m
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_AUDIO is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_BLUETOOTH is not set
-# CONFIG_USB_MIDI is not set
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-# CONFIG_USB_STORAGE_ISD200 is not set
-CONFIG_USB_STORAGE_DPCM=y
-CONFIG_USB_STORAGE_HP8200e=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-# CONFIG_USB_ACM is not set
-CONFIG_USB_PRINTER=m
-
-#
-# USB Human Interface Devices (HID)
-#
-# CONFIG_USB_HID is not set
-
-#
-# Input core support is needed for USB HID input layer or HIDBP support
-#
-# CONFIG_USB_HIDINPUT is not set
-# CONFIG_USB_HIDDEV is not set
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_DC2XX is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-
-#
-# USB Multimedia devices
-#
-
-#
-# Video4Linux support is needed for USB Multimedia device support
-#
-
-#
-# USB Network adaptors
-#
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_CDCETHER is not set
-# CONFIG_USB_USBNET is not set
-
-#
-# USB port drivers
-#
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_TIGL is not set
-# CONFIG_USB_BRLVGER is not set
-# CONFIG_USB_LCD is not set
-
-#
-# Support for USB gadgets
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# Bluetooth support
-#
-# CONFIG_BLUEZ is not set
-
-#
-# Kernel hacking
-#
-CONFIG_CROSSCOMPILE=y
-# CONFIG_RUNTIME_DEBUG is not set
-# CONFIG_KGDB is not set
-# CONFIG_GDB_CONSOLE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_MIPS_UNCACHED is not set
-CONFIG_LOG_BUF_SHIFT=0
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Library routines
-#
-# CONFIG_CRC32 is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/openwrt/toolchain/kernel-headers/files/config.arm b/openwrt/toolchain/kernel-headers/files/config.arm
deleted file mode 100644
index fc7630a..0000000
--- a/openwrt/toolchain/kernel-headers/files/config.arm
+++ /dev/null
@@ -1,778 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-CONFIG_ARM=y
-# CONFIG_EISA is not set
-# CONFIG_SBUS is not set
-# CONFIG_MCA is not set
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-# CONFIG_GENERIC_BUST_SPINLOCK is not set
-# CONFIG_GENERIC_ISA_DMA is not set
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-# CONFIG_OBSOLETE is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_KMOD is not set
-
-#
-# System Type
-#
-# CONFIG_ARCH_ANAKIN is not set
-# CONFIG_ARCH_ARCA5K is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-CONFIG_ARCH_INTEGRATOR=y
-# CONFIG_ARCH_OMAHA is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_MX1ADS is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_RISCSTATION is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-
-#
-# Archimedes/A5000 Implementations
-#
-
-#
-# Archimedes/A5000 Implementations (select only ONE)
-#
-# CONFIG_ARCH_ARC is not set
-# CONFIG_ARCH_A5K is not set
-
-#
-# Footbridge Implementations
-#
-# CONFIG_ARCH_CATS is not set
-# CONFIG_ARCH_PERSONAL_SERVER is not set
-# CONFIG_ARCH_EBSA285_ADDIN is not set
-# CONFIG_ARCH_EBSA285_HOST is not set
-# CONFIG_ARCH_NETWINDER is not set
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ACCELENT is not set
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_ASSABET_NEPONSET is not set
-# CONFIG_SA1100_ADSAGC is not set
-# CONFIG_SA1100_ADSBITSY is not set
-# CONFIG_SA1100_ADSBITSYPLUS is not set
-# CONFIG_SA1100_BRUTUS is not set
-# CONFIG_SA1100_CEP is not set
-# CONFIG_SA1100_CERF is not set
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
-# CONFIG_SA1100_H3XXX is not set
-# CONFIG_H3600_SLEEVE is not set
-# CONFIG_SA1100_EXTENEX1 is not set
-# CONFIG_SA1100_FLEXANET is not set
-# CONFIG_SA1100_FREEBIRD is not set
-# CONFIG_SA1100_FRODO is not set
-# CONFIG_SA1100_GRAPHICSCLIENT is not set
-# CONFIG_SA1100_GRAPHICSMASTER is not set
-# CONFIG_SA1100_HACKKIT is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HUW_WEBPANEL is not set
-# CONFIG_SA1100_ITSY is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_NANOENGINE is not set
-# CONFIG_SA1100_OMNIMETER is not set
-# CONFIG_SA1100_PANGOLIN is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_PT_SYSTEM3 is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SHERMAN is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_SIMPUTER is not set
-# CONFIG_SA1100_PFS168 is not set
-# CONFIG_SA1100_VICTOR is not set
-# CONFIG_SA1100_XP860 is not set
-# CONFIG_SA1100_YOPY is not set
-# CONFIG_SA1100_USB is not set
-# CONFIG_SA1100_USB_NETLINK is not set
-# CONFIG_SA1100_USB_CHAR is not set
-# CONFIG_SA1100_SSP is not set
-
-#
-# AT91RM9200 Implementations
-#
-# CONFIG_ARCH_AT91RM9200DK is not set
-
-#
-# CLPS711X/EP721X Implementations
-#
-# CONFIG_ARCH_AUTCPU12 is not set
-# CONFIG_ARCH_CDB89712 is not set
-# CONFIG_ARCH_CLEP7312 is not set
-# CONFIG_ARCH_EDB7211 is not set
-# CONFIG_ARCH_FORTUNET is not set
-# CONFIG_ARCH_GUIDEA07 is not set
-# CONFIG_ARCH_P720T is not set
-# CONFIG_ARCH_EP7211 is not set
-# CONFIG_ARCH_EP7212 is not set
-# CONFIG_ARCH_ACORN is not set
-# CONFIG_FOOTBRIDGE is not set
-# CONFIG_FOOTBRIDGE_HOST is not set
-# CONFIG_FOOTBRIDGE_ADDIN is not set
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-# CONFIG_CPU_26 is not set
-# CONFIG_CPU_ARM610 is not set
-# CONFIG_CPU_ARM710 is not set
-# CONFIG_CPU_ARM720T is not set
-# CONFIG_CPU_ARM920T is not set
-# CONFIG_CPU_ARM922T is not set
-# CONFIG_PLD is not set
-# CONFIG_CPU_ARM926T is not set
-# CONFIG_CPU_ARM1020 is not set
-# CONFIG_CPU_ARM1026 is not set
-# CONFIG_CPU_SA110 is not set
-# CONFIG_CPU_SA1100 is not set
-# CONFIG_CPU_32v3 is not set
-CONFIG_CPU_32v4=y
-
-#
-# Processor Features
-#
-# CONFIG_DISCONTIGMEM is not set
-
-#
-# General setup
-#
-CONFIG_PCI_INTEGRATOR=y
-CONFIG_PCI=y
-# CONFIG_ISA is not set
-# CONFIG_ISA_DMA is not set
-# CONFIG_ZBOOT_ROM is not set
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-# CONFIG_CPU_FREQ is not set
-CONFIG_PCI_NAMES=y
-# CONFIG_HOTPLUG is not set
-# CONFIG_PCMCIA is not set
-CONFIG_NET=y
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-
-#
-# At least one math emulation must be selected
-#
-# CONFIG_FPE_NWFPE is not set
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-CONFIG_BINFMT_AOUT=y
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_PM is not set
-# CONFIG_ARTHUR is not set
-CONFIG_CMDLINE="root=1f04 mem=32M"
-CONFIG_LEDS=y
-CONFIG_LEDS_TIMER=y
-CONFIG_LEDS_CPU=y
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_PARTITIONS is not set
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-# CONFIG_MTD_AMDSTD is not set
-# CONFIG_MTD_SHARP is not set
-# CONFIG_MTD_JEDEC is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_NORA is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_CDB89712 is not set
-# CONFIG_MTD_SA1100 is not set
-# CONFIG_MTD_DC21285 is not set
-# CONFIG_MTD_IQ80310 is not set
-# CONFIG_MTD_EPXA10DB is not set
-# CONFIG_MTD_FORTUNET is not set
-# CONFIG_MTD_AUTCPU12 is not set
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_CEIVA is not set
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PCMCIA is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC1000 is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOCPROBE is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Plug and Play configuration
-#
-# CONFIG_PNP is not set
-# CONFIG_ISAPNP is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_CISS_SCSI_TAPE is not set
-# CONFIG_CISS_MONITOR_THREAD is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=4096
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_BLK_STATS is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-# CONFIG_PACKET is not set
-# CONFIG_NETLINK_DEV is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_FILTER is not set
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_PNP=y
-# CONFIG_IP_PNP_DHCP is not set
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_IPV6 is not set
-# CONFIG_KHTTPD is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-# CONFIG_VLAN_8021Q is not set
-
-#
-#
-#
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_DECNET is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
-# CONFIG_ARM_CIRRUS is not set
-# CONFIG_SUNLANCE is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_HP100 is not set
-# CONFIG_NET_ISA is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_APRICOT is not set
-# CONFIG_B44 is not set
-# CONFIG_CS89x0 is not set
-CONFIG_TULIP=y
-# CONFIG_TULIP_MWI is not set
-# CONFIG_TULIP_MMIO is not set
-# CONFIG_DE4X5 is not set
-# CONFIG_DGRS is not set
-# CONFIG_DM9102 is not set
-CONFIG_EEPRO100=y
-# CONFIG_EEPRO100_PIO is not set
-# CONFIG_E100 is not set
-# CONFIG_LNE390 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_NE3210 is not set
-# CONFIG_ES3210 is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8139TOO_8129 is not set
-# CONFIG_8139_OLD_RX_RESET is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_SUNDANCE_MMIO is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-# CONFIG_VIA_RHINE_MMIO is not set
-# CONFIG_WINBOND_840 is not set
-# CONFIG_NET_POCKET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-# CONFIG_RCPCI is not set
-# CONFIG_SHAPER is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-# CONFIG_IRDA is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI support
-#
-# CONFIG_SCSI is not set
-
-#
-# IEEE 1394 (FireWire) support (EXPERIMENTAL)
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_PCI is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input core support
-#
-# CONFIG_INPUT is not set
-# CONFIG_INPUT_KEYBDEV is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_UINPUT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-# CONFIG_SERIAL is not set
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=256
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-CONFIG_MOUSE=y
-CONFIG_PSMOUSE=y
-# CONFIG_82C710_MOUSE is not set
-# CONFIG_PC110_PAD is not set
-# CONFIG_MK712_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-
-#
-# Input core support is needed for gameports
-#
-
-#
-# Input core support is needed for joysticks
-#
-# CONFIG_QIC02_TAPE is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_IPMI_PANIC_EVENT is not set
-# CONFIG_IPMI_DEVICE_INTERFACE is not set
-# CONFIG_IPMI_KCS is not set
-# CONFIG_IPMI_WATCHDOG is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_SCx200 is not set
-# CONFIG_SCx200_GPIO is not set
-# CONFIG_AMD_PM768 is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
-
-#
-# Direct Rendering Manager (XFree86 DRI support)
-#
-# CONFIG_DRM is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# File systems
-#
-# CONFIG_QUOTA is not set
-# CONFIG_QFMT_V2 is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BEFS_DEBUG is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD_DEBUG is not set
-# CONFIG_FAT_FS is not set
-# CONFIG_MSDOS_FS is not set
-# CONFIG_UMSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_TMPFS is not set
-CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVFS_MOUNT is not set
-# CONFIG_DEVFS_DEBUG is not set
-CONFIG_DEVPTS_FS=y
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-CONFIG_ROMFS_FS=y
-CONFIG_EXT2_FS=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_TRACE is not set
-# CONFIG_XFS_DEBUG is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-CONFIG_NFS_FS=y
-# CONFIG_NFS_V3 is not set
-# CONFIG_NFS_DIRECTIO is not set
-CONFIG_ROOT_NFS=y
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-# CONFIG_NFSD_TCP is not set
-CONFIG_SUNRPC=y
-CONFIG_LOCKD=y
-# CONFIG_SMB_FS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-# CONFIG_MSDOS_PARTITION is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-# CONFIG_SMB_NLS is not set
-# CONFIG_NLS is not set
-
-#
-# Console drivers
-#
-CONFIG_KMI_KEYB=y
-CONFIG_KMI_MOUSE=y
-CONFIG_PC_KEYMAP=y
-CONFIG_VGA_CONSOLE=y
-
-#
-# Frame-buffer support
-#
-# CONFIG_FB is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# Misc devices
-#
-
-#
-# USB support
-#
-# CONFIG_USB is not set
-
-#
-# Support for USB gadgets
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# Bluetooth support
-#
-# CONFIG_BLUEZ is not set
-
-#
-# Kernel hacking
-#
-CONFIG_FRAME_POINTER=y
-CONFIG_DEBUG_USER=y
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_NO_PGT_CACHE is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_WAITQ is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_ERRORS is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_DEBUG_DC21285_PORT is not set
-# CONFIG_DEBUG_CLPS711X_UART2 is not set
-CONFIG_LOG_BUF_SHIFT=0
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Library routines
-#
-# CONFIG_CRC32 is not set
-# CONFIG_ZLIB_INFLATE is not set
-# CONFIG_ZLIB_DEFLATE is not set
diff --git a/openwrt/toolchain/kernel-headers/files/config.i386 b/openwrt/toolchain/kernel-headers/files/config.i386
deleted file mode 100644
index 2d21809..0000000
--- a/openwrt/toolchain/kernel-headers/files/config.i386
+++ /dev/null
@@ -1,950 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-CONFIG_X86=y
-# CONFIG_SBUS is not set
-CONFIG_UID16=y
-
-#
-# Code maturity level options
-#
-# CONFIG_EXPERIMENTAL is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODVERSIONS=y
-CONFIG_KMOD=y
-
-#
-# Processor type and features
-#
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-CONFIG_MPENTIUMIII=y
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MELAN is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP2 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_XADD=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_X86_L1_CACHE_SHIFT=5
-CONFIG_X86_HAS_TSC=y
-CONFIG_X86_GOOD_APIC=y
-CONFIG_X86_PGE=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_F00F_WORKS_OK=y
-CONFIG_X86_MCE=y
-# CONFIG_TOSHIBA is not set
-# CONFIG_I8K is not set
-# CONFIG_MICROCODE is not set
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_CPUID is not set
-CONFIG_NOHIGHMEM=y
-# CONFIG_HIGHMEM4G is not set
-# CONFIG_HIGHMEM64G is not set
-# CONFIG_HIGHMEM is not set
-# CONFIG_MATH_EMULATION is not set
-# CONFIG_MTRR is not set
-CONFIG_SMP=y
-CONFIG_NR_CPUS=32
-# CONFIG_X86_NUMA is not set
-# CONFIG_X86_TSC_DISABLE is not set
-CONFIG_X86_TSC=y
-CONFIG_HAVE_DEC_LOCK=y
-
-#
-# General setup
-#
-CONFIG_NET=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GODIRECT is not set
-CONFIG_PCI_GOANY=y
-CONFIG_PCI_BIOS=y
-CONFIG_PCI_DIRECT=y
-CONFIG_ISA=y
-CONFIG_PCI_NAMES=y
-# CONFIG_EISA is not set
-# CONFIG_MCA is not set
-CONFIG_HOTPLUG=y
-
-#
-# PCMCIA/CardBus support
-#
-CONFIG_PCMCIA=y
-CONFIG_CARDBUS=y
-# CONFIG_TCIC is not set
-# CONFIG_I82092 is not set
-# CONFIG_I82365 is not set
-
-#
-# PCI Hotplug Support
-#
-# CONFIG_HOTPLUG_PCI is not set
-# CONFIG_HOTPLUG_PCI_COMPAQ is not set
-# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-# CONFIG_HOTPLUG_PCI_IBM is not set
-# CONFIG_HOTPLUG_PCI_SHPC is not set
-# CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE is not set
-# CONFIG_HOTPLUG_PCI_SHPC_PHPRM_LEGACY is not set
-# CONFIG_HOTPLUG_PCI_PCIE is not set
-# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-CONFIG_BINFMT_AOUT=y
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_MISC=y
-# CONFIG_OOM_KILLER is not set
-CONFIG_PM=y
-# CONFIG_APM is not set
-
-#
-# ACPI Support
-#
-# CONFIG_ACPI is not set
-CONFIG_ACPI_BOOT=y
-
-#
-# Memory Technology Devices (MTD)
-#
-# CONFIG_MTD is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play configuration
-#
-CONFIG_PNP=y
-CONFIG_ISAPNP=y
-
-#
-# Block devices
-#
-CONFIG_BLK_DEV_FD=y
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_CISS_SCSI_TAPE is not set
-# CONFIG_CISS_MONITOR_THREAD is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_BLK_STATS is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
-# CONFIG_NETLINK_DEV is not set
-# CONFIG_NETFILTER is not set
-# CONFIG_FILTER is not set
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
-# CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
-# CONFIG_VLAN_8021Q is not set
-
-#
-#
-#
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_DECNET is not set
-# CONFIG_BRIDGE is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-
-#
-# Telephony Support
-#
-# CONFIG_PHONE is not set
-# CONFIG_PHONE_IXJ is not set
-# CONFIG_PHONE_IXJ_PCMCIA is not set
-
-#
-# ATA/IDE/MFM/RLL support
-#
-CONFIG_IDE=y
-
-#
-# IDE, ATA and ATAPI Block devices
-#
-CONFIG_BLK_DEV_IDE=y
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_HD_IDE is not set
-# CONFIG_BLK_DEV_HD is not set
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_BLK_DEV_IDEDISK=y
-CONFIG_IDEDISK_MULTI_MODE=y
-# CONFIG_IDEDISK_STROKE is not set
-# CONFIG_BLK_DEV_IDECS is not set
-# CONFIG_BLK_DEV_DELKIN is not set
-CONFIG_BLK_DEV_IDECD=y
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_BLK_DEV_IDESCSI is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-
-#
-# IDE chipset support/bugfixes
-#
-CONFIG_BLK_DEV_CMD640=y
-# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
-# CONFIG_BLK_DEV_ISAPNP is not set
-CONFIG_BLK_DEV_IDEPCI=y
-# CONFIG_BLK_DEV_GENERIC is not set
-CONFIG_IDEPCI_SHARE_IRQ=y
-CONFIG_BLK_DEV_IDEDMA_PCI=y
-# CONFIG_BLK_DEV_OFFBOARD is not set
-# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
-CONFIG_IDEDMA_PCI_AUTO=y
-# CONFIG_IDEDMA_ONLYDISK is not set
-CONFIG_BLK_DEV_IDEDMA=y
-# CONFIG_IDEDMA_PCI_WIP is not set
-# CONFIG_BLK_DEV_ADMA100 is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_WDC_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-# CONFIG_AMD74XX_OVERRIDE is not set
-# CONFIG_BLK_DEV_ATIIXP is not set
-# CONFIG_BLK_DEV_CMD64X is not set
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-# CONFIG_BLK_DEV_HPT34X is not set
-# CONFIG_HPT34X_AUTODMA is not set
-# CONFIG_BLK_DEV_HPT366 is not set
-CONFIG_BLK_DEV_PIIX=y
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_OPTI621 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_PDC202XX_BURST is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-CONFIG_BLK_DEV_RZ1000=y
-# CONFIG_BLK_DEV_SC1200 is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SIS5513 is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
-# CONFIG_IDE_CHIPSETS is not set
-CONFIG_IDEDMA_AUTO=y
-# CONFIG_IDEDMA_IVB is not set
-# CONFIG_DMA_NONPCI is not set
-# CONFIG_BLK_DEV_ATARAID is not set
-# CONFIG_BLK_DEV_ATARAID_PDC is not set
-# CONFIG_BLK_DEV_ATARAID_HPT is not set
-# CONFIG_BLK_DEV_ATARAID_MEDLEY is not set
-# CONFIG_BLK_DEV_ATARAID_SII is not set
-
-#
-# SCSI support
-#
-CONFIG_SCSI=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_SD_EXTRA_DEVS=40
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_DEBUG_QUEUES=y
-CONFIG_SCSI_MULTI_LUN=y
-CONFIG_SCSI_CONSTANTS=y
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AHA1740 is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_AM53C974 is not set
-# CONFIG_SCSI_MEGARAID is not set
-# CONFIG_SCSI_MEGARAID2 is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_SATA_AHCI is not set
-# CONFIG_SCSI_SATA_SVW is not set
-# CONFIG_SCSI_ATA_PIIX is not set
-# CONFIG_SCSI_SATA_NV is not set
-# CONFIG_SCSI_SATA_PROMISE is not set
-# CONFIG_SCSI_SATA_SX4 is not set
-# CONFIG_SCSI_SATA_SIL is not set
-# CONFIG_SCSI_SATA_SIS is not set
-# CONFIG_SCSI_SATA_ULI is not set
-# CONFIG_SCSI_SATA_VIA is not set
-# CONFIG_SCSI_SATA_VITESSE is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_CPQFCTS is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_EATA_DMA is not set
-# CONFIG_SCSI_EATA_PIO is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_NCR53C7xx is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_NCR53C8XX is not set
-CONFIG_SCSI_SYM53C8XX=y
-CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=4
-CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
-CONFIG_SCSI_NCR53C8XX_SYNC=20
-# CONFIG_SCSI_NCR53C8XX_PROFILE is not set
-# CONFIG_SCSI_NCR53C8XX_IOMAPPED is not set
-# CONFIG_SCSI_NCR53C8XX_PQS_PDS is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PCI2000 is not set
-# CONFIG_SCSI_PCI2220I is not set
-# CONFIG_SCSI_PSI240I is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_QLOGIC_ISP is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_SEAGATE is not set
-# CONFIG_SCSI_SIM710 is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_ULTRASTOR is not set
-# CONFIG_SCSI_NSP32 is not set
-
-#
-# PCMCIA SCSI adapter support
-#
-# CONFIG_SCSI_PCMCIA is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_BOOT is not set
-# CONFIG_FUSION_ISENSE is not set
-# CONFIG_FUSION_CTL is not set
-# CONFIG_FUSION_LAN is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_PCI is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-CONFIG_DUMMY=m
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_NET_SB1000 is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_SUNLANCE is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_AT1700 is not set
-# CONFIG_DEPCA is not set
-# CONFIG_HP100 is not set
-# CONFIG_NET_ISA is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_AC3200 is not set
-# CONFIG_APRICOT is not set
-# CONFIG_B44 is not set
-# CONFIG_CS89x0 is not set
-# CONFIG_TULIP is not set
-# CONFIG_DE4X5 is not set
-# CONFIG_DGRS is not set
-# CONFIG_DM9102 is not set
-CONFIG_EEPRO100=y
-# CONFIG_EEPRO100_PIO is not set
-# CONFIG_E100 is not set
-# CONFIG_LNE390 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_NE3210 is not set
-# CONFIG_ES3210 is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8139TOO_8129 is not set
-# CONFIG_8139_OLD_RX_RESET is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_SUNDANCE_MMIO is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-# CONFIG_VIA_RHINE_MMIO is not set
-# CONFIG_WINBOND_840 is not set
-# CONFIG_NET_POCKET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_FDDI is not set
-# CONFIG_PLIP is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# PCMCIA network device support
-#
-CONFIG_NET_PCMCIA=y
-# CONFIG_PCMCIA_3C589 is not set
-# CONFIG_PCMCIA_3C574 is not set
-# CONFIG_PCMCIA_FMVJ18X is not set
-CONFIG_PCMCIA_PCNET=y
-# CONFIG_PCMCIA_AXNET is not set
-# CONFIG_PCMCIA_NMCLAN is not set
-# CONFIG_PCMCIA_SMC91C92 is not set
-# CONFIG_PCMCIA_XIRC2PS is not set
-# CONFIG_ARCNET_COM20020_CS is not set
-# CONFIG_PCMCIA_IBMTR is not set
-# CONFIG_PCMCIA_XIRCOM is not set
-# CONFIG_PCMCIA_XIRTULIP is not set
-CONFIG_NET_PCMCIA_RADIO=y
-CONFIG_PCMCIA_RAYCS=y
-# CONFIG_PCMCIA_NETWAVE is not set
-# CONFIG_PCMCIA_WAVELAN is not set
-# CONFIG_AIRONET4500_CS is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-# CONFIG_IRDA is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Old CD-ROM drivers (not SCSI, not IDE)
-#
-# CONFIG_CD_NO_IDESCSI is not set
-
-#
-# Input core support
-#
-# CONFIG_INPUT is not set
-# CONFIG_INPUT_KEYBDEV is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_UINPUT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_SERIAL=y
-# CONFIG_SERIAL_CONSOLE is not set
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=256
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-CONFIG_MOUSE=y
-CONFIG_PSMOUSE=y
-# CONFIG_82C710_MOUSE is not set
-# CONFIG_PC110_PAD is not set
-# CONFIG_MK712_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-
-#
-# Input core support is needed for gameports
-#
-
-#
-# Input core support is needed for joysticks
-#
-# CONFIG_QIC02_TAPE is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_IPMI_PANIC_EVENT is not set
-# CONFIG_IPMI_DEVICE_INTERFACE is not set
-# CONFIG_IPMI_KCS is not set
-# CONFIG_IPMI_WATCHDOG is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_SCx200 is not set
-# CONFIG_SCx200_GPIO is not set
-# CONFIG_AMD_RNG is not set
-# CONFIG_INTEL_RNG is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_AMD_PM768 is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-CONFIG_AGP=y
-CONFIG_AGP_INTEL=y
-CONFIG_AGP_I810=y
-CONFIG_AGP_VIA=y
-CONFIG_AGP_AMD=y
-# CONFIG_AGP_AMD_K8 is not set
-CONFIG_AGP_SIS=y
-CONFIG_AGP_ALI=y
-# CONFIG_AGP_SWORKS is not set
-# CONFIG_AGP_NVIDIA is not set
-# CONFIG_AGP_ATI is not set
-
-#
-# Direct Rendering Manager (XFree86 DRI support)
-#
-CONFIG_DRM=y
-# CONFIG_DRM_OLD is not set
-
-#
-# DRM 4.1 drivers
-#
-CONFIG_DRM_NEW=y
-CONFIG_DRM_TDFX=y
-# CONFIG_DRM_GAMMA is not set
-# CONFIG_DRM_R128 is not set
-CONFIG_DRM_RADEON=y
-CONFIG_DRM_I810=y
-CONFIG_DRM_I810_XFREE_41=y
-# CONFIG_DRM_I830 is not set
-# CONFIG_DRM_MGA is not set
-# CONFIG_DRM_SIS is not set
-
-#
-# PCMCIA character devices
-#
-# CONFIG_PCMCIA_SERIAL_CS is not set
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_MWAVE is not set
-# CONFIG_OBMOUSE is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# File systems
-#
-# CONFIG_QUOTA is not set
-# CONFIG_QFMT_V2 is not set
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BEFS_DEBUG is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD_DEBUG is not set
-# CONFIG_FAT_FS is not set
-# CONFIG_MSDOS_FS is not set
-# CONFIG_UMSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
-# CONFIG_CRAMFS is not set
-CONFIG_TMPFS=y
-CONFIG_RAMFS=y
-CONFIG_ISO9660_FS=y
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVFS_MOUNT is not set
-# CONFIG_DEVFS_DEBUG is not set
-CONFIG_DEVPTS_FS=y
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_TRACE is not set
-# CONFIG_XFS_DEBUG is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-CONFIG_NFS_FS=y
-# CONFIG_NFS_V3 is not set
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_ROOT_NFS is not set
-CONFIG_NFSD=y
-# CONFIG_NFSD_V3 is not set
-CONFIG_NFSD_TCP=y
-CONFIG_SUNRPC=y
-CONFIG_LOCKD=y
-# CONFIG_SMB_FS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-
-#
-# Partition Types
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_SMB_NLS is not set
-# CONFIG_NLS is not set
-
-#
-# Console drivers
-#
-CONFIG_VGA_CONSOLE=y
-# CONFIG_VIDEO_SELECT is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=y
-# CONFIG_SOUND_ALI5455 is not set
-# CONFIG_SOUND_BT878 is not set
-# CONFIG_SOUND_CMPCI is not set
-# CONFIG_SOUND_EMU10K1 is not set
-# CONFIG_MIDI_EMU10K1 is not set
-# CONFIG_SOUND_FUSION is not set
-# CONFIG_SOUND_CS4281 is not set
-# CONFIG_SOUND_ES1370 is not set
-CONFIG_SOUND_ES1371=y
-# CONFIG_SOUND_ESSSOLO1 is not set
-# CONFIG_SOUND_MAESTRO is not set
-# CONFIG_SOUND_MAESTRO3 is not set
-# CONFIG_SOUND_FORTE is not set
-# CONFIG_SOUND_ICH is not set
-# CONFIG_SOUND_RME96XX is not set
-# CONFIG_SOUND_SONICVIBES is not set
-# CONFIG_SOUND_TRIDENT is not set
-# CONFIG_SOUND_MSNDCLAS is not set
-# CONFIG_SOUND_MSNDPIN is not set
-# CONFIG_SOUND_VIA82CXXX is not set
-# CONFIG_MIDI_VIA82CXXX is not set
-# CONFIG_SOUND_OSS is not set
-# CONFIG_SOUND_TVMIXER is not set
-# CONFIG_SOUND_AD1980 is not set
-# CONFIG_SOUND_WM97XX is not set
-
-#
-# USB support
-#
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_BANDWIDTH is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_EHCI_HCD is not set
-CONFIG_USB_UHCI_ALT=y
-# CONFIG_USB_OHCI is not set
-# CONFIG_USB_SL811HS_ALT is not set
-# CONFIG_USB_SL811HS is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_AUDIO is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_MIDI is not set
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_HP8200e is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-
-#
-# USB Human Interface Devices (HID)
-#
-# CONFIG_USB_HID is not set
-
-#
-# Input core support is needed for USB HID input layer or HIDBP support
-#
-# CONFIG_USB_HIDINPUT is not set
-# CONFIG_USB_HIDDEV is not set
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_DC2XX is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-
-#
-# USB Multimedia devices
-#
-
-#
-# Video4Linux support is needed for USB Multimedia device support
-#
-
-#
-# USB Network adaptors
-#
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_CDCETHER is not set
-# CONFIG_USB_USBNET is not set
-
-#
-# USB port drivers
-#
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_TIGL is not set
-# CONFIG_USB_BRLVGER is not set
-# CONFIG_USB_LCD is not set
-
-#
-# Support for USB gadgets
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# Bluetooth support
-#
-# CONFIG_BLUEZ is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=0
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Library routines
-#
-CONFIG_CRC32=y
-# CONFIG_ZLIB_INFLATE is not set
-# CONFIG_ZLIB_DEFLATE is not set
diff --git a/openwrt/toolchain/kernel-headers/files/config.mips b/openwrt/toolchain/kernel-headers/files/config.mips
deleted file mode 100644
index d641202..0000000
--- a/openwrt/toolchain/kernel-headers/files/config.mips
+++ /dev/null
@@ -1,1045 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-CONFIG_MIPS=y
-CONFIG_MIPS32=y
-# CONFIG_MIPS64 is not set
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_KMOD is not set
-
-#
-# Machine selection
-#
-# CONFIG_ACER_PICA_61 is not set
-# CONFIG_MIPS_BOSPORUS is not set
-# CONFIG_MIPS_MIRAGE is not set
-# CONFIG_MIPS_DB1000 is not set
-# CONFIG_MIPS_DB1100 is not set
-# CONFIG_MIPS_DB1500 is not set
-# CONFIG_MIPS_DB1550 is not set
-# CONFIG_MIPS_PB1000 is not set
-# CONFIG_MIPS_PB1100 is not set
-# CONFIG_MIPS_PB1500 is not set
-# CONFIG_MIPS_HYDROGEN3 is not set
-# CONFIG_MIPS_PB1550 is not set
-# CONFIG_MIPS_XXS1500 is not set
-# CONFIG_MIPS_MTX1 is not set
-# CONFIG_COGENT_CSB250 is not set
-# CONFIG_BAGET_MIPS is not set
-# CONFIG_CASIO_E55 is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_DECSTATION is not set
-# CONFIG_MIPS_EV64120 is not set
-# CONFIG_MIPS_EV96100 is not set
-# CONFIG_MIPS_IVR is not set
-# CONFIG_HP_LASERJET is not set
-# CONFIG_IBM_WORKPAD is not set
-# CONFIG_LASAT is not set
-# CONFIG_MIPS_ITE8172 is not set
-# CONFIG_MIPS_ATLAS is not set
-# CONFIG_MIPS_MAGNUM_4000 is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SEAD is not set
-# CONFIG_MOMENCO_OCELOT is not set
-# CONFIG_MOMENCO_OCELOT_G is not set
-# CONFIG_MOMENCO_OCELOT_C is not set
-# CONFIG_MOMENCO_JAGUAR_ATX is not set
-# CONFIG_PMC_BIG_SUR is not set
-# CONFIG_PMC_STRETCH is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_DDB5074 is not set
-# CONFIG_DDB5476 is not set
-# CONFIG_DDB5477 is not set
-# CONFIG_NEC_OSPREY is not set
-# CONFIG_NEC_EAGLE is not set
-# CONFIG_OLIVETTI_M700 is not set
-# CONFIG_NINO is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SIBYTE_SB1xxx_SOC is not set
-# CONFIG_SNI_RM200_PCI is not set
-# CONFIG_TANBAC_TB0226 is not set
-# CONFIG_TANBAC_TB0229 is not set
-# CONFIG_TOSHIBA_JMR3927 is not set
-# CONFIG_TOSHIBA_RBTX4927 is not set
-# CONFIG_VICTOR_MPC30X is not set
-# CONFIG_ZAO_CAPCELLA is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-# CONFIG_MIPS_AU1000 is not set
-
-#
-# CPU selection
-#
-CONFIG_CPU_MIPS32=y
-# CONFIG_CPU_MIPS64 is not set
-# CONFIG_CPU_R3000 is not set
-# CONFIG_CPU_TX39XX is not set
-# CONFIG_CPU_VR41XX is not set
-# CONFIG_CPU_R4300 is not set
-# CONFIG_CPU_R4X00 is not set
-# CONFIG_CPU_TX49XX is not set
-# CONFIG_CPU_R5000 is not set
-# CONFIG_CPU_R5432 is not set
-# CONFIG_CPU_R6000 is not set
-# CONFIG_CPU_NEVADA is not set
-# CONFIG_CPU_R8000 is not set
-# CONFIG_CPU_R10000 is not set
-# CONFIG_CPU_RM7000 is not set
-# CONFIG_CPU_RM9000 is not set
-# CONFIG_CPU_SB1 is not set
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_16KB is not set
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_CPU_HAS_PREFETCH=y
-# CONFIG_VTAG_ICACHE is not set
-# CONFIG_64BIT_PHYS_ADDR is not set
-# CONFIG_CPU_ADVANCED is not set
-CONFIG_CPU_HAS_LLSC=y
-# CONFIG_CPU_HAS_LLDSCD is not set
-# CONFIG_CPU_HAS_WB is not set
-CONFIG_CPU_HAS_SYNC=y
-
-#
-# General setup
-#
-CONFIG_CPU_LITTLE_ENDIAN=y
-# CONFIG_BUILD_ELF64 is not set
-CONFIG_NET=y
-CONFIG_PCI=y
-# CONFIG_PCI_NEW is not set
-CONFIG_PCI_AUTO=y
-# CONFIG_PCI_NAMES is not set
-# CONFIG_ISA is not set
-# CONFIG_TC is not set
-# CONFIG_MCA is not set
-# CONFIG_SBUS is not set
-# CONFIG_HOTPLUG is not set
-# CONFIG_PCMCIA is not set
-# CONFIG_HOTPLUG_PCI is not set
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-# CONFIG_BINFMT_AOUT is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_MIPS32_COMPAT is not set
-# CONFIG_MIPS32_O32 is not set
-# CONFIG_MIPS32_N32 is not set
-# CONFIG_BINFMT_ELF32 is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_OOM_KILLER is not set
-# CONFIG_CMDLINE_BOOL is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_CFI_B1 is not set
-CONFIG_MTD_CFI_B2=y
-# CONFIG_MTD_CFI_B4 is not set
-# CONFIG_MTD_CFI_B8 is not set
-CONFIG_MTD_CFI_I1=y
-# CONFIG_MTD_CFI_I2 is not set
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-CONFIG_MTD_CFI_AMDSTD=y
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-# CONFIG_MTD_AMDSTD is not set
-# CONFIG_MTD_SHARP is not set
-# CONFIG_MTD_JEDEC is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_PB1000 is not set
-# CONFIG_MTD_PB1500 is not set
-# CONFIG_MTD_PB1100 is not set
-# CONFIG_MTD_CSTM_MIPS_IXX is not set
-# CONFIG_MTD_OCELOT is not set
-# CONFIG_MTD_LASAT is not set
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PCMCIA is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC1000 is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOCPROBE is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play configuration
-#
-# CONFIG_PNP is not set
-# CONFIG_ISAPNP is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_CISS_SCSI_TAPE is not set
-# CONFIG_CISS_MONITOR_THREAD is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_SX8 is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_NBD=m
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_BLK_STATS is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_MMAP=y
-CONFIG_NETLINK_DEV=m
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-# CONFIG_FILTER is not set
-CONFIG_UNIX=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_FWMARK=y
-CONFIG_IP_ROUTE_NAT=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_TOS=y
-# CONFIG_IP_ROUTE_VERBOSE is not set
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE=m
-# CONFIG_ARPD is not set
-# CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_CONNTRACK=y
-CONFIG_IP_NF_FTP=y
-# CONFIG_IP_NF_AMANDA is not set
-CONFIG_IP_NF_TFTP=y
-CONFIG_IP_NF_IRC=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_LIMIT=m
-CONFIG_IP_NF_MATCH_MAC=m
-CONFIG_IP_NF_MATCH_PKTTYPE=m
-CONFIG_IP_NF_MATCH_MARK=y
-CONFIG_IP_NF_MATCH_MULTIPORT=y
-CONFIG_IP_NF_MATCH_TOS=m
-# CONFIG_IP_NF_MATCH_RECENT is not set
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_DSCP=m
-CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=y
-CONFIG_IP_NF_MATCH_HELPER=m
-CONFIG_IP_NF_MATCH_STATE=y
-CONFIG_IP_NF_MATCH_CONNTRACK=m
-CONFIG_IP_NF_MATCH_UNCLEAN=m
-# CONFIG_IP_NF_MATCH_OWNER is not set
-CONFIG_IP_NF_FILTER=y
-CONFIG_IP_NF_TARGET_REJECT=y
-CONFIG_IP_NF_TARGET_MIRROR=m
-CONFIG_IP_NF_NAT=y
-CONFIG_IP_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=y
-CONFIG_IP_NF_TARGET_REDIRECT=y
-CONFIG_IP_NF_NAT_SNMP_BASIC=m
-CONFIG_IP_NF_NAT_IRC=y
-CONFIG_IP_NF_NAT_FTP=y
-CONFIG_IP_NF_NAT_TFTP=y
-CONFIG_IP_NF_MANGLE=y
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_DSCP=m
-CONFIG_IP_NF_TARGET_MARK=y
-CONFIG_IP_NF_TARGET_LOG=y
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_TARGET_TCPMSS=y
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-# CONFIG_IP_NF_ARP_MANGLE is not set
-
-#
-# IP: Virtual Server Configuration
-#
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_LIMIT=m
-CONFIG_IP6_NF_MATCH_MAC=m
-# CONFIG_IP6_NF_MATCH_RT is not set
-# CONFIG_IP6_NF_MATCH_OPTS is not set
-# CONFIG_IP6_NF_MATCH_FRAG is not set
-# CONFIG_IP6_NF_MATCH_HL is not set
-CONFIG_IP6_NF_MATCH_MULTIPORT=m
-CONFIG_IP6_NF_MATCH_OWNER=m
-CONFIG_IP6_NF_MATCH_MARK=m
-# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
-# CONFIG_IP6_NF_MATCH_AHESP is not set
-CONFIG_IP6_NF_MATCH_LENGTH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_TARGET_MARK=m
-# CONFIG_KHTTPD is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-CONFIG_VLAN_8021Q=y
-
-#
-#
-#
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_DECNET is not set
-CONFIG_BRIDGE=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_CSZ=m
-# CONFIG_NET_SCH_HFSC is not set
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-# CONFIG_NET_SCH_NETEM is not set
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_QOS=y
-CONFIG_NET_ESTIMATOR=y
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_ROUTE=y
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_POLICE=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-
-#
-# Telephony Support
-#
-# CONFIG_PHONE is not set
-# CONFIG_PHONE_IXJ is not set
-# CONFIG_PHONE_IXJ_PCMCIA is not set
-
-#
-# ATA/IDE/MFM/RLL support
-#
-# CONFIG_IDE is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI support
-#
-CONFIG_SCSI=m
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=m
-CONFIG_SD_EXTRA_DEVS=5
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-CONFIG_CHR_DEV_SG=m
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_DEBUG_QUEUES is not set
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AHA1740 is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_AM53C974 is not set
-# CONFIG_SCSI_MEGARAID is not set
-# CONFIG_SCSI_MEGARAID2 is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_SATA_AHCI is not set
-# CONFIG_SCSI_SATA_SVW is not set
-# CONFIG_SCSI_ATA_PIIX is not set
-# CONFIG_SCSI_SATA_NV is not set
-# CONFIG_SCSI_SATA_PROMISE is not set
-# CONFIG_SCSI_SATA_SX4 is not set
-# CONFIG_SCSI_SATA_SIL is not set
-# CONFIG_SCSI_SATA_SIS is not set
-# CONFIG_SCSI_SATA_ULI is not set
-# CONFIG_SCSI_SATA_VIA is not set
-# CONFIG_SCSI_SATA_VITESSE is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_CPQFCTS is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_EATA_DMA is not set
-# CONFIG_SCSI_EATA_PIO is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_NCR53C7xx is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_NCR53C8XX is not set
-# CONFIG_SCSI_SYM53C8XX is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PCI2000 is not set
-# CONFIG_SCSI_PCI2220I is not set
-# CONFIG_SCSI_PSI240I is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_QLOGIC_ISP is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_SIM710 is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_BOOT is not set
-# CONFIG_FUSION_ISENSE is not set
-# CONFIG_FUSION_CTL is not set
-# CONFIG_FUSION_LAN is not set
-
-#
-# IEEE 1394 (FireWire) support (EXPERIMENTAL)
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_PCI is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_SUNLANCE is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_HP100 is not set
-# CONFIG_NET_ISA is not set
-# CONFIG_NET_PCI is not set
-# CONFIG_NET_POCKET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-CONFIG_PPP=y
-# CONFIG_PPP_MULTILINK is not set
-# CONFIG_PPP_FILTER is not set
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPPOE=m
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-# CONFIG_RCPCI is not set
-CONFIG_SHAPER=m
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-# CONFIG_IRDA is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input core support
-#
-# CONFIG_INPUT is not set
-# CONFIG_INPUT_KEYBDEV is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_UINPUT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-CONFIG_SERIAL=y
-CONFIG_SERIAL_CONSOLE=y
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=128
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-# CONFIG_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-
-#
-# Input core support is needed for gameports
-#
-
-#
-# Input core support is needed for joysticks
-#
-# CONFIG_QIC02_TAPE is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_IPMI_PANIC_EVENT is not set
-# CONFIG_IPMI_DEVICE_INTERFACE is not set
-# CONFIG_IPMI_KCS is not set
-# CONFIG_IPMI_WATCHDOG is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_NOWAYOUT=y
-# CONFIG_ACQUIRE_WDT is not set
-# CONFIG_ADVANTECH_WDT is not set
-# CONFIG_ALIM1535_WDT is not set
-# CONFIG_ALIM7101_WDT is not set
-# CONFIG_SC520_WDT is not set
-# CONFIG_PCWATCHDOG is not set
-# CONFIG_EUROTECH_WDT is not set
-# CONFIG_IB700_WDT is not set
-# CONFIG_WAFER_WDT is not set
-# CONFIG_I810_TCO is not set
-# CONFIG_MIXCOMWD is not set
-# CONFIG_60XX_WDT is not set
-# CONFIG_SC1200_WDT is not set
-# CONFIG_SCx200_WDT is not set
-CONFIG_SOFT_WATCHDOG=y
-# CONFIG_W83877F_WDT is not set
-# CONFIG_WDT is not set
-# CONFIG_WDTPCI is not set
-# CONFIG_MACHZ_WDT is not set
-# CONFIG_SCx200 is not set
-# CONFIG_SCx200_GPIO is not set
-# CONFIG_AMD_PM768 is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_MIPS_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
-
-#
-# Direct Rendering Manager (XFree86 DRI support)
-#
-# CONFIG_DRM is not set
-
-#
-# File systems
-#
-# CONFIG_QUOTA is not set
-# CONFIG_QFMT_V2 is not set
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BEFS_DEBUG is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EXT3_FS is not set
-# CONFIG_JBD is not set
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-# CONFIG_UMSDOS_FS is not set
-CONFIG_VFAT_FS=m
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_CRAMFS=y
-# CONFIG_TMPFS is not set
-CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-CONFIG_DEVFS_FS=y
-CONFIG_DEVFS_MOUNT=y
-# CONFIG_DEVFS_DEBUG is not set
-# CONFIG_DEVPTS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=m
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_TRACE is not set
-# CONFIG_XFS_DEBUG is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_ROOT_NFS is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-# CONFIG_NFSD_TCP is not set
-CONFIG_SUNRPC=m
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-# CONFIG_SMB_FS is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-# CONFIG_SMB_NLS is not set
-CONFIG_NLS=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# USB support
-#
-CONFIG_USB=m
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_EHCI_HCD is not set
-# CONFIG_USB_UHCI is not set
-# CONFIG_USB_UHCI_ALT is not set
-CONFIG_USB_OHCI=m
-
-#
-# USB Device Class drivers
-#
-# CONFIG_USB_AUDIO is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_BLUETOOTH is not set
-# CONFIG_USB_MIDI is not set
-CONFIG_USB_STORAGE=m
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_DATAFAB=y
-CONFIG_USB_STORAGE_FREECOM=y
-# CONFIG_USB_STORAGE_ISD200 is not set
-CONFIG_USB_STORAGE_DPCM=y
-CONFIG_USB_STORAGE_HP8200e=y
-CONFIG_USB_STORAGE_SDDR09=y
-CONFIG_USB_STORAGE_SDDR55=y
-CONFIG_USB_STORAGE_JUMPSHOT=y
-# CONFIG_USB_ACM is not set
-CONFIG_USB_PRINTER=m
-
-#
-# USB Human Interface Devices (HID)
-#
-# CONFIG_USB_HID is not set
-
-#
-# Input core support is needed for USB HID input layer or HIDBP support
-#
-# CONFIG_USB_HIDINPUT is not set
-# CONFIG_USB_HIDDEV is not set
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_DC2XX is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-
-#
-# USB Multimedia devices
-#
-
-#
-# Video4Linux support is needed for USB Multimedia device support
-#
-
-#
-# USB Network adaptors
-#
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_CDCETHER is not set
-# CONFIG_USB_USBNET is not set
-
-#
-# USB port drivers
-#
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_TIGL is not set
-# CONFIG_USB_BRLVGER is not set
-# CONFIG_USB_LCD is not set
-
-#
-# Support for USB gadgets
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# Bluetooth support
-#
-# CONFIG_BLUEZ is not set
-
-#
-# Kernel hacking
-#
-CONFIG_CROSSCOMPILE=y
-# CONFIG_RUNTIME_DEBUG is not set
-# CONFIG_KGDB is not set
-# CONFIG_GDB_CONSOLE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_MIPS_UNCACHED is not set
-CONFIG_LOG_BUF_SHIFT=0
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Library routines
-#
-# CONFIG_CRC32 is not set
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/openwrt/toolchain/kernel-headers/patches/include.patch b/openwrt/toolchain/kernel-headers/patches/include.patch
deleted file mode 100644
index 1618bbd..0000000
--- a/openwrt/toolchain/kernel-headers/patches/include.patch
+++ /dev/null
@@ -1,17954 +0,0 @@
-diff -Nur linux-2.4.32/include/asm-alpha/param.h linux-2.4.32.patched/include/asm-alpha/param.h
---- linux-2.4.32/include/asm-alpha/param.h 2000-11-08 08:37:31.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-alpha/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -13,6 +13,9 @@
- # else
- # define HZ 1200
- # endif
-+#ifdef __KERNEL__
-+# define hz_to_std(a) (a)
-+#endif
- #endif
-
- #define EXEC_PAGESIZE 8192
-diff -Nur linux-2.4.32/include/asm-alpha/signal.h linux-2.4.32.patched/include/asm-alpha/signal.h
---- linux-2.4.32/include/asm-alpha/signal.h 1998-06-24 23:30:11.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-alpha/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -121,8 +121,15 @@
- #define SA_PROBE SA_ONESHOT
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x40000000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- #define SIG_BLOCK 1 /* for blocking signals */
- #define SIG_UNBLOCK 2 /* for unblocking signals */
- #define SIG_SETMASK 3 /* for setting the signal mask */
-diff -Nur linux-2.4.32/include/asm-arm/signal.h linux-2.4.32.patched/include/asm-arm/signal.h
---- linux-2.4.32/include/asm-arm/signal.h 2003-08-25 13:44:43.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-arm/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -125,8 +125,15 @@
- #define SA_PROBE 0x80000000
- #define SA_SAMPLE_RANDOM 0x10000000
- #define SA_SHIRQ 0x04000000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- #define SIG_BLOCK 0 /* for blocking signals */
- #define SIG_UNBLOCK 1 /* for unblocking signals */
- #define SIG_SETMASK 2 /* for setting the signal mask */
-diff -Nur linux-2.4.32/include/asm-cris/signal.h linux-2.4.32.patched/include/asm-cris/signal.h
---- linux-2.4.32/include/asm-cris/signal.h 2001-02-09 01:32:44.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-cris/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -120,8 +120,15 @@
- #define SA_PROBE SA_ONESHOT
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x04000000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- #define SIG_BLOCK 0 /* for blocking signals */
- #define SIG_UNBLOCK 1 /* for unblocking signals */
- #define SIG_SETMASK 2 /* for setting the signal mask */
-diff -Nur linux-2.4.32/include/asm-i386/byteorder.h linux-2.4.32.patched/include/asm-i386/byteorder.h
---- linux-2.4.32/include/asm-i386/byteorder.h 2003-06-13 16:51:38.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-i386/byteorder.h 2006-03-13 18:55:55.000000000 +0100
-@@ -2,6 +2,7 @@
- #define _I386_BYTEORDER_H
-
- #include <asm/types.h>
-+#include <linux/compiler.h>
-
- #ifdef __GNUC__
-
-@@ -10,7 +11,7 @@
- #include <linux/config.h>
- #endif
-
--static __inline__ __const__ __u32 ___arch__swab32(__u32 x)
-+static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
- {
- #ifdef CONFIG_X86_BSWAP
- __asm__("bswap %0" : "=r" (x) : "0" (x));
-@@ -26,7 +27,7 @@
-
- /* gcc should generate this for open coded C now too. May be worth switching to
- it because inline assembly cannot be scheduled. -AK */
--static __inline__ __const__ __u16 ___arch__swab16(__u16 x)
-+static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x)
- {
- __asm__("xchgb %b0,%h0" /* swap bytes */
- : "=q" (x)
-diff -Nur linux-2.4.32/include/asm-i386/param.h linux-2.4.32.patched/include/asm-i386/param.h
---- linux-2.4.32/include/asm-i386/param.h 2000-10-27 20:04:43.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-i386/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -3,6 +3,9 @@
-
- #ifndef HZ
- #define HZ 100
-+#ifdef __KERNEL__
-+#define hz_to_std(a) (a)
-+#endif
- #endif
-
- #define EXEC_PAGESIZE 4096
-diff -Nur linux-2.4.32/include/asm-i386/processor.h linux-2.4.32.patched/include/asm-i386/processor.h
---- linux-2.4.32/include/asm-i386/processor.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-i386/processor.h 2006-03-13 18:55:55.000000000 +0100
-@@ -72,7 +72,6 @@
- */
-
- extern struct cpuinfo_x86 boot_cpu_data;
--extern struct tss_struct init_tss[NR_CPUS];
-
- #ifdef CONFIG_SMP
- extern struct cpuinfo_x86 cpu_data[];
-@@ -357,6 +356,8 @@
- unsigned long __cacheline_filler[5];
- };
-
-+extern struct tss_struct init_tss[NR_CPUS];
-+
- struct thread_struct {
- unsigned long esp0;
- unsigned long eip;
-diff -Nur linux-2.4.32/include/asm-i386/signal.h linux-2.4.32.patched/include/asm-i386/signal.h
---- linux-2.4.32/include/asm-i386/signal.h 2001-11-22 20:46:18.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-i386/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -119,8 +119,15 @@
- #define SA_PROBE SA_ONESHOT
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x04000000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- #define SIG_BLOCK 0 /* for blocking signals */
- #define SIG_UNBLOCK 1 /* for unblocking signals */
- #define SIG_SETMASK 2 /* for setting the signal mask */
-diff -Nur linux-2.4.32/include/asm-i386/string.h linux-2.4.32.patched/include/asm-i386/string.h
---- linux-2.4.32/include/asm-i386/string.h 2001-11-22 20:46:18.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-i386/string.h 2006-03-13 18:55:55.000000000 +0100
-@@ -337,7 +337,7 @@
- #define struct_cpy(x,y) \
- ({ \
- if (sizeof(*(x)) != sizeof(*(y))) \
-- __struct_cpy_bug; \
-+ __struct_cpy_bug(); \
- memcpy(x, y, sizeof(*(x))); \
- })
-
-diff -Nur linux-2.4.32/include/asm-ia64/param.h linux-2.4.32.patched/include/asm-ia64/param.h
---- linux-2.4.32/include/asm-ia64/param.h 2004-04-14 15:05:40.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-ia64/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -7,9 +7,15 @@
- * Based on <asm-i386/param.h>.
- *
- * Modified 1998, 1999, 2002-2003
-- * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
-+ * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
- */
-
-+#include <linux/config.h>
-+
-+#ifdef __KERNEL__
-+#define hz_to_std(a) (a)
-+#endif
-+
- #define EXEC_PAGESIZE 65536
-
- #ifndef NGROUPS
-diff -Nur linux-2.4.32/include/asm-ia64/signal.h linux-2.4.32.patched/include/asm-ia64/signal.h
---- linux-2.4.32/include/asm-ia64/signal.h 2004-04-14 15:05:40.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-ia64/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -117,6 +117,12 @@
- #define SA_SHIRQ 0x04000000
- #define SA_PERCPU_IRQ 0x02000000
-
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
-+#endif
-+
- #endif /* __KERNEL__ */
-
- #define SIG_BLOCK 0 /* for blocking signals */
-diff -Nur linux-2.4.32/include/asm-m68k/param.h linux-2.4.32.patched/include/asm-m68k/param.h
---- linux-2.4.32/include/asm-m68k/param.h 2001-01-04 22:00:55.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-m68k/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -3,6 +3,9 @@
-
- #ifndef HZ
- #define HZ 100
-+#ifdef __KERNEL__
-+#define hz_to_std(a) (a)
-+#endif
- #endif
-
- #define EXEC_PAGESIZE 8192
-diff -Nur linux-2.4.32/include/asm-m68k/setup.h linux-2.4.32.patched/include/asm-m68k/setup.h
---- linux-2.4.32/include/asm-m68k/setup.h 2000-01-26 21:44:21.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-m68k/setup.h 2006-03-13 18:55:55.000000000 +0100
-@@ -361,12 +361,13 @@
- #ifndef __ASSEMBLY__
- extern int m68k_num_memory; /* # of memory blocks found (and used) */
- extern int m68k_realnum_memory; /* real # of memory blocks found */
--extern struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */
-
- struct mem_info {
- unsigned long addr; /* physical address of memory chunk */
- unsigned long size; /* length of memory chunk (in bytes) */
- };
-+
-+extern struct mem_info m68k_memory[NUM_MEMINFO];/* memory description */
- #endif
-
- #endif /* __KERNEL__ */
-diff -Nur linux-2.4.32/include/asm-m68k/signal.h linux-2.4.32.patched/include/asm-m68k/signal.h
---- linux-2.4.32/include/asm-m68k/signal.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-m68k/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -116,8 +116,15 @@
- #define SA_PROBE SA_ONESHOT
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x04000000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- #define SIG_BLOCK 0 /* for blocking signals */
- #define SIG_UNBLOCK 1 /* for unblocking signals */
- #define SIG_SETMASK 2 /* for setting the signal mask */
-diff -Nur linux-2.4.32/include/asm-mips/au1000_gpio.h linux-2.4.32.patched/include/asm-mips/au1000_gpio.h
---- linux-2.4.32/include/asm-mips/au1000_gpio.h 2002-11-29 00:53:15.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/au1000_gpio.h 2006-03-13 18:55:54.000000000 +0100
-@@ -30,6 +30,13 @@
- * 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-+/*
-+ * Revision history
-+ * 01/31/02 0.01 Initial release. Steve Longerbeam, MontaVista
-+ * 10/12/03 0.1 Added Au1100/Au1500, GPIO2, and bit operations. K.C. Nishio, AMD
-+ * 08/05/04 0.11 Added Au1550 and Au1200. K.C. Nishio
-+ */
-+
- #ifndef __AU1000_GPIO_H
- #define __AU1000_GPIO_H
-
-@@ -44,13 +51,94 @@
- #define AU1000GPIO_TRISTATE _IOW (AU1000GPIO_IOC_MAGIC, 4, int)
- #define AU1000GPIO_AVAIL_MASK _IOR (AU1000GPIO_IOC_MAGIC, 5, int)
-
-+// bit operations
-+#define AU1000GPIO_BIT_READ _IOW (AU1000GPIO_IOC_MAGIC, 6, int)
-+#define AU1000GPIO_BIT_SET _IOW (AU1000GPIO_IOC_MAGIC, 7, int)
-+#define AU1000GPIO_BIT_CLEAR _IOW (AU1000GPIO_IOC_MAGIC, 8, int)
-+#define AU1000GPIO_BIT_TRISTATE _IOW (AU1000GPIO_IOC_MAGIC, 9, int)
-+#define AU1000GPIO_BIT_INIT _IOW (AU1000GPIO_IOC_MAGIC, 10, int)
-+#define AU1000GPIO_BIT_TERM _IOW (AU1000GPIO_IOC_MAGIC, 11, int)
-+
-+/* set this major numer same as the CRIS GPIO driver */
-+#define AU1X00_GPIO_MAJOR (120)
-+
-+#define ENABLED_ZERO (0)
-+#define ENABLED_ONE (1)
-+#define ENABLED_10 (0x2)
-+#define ENABLED_11 (0x3)
-+#define ENABLED_111 (0x7)
-+#define NOT_AVAIL (-1)
-+#define AU1X00_MAX_PRIMARY_GPIO (32)
-+
-+#define AU1000_GPIO_MINOR_MAX AU1X00_MAX_PRIMARY_GPIO
-+/* Au1100, 1500, 1550 and 1200 have the secondary GPIO block */
-+#define AU1XX0_GPIO_MINOR_MAX (48)
-+
-+#define AU1X00_GPIO_NAME "gpio"
-+
-+/* GPIO pins which are not multiplexed */
-+#if defined(CONFIG_SOC_AU1000)
-+ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 1) | (1 << 0))
-+ #define NATIVE_GPIO2PIN (0)
-+#elif defined(CONFIG_SOC_AU1100)
-+ #define NATIVE_GPIOPIN ((1 << 23) | (1 << 22) | (1 << 21) | (1 << 20) | (1 << 19) | (1 << 18) | \
-+ (1 << 17) | (1 << 16) | (1 << 7) | (1 << 1) | (1 << 0))
-+ #define NATIVE_GPIO2PIN (0)
-+#elif defined(CONFIG_SOC_AU1500)
-+ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 1) | (1 << 0))
-+ /* exclude the PCI reset output signal: GPIO[200], DMA_REQ2 and DMA_REQ3 */
-+ #define NATIVE_GPIO2PIN (0xfffe & ~((1 << 9) | (1 << 8)))
-+#elif defined(CONFIG_SOC_AU1550)
-+ #define NATIVE_GPIOPIN ((1 << 15) | (1 << 8) | (1 << 7) | (1 << 6) | (1 << 1) | (1 << 0))
-+ /* please refere Au1550 Data Book, chapter 15 */
-+ #define NATIVE_GPIO2PIN (1 << 5)
-+#elif defined(CONFIG_SOC_AU1200)
-+ #define NATIVE_GPIOPIN ((1 << 7) | (1 << 5))
-+ #define NATIVE_GPIO2PIN (0)
-+#endif
-+
-+/* minor as u32 */
-+#define MINOR_TO_GPIOPIN(minor) ((minor < AU1X00_MAX_PRIMARY_GPIO) ? minor : (minor - AU1X00_MAX_PRIMARY_GPIO))
-+#define IS_PRIMARY_GPIOPIN(minor) ((minor < AU1X00_MAX_PRIMARY_GPIO) ? 1 : 0)
-+
-+/*
-+ * pin to minor mapping.
-+ * GPIO0-GPIO31, minor=0-31.
-+ * GPIO200-GPIO215, minor=32-47.
-+ */
-+typedef struct _au1x00_gpio_bit_ctl {
-+ int direction; // The direction of this GPIO pin. 0: IN, 1: OUT.
-+ int data; // Pin output when itized (0/1), or at the term. 0/1/-1 (tristate).
-+} au1x00_gpio_bit_ctl;
-+
-+typedef struct _au1x00_gpio_driver {
-+ const char *driver_name;
-+ const char *name;
-+ int name_base; /* offset of printed name */
-+ short major; /* major device number */
-+ short minor_start; /* start of minor device number*/
-+ short num; /* number of devices */
-+} au1x00_gpio_driver;
-+
- #ifdef __KERNEL__
--extern u32 get_au1000_avail_gpio_mask(void);
--extern int au1000gpio_tristate(u32 data);
--extern int au1000gpio_in(u32 *data);
--extern int au1000gpio_set(u32 data);
--extern int au1000gpio_clear(u32 data);
--extern int au1000gpio_out(u32 data);
-+extern u32 get_au1000_avail_gpio_mask(u32 *avail_gpio2);
-+extern int au1000gpio_tristate(u32 minor, u32 data);
-+extern int au1000gpio_in(u32 minor, u32 *data);
-+extern int au1000gpio_set(u32 minor, u32 data);
-+extern int au1000gpio_clear(u32 minor, u32 data);
-+extern int au1000gpio_out(u32 minor, u32 data);
-+extern int au1000gpio_bit_read(u32 minor, u32 *read_data);
-+extern int au1000gpio_bit_set(u32 minor);
-+extern int au1000gpio_bit_clear(u32 minor);
-+extern int au1000gpio_bit_tristate(u32 minor);
-+extern int check_minor_to_gpio(u32 minor);
-+extern int au1000gpio_bit_init(u32 minor, au1x00_gpio_bit_ctl *bit_opt);
-+extern int au1000gpio_bit_term(u32 minor, au1x00_gpio_bit_ctl *bit_opt);
-+
-+extern void gpio_register_devfs (au1x00_gpio_driver *driver, unsigned int flags, unsigned minor);
-+extern void gpio_unregister_devfs (au1x00_gpio_driver *driver, unsigned minor);
-+extern int gpio_register_driver(au1x00_gpio_driver *driver);
-+extern int gpio_unregister_driver(au1x00_gpio_driver *driver);
- #endif
-
- #endif
-diff -Nur linux-2.4.32/include/asm-mips/au1000.h linux-2.4.32.patched/include/asm-mips/au1000.h
---- linux-2.4.32/include/asm-mips/au1000.h 2005-01-19 15:10:11.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/au1000.h 2006-03-13 18:55:54.000000000 +0100
-@@ -160,28 +160,356 @@
- #define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5)
- #endif
-
--/* SDRAM Controller */
-+/*
-+ * SDRAM Register Offsets
-+ */
- #if defined(CONFIG_SOC_AU1000) || defined(CONFIG_SOC_AU1500) || defined(CONFIG_SOC_AU1100)
--#define MEM_SDMODE0 0xB4000000
--#define MEM_SDMODE1 0xB4000004
--#define MEM_SDMODE2 0xB4000008
--
--#define MEM_SDADDR0 0xB400000C
--#define MEM_SDADDR1 0xB4000010
--#define MEM_SDADDR2 0xB4000014
--
--#define MEM_SDREFCFG 0xB4000018
--#define MEM_SDPRECMD 0xB400001C
--#define MEM_SDAUTOREF 0xB4000020
--
--#define MEM_SDWRMD0 0xB4000024
--#define MEM_SDWRMD1 0xB4000028
--#define MEM_SDWRMD2 0xB400002C
-+#define MEM_SDMODE0 (0x0000)
-+#define MEM_SDMODE1 (0x0004)
-+#define MEM_SDMODE2 (0x0008)
-+#define MEM_SDADDR0 (0x000C)
-+#define MEM_SDADDR1 (0x0010)
-+#define MEM_SDADDR2 (0x0014)
-+#define MEM_SDREFCFG (0x0018)
-+#define MEM_SDPRECMD (0x001C)
-+#define MEM_SDAUTOREF (0x0020)
-+#define MEM_SDWRMD0 (0x0024)
-+#define MEM_SDWRMD1 (0x0028)
-+#define MEM_SDWRMD2 (0x002C)
-+#define MEM_SDSLEEP (0x0030)
-+#define MEM_SDSMCKE (0x0034)
-+
-+#ifndef ASSEMBLER
-+/*typedef volatile struct
-+{
-+ uint32 sdmode0;
-+ uint32 sdmode1;
-+ uint32 sdmode2;
-+ uint32 sdaddr0;
-+ uint32 sdaddr1;
-+ uint32 sdaddr2;
-+ uint32 sdrefcfg;
-+ uint32 sdautoref;
-+ uint32 sdwrmd0;
-+ uint32 sdwrmd1;
-+ uint32 sdwrmd2;
-+ uint32 sdsleep;
-+ uint32 sdsmcke;
-+
-+} AU1X00_SDRAM;*/
-+#endif
-+
-+/*
-+ * MEM_SDMODE register content definitions
-+ */
-+#define MEM_SDMODE_F (1<<22)
-+#define MEM_SDMODE_SR (1<<21)
-+#define MEM_SDMODE_BS (1<<20)
-+#define MEM_SDMODE_RS (3<<18)
-+#define MEM_SDMODE_CS (7<<15)
-+#define MEM_SDMODE_TRAS (15<<11)
-+#define MEM_SDMODE_TMRD (3<<9)
-+#define MEM_SDMODE_TWR (3<<7)
-+#define MEM_SDMODE_TRP (3<<5)
-+#define MEM_SDMODE_TRCD (3<<3)
-+#define MEM_SDMODE_TCL (7<<0)
-+
-+#define MEM_SDMODE_BS_2Bank (0<<20)
-+#define MEM_SDMODE_BS_4Bank (1<<20)
-+#define MEM_SDMODE_RS_11Row (0<<18)
-+#define MEM_SDMODE_RS_12Row (1<<18)
-+#define MEM_SDMODE_RS_13Row (2<<18)
-+#define MEM_SDMODE_RS_N(N) ((N)<<18)
-+#define MEM_SDMODE_CS_7Col (0<<15)
-+#define MEM_SDMODE_CS_8Col (1<<15)
-+#define MEM_SDMODE_CS_9Col (2<<15)
-+#define MEM_SDMODE_CS_10Col (3<<15)
-+#define MEM_SDMODE_CS_11Col (4<<15)
-+#define MEM_SDMODE_CS_N(N) ((N)<<15)
-+#define MEM_SDMODE_TRAS_N(N) ((N)<<11)
-+#define MEM_SDMODE_TMRD_N(N) ((N)<<9)
-+#define MEM_SDMODE_TWR_N(N) ((N)<<7)
-+#define MEM_SDMODE_TRP_N(N) ((N)<<5)
-+#define MEM_SDMODE_TRCD_N(N) ((N)<<3)
-+#define MEM_SDMODE_TCL_N(N) ((N)<<0)
-+
-+/*
-+ * MEM_SDADDR register contents definitions
-+ */
-+#define MEM_SDADDR_E (1<<20)
-+#define MEM_SDADDR_CSBA (0x03FF<<10)
-+#define MEM_SDADDR_CSMASK (0x03FF<<0)
-+#define MEM_SDADDR_CSBA_N(N) ((N)&(0x03FF<<22)>>12)
-+#define MEM_SDADDR_CSMASK_N(N) ((N)&(0x03FF<<22)>>22)
-+
-+/*
-+ * MEM_SDREFCFG register content definitions
-+ */
-+#define MEM_SDREFCFG_TRC (15<<28)
-+#define MEM_SDREFCFG_TRPM (3<<26)
-+#define MEM_SDREFCFG_E (1<<25)
-+#define MEM_SDREFCFG_RE (0x1ffffff<<0)
-+#define MEM_SDREFCFG_TRC_N(N) ((N)<<MEM_SDREFCFG_TRC)
-+#define MEM_SDREFCFG_TRPM_N(N) ((N)<<MEM_SDREFCFG_TRPM)
-+#define MEM_SDREFCFG_REF_N(N) (N)
-+#endif
-+
-+/***********************************************************************/
-+
-+/*
-+ * Au1550 SDRAM Register Offsets
-+ */
-+
-+/***********************************************************************/
-+
-+#if defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200)
-+#define MEM_SDMODE0 (0x0800)
-+#define MEM_SDMODE1 (0x0808)
-+#define MEM_SDMODE2 (0x0810)
-+#define MEM_SDADDR0 (0x0820)
-+#define MEM_SDADDR1 (0x0828)
-+#define MEM_SDADDR2 (0x0830)
-+#define MEM_SDCONFIGA (0x0840)
-+#define MEM_SDCONFIGB (0x0848)
-+#define MEM_SDSTAT (0x0850)
-+#define MEM_SDERRADDR (0x0858)
-+#define MEM_SDSTRIDE0 (0x0860)
-+#define MEM_SDSTRIDE1 (0x0868)
-+#define MEM_SDSTRIDE2 (0x0870)
-+#define MEM_SDWRMD0 (0x0880)
-+#define MEM_SDWRMD1 (0x0888)
-+#define MEM_SDWRMD2 (0x0890)
-+#define MEM_SDPRECMD (0x08C0)
-+#define MEM_SDAUTOREF (0x08C8)
-+#define MEM_SDSREF (0x08D0)
-+#define MEM_SDSLEEP MEM_SDSREF
-+
-+#ifndef ASSEMBLER
-+/*typedef volatile struct
-+{
-+ uint32 sdmode0;
-+ uint32 reserved0;
-+ uint32 sdmode1;
-+ uint32 reserved1;
-+ uint32 sdmode2;
-+ uint32 reserved2[3];
-+ uint32 sdaddr0;
-+ uint32 reserved3;
-+ uint32 sdaddr1;
-+ uint32 reserved4;
-+ uint32 sdaddr2;
-+ uint32 reserved5[3];
-+ uint32 sdconfiga;
-+ uint32 reserved6;
-+ uint32 sdconfigb;
-+ uint32 reserved7;
-+ uint32 sdstat;
-+ uint32 reserved8;
-+ uint32 sderraddr;
-+ uint32 reserved9;
-+ uint32 sdstride0;
-+ uint32 reserved10;
-+ uint32 sdstride1;
-+ uint32 reserved11;
-+ uint32 sdstride2;
-+ uint32 reserved12[3];
-+ uint32 sdwrmd0;
-+ uint32 reserved13;
-+ uint32 sdwrmd1;
-+ uint32 reserved14;
-+ uint32 sdwrmd2;
-+ uint32 reserved15[11];
-+ uint32 sdprecmd;
-+ uint32 reserved16;
-+ uint32 sdautoref;
-+ uint32 reserved17;
-+ uint32 sdsref;
-+
-+} AU1550_SDRAM;*/
-+#endif
-+#endif
-+
-+/*
-+ * Physical base addresses for integrated peripherals
-+ */
-+
-+#ifdef CONFIG_SOC_AU1000
-+#define MEM_PHYS_ADDR 0x14000000
-+#define STATIC_MEM_PHYS_ADDR 0x14001000
-+#define DMA0_PHYS_ADDR 0x14002000
-+#define DMA1_PHYS_ADDR 0x14002100
-+#define DMA2_PHYS_ADDR 0x14002200
-+#define DMA3_PHYS_ADDR 0x14002300
-+#define DMA4_PHYS_ADDR 0x14002400
-+#define DMA5_PHYS_ADDR 0x14002500
-+#define DMA6_PHYS_ADDR 0x14002600
-+#define DMA7_PHYS_ADDR 0x14002700
-+#define IC0_PHYS_ADDR 0x10400000
-+#define IC1_PHYS_ADDR 0x11800000
-+#define AC97_PHYS_ADDR 0x10000000
-+#define USBH_PHYS_ADDR 0x10100000
-+#define USBD_PHYS_ADDR 0x10200000
-+#define IRDA_PHYS_ADDR 0x10300000
-+#define MAC0_PHYS_ADDR 0x10500000
-+#define MAC1_PHYS_ADDR 0x10510000
-+#define MACEN_PHYS_ADDR 0x10520000
-+#define MACDMA0_PHYS_ADDR 0x14004000
-+#define MACDMA1_PHYS_ADDR 0x14004200
-+#define I2S_PHYS_ADDR 0x11000000
-+#define UART0_PHYS_ADDR 0x11100000
-+#define UART1_PHYS_ADDR 0x11200000
-+#define UART2_PHYS_ADDR 0x11300000
-+#define UART3_PHYS_ADDR 0x11400000
-+#define SSI0_PHYS_ADDR 0x11600000
-+#define SSI1_PHYS_ADDR 0x11680000
-+#define SYS_PHYS_ADDR 0x11900000
-+#define PCMCIA_IO_PHYS_ADDR 0xF00000000
-+#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000
-+#define PCMCIA_MEM_PHYS_ADDR 0xF80000000
-+#endif
-+
-+/********************************************************************/
-
--#define MEM_SDSLEEP 0xB4000030
--#define MEM_SDSMCKE 0xB4000034
-+#ifdef CONFIG_SOC_AU1500
-+#define MEM_PHYS_ADDR 0x14000000
-+#define STATIC_MEM_PHYS_ADDR 0x14001000
-+#define DMA0_PHYS_ADDR 0x14002000
-+#define DMA1_PHYS_ADDR 0x14002100
-+#define DMA2_PHYS_ADDR 0x14002200
-+#define DMA3_PHYS_ADDR 0x14002300
-+#define DMA4_PHYS_ADDR 0x14002400
-+#define DMA5_PHYS_ADDR 0x14002500
-+#define DMA6_PHYS_ADDR 0x14002600
-+#define DMA7_PHYS_ADDR 0x14002700
-+#define IC0_PHYS_ADDR 0x10400000
-+#define IC1_PHYS_ADDR 0x11800000
-+#define AC97_PHYS_ADDR 0x10000000
-+#define USBH_PHYS_ADDR 0x10100000
-+#define USBD_PHYS_ADDR 0x10200000
-+#define PCI_PHYS_ADDR 0x14005000
-+#define MAC0_PHYS_ADDR 0x11500000
-+#define MAC1_PHYS_ADDR 0x11510000
-+#define MACEN_PHYS_ADDR 0x11520000
-+#define MACDMA0_PHYS_ADDR 0x14004000
-+#define MACDMA1_PHYS_ADDR 0x14004200
-+#define I2S_PHYS_ADDR 0x11000000
-+#define UART0_PHYS_ADDR 0x11100000
-+#define UART3_PHYS_ADDR 0x11400000
-+#define GPIO2_PHYS_ADDR 0x11700000
-+#define SYS_PHYS_ADDR 0x11900000
-+#define PCI_MEM_PHYS_ADDR 0x400000000
-+#define PCI_IO_PHYS_ADDR 0x500000000
-+#define PCI_CONFIG0_PHYS_ADDR 0x600000000
-+#define PCI_CONFIG1_PHYS_ADDR 0x680000000
-+#define PCMCIA_IO_PHYS_ADDR 0xF00000000
-+#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000
-+#define PCMCIA_MEM_PHYS_ADDR 0xF80000000
- #endif
-
-+/********************************************************************/
-+
-+#ifdef CONFIG_SOC_AU1100
-+#define MEM_PHYS_ADDR 0x14000000
-+#define STATIC_MEM_PHYS_ADDR 0x14001000
-+#define DMA0_PHYS_ADDR 0x14002000
-+#define DMA1_PHYS_ADDR 0x14002100
-+#define DMA2_PHYS_ADDR 0x14002200
-+#define DMA3_PHYS_ADDR 0x14002300
-+#define DMA4_PHYS_ADDR 0x14002400
-+#define DMA5_PHYS_ADDR 0x14002500
-+#define DMA6_PHYS_ADDR 0x14002600
-+#define DMA7_PHYS_ADDR 0x14002700
-+#define IC0_PHYS_ADDR 0x10400000
-+#define SD0_PHYS_ADDR 0x10600000
-+#define SD1_PHYS_ADDR 0x10680000
-+#define IC1_PHYS_ADDR 0x11800000
-+#define AC97_PHYS_ADDR 0x10000000
-+#define USBH_PHYS_ADDR 0x10100000
-+#define USBD_PHYS_ADDR 0x10200000
-+#define IRDA_PHYS_ADDR 0x10300000
-+#define MAC0_PHYS_ADDR 0x10500000
-+#define MACEN_PHYS_ADDR 0x10520000
-+#define MACDMA0_PHYS_ADDR 0x14004000
-+#define MACDMA1_PHYS_ADDR 0x14004200
-+#define I2S_PHYS_ADDR 0x11000000
-+#define UART0_PHYS_ADDR 0x11100000
-+#define UART1_PHYS_ADDR 0x11200000
-+#define UART3_PHYS_ADDR 0x11400000
-+#define SSI0_PHYS_ADDR 0x11600000
-+#define SSI1_PHYS_ADDR 0x11680000
-+#define GPIO2_PHYS_ADDR 0x11700000
-+#define SYS_PHYS_ADDR 0x11900000
-+#define LCD_PHYS_ADDR 0x15000000
-+#define PCMCIA_IO_PHYS_ADDR 0xF00000000
-+#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000
-+#define PCMCIA_MEM_PHYS_ADDR 0xF80000000
-+#endif
-+
-+/***********************************************************************/
-+
-+#ifdef CONFIG_SOC_AU1550
-+#define MEM_PHYS_ADDR 0x14000000
-+#define STATIC_MEM_PHYS_ADDR 0x14001000
-+#define IC0_PHYS_ADDR 0x10400000
-+#define IC1_PHYS_ADDR 0x11800000
-+#define USBH_PHYS_ADDR 0x14020000
-+#define USBD_PHYS_ADDR 0x10200000
-+#define PCI_PHYS_ADDR 0x14005000
-+#define MAC0_PHYS_ADDR 0x10500000
-+#define MAC1_PHYS_ADDR 0x10510000
-+#define MACEN_PHYS_ADDR 0x10520000
-+#define MACDMA0_PHYS_ADDR 0x14004000
-+#define MACDMA1_PHYS_ADDR 0x14004200
-+#define UART0_PHYS_ADDR 0x11100000
-+#define UART1_PHYS_ADDR 0x11200000
-+#define UART3_PHYS_ADDR 0x11400000
-+#define GPIO2_PHYS_ADDR 0x11700000
-+#define SYS_PHYS_ADDR 0x11900000
-+#define DDMA_PHYS_ADDR 0x14002000
-+#define PE_PHYS_ADDR 0x14008000
-+#define PSC0_PHYS_ADDR 0x11A00000
-+#define PSC1_PHYS_ADDR 0x11B00000
-+#define PSC2_PHYS_ADDR 0x10A00000
-+#define PSC3_PHYS_ADDR 0x10B00000
-+#define PCI_MEM_PHYS_ADDR 0x400000000
-+#define PCI_IO_PHYS_ADDR 0x500000000
-+#define PCI_CONFIG0_PHYS_ADDR 0x600000000
-+#define PCI_CONFIG1_PHYS_ADDR 0x680000000
-+#define PCMCIA_IO_PHYS_ADDR 0xF00000000
-+#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000
-+#define PCMCIA_MEM_PHYS_ADDR 0xF80000000
-+#endif
-+
-+/***********************************************************************/
-+
-+#ifdef CONFIG_SOC_AU1200
-+#define MEM_PHYS_ADDR 0x14000000
-+#define STATIC_MEM_PHYS_ADDR 0x14001000
-+#define AES_PHYS_ADDR 0x10300000
-+#define CIM_PHYS_ADDR 0x14004000
-+#define IC0_PHYS_ADDR 0x10400000
-+#define IC1_PHYS_ADDR 0x11800000
-+#define USBM_PHYS_ADDR 0x14020000
-+#define USBH_PHYS_ADDR 0x14020100
-+#define UART0_PHYS_ADDR 0x11100000
-+#define UART1_PHYS_ADDR 0x11200000
-+#define GPIO2_PHYS_ADDR 0x11700000
-+#define SYS_PHYS_ADDR 0x11900000
-+#define DDMA_PHYS_ADDR 0x14002000
-+#define PSC0_PHYS_ADDR 0x11A00000
-+#define PSC1_PHYS_ADDR 0x11B00000
-+#define PCMCIA_IO_PHYS_ADDR 0xF00000000
-+#define PCMCIA_ATTR_PHYS_ADDR 0xF40000000
-+#define PCMCIA_MEM_PHYS_ADDR 0xF80000000
-+#define SD0_PHYS_ADDR 0x10600000
-+#define SD1_PHYS_ADDR 0x10680000
-+#define LCD_PHYS_ADDR 0x15000000
-+#define SWCNT_PHYS_ADDR 0x1110010C
-+#define MAEFE_PHYS_ADDR 0x14012000
-+#define MAEBE_PHYS_ADDR 0x14010000
-+#endif
-+
-+
- /* Static Bus Controller */
- #define MEM_STCFG0 0xB4001000
- #define MEM_STTIME0 0xB4001004
-@@ -367,7 +695,7 @@
- #define AU1000_MAC0_ENABLE 0xB0520000
- #define AU1000_MAC1_ENABLE 0xB0520004
- #define NUM_ETH_INTERFACES 2
--#endif // CONFIG_SOC_AU1000
-+#endif /* CONFIG_SOC_AU1000 */
-
- /* Au1500 */
- #ifdef CONFIG_SOC_AU1500
-@@ -438,7 +766,7 @@
- #define AU1500_MAC0_ENABLE 0xB1520000
- #define AU1500_MAC1_ENABLE 0xB1520004
- #define NUM_ETH_INTERFACES 2
--#endif // CONFIG_SOC_AU1500
-+#endif /* CONFIG_SOC_AU1500 */
-
- /* Au1100 */
- #ifdef CONFIG_SOC_AU1100
-@@ -483,6 +811,22 @@
- #define AU1000_GPIO_13 45
- #define AU1000_GPIO_14 46
- #define AU1000_GPIO_15 47
-+#define AU1000_GPIO_16 48
-+#define AU1000_GPIO_17 49
-+#define AU1000_GPIO_18 50
-+#define AU1000_GPIO_19 51
-+#define AU1000_GPIO_20 52
-+#define AU1000_GPIO_21 53
-+#define AU1000_GPIO_22 54
-+#define AU1000_GPIO_23 55
-+#define AU1000_GPIO_24 56
-+#define AU1000_GPIO_25 57
-+#define AU1000_GPIO_26 58
-+#define AU1000_GPIO_27 59
-+#define AU1000_GPIO_28 60
-+#define AU1000_GPIO_29 61
-+#define AU1000_GPIO_30 62
-+#define AU1000_GPIO_31 63
-
- #define UART0_ADDR 0xB1100000
- #define UART1_ADDR 0xB1200000
-@@ -494,7 +838,7 @@
- #define AU1100_ETH0_BASE 0xB0500000
- #define AU1100_MAC0_ENABLE 0xB0520000
- #define NUM_ETH_INTERFACES 1
--#endif // CONFIG_SOC_AU1100
-+#endif /* CONFIG_SOC_AU1100 */
-
- #ifdef CONFIG_SOC_AU1550
- #define AU1550_UART0_INT 0
-@@ -511,14 +855,14 @@
- #define AU1550_PSC1_INT 11
- #define AU1550_PSC2_INT 12
- #define AU1550_PSC3_INT 13
--#define AU1550_TOY_INT 14
--#define AU1550_TOY_MATCH0_INT 15
--#define AU1550_TOY_MATCH1_INT 16
--#define AU1550_TOY_MATCH2_INT 17
--#define AU1550_RTC_INT 18
--#define AU1550_RTC_MATCH0_INT 19
--#define AU1550_RTC_MATCH1_INT 20
--#define AU1550_RTC_MATCH2_INT 21
-+#define AU1000_TOY_INT 14
-+#define AU1000_TOY_MATCH0_INT 15
-+#define AU1000_TOY_MATCH1_INT 16
-+#define AU1000_TOY_MATCH2_INT 17
-+#define AU1000_RTC_INT 18
-+#define AU1000_RTC_MATCH0_INT 19
-+#define AU1000_RTC_MATCH1_INT 20
-+#define AU1000_RTC_MATCH2_INT 21
- #define AU1550_NAND_INT 23
- #define AU1550_USB_DEV_REQ_INT 24
- #define AU1550_USB_DEV_SUS_INT 25
-@@ -573,7 +917,7 @@
- #define AU1550_MAC0_ENABLE 0xB0520000
- #define AU1550_MAC1_ENABLE 0xB0520004
- #define NUM_ETH_INTERFACES 2
--#endif // CONFIG_SOC_AU1550
-+#endif /* CONFIG_SOC_AU1550 */
-
- #ifdef CONFIG_SOC_AU1200
- #define AU1200_UART0_INT 0
-@@ -590,14 +934,14 @@
- #define AU1200_PSC1_INT 11
- #define AU1200_AES_INT 12
- #define AU1200_CAMERA_INT 13
--#define AU1200_TOY_INT 14
--#define AU1200_TOY_MATCH0_INT 15
--#define AU1200_TOY_MATCH1_INT 16
--#define AU1200_TOY_MATCH2_INT 17
--#define AU1200_RTC_INT 18
--#define AU1200_RTC_MATCH0_INT 19
--#define AU1200_RTC_MATCH1_INT 20
--#define AU1200_RTC_MATCH2_INT 21
-+#define AU1000_TOY_INT 14
-+#define AU1000_TOY_MATCH0_INT 15
-+#define AU1000_TOY_MATCH1_INT 16
-+#define AU1000_TOY_MATCH2_INT 17
-+#define AU1000_RTC_INT 18
-+#define AU1000_RTC_MATCH0_INT 19
-+#define AU1000_RTC_MATCH1_INT 20
-+#define AU1000_RTC_MATCH2_INT 21
- #define AU1200_NAND_INT 23
- #define AU1200_GPIO_204 24
- #define AU1200_GPIO_205 25
-@@ -605,6 +949,7 @@
- #define AU1200_GPIO_207 27
- #define AU1200_GPIO_208_215 28 // Logical OR of 208:215
- #define AU1200_USB_INT 29
-+#define AU1000_USB_HOST_INT AU1200_USB_INT
- #define AU1200_LCD_INT 30
- #define AU1200_MAE_BOTH_INT 31
- #define AU1000_GPIO_0 32
-@@ -643,21 +988,36 @@
- #define UART0_ADDR 0xB1100000
- #define UART1_ADDR 0xB1200000
-
--#define USB_OHCI_BASE 0x14020000 // phys addr for ioremap
--#define USB_HOST_CONFIG 0xB4027ffc
-+#define USB_UOC_BASE 0x14020020
-+#define USB_UOC_LEN 0x20
-+#define USB_OHCI_BASE 0x14020100
-+#define USB_OHCI_LEN 0x100
-+#define USB_EHCI_BASE 0x14020200
-+#define USB_EHCI_LEN 0x100
-+#define USB_UDC_BASE 0x14022000
-+#define USB_UDC_LEN 0x2000
-+#define USB_MSR_BASE 0xB4020000
-+#define USB_MSR_MCFG 4
-+#define USBMSRMCFG_OMEMEN 0
-+#define USBMSRMCFG_OBMEN 1
-+#define USBMSRMCFG_EMEMEN 2
-+#define USBMSRMCFG_EBMEN 3
-+#define USBMSRMCFG_DMEMEN 4
-+#define USBMSRMCFG_DBMEN 5
-+#define USBMSRMCFG_GMEMEN 6
-+#define USBMSRMCFG_OHCCLKEN 16
-+#define USBMSRMCFG_EHCCLKEN 17
-+#define USBMSRMCFG_UDCCLKEN 18
-+#define USBMSRMCFG_PHYPLLEN 19
-+#define USBMSRMCFG_RDCOMB 30
-+#define USBMSRMCFG_PFEN 31
-
--// these are here for prototyping on au1550 (do not exist on au1200)
--#define AU1200_ETH0_BASE 0xB0500000
--#define AU1200_ETH1_BASE 0xB0510000
--#define AU1200_MAC0_ENABLE 0xB0520000
--#define AU1200_MAC1_ENABLE 0xB0520004
--#define NUM_ETH_INTERFACES 2
--#endif // CONFIG_SOC_AU1200
-+#endif /* CONFIG_SOC_AU1200 */
-
- #define AU1000_LAST_INTC0_INT 31
-+#define AU1000_LAST_INTC1_INT 63
- #define AU1000_MAX_INTR 63
-
--
- /* Programmable Counters 0 and 1 */
- #define SYS_BASE 0xB1900000
- #define SYS_COUNTER_CNTRL (SYS_BASE + 0x14)
-@@ -728,6 +1088,8 @@
- #define I2S_CONTROL_D (1<<1)
- #define I2S_CONTROL_CE (1<<0)
-
-+#ifndef CONFIG_SOC_AU1200
-+
- /* USB Host Controller */
- #define USB_OHCI_LEN 0x00100000
-
-@@ -773,6 +1135,8 @@
- #define USBDEV_ENABLE (1<<1)
- #define USBDEV_CE (1<<0)
-
-+#endif /* !CONFIG_SOC_AU1200 */
-+
- /* Ethernet Controllers */
-
- /* 4 byte offsets from AU1000_ETH_BASE */
-@@ -1171,6 +1535,37 @@
- #define SYS_PF_PSC1_S1 (1 << 1)
- #define SYS_PF_MUST_BE_SET ((1 << 5) | (1 << 2))
-
-+/* Au1200 Only */
-+#ifdef CONFIG_SOC_AU1200
-+#define SYS_PINFUNC_DMA (1<<31)
-+#define SYS_PINFUNC_S0A (1<<30)
-+#define SYS_PINFUNC_S1A (1<<29)
-+#define SYS_PINFUNC_LP0 (1<<28)
-+#define SYS_PINFUNC_LP1 (1<<27)
-+#define SYS_PINFUNC_LD16 (1<<26)
-+#define SYS_PINFUNC_LD8 (1<<25)
-+#define SYS_PINFUNC_LD1 (1<<24)
-+#define SYS_PINFUNC_LD0 (1<<23)
-+#define SYS_PINFUNC_P1A (3<<21)
-+#define SYS_PINFUNC_P1B (1<<20)
-+#define SYS_PINFUNC_FS3 (1<<19)
-+#define SYS_PINFUNC_P0A (3<<17)
-+#define SYS_PINFUNC_CS (1<<16)
-+#define SYS_PINFUNC_CIM (1<<15)
-+#define SYS_PINFUNC_P1C (1<<14)
-+#define SYS_PINFUNC_U1T (1<<12)
-+#define SYS_PINFUNC_U1R (1<<11)
-+#define SYS_PINFUNC_EX1 (1<<10)
-+#define SYS_PINFUNC_EX0 (1<<9)
-+#define SYS_PINFUNC_U0R (1<<8)
-+#define SYS_PINFUNC_MC (1<<7)
-+#define SYS_PINFUNC_S0B (1<<6)
-+#define SYS_PINFUNC_S0C (1<<5)
-+#define SYS_PINFUNC_P0B (1<<4)
-+#define SYS_PINFUNC_U0T (1<<3)
-+#define SYS_PINFUNC_S1B (1<<2)
-+#endif
-+
- #define SYS_TRIOUTRD 0xB1900100
- #define SYS_TRIOUTCLR 0xB1900100
- #define SYS_OUTPUTRD 0xB1900108
-@@ -1298,7 +1693,6 @@
- #define SD1_XMIT_FIFO 0xB0680000
- #define SD1_RECV_FIFO 0xB0680004
-
--
- #if defined (CONFIG_SOC_AU1500) || defined(CONFIG_SOC_AU1550)
- /* Au1500 PCI Controller */
- #define Au1500_CFG_BASE 0xB4005000 // virtual, kseg0 addr
-@@ -1388,9 +1782,60 @@
-
- #endif
-
-+#ifndef _LANGUAGE_ASSEMBLY
-+typedef volatile struct
-+{
-+ /* 0x0000 */ u32 toytrim;
-+ /* 0x0004 */ u32 toywrite;
-+ /* 0x0008 */ u32 toymatch0;
-+ /* 0x000C */ u32 toymatch1;
-+ /* 0x0010 */ u32 toymatch2;
-+ /* 0x0014 */ u32 cntrctrl;
-+ /* 0x0018 */ u32 scratch0;
-+ /* 0x001C */ u32 scratch1;
-+ /* 0x0020 */ u32 freqctrl0;
-+ /* 0x0024 */ u32 freqctrl1;
-+ /* 0x0028 */ u32 clksrc;
-+ /* 0x002C */ u32 pinfunc;
-+ /* 0x0030 */ u32 reserved0;
-+ /* 0x0034 */ u32 wakemsk;
-+ /* 0x0038 */ u32 endian;
-+ /* 0x003C */ u32 powerctrl;
-+ /* 0x0040 */ u32 toyread;
-+ /* 0x0044 */ u32 rtctrim;
-+ /* 0x0048 */ u32 rtcwrite;
-+ /* 0x004C */ u32 rtcmatch0;
-+ /* 0x0050 */ u32 rtcmatch1;
-+ /* 0x0054 */ u32 rtcmatch2;
-+ /* 0x0058 */ u32 rtcread;
-+ /* 0x005C */ u32 wakesrc;
-+ /* 0x0060 */ u32 cpupll;
-+ /* 0x0064 */ u32 auxpll;
-+ /* 0x0068 */ u32 reserved1;
-+ /* 0x006C */ u32 reserved2;
-+ /* 0x0070 */ u32 reserved3;
-+ /* 0x0074 */ u32 reserved4;
-+ /* 0x0078 */ u32 slppwr;
-+ /* 0x007C */ u32 sleep;
-+ /* 0x0080 */ u32 reserved5[32];
-+ /* 0x0100 */ u32 trioutrd;
-+#define trioutclr trioutrd
-+ /* 0x0104 */ u32 reserved6;
-+ /* 0x0108 */ u32 outputrd;
-+#define outputset outputrd
-+ /* 0x010C */ u32 outputclr;
-+ /* 0x0110 */ u32 pinstaterd;
-+#define pininputen pinstaterd
-+
-+} AU1X00_SYS;
-+
-+static AU1X00_SYS* const sys = (AU1X00_SYS *)SYS_BASE;
-+
-+#endif
- /* Processor information base on prid.
- * Copied from PowerPC.
- */
-+#ifndef _LANGUAGE_ASSEMBLY
- struct cpu_spec {
- /* CPU is matched via (PRID & prid_mask) == prid_value */
- unsigned int prid_mask;
-@@ -1404,3 +1849,6 @@
- extern struct cpu_spec cpu_specs[];
- extern struct cpu_spec *cur_cpu_spec[];
- #endif
-+
-+#endif
-+
-diff -Nur linux-2.4.32/include/asm-mips/au1000_pcmcia.h linux-2.4.32.patched/include/asm-mips/au1000_pcmcia.h
---- linux-2.4.32/include/asm-mips/au1000_pcmcia.h 2005-01-19 15:10:11.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/au1000_pcmcia.h 2006-03-13 18:55:54.000000000 +0100
-@@ -38,16 +38,41 @@
- #define AU1X_SOCK0_PHYS_MEM 0xF80000000
-
- /* pcmcia socket 1 needs external glue logic so the memory map
-- * differs from board to board.
-+ * differs from board to board. the general rule is that
-+ * static bus address bit 26 should be used to decode socket 0
-+ * from socket 1. alas, some boards dont follow this...
-+ * These really belong in a board-specific header file...
- */
--#if defined(CONFIG_MIPS_PB1000) || defined(CONFIG_MIPS_PB1100) || defined(CONFIG_MIPS_PB1500)
--#define AU1X_SOCK1_IO 0xF08000000
--#define AU1X_SOCK1_PHYS_ATTR 0xF48000000
--#define AU1X_SOCK1_PHYS_MEM 0xF88000000
--#elif defined(CONFIG_MIPS_DB1000) || defined(CONFIG_MIPS_DB1100) || defined(CONFIG_MIPS_DB1500) || defined(CONFIG_MIPS_PB1550) || defined(CONFIG_MIPS_DB1550)
--#define AU1X_SOCK1_IO 0xF04000000
--#define AU1X_SOCK1_PHYS_ATTR 0xF44000000
--#define AU1X_SOCK1_PHYS_MEM 0xF84000000
-+#ifdef CONFIG_MIPS_PB1000
-+#define SOCK1_DECODE (1<<27)
-+#endif
-+#ifdef CONFIG_MIPS_DB1000
-+#define SOCK1_DECODE (1<<26)
-+#endif
-+#ifdef CONFIG_MIPS_DB1500
-+#define SOCK1_DECODE (1<<26)
-+#endif
-+#ifdef CONFIG_MIPS_DB1100
-+#define SOCK1_DECODE (1<<26)
-+#endif
-+#ifdef CONFIG_MIPS_DB1550
-+#define SOCK1_DECODE (1<<26)
-+#endif
-+#ifdef CONFIG_MIPS_DB1200
-+#define SOCK1_DECODE (1<<26)
-+#endif
-+#ifdef CONFIG_MIPS_PB1550
-+#define SOCK1_DECODE (1<<26)
-+#endif
-+#ifdef CONFIG_MIPS_PB1200
-+#define SOCK1_DECODE (1<<26)
-+#endif
-+
-+/* The board has a second PCMCIA socket */
-+#ifdef SOCK1_DECODE
-+#define AU1X_SOCK1_IO (0xF00000000|SOCK1_DECODE)
-+#define AU1X_SOCK1_PHYS_ATTR (0xF40000000|SOCK1_DECODE)
-+#define AU1X_SOCK1_PHYS_MEM (0xF80000000|SOCK1_DECODE)
- #endif
-
- struct pcmcia_state {
-diff -Nur linux-2.4.32/include/asm-mips/au1100_mmc.h linux-2.4.32.patched/include/asm-mips/au1100_mmc.h
---- linux-2.4.32/include/asm-mips/au1100_mmc.h 2005-01-19 15:10:11.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/au1100_mmc.h 2006-03-13 18:55:54.000000000 +0100
-@@ -39,16 +39,22 @@
- #define __ASM_AU1100_MMC_H
-
-
--#define NUM_AU1100_MMC_CONTROLLERS 2
--
--
--#define AU1100_SD_IRQ 2
--
-+#if defined(CONFIG_SOC_AU1100)
-+#define NUM_MMC_CONTROLLERS 2
-+#define AU1X_MMC_INT AU1100_SD_INT
-+#endif
-+
-+#if defined(CONFIG_SOC_AU1200)
-+#define NUM_MMC_CONTROLLERS 2
-+#define AU1X_MMC_INT AU1200_SD_INT
-+#endif
-
- #define SD0_BASE 0xB0600000
- #define SD1_BASE 0xB0680000
-
-
-+
-+
- /*
- * Register offsets.
- */
-@@ -201,5 +207,12 @@
- #define SD_CMD_RT_1B (0x00810000)
-
-
-+/* support routines required on a platform-specific basis */
-+extern void mmc_card_inserted(int _n_, int *_res_);
-+extern void mmc_card_writable(int _n_, int *_res_);
-+extern void mmc_power_on(int _n_);
-+extern void mmc_power_off(int _n_);
-+
-+
- #endif /* __ASM_AU1100_MMC_H */
-
-diff -Nur linux-2.4.32/include/asm-mips/au1xxx_dbdma.h linux-2.4.32.patched/include/asm-mips/au1xxx_dbdma.h
---- linux-2.4.32/include/asm-mips/au1xxx_dbdma.h 2005-01-19 15:10:11.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/au1xxx_dbdma.h 2006-03-13 18:55:54.000000000 +0100
-@@ -43,7 +43,7 @@
- #define DDMA_GLOBAL_BASE 0xb4003000
- #define DDMA_CHANNEL_BASE 0xb4002000
-
--typedef struct dbdma_global {
-+typedef volatile struct dbdma_global {
- u32 ddma_config;
- u32 ddma_intstat;
- u32 ddma_throttle;
-@@ -60,7 +60,7 @@
-
- /* The structure of a DMA Channel.
- */
--typedef struct au1xxx_dma_channel {
-+typedef volatile struct au1xxx_dma_channel {
- u32 ddma_cfg; /* See below */
- u32 ddma_desptr; /* 32-byte aligned pointer to descriptor */
- u32 ddma_statptr; /* word aligned pointer to status word */
-@@ -96,7 +96,7 @@
- /* "Standard" DDMA Descriptor.
- * Must be 32-byte aligned.
- */
--typedef struct au1xxx_ddma_desc {
-+typedef volatile struct au1xxx_ddma_desc {
- u32 dscr_cmd0; /* See below */
- u32 dscr_cmd1; /* See below */
- u32 dscr_source0; /* source phys address */
-@@ -105,6 +105,12 @@
- u32 dscr_dest1; /* See below */
- u32 dscr_stat; /* completion status */
- u32 dscr_nxtptr; /* Next descriptor pointer (mostly) */
-+ /* First 32bytes are HW specific!!!
-+ Lets have some SW data following.. make sure its 32bytes
-+ */
-+ u32 sw_status;
-+ u32 sw_context;
-+ u32 sw_reserved[6];
- } au1x_ddma_desc_t;
-
- #define DSCR_CMD0_V (1 << 31) /* Descriptor valid */
-@@ -123,6 +129,8 @@
- #define DSCR_CMD0_CV (0x1 << 2) /* Clear Valid when done */
- #define DSCR_CMD0_ST_MASK (0x3 << 0) /* Status instruction */
-
-+#define SW_STATUS_INUSE (1<<0)
-+
- /* Command 0 device IDs.
- */
- #ifdef CONFIG_SOC_AU1550
-@@ -169,8 +177,8 @@
- #define DSCR_CMD0_SDMS_RX0 9
- #define DSCR_CMD0_SDMS_TX1 10
- #define DSCR_CMD0_SDMS_RX1 11
--#define DSCR_CMD0_AES_TX 12
--#define DSCR_CMD0_AES_RX 13
-+#define DSCR_CMD0_AES_TX 13
-+#define DSCR_CMD0_AES_RX 12
- #define DSCR_CMD0_PSC0_TX 14
- #define DSCR_CMD0_PSC0_RX 15
- #define DSCR_CMD0_PSC1_TX 16
-@@ -189,6 +197,10 @@
- #define DSCR_CMD0_THROTTLE 30
- #define DSCR_CMD0_ALWAYS 31
- #define DSCR_NDEV_IDS 32
-+/* THis macro is used to find/create custom device types */
-+#define DSCR_DEV2CUSTOM_ID(x,d) (((((x)&0xFFFF)<<8)|0x32000000)|((d)&0xFF))
-+#define DSCR_CUSTOM2DEV_ID(x) ((x)&0xFF)
-+
-
- #define DSCR_CMD0_SID(x) (((x) & 0x1f) << 25)
- #define DSCR_CMD0_DID(x) (((x) & 0x1f) << 20)
-@@ -277,6 +289,43 @@
- */
- #define NUM_DBDMA_CHANS 16
-
-+/*
-+ * Ddma API definitions
-+ * FIXME: may not fit to this header file
-+ */
-+typedef struct dbdma_device_table {
-+ u32 dev_id;
-+ u32 dev_flags;
-+ u32 dev_tsize;
-+ u32 dev_devwidth;
-+ u32 dev_physaddr; /* If FIFO */
-+ u32 dev_intlevel;
-+ u32 dev_intpolarity;
-+} dbdev_tab_t;
-+
-+
-+typedef struct dbdma_chan_config {
-+ spinlock_t lock;
-+
-+ u32 chan_flags;
-+ u32 chan_index;
-+ dbdev_tab_t *chan_src;
-+ dbdev_tab_t *chan_dest;
-+ au1x_dma_chan_t *chan_ptr;
-+ au1x_ddma_desc_t *chan_desc_base;
-+ au1x_ddma_desc_t *get_ptr, *put_ptr, *cur_ptr;
-+ void *chan_callparam;
-+ void (*chan_callback)(int, void *, struct pt_regs *);
-+} chan_tab_t;
-+
-+#define DEV_FLAGS_INUSE (1 << 0)
-+#define DEV_FLAGS_ANYUSE (1 << 1)
-+#define DEV_FLAGS_OUT (1 << 2)
-+#define DEV_FLAGS_IN (1 << 3)
-+#define DEV_FLAGS_BURSTABLE (1 << 4)
-+#define DEV_FLAGS_SYNC (1 << 5)
-+/* end Ddma API definitions */
-+
- /* External functions for drivers to use.
- */
- /* Use this to allocate a dbdma channel. The device ids are one of the
-@@ -299,8 +348,8 @@
-
- /* Put buffers on source/destination descriptors.
- */
--u32 au1xxx_dbdma_put_source(u32 chanid, void *buf, int nbytes);
--u32 au1xxx_dbdma_put_dest(u32 chanid, void *buf, int nbytes);
-+u32 _au1xxx_dbdma_put_source(u32 chanid, void *buf, int nbytes, u32 flags);
-+u32 _au1xxx_dbdma_put_dest(u32 chanid, void *buf, int nbytes, u32 flags);
-
- /* Get a buffer from the destination descriptor.
- */
-@@ -314,5 +363,25 @@
- void au1xxx_dbdma_chan_free(u32 chanid);
- void au1xxx_dbdma_dump(u32 chanid);
-
-+u32 au1xxx_dbdma_put_dscr(u32 chanid, au1x_ddma_desc_t *dscr );
-+
-+u32 au1xxx_ddma_add_device( dbdev_tab_t *dev );
-+
-+/*
-+ Some compatibilty macros --
-+ Needed to make changes to API without breaking existing drivers
-+*/
-+#define au1xxx_dbdma_put_source(chanid,buf,nbytes)_au1xxx_dbdma_put_source(chanid, buf, nbytes, DDMA_FLAGS_IE)
-+#define au1xxx_dbdma_put_source_flags(chanid,buf,nbytes,flags) _au1xxx_dbdma_put_source(chanid, buf, nbytes, flags)
-+
-+#define au1xxx_dbdma_put_dest(chanid,buf,nbytes) _au1xxx_dbdma_put_dest(chanid, buf, nbytes, DDMA_FLAGS_IE)
-+#define au1xxx_dbdma_put_dest_flags(chanid,buf,nbytes,flags) _au1xxx_dbdma_put_dest(chanid, buf, nbytes, flags)
-+
-+/*
-+ * Flags for the put_source/put_dest functions.
-+ */
-+#define DDMA_FLAGS_IE (1<<0)
-+#define DDMA_FLAGS_NOIE (1<<1)
-+
- #endif /* _LANGUAGE_ASSEMBLY */
- #endif /* _AU1000_DBDMA_H_ */
-diff -Nur linux-2.4.32/include/asm-mips/au1xxx_gpio.h linux-2.4.32.patched/include/asm-mips/au1xxx_gpio.h
---- linux-2.4.32/include/asm-mips/au1xxx_gpio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/au1xxx_gpio.h 2006-03-13 18:55:54.000000000 +0100
-@@ -0,0 +1,22 @@
-+
-+
-+#ifndef __AU1XXX_GPIO_H
-+#define __AU1XXX_GPIO_H
-+
-+void au1xxx_gpio1_set_inputs(void);
-+void au1xxx_gpio_tristate(int signal);
-+void au1xxx_gpio_write(int signal, int value);
-+int au1xxx_gpio_read(int signal);
-+
-+typedef volatile struct
-+{
-+ u32 dir;
-+ u32 reserved;
-+ u32 output;
-+ u32 pinstate;
-+ u32 inten;
-+ u32 enable;
-+
-+} AU1X00_GPIO2;
-+
-+#endif //__AU1XXX_GPIO_H
-diff -Nur linux-2.4.32/include/asm-mips/au1xxx_psc.h linux-2.4.32.patched/include/asm-mips/au1xxx_psc.h
---- linux-2.4.32/include/asm-mips/au1xxx_psc.h 2005-01-19 15:10:11.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/au1xxx_psc.h 2006-03-13 18:55:54.000000000 +0100
-@@ -41,6 +41,11 @@
- #define PSC3_BASE_ADDR 0xb0d00000
- #endif
-
-+#ifdef CONFIG_SOC_AU1200
-+#define PSC0_BASE_ADDR 0xb1a00000
-+#define PSC1_BASE_ADDR 0xb1b00000
-+#endif
-+
- /* The PSC select and control registers are common to
- * all protocols.
- */
-@@ -226,6 +231,8 @@
- #define PSC_I2SCFG_DD_DISABLE (1 << 27)
- #define PSC_I2SCFG_DE_ENABLE (1 << 26)
- #define PSC_I2SCFG_SET_WS(x) (((((x) / 2) - 1) & 0x7f) << 16)
-+#define PSC_I2SCFG_WS(n) ((n&0xFF)<<16)
-+#define PSC_I2SCFG_WS_MASK (PSC_I2SCFG_WS(0x3F))
- #define PSC_I2SCFG_WI (1 << 15)
-
- #define PSC_I2SCFG_DIV_MASK (3 << 13)
-diff -Nur linux-2.4.32/include/asm-mips/bootinfo.h linux-2.4.32.patched/include/asm-mips/bootinfo.h
---- linux-2.4.32/include/asm-mips/bootinfo.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/bootinfo.h 2006-03-13 18:55:59.000000000 +0100
-@@ -37,6 +37,7 @@
- #define MACH_GROUP_HP_LJ 20 /* Hewlett Packard LaserJet */
- #define MACH_GROUP_LASAT 21
- #define MACH_GROUP_TITAN 22 /* PMC-Sierra Titan */
-+#define MACH_GROUP_BRCM 23 /* Broadcom */
-
- /*
- * Valid machtype values for group unknown (low order halfword of mips_machtype)
-@@ -180,6 +181,9 @@
- #define MACH_MTX1 7 /* 4G MTX-1 Au1500-based board */
- #define MACH_CSB250 8 /* Cogent Au1500 */
- #define MACH_PB1550 9 /* Au1550-based eval board */
-+#define MACH_PB1200 10 /* Au1200-based eval board */
-+#define MACH_DB1550 11 /* Au1550-based eval board */
-+#define MACH_DB1200 12 /* Au1200-based eval board */
-
- /*
- * Valid machtype for group NEC_VR41XX
-@@ -194,6 +198,15 @@
- #define MACH_TANBAC_TB0229 7 /* TANBAC TB0229 (VR4131DIMM) */
-
- /*
-+ * Valid machtypes for group Broadcom
-+ */
-+#define MACH_BCM93725 0
-+#define MACH_BCM93725_VJ 1
-+#define MACH_BCM93730 2
-+#define MACH_BCM947XX 3
-+#define MACH_BCM933XX 4
-+
-+/*
- * Valid machtype for group TITAN
- */
- #define MACH_TITAN_YOSEMITE 1 /* PMC-Sierra Yosemite */
-diff -Nur linux-2.4.32/include/asm-mips/cpu.h linux-2.4.32.patched/include/asm-mips/cpu.h
---- linux-2.4.32/include/asm-mips/cpu.h 2005-01-19 15:10:11.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/cpu.h 2006-03-13 18:55:59.000000000 +0100
-@@ -22,6 +22,11 @@
- spec.
- */
-
-+#define PRID_COPT_MASK 0xff000000
-+#define PRID_COMP_MASK 0x00ff0000
-+#define PRID_IMP_MASK 0x0000ff00
-+#define PRID_REV_MASK 0x000000ff
-+
- #define PRID_COMP_LEGACY 0x000000
- #define PRID_COMP_MIPS 0x010000
- #define PRID_COMP_BROADCOM 0x020000
-@@ -58,6 +63,7 @@
- #define PRID_IMP_RM7000 0x2700
- #define PRID_IMP_NEVADA 0x2800 /* RM5260 ??? */
- #define PRID_IMP_RM9000 0x3400
-+#define PRID_IMP_BCM4710 0x4000
- #define PRID_IMP_R5432 0x5400
- #define PRID_IMP_R5500 0x5500
- #define PRID_IMP_4KC 0x8000
-@@ -66,10 +72,16 @@
- #define PRID_IMP_4KEC 0x8400
- #define PRID_IMP_4KSC 0x8600
- #define PRID_IMP_25KF 0x8800
-+#define PRID_IMP_BCM3302 0x9000
-+#define PRID_IMP_BCM3303 0x9100
- #define PRID_IMP_24K 0x9300
-
- #define PRID_IMP_UNKNOWN 0xff00
-
-+#define BCM330X(id) \
-+ (((id & (PRID_COMP_MASK | PRID_IMP_MASK)) == (PRID_COMP_BROADCOM | PRID_IMP_BCM3302)) \
-+ || ((id & (PRID_COMP_MASK | PRID_IMP_MASK)) == (PRID_COMP_BROADCOM | PRID_IMP_BCM3303)))
-+
- /*
- * These are the PRID's for when 23:16 == PRID_COMP_SIBYTE
- */
-@@ -174,7 +186,9 @@
- #define CPU_AU1550 57
- #define CPU_24K 58
- #define CPU_AU1200 59
--#define CPU_LAST 59
-+#define CPU_BCM4710 60
-+#define CPU_BCM3302 61
-+#define CPU_LAST 61
-
- /*
- * ISA Level encodings
-diff -Nur linux-2.4.32/include/asm-mips/db1200.h linux-2.4.32.patched/include/asm-mips/db1200.h
---- linux-2.4.32/include/asm-mips/db1200.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/db1200.h 2006-03-13 18:55:54.000000000 +0100
-@@ -0,0 +1,214 @@
-+/*
-+ * AMD Alchemy DB1200 Referrence Board
-+ * Board Registers defines.
-+ *
-+ * ########################################################################
-+ *
-+ * This program is free software; you can distribute it and/or modify it
-+ * under the terms of the GNU General Public License (Version 2) as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License along
-+ * with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+ *
-+ * ########################################################################
-+ *
-+ *
-+ */
-+#ifndef __ASM_DB1200_H
-+#define __ASM_DB1200_H
-+
-+#include <linux/types.h>
-+
-+// This is defined in au1000.h with bogus value
-+#undef AU1X00_EXTERNAL_INT
-+
-+#define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX
-+#define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX
-+#define DBDMA_I2S_TX_CHAN DSCR_CMD0_PSC1_TX
-+#define DBDMA_I2S_RX_CHAN DSCR_CMD0_PSC1_RX
-+
-+/* SPI and SMB are muxed on the Pb1200 board.
-+ Refer to board documentation.
-+ */
-+#define SPI_PSC_BASE PSC0_BASE_ADDR
-+#define SMBUS_PSC_BASE PSC0_BASE_ADDR
-+/* AC97 and I2S are muxed on the Pb1200 board.
-+ Refer to board documentation.
-+ */
-+#define AC97_PSC_BASE PSC1_BASE_ADDR
-+#define I2S_PSC_BASE PSC1_BASE_ADDR
-+
-+#define BCSR_KSEG1_ADDR 0xB9800000
-+
-+typedef volatile struct
-+{
-+ /*00*/ u16 whoami;
-+ u16 reserved0;
-+ /*04*/ u16 status;
-+ u16 reserved1;
-+ /*08*/ u16 switches;
-+ u16 reserved2;
-+ /*0C*/ u16 resets;
-+ u16 reserved3;
-+
-+ /*10*/ u16 pcmcia;
-+ u16 reserved4;
-+ /*14*/ u16 board;
-+ u16 reserved5;
-+ /*18*/ u16 disk_leds;
-+ u16 reserved6;
-+ /*1C*/ u16 system;
-+ u16 reserved7;
-+
-+ /*20*/ u16 intclr;
-+ u16 reserved8;
-+ /*24*/ u16 intset;
-+ u16 reserved9;
-+ /*28*/ u16 intclr_mask;
-+ u16 reserved10;
-+ /*2C*/ u16 intset_mask;
-+ u16 reserved11;
-+
-+ /*30*/ u16 sig_status;
-+ u16 reserved12;
-+ /*34*/ u16 int_status;
-+ u16 reserved13;
-+ /*38*/ u16 reserved14;
-+ u16 reserved15;
-+ /*3C*/ u16 reserved16;
-+ u16 reserved17;
-+
-+} BCSR;
-+
-+static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+
-+/*
-+ * Register bit definitions for the BCSRs
-+ */
-+#define BCSR_WHOAMI_DCID 0x000F
-+#define BCSR_WHOAMI_CPLD 0x00F0
-+#define BCSR_WHOAMI_BOARD 0x0F00
-+
-+#define BCSR_STATUS_PCMCIA0VS 0x0003
-+#define BCSR_STATUS_PCMCIA1VS 0x000C
-+#define BCSR_STATUS_SWAPBOOT 0x0040
-+#define BCSR_STATUS_FLASHBUSY 0x0100
-+#define BCSR_STATUS_IDECBLID 0x0200
-+#define BCSR_STATUS_SD0WP 0x0400
-+#define BCSR_STATUS_U0RXD 0x1000
-+#define BCSR_STATUS_U1RXD 0x2000
-+
-+#define BCSR_SWITCHES_OCTAL 0x00FF
-+#define BCSR_SWITCHES_DIP_1 0x0080
-+#define BCSR_SWITCHES_DIP_2 0x0040
-+#define BCSR_SWITCHES_DIP_3 0x0020
-+#define BCSR_SWITCHES_DIP_4 0x0010
-+#define BCSR_SWITCHES_DIP_5 0x0008
-+#define BCSR_SWITCHES_DIP_6 0x0004
-+#define BCSR_SWITCHES_DIP_7 0x0002
-+#define BCSR_SWITCHES_DIP_8 0x0001
-+#define BCSR_SWITCHES_ROTARY 0x0F00
-+
-+#define BCSR_RESETS_ETH 0x0001
-+#define BCSR_RESETS_CAMERA 0x0002
-+#define BCSR_RESETS_DC 0x0004
-+#define BCSR_RESETS_IDE 0x0008
-+#define BCSR_RESETS_TV 0x0010
-+/* not resets but in the same register */
-+#define BCSR_RESETS_PWMR1mUX 0x0800
-+#define BCSR_RESETS_PCS0MUX 0x1000
-+#define BCSR_RESETS_PCS1MUX 0x2000
-+#define BCSR_RESETS_SPISEL 0x4000
-+
-+#define BCSR_PCMCIA_PC0VPP 0x0003
-+#define BCSR_PCMCIA_PC0VCC 0x000C
-+#define BCSR_PCMCIA_PC0DRVEN 0x0010
-+#define BCSR_PCMCIA_PC0RST 0x0080
-+#define BCSR_PCMCIA_PC1VPP 0x0300
-+#define BCSR_PCMCIA_PC1VCC 0x0C00
-+#define BCSR_PCMCIA_PC1DRVEN 0x1000
-+#define BCSR_PCMCIA_PC1RST 0x8000
-+
-+#define BCSR_BOARD_LCDVEE 0x0001
-+#define BCSR_BOARD_LCDVDD 0x0002
-+#define BCSR_BOARD_LCDBL 0x0004
-+#define BCSR_BOARD_CAMSNAP 0x0010
-+#define BCSR_BOARD_CAMPWR 0x0020
-+#define BCSR_BOARD_SD0PWR 0x0040
-+
-+#define BCSR_LEDS_DECIMALS 0x0003
-+#define BCSR_LEDS_LED0 0x0100
-+#define BCSR_LEDS_LED1 0x0200
-+#define BCSR_LEDS_LED2 0x0400
-+#define BCSR_LEDS_LED3 0x0800
-+
-+#define BCSR_SYSTEM_POWEROFF 0x4000
-+#define BCSR_SYSTEM_RESET 0x8000
-+
-+/* Bit positions for the different interrupt sources */
-+#define BCSR_INT_IDE 0x0001
-+#define BCSR_INT_ETH 0x0002
-+#define BCSR_INT_PC0 0x0004
-+#define BCSR_INT_PC0STSCHG 0x0008
-+#define BCSR_INT_PC1 0x0010
-+#define BCSR_INT_PC1STSCHG 0x0020
-+#define BCSR_INT_DC 0x0040
-+#define BCSR_INT_FLASHBUSY 0x0080
-+#define BCSR_INT_PC0INSERT 0x0100
-+#define BCSR_INT_PC0EJECT 0x0200
-+#define BCSR_INT_PC1INSERT 0x0400
-+#define BCSR_INT_PC1EJECT 0x0800
-+#define BCSR_INT_SD0INSERT 0x1000
-+#define BCSR_INT_SD0EJECT 0x2000
-+
-+#define AU1XXX_SMC91111_PHYS_ADDR (0x19000300)
-+#define AU1XXX_SMC91111_IRQ DB1200_ETH_INT
-+
-+#define AU1XXX_ATA_PHYS_ADDR (0x18800000)
-+#define AU1XXX_ATA_PHYS_LEN (0x100)
-+#define AU1XXX_ATA_REG_OFFSET (5)
-+#define AU1XXX_ATA_INT DB1200_IDE_INT
-+#define AU1XXX_ATA_DDMA_REQ DSCR_CMD0_DMA_REQ1;
-+#define AU1XXX_ATA_RQSIZE 128
-+
-+#define NAND_PHYS_ADDR 0x20000000
-+
-+/*
-+ * External Interrupts for Pb1200 as of 8/6/2004.
-+ * Bit positions in the CPLD registers can be calculated by taking
-+ * the interrupt define and subtracting the DB1200_INT_BEGIN value.
-+ * *example: IDE bis pos is = 64 - 64
-+ ETH bit pos is = 65 - 64
-+ */
-+#define DB1200_INT_BEGIN (AU1000_LAST_INTC1_INT + 1)
-+#define DB1200_IDE_INT (DB1200_INT_BEGIN + 0)
-+#define DB1200_ETH_INT (DB1200_INT_BEGIN + 1)
-+#define DB1200_PC0_INT (DB1200_INT_BEGIN + 2)
-+#define DB1200_PC0_STSCHG_INT (DB1200_INT_BEGIN + 3)
-+#define DB1200_PC1_INT (DB1200_INT_BEGIN + 4)
-+#define DB1200_PC1_STSCHG_INT (DB1200_INT_BEGIN + 5)
-+#define DB1200_DC_INT (DB1200_INT_BEGIN + 6)
-+#define DB1200_FLASHBUSY_INT (DB1200_INT_BEGIN + 7)
-+#define DB1200_PC0_INSERT_INT (DB1200_INT_BEGIN + 8)
-+#define DB1200_PC0_EJECT_INT (DB1200_INT_BEGIN + 9)
-+#define DB1200_PC1_INSERT_INT (DB1200_INT_BEGIN + 10)
-+#define DB1200_PC1_EJECT_INT (DB1200_INT_BEGIN + 11)
-+#define DB1200_SD0_INSERT_INT (DB1200_INT_BEGIN + 12)
-+#define DB1200_SD0_EJECT_INT (DB1200_INT_BEGIN + 13)
-+
-+#define DB1200_INT_END (DB1200_INT_BEGIN + 15)
-+
-+/* For drivers/pcmcia/au1000_db1x00.c */
-+#define BOARD_PC0_INT DB1200_PC0_INT
-+#define BOARD_PC1_INT DB1200_PC1_INT
-+#define BOARD_CARD_INSERTED(SOCKET) bcsr->sig_status & (1<<(8+(2*SOCKET)))
-+
-+#endif /* __ASM_DB1200_H */
-+
-diff -Nur linux-2.4.32/include/asm-mips/db1x00.h linux-2.4.32.patched/include/asm-mips/db1x00.h
---- linux-2.4.32/include/asm-mips/db1x00.h 2005-01-19 15:10:11.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/db1x00.h 2006-03-13 18:55:54.000000000 +0100
-@@ -1,5 +1,5 @@
- /*
-- * AMD Alchemy DB1x00 Reference Boards
-+ * AMD Alchemy DB1x00 Reference Boards (BUT NOT DB1200)
- *
- * Copyright 2001 MontaVista Software Inc.
- * Author: MontaVista Software, Inc.
-@@ -36,9 +36,18 @@
- #define AC97_PSC_BASE PSC1_BASE_ADDR
- #define SMBUS_PSC_BASE PSC2_BASE_ADDR
- #define I2S_PSC_BASE PSC3_BASE_ADDR
-+#define NAND_CS 1
-+/* for drivers/pcmcia/au1000_db1x00.c */
-+#define BOARD_PC0_INT AU1000_GPIO_3
-+#define BOARD_PC1_INT AU1000_GPIO_5
-+#define BOARD_CARD_INSERTED(SOCKET) !(bcsr->status & (1<<(4+SOCKET)))
-
- #else
- #define BCSR_KSEG1_ADDR 0xAE000000
-+/* for drivers/pcmcia/au1000_db1x00.c */
-+#define BOARD_PC0_INT AU1000_GPIO_2
-+#define BOARD_PC1_INT AU1000_GPIO_5
-+#define BOARD_CARD_INSERTED(SOCKET) !(bcsr->status & (1<<(4+SOCKET)))
- #endif
-
- /*
-@@ -66,6 +75,7 @@
-
- } BCSR;
-
-+static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-
- /*
- * Register/mask bit definitions for the BCSRs
-@@ -130,14 +140,6 @@
-
- #define BCSR_SWRESET_RESET 0x0080
-
--/* PCMCIA Db1x00 specific defines */
--#define PCMCIA_MAX_SOCK 1
--#define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK+1)
--
--/* VPP/VCC */
--#define SET_VCC_VPP(VCC, VPP, SLOT)\
-- ((((VCC)<<2) | ((VPP)<<0)) << ((SLOT)*8))
--
- /* MTD CONFIG OPTIONS */
- #if defined(CONFIG_MTD_DB1X00_BOOT) && defined(CONFIG_MTD_DB1X00_USER)
- #define DB1X00_BOTH_BANKS
-@@ -147,48 +149,15 @@
- #define DB1X00_USER_ONLY
- #endif
-
--/* SD controller macros */
--/*
-- * Detect card.
-- */
--#define mmc_card_inserted(_n_, _res_) \
-- do { \
-- BCSR * const bcsr = (BCSR *)0xAE000000; \
-- unsigned long mmc_wp, board_specific; \
-- if ((_n_)) { \
-- mmc_wp = BCSR_BOARD_SD1_WP; \
-- } else { \
-- mmc_wp = BCSR_BOARD_SD0_WP; \
-- } \
-- board_specific = au_readl((unsigned long)(&bcsr->specific)); \
-- if (!(board_specific & mmc_wp)) {/* low means card present */ \
-- *(int *)(_res_) = 1; \
-- } else { \
-- *(int *)(_res_) = 0; \
-- } \
-- } while (0)
--
-+#if defined(CONFIG_BLK_DEV_IDE_AU1XXX) && defined(CONFIG_MIPS_DB1550)
- /*
-- * Apply power to card slot(s).
-+ * Daughter card information.
- */
--#define mmc_power_on(_n_) \
-- do { \
-- BCSR * const bcsr = (BCSR *)0xAE000000; \
-- unsigned long mmc_pwr, mmc_wp, board_specific; \
-- if ((_n_)) { \
-- mmc_pwr = BCSR_BOARD_SD1_PWR; \
-- mmc_wp = BCSR_BOARD_SD1_WP; \
-- } else { \
-- mmc_pwr = BCSR_BOARD_SD0_PWR; \
-- mmc_wp = BCSR_BOARD_SD0_WP; \
-- } \
-- board_specific = au_readl((unsigned long)(&bcsr->specific)); \
-- if (!(board_specific & mmc_wp)) {/* low means card present */ \
-- board_specific |= mmc_pwr; \
-- au_writel(board_specific, (int)(&bcsr->specific)); \
-- au_sync(); \
-- } \
-- } while (0)
-+#define DAUGHTER_CARD_IRQ (AU1000_GPIO_8)
-+/* DC_IDE */
-+#define AU1XXX_ATA_PHYS_ADDR (0x0C000000)
-+#define AU1XXX_ATA_REG_OFFSET (5)
-+#endif /* CONFIG_MIPS_DB1550 */
-
- #endif /* __ASM_DB1X00_H */
-
-diff -Nur linux-2.4.32/include/asm-mips/elf.h linux-2.4.32.patched/include/asm-mips/elf.h
---- linux-2.4.32/include/asm-mips/elf.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/elf.h 2006-03-13 18:55:54.000000000 +0100
-@@ -66,9 +66,10 @@
- #define USE_ELF_CORE_DUMP
- #define ELF_EXEC_PAGESIZE PAGE_SIZE
-
--#define ELF_CORE_COPY_REGS(_dest,_regs) \
-- memcpy((char *) &_dest, (char *) _regs, \
-- sizeof(struct pt_regs));
-+extern void dump_regs(elf_greg_t *, struct pt_regs *regs);
-+
-+#define ELF_CORE_COPY_REGS(elf_regs, regs) \
-+ dump_regs((elf_greg_t *)&(elf_regs), regs);
-
- /* This yields a mask that user programs can use to figure out what
- instruction set this cpu supports. This could be done in userspace,
-diff -Nur linux-2.4.32/include/asm-mips/ficmmp.h linux-2.4.32.patched/include/asm-mips/ficmmp.h
---- linux-2.4.32/include/asm-mips/ficmmp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/ficmmp.h 2006-03-13 18:55:54.000000000 +0100
-@@ -0,0 +1,156 @@
-+/*
-+ * FIC MMP
-+ *
-+ * ########################################################################
-+ *
-+ * This program is free software; you can distribute it and/or modify it
-+ * under the terms of the GNU General Public License (Version 2) as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License along
-+ * with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+ *
-+ * ########################################################################
-+ *
-+ *
-+ */
-+#ifndef __ASM_FICMMP_H
-+#define __ASM_FICMMP_H
-+
-+#include <linux/types.h>
-+#include <asm/au1000.h>
-+#include <asm/au1xxx_gpio.h>
-+
-+// This is defined in au1000.h with bogus value
-+#undef AU1X00_EXTERNAL_INT
-+
-+#define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX
-+#define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX
-+#define DBDMA_I2S_TX_CHAN DSCR_CMD0_PSC1_TX
-+#define DBDMA_I2S_RX_CHAN DSCR_CMD0_PSC1_RX
-+/* SPI and SMB are muxed on the Pb1200 board.
-+ Refer to board documentation.
-+ */
-+#define SPI_PSC_BASE PSC0_BASE_ADDR
-+#define SMBUS_PSC_BASE PSC0_BASE_ADDR
-+/* AC97 and I2S are muxed on the Pb1200 board.
-+ Refer to board documentation.
-+ */
-+#define AC97_PSC_BASE PSC1_BASE_ADDR
-+#define I2S_PSC_BASE PSC1_BASE_ADDR
-+
-+
-+/*
-+ * SMSC LAN91C111
-+ */
-+#define AU1XXX_SMC91111_PHYS_ADDR (0xAC000300)
-+#define AU1XXX_SMC91111_IRQ AU1000_GPIO_5
-+
-+/* DC_IDE and DC_ETHERNET */
-+#define FICMMP_IDE_INT AU1000_GPIO_4
-+
-+#define AU1XXX_ATA_PHYS_ADDR (0x0C800000)
-+#define AU1XXX_ATA_REG_OFFSET (5)
-+/*
-+#define AU1XXX_ATA_BASE (0x0C800000)
-+#define AU1XXX_ATA_END (0x0CFFFFFF)
-+#define AU1XXX_ATA_MEM_SIZE (AU1XXX_ATA_END - AU1XXX_ATA_BASE +1)
-+
-+#define AU1XXX_ATA_REG_OFFSET (5)
-+*/
-+/* VPP/VCC */
-+#define SET_VCC_VPP(VCC, VPP, SLOT)\
-+ ((((VCC)<<2) | ((VPP)<<0)) << ((SLOT)*8))
-+
-+
-+#define FICMMP_CONFIG_BASE 0xAD000000
-+#define FICMMP_CONFIG_ENABLE 13
-+
-+#define FICMMP_CONFIG_I2SFREQ(N) (N<<0)
-+#define FICMMP_CONFIG_I2SXTAL0 (1<<0)
-+#define FICMMP_CONFIG_I2SXTAL1 (1<<1)
-+#define FICMMP_CONFIG_I2SXTAL2 (1<<2)
-+#define FICMMP_CONFIG_I2SXTAL3 (1<<3)
-+#define FICMMP_CONFIG_ADV1 (1<<4)
-+#define FICMMP_CONFIG_IDERST (1<<5)
-+#define FICMMP_CONFIG_LCMEN (1<<6)
-+#define FICMMP_CONFIG_CAMPWDN (1<<7)
-+#define FICMMP_CONFIG_USBPWREN (1<<8)
-+#define FICMMP_CONFIG_LCMPWREN (1<<9)
-+#define FICMMP_CONFIG_TVOUTPWREN (1<<10)
-+#define FICMMP_CONFIG_RS232PWREN (1<<11)
-+#define FICMMP_CONFIG_LCMDATAOUT (1<<12)
-+#define FICMMP_CONFIG_TVODATAOUT (1<<13)
-+#define FICMMP_CONFIG_ADV3 (1<<14)
-+#define FICMMP_CONFIG_ADV4 (1<<15)
-+
-+#define I2S_FREQ_8_192 (0x0)
-+#define I2S_FREQ_11_2896 (0x1)
-+#define I2S_FREQ_12_288 (0x2)
-+#define I2S_FREQ_24_576 (0x3)
-+//#define I2S_FREQ_12_288 (0x4)
-+#define I2S_FREQ_16_9344 (0x5)
-+#define I2S_FREQ_18_432 (0x6)
-+#define I2S_FREQ_36_864 (0x7)
-+#define I2S_FREQ_16_384 (0x8)
-+#define I2S_FREQ_22_5792 (0x9)
-+//#define I2S_FREQ_24_576 (0x10)
-+#define I2S_FREQ_49_152 (0x11)
-+//#define I2S_FREQ_24_576 (0x12)
-+#define I2S_FREQ_33_8688 (0x13)
-+//#define I2S_FREQ_36_864 (0x14)
-+#define I2S_FREQ_73_728 (0x15)
-+
-+#define FICMMP_IDE_PWR 9
-+#define FICMMP_FOCUS_RST 2
-+
-+static __inline void ficmmp_config_set(u16 bits)
-+{
-+ extern u16 ficmmp_config;
-+ //printk("set_config: %X, Old: %X, New: %X\n", bits, ficmmp_config, ficmmp_config | bits);
-+ ficmmp_config |= bits;
-+ *((u16*)FICMMP_CONFIG_BASE) = ficmmp_config;
-+}
-+
-+static __inline void ficmmp_config_clear(u16 bits)
-+{
-+ extern u16 ficmmp_config;
-+// printk("clear_config: %X, Old: %X, New: %X\n", bits, ficmmp_config, ficmmp_config & ~bits);
-+ ficmmp_config &= ~bits;
-+ *((u16*)FICMMP_CONFIG_BASE) = ficmmp_config;
-+}
-+
-+static __inline void ficmmp_config_init(void)
-+{
-+ au1xxx_gpio_write(FICMMP_CONFIG_ENABLE, 0); //Enable configuration latch
-+ ficmmp_config_set(FICMMP_CONFIG_LCMDATAOUT | FICMMP_CONFIG_TVODATAOUT | FICMMP_CONFIG_IDERST); //Disable display data buffers
-+ ficmmp_config_set(FICMMP_CONFIG_I2SFREQ(I2S_FREQ_36_864));
-+}
-+
-+static __inline u32 ficmmp_set_i2s_sample_rate(u32 rate)
-+{
-+ u32 freq;
-+
-+ switch(rate)
-+ {
-+ case 88200:
-+ case 44100:
-+ case 8018: freq = I2S_FREQ_11_2896; break;
-+ case 48000:
-+ case 32000: //freq = I2S_FREQ_18_432; break;
-+ case 8000: freq = I2S_FREQ_12_288; break;
-+ default: freq = I2S_FREQ_12_288; rate = 8000;
-+ }
-+ ficmmp_config_clear(FICMMP_CONFIG_I2SFREQ(0xF));
-+ ficmmp_config_set(FICMMP_CONFIG_I2SFREQ(freq));
-+ return rate;
-+}
-+
-+#endif /* __ASM_FICMMP_H */
-+
-diff -Nur linux-2.4.32/include/asm-mips/hazards.h linux-2.4.32.patched/include/asm-mips/hazards.h
---- linux-2.4.32/include/asm-mips/hazards.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/hazards.h 2006-03-13 18:57:11.000000000 +0100
-@@ -3,7 +3,7 @@
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
-- * Copyright (C) 2003 Ralf Baechle
-+ * Copyright (C) 2003, 2004 Ralf Baechle
- */
- #ifndef _ASM_HAZARDS_H
- #define _ASM_HAZARDS_H
-@@ -12,38 +12,200 @@
-
- #ifdef __ASSEMBLY__
-
-+ .macro _ssnop
-+ sll $0, $0, 1
-+ .endm
-+
- /*
- * RM9000 hazards. When the JTLB is updated by tlbwi or tlbwr, a subsequent
- * use of the JTLB for instructions should not occur for 4 cpu cycles and use
- * for data translations should not occur for 3 cpu cycles.
- */
- #ifdef CONFIG_CPU_RM9000
--#define rm9000_tlb_hazard \
-+
-+#define mtc0_tlbw_hazard \
- .set push; \
- .set mips32; \
-- ssnop; ssnop; ssnop; ssnop; \
-+ _ssnop; _ssnop; _ssnop; _ssnop; \
- .set pop
-+
-+#define tlbw_eret_hazard \
-+ .set push; \
-+ .set mips32; \
-+ _ssnop; _ssnop; _ssnop; _ssnop; \
-+ .set pop
-+
- #else
--#define rm9000_tlb_hazard
-+
-+/*
-+ * The taken branch will result in a two cycle penalty for the two killed
-+ * instructions on R4000 / R4400. Other processors only have a single cycle
-+ * hazard so this is nice trick to have an optimal code for a range of
-+ * processors.
-+ */
-+#define mtc0_tlbw_hazard \
-+ b . + 8
-+#define tlbw_eret_hazard \
-+ nop
- #endif
-
-+/*
-+ * mtc0->mfc0 hazard
-+ * The 24K has a 2 cycle mtc0/mfc0 execution hazard.
-+ * It is a MIPS32R2 processor so ehb will clear the hazard.
-+ */
-+
-+#ifdef CONFIG_CPU_MIPSR2
-+/*
-+ * Use a macro for ehb unless explicit support for MIPSR2 is enabled
-+ */
-+ .macro ehb
-+ sll $0, $0, 3
-+ .endm
-+
-+#define irq_enable_hazard \
-+ ehb # irq_enable_hazard
-+
-+#define irq_disable_hazard \
-+ ehb # irq_disable_hazard
-+
-+#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_RM9000)
-+
-+/*
-+ * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer.
-+ */
-+
-+#define irq_enable_hazard
-+
-+#define irq_disable_hazard
-+
- #else
-
- /*
-+ * Classic MIPS needs 1 - 3 nops or ssnops
-+ */
-+#define irq_enable_hazard
-+#define irq_disable_hazard \
-+ _ssnop; _ssnop; _ssnop
-+
-+#endif
-+
-+#else /* __ASSEMBLY__ */
-+
-+/*
- * RM9000 hazards. When the JTLB is updated by tlbwi or tlbwr, a subsequent
- * use of the JTLB for instructions should not occur for 4 cpu cycles and use
- * for data translations should not occur for 3 cpu cycles.
- */
- #ifdef CONFIG_CPU_RM9000
--#define rm9000_tlb_hazard() \
-+
-+#define mtc0_tlbw_hazard() \
- __asm__ __volatile__( \
- ".set\tmips32\n\t" \
-- "ssnop; ssnop; ssnop; ssnop\n\t" \
-+ "_ssnop; _ssnop; _ssnop; _ssnop\n\t" \
-+ ".set\tmips0")
-+
-+#define tlbw_use_hazard() \
-+ __asm__ __volatile__( \
-+ ".set\tmips32\n\t" \
-+ "_ssnop; _ssnop; _ssnop; _ssnop\n\t" \
- ".set\tmips0")
- #else
--#define rm9000_tlb_hazard() do { } while (0)
-+
-+/*
-+ * Overkill warning ...
-+ */
-+#define mtc0_tlbw_hazard() \
-+ __asm__ __volatile__( \
-+ ".set noreorder\n\t" \
-+ "nop; nop; nop; nop; nop; nop;\n\t" \
-+ ".set reorder\n\t")
-+
-+#define tlbw_use_hazard() \
-+ __asm__ __volatile__( \
-+ ".set noreorder\n\t" \
-+ "nop; nop; nop; nop; nop; nop;\n\t" \
-+ ".set reorder\n\t")
-+
- #endif
-
-+/*
-+ * mtc0->mfc0 hazard
-+ * The 24K has a 2 cycle mtc0/mfc0 execution hazard.
-+ * It is a MIPS32R2 processor so ehb will clear the hazard.
-+ */
-+
-+#ifdef CONFIG_CPU_MIPSR2
-+/*
-+ * Use a macro for ehb unless explicit support for MIPSR2 is enabled
-+ */
-+__asm__(
-+ " .macro ehb \n\t"
-+ " sll $0, $0, 3 \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " .macro\tirq_enable_hazard \n\t"
-+ " ehb \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " .macro\tirq_disable_hazard \n\t"
-+ " ehb \n\t"
-+ " .endm");
-+
-+#define irq_enable_hazard() \
-+ __asm__ __volatile__( \
-+ "ehb\t\t\t\t# irq_enable_hazard")
-+
-+#define irq_disable_hazard() \
-+ __asm__ __volatile__( \
-+ "ehb\t\t\t\t# irq_disable_hazard")
-+
-+#elif defined(CONFIG_CPU_R10000)
-+
-+/*
-+ * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer.
-+ */
-+
-+__asm__(
-+ " .macro\tirq_enable_hazard \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " .macro\tirq_disable_hazard \n\t"
-+ " .endm");
-+
-+#define irq_enable_hazard() do { } while (0)
-+#define irq_disable_hazard() do { } while (0)
-+
-+#else
-+
-+/*
-+ * Default for classic MIPS processors. Assume worst case hazards but don't
-+ * care about the irq_enable_hazard - sooner or later the hardware will
-+ * enable it and we don't care when exactly.
-+ */
-+
-+__asm__(
-+ " .macro _ssnop \n\t"
-+ " sll $0, $2, 1 \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " # \n\t"
-+ " # There is a hazard but we do not care \n\t"
-+ " # \n\t"
-+ " .macro\tirq_enable_hazard \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " .macro\tirq_disable_hazard \n\t"
-+ " _ssnop; _ssnop; _ssnop \n\t"
-+ " .endm");
-+
-+#define irq_enable_hazard() do { } while (0)
-+#define irq_disable_hazard() \
-+ __asm__ __volatile__( \
-+ "_ssnop; _ssnop; _ssnop;\t\t# irq_disable_hazard")
-+
- #endif
-
-+#endif /* __ASSEMBLY__ */
-+
- #endif /* _ASM_HAZARDS_H */
-diff -Nur linux-2.4.32/include/asm-mips/ide.h linux-2.4.32.patched/include/asm-mips/ide.h
---- linux-2.4.32/include/asm-mips/ide.h 2003-08-25 13:44:43.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips/ide.h 2006-03-13 18:57:19.000000000 +0100
-@@ -32,12 +32,12 @@
-
- extern struct ide_ops *ide_ops;
-
--static __inline__ int ide_default_irq(ide_ioreg_t base)
-+static inline int ide_default_irq(ide_ioreg_t base)
- {
- return ide_ops->ide_default_irq(base);
- }
-
--static __inline__ ide_ioreg_t ide_default_io_base(int index)
-+static inline ide_ioreg_t ide_default_io_base(int index)
- {
- return ide_ops->ide_default_io_base(index);
- }
-@@ -48,7 +48,7 @@
- ide_ops->ide_init_hwif_ports(hw, data_port, ctrl_port, irq);
- }
-
--static __inline__ void ide_init_default_hwifs(void)
-+static inline void ide_init_default_hwifs(void)
- {
- #ifndef CONFIG_BLK_DEV_IDEPCI
- hw_regs_t hw;
-@@ -68,7 +68,89 @@
- #define ide_ack_intr(hwif) ((hwif)->hw.ack_intr ? (hwif)->hw.ack_intr(hwif) : 1)
- #endif
-
--#include <asm-generic/ide_iops.h>
-+/* MIPS port and memory-mapped I/O string operations. */
-+
-+static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size)
-+{
-+ if (cpu_has_dc_aliases) {
-+ unsigned long end = addr + size;
-+ for (; addr < end; addr += PAGE_SIZE)
-+ flush_dcache_page(virt_to_page(addr));
-+ }
-+}
-+
-+static inline void __ide_insw(unsigned long port, void *addr,
-+ unsigned int count)
-+{
-+ insw(port, addr, count);
-+ __ide_flush_dcache_range((unsigned long)addr, count * 2);
-+}
-+
-+static inline void __ide_insl(unsigned long port, void *addr, unsigned int count)
-+{
-+ insl(port, addr, count);
-+ __ide_flush_dcache_range((unsigned long)addr, count * 4);
-+}
-+
-+static inline void __ide_outsw(unsigned long port, const void *addr,
-+ unsigned long count)
-+{
-+ outsw(port, addr, count);
-+ __ide_flush_dcache_range((unsigned long)addr, count * 2);
-+}
-+
-+static inline void __ide_outsl(unsigned long port, const void *addr,
-+ unsigned long count)
-+{
-+ outsl(port, addr, count);
-+ __ide_flush_dcache_range((unsigned long)addr, count * 4);
-+}
-+
-+static inline void __ide_mm_insw(unsigned long port, void *addr, u32 count)
-+{
-+ unsigned long start = (unsigned long) addr;
-+
-+ while (count--) {
-+ *(u16 *)addr = readw(port);
-+ addr += 2;
-+ }
-+ __ide_flush_dcache_range(start, count * 2);
-+}
-+
-+static inline void __ide_mm_insl(unsigned long port, void *addr, u32 count)
-+{
-+ unsigned long start = (unsigned long) addr;
-+
-+ while (count--) {
-+ *(u32 *)addr = readl(port);
-+ addr += 4;
-+ }
-+ __ide_flush_dcache_range(start, count * 4);
-+}
-+
-+static inline void __ide_mm_outsw(unsigned long port, const void *addr,
-+ u32 count)
-+{
-+ unsigned long start = (unsigned long) addr;
-+
-+ while (count--) {
-+ writew(*(u16 *)addr, port);
-+ addr += 2;
-+ }
-+ __ide_flush_dcache_range(start, count * 2);
-+}
-+
-+static inline void __ide_mm_outsl(unsigned long port, const void *addr,
-+ u32 count)
-+{
-+ unsigned long start = (unsigned long) addr;
-+
-+ while (count--) {
-+ writel(*(u32 *)addr, port);
-+ addr += 4;
-+ }
-+ __ide_flush_dcache_range(start, count * 4);
-+}
-
- #endif /* __KERNEL__ */
-
-diff -Nur linux-2.4.32/include/asm-mips/io.h linux-2.4.32.patched/include/asm-mips/io.h
---- linux-2.4.32/include/asm-mips/io.h 2003-08-25 13:44:43.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips/io.h 2006-03-13 18:57:11.000000000 +0100
-@@ -392,7 +392,8 @@
- return __ioswab32(__val);
- }
-
--static inline void __outsb(unsigned long port, void *addr, unsigned int count)
-+static inline void __outsb(unsigned long port, const void *addr,
-+ unsigned int count)
- {
- while (count--) {
- outb(*(u8 *)addr, port);
-@@ -408,7 +409,8 @@
- }
- }
-
--static inline void __outsw(unsigned long port, void *addr, unsigned int count)
-+static inline void __outsw(unsigned long port, const void *addr,
-+ unsigned int count)
- {
- while (count--) {
- outw(*(u16 *)addr, port);
-@@ -424,7 +426,8 @@
- }
- }
-
--static inline void __outsl(unsigned long port, void *addr, unsigned int count)
-+static inline void __outsl(unsigned long port, const void *addr,
-+ unsigned int count)
- {
- while (count--) {
- outl(*(u32 *)addr, port);
-diff -Nur linux-2.4.32/include/asm-mips/mipsregs.h linux-2.4.32.patched/include/asm-mips/mipsregs.h
---- linux-2.4.32/include/asm-mips/mipsregs.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/mipsregs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -757,10 +757,18 @@
- #define read_c0_config1() __read_32bit_c0_register($16, 1)
- #define read_c0_config2() __read_32bit_c0_register($16, 2)
- #define read_c0_config3() __read_32bit_c0_register($16, 3)
-+#define read_c0_config4() __read_32bit_c0_register($16, 4)
-+#define read_c0_config5() __read_32bit_c0_register($16, 5)
-+#define read_c0_config6() __read_32bit_c0_register($16, 6)
-+#define read_c0_config7() __read_32bit_c0_register($16, 7)
- #define write_c0_config(val) __write_32bit_c0_register($16, 0, val)
- #define write_c0_config1(val) __write_32bit_c0_register($16, 1, val)
- #define write_c0_config2(val) __write_32bit_c0_register($16, 2, val)
- #define write_c0_config3(val) __write_32bit_c0_register($16, 3, val)
-+#define write_c0_config4(val) __write_32bit_c0_register($16, 4, val)
-+#define write_c0_config5(val) __write_32bit_c0_register($16, 5, val)
-+#define write_c0_config6(val) __write_32bit_c0_register($16, 6, val)
-+#define write_c0_config7(val) __write_32bit_c0_register($16, 7, val)
-
- /*
- * The WatchLo register. There may be upto 8 of them.
-@@ -874,42 +882,34 @@
- */
- static inline void tlb_probe(void)
- {
-- rm9000_tlb_hazard();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- "tlbp\n\t"
- ".set reorder");
-- rm9000_tlb_hazard();
- }
-
- static inline void tlb_read(void)
- {
-- rm9000_tlb_hazard();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- "tlbr\n\t"
- ".set reorder");
-- rm9000_tlb_hazard();
- }
-
- static inline void tlb_write_indexed(void)
- {
-- rm9000_tlb_hazard();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- "tlbwi\n\t"
- ".set reorder");
-- rm9000_tlb_hazard();
- }
-
- static inline void tlb_write_random(void)
- {
-- rm9000_tlb_hazard();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- "tlbwr\n\t"
- ".set reorder");
-- rm9000_tlb_hazard();
- }
-
- /*
-diff -Nur linux-2.4.32/include/asm-mips/mmu_context.h linux-2.4.32.patched/include/asm-mips/mmu_context.h
---- linux-2.4.32/include/asm-mips/mmu_context.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/mmu_context.h 2006-03-13 18:55:54.000000000 +0100
-@@ -27,7 +27,7 @@
- #define TLBMISS_HANDLER_SETUP_PGD(pgd) \
- pgd_current[smp_processor_id()] = (unsigned long)(pgd)
- #define TLBMISS_HANDLER_SETUP() \
-- write_c0_context((unsigned long) smp_processor_id() << (23 + 3)); \
-+ write_c0_context((unsigned long) smp_processor_id() << 23); \
- TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
- extern unsigned long pgd_current[];
-
-diff -Nur linux-2.4.32/include/asm-mips/param.h linux-2.4.32.patched/include/asm-mips/param.h
---- linux-2.4.32/include/asm-mips/param.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/param.h 2006-03-13 18:57:11.000000000 +0100
-@@ -55,7 +55,7 @@
- #endif /* defined(__KERNEL__) */
- #endif /* defined(HZ) */
-
--#define EXEC_PAGESIZE 65536
-+#define EXEC_PAGESIZE 4096
-
- #ifndef NGROUPS
- #define NGROUPS 32
-diff -Nur linux-2.4.32/include/asm-mips/pb1100.h linux-2.4.32.patched/include/asm-mips/pb1100.h
---- linux-2.4.32/include/asm-mips/pb1100.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips/pb1100.h 2006-03-13 18:55:54.000000000 +0100
-@@ -1,5 +1,5 @@
- /*
-- * Alchemy Semi PB1100 Referrence Board
-+ * AMD Alchemy PB1100 Reference Boards
- *
- * Copyright 2001 MontaVista Software Inc.
- * Author: MontaVista Software, Inc.
-@@ -27,55 +27,108 @@
- #ifndef __ASM_PB1100_H
- #define __ASM_PB1100_H
-
--#define PB1100_IDENT 0xAE000000
--#define BOARD_STATUS_REG 0xAE000004
-- #define PB1100_ROM_SEL (1<<15)
-- #define PB1100_ROM_SIZ (1<<14)
-- #define PB1100_SWAP_BOOT (1<<13)
-- #define PB1100_FLASH_WP (1<<12)
-- #define PB1100_ROM_H_STS (1<<11)
-- #define PB1100_ROM_L_STS (1<<10)
-- #define PB1100_FLASH_H_STS (1<<9)
-- #define PB1100_FLASH_L_STS (1<<8)
-- #define PB1100_SRAM_SIZ (1<<7)
-- #define PB1100_TSC_BUSY (1<<6)
-- #define PB1100_PCMCIA_VS_MASK (3<<4)
-- #define PB1100_RS232_CD (1<<3)
-- #define PB1100_RS232_CTS (1<<2)
-- #define PB1100_RS232_DSR (1<<1)
-- #define PB1100_RS232_RI (1<<0)
--
--#define PB1100_IRDA_RS232 0xAE00000C
-- #define PB1100_IRDA_FULL (0<<14) /* full power */
-- #define PB1100_IRDA_SHUTDOWN (1<<14)
-- #define PB1100_IRDA_TT (2<<14) /* 2/3 power */
-- #define PB1100_IRDA_OT (3<<14) /* 1/3 power */
-- #define PB1100_IRDA_FIR (1<<13)
--
--#define PCMCIA_BOARD_REG 0xAE000010
-- #define PB1100_SD_WP1_RO (1<<15) /* read only */
-- #define PB1100_SD_WP0_RO (1<<14) /* read only */
-- #define PB1100_SD_PWR1 (1<<11) /* applies power to SD1 */
-- #define PB1100_SD_PWR0 (1<<10) /* applies power to SD0 */
-- #define PB1100_SEL_SD_CONN1 (1<<9)
-- #define PB1100_SEL_SD_CONN0 (1<<8)
-- #define PC_DEASSERT_RST (1<<7)
-- #define PC_DRV_EN (1<<4)
--
--#define PB1100_G_CONTROL 0xAE000014 /* graphics control */
--
--#define PB1100_RST_VDDI 0xAE00001C
-- #define PB1100_SOFT_RESET (1<<15) /* clear to reset the board */
-- #define PB1100_VDDI_MASK (0x1F)
-+#define BCSR_KSEG1_ADDR 0xAE000000
-+
-+/*
-+ * Overlay data structure of the Pb1100 board registers.
-+ * Registers located at physical 0E0000xx, KSEG1 0xAE0000xx
-+ */
-+typedef volatile struct
-+{
-+ /*00*/ unsigned short whoami;
-+ unsigned short reserved0;
-+ /*04*/ unsigned short status;
-+ unsigned short reserved1;
-+ /*08*/ unsigned short switches;
-+ unsigned short reserved2;
-+ /*0C*/ unsigned short resets;
-+ unsigned short reserved3;
-+ /*10*/ unsigned short pcmcia;
-+ unsigned short reserved4;
-+ /*14*/ unsigned short graphics;
-+ unsigned short reserved5;
-+ /*18*/ unsigned short leds;
-+ unsigned short reserved6;
-+ /*1C*/ unsigned short swreset;
-+ unsigned short reserved7;
-+
-+} BCSR;
-
--#define PB1100_LEDS 0xAE000018
-
--/* 11:8 is 4 discreet LEDs. Clearing a bit illuminates the LED.
-- * 7:0 is the LED Display's decimal points.
-+/*
-+ * Register/mask bit definitions for the BCSRs
- */
--#define PB1100_HEX_LED 0xAE000018
-+#define BCSR_WHOAMI_DCID 0x000F
-+#define BCSR_WHOAMI_CPLD 0x00F0
-+#define BCSR_WHOAMI_BOARD 0x0F00
-+
-+#define BCSR_STATUS_RS232_RI 0x0001
-+#define BCSR_STATUS_RS232_DSR 0x0002
-+#define BCSR_STATUS_RS232_CTS 0x0004
-+#define BCSR_STATUS_RS232_CD 0x0008
-+#define BCSR_STATUS_PCMCIA_VS_MASK 0x0030
-+#define BCSR_STATUS_TSC_BUSY 0x0040
-+#define BCSR_STATUS_SRAM_SIZ 0x0080
-+#define BCSR_STATUS_FLASH_L_STS 0x0100
-+#define BCSR_STATUS_FLASH_H_STS 0x0200
-+#define BCSR_STATUS_ROM_H_STS 0x0400
-+#define BCSR_STATUS_ROM_L_STS 0x0800
-+#define BCSR_STATUS_FLASH_WP 0x1000
-+#define BCSR_STATUS_SWAP_BOOT 0x2000
-+#define BCSR_STATUS_ROM_SIZ 0x4000
-+#define BCSR_STATUS_ROM_SEL 0x8000
-+
-+#define BCSR_SWITCHES_DIP 0x00FF
-+#define BCSR_SWITCHES_DIP_1 0x0080
-+#define BCSR_SWITCHES_DIP_2 0x0040
-+#define BCSR_SWITCHES_DIP_3 0x0020
-+#define BCSR_SWITCHES_DIP_4 0x0010
-+#define BCSR_SWITCHES_DIP_5 0x0008
-+#define BCSR_SWITCHES_DIP_6 0x0004
-+#define BCSR_SWITCHES_DIP_7 0x0002
-+#define BCSR_SWITCHES_DIP_8 0x0001
-+#define BCSR_SWITCHES_ROTARY 0x0F00
-+#define BCSR_SWITCHES_SDO_CL 0x8000
-+
-+#define BCSR_RESETS_PHY0 0x0001
-+#define BCSR_RESETS_PHY1 0x0002
-+#define BCSR_RESETS_DC 0x0004
-+#define BCSR_RESETS_RS232_RTS 0x0100
-+#define BCSR_RESETS_RS232_DTR 0x0200
-+#define BCSR_RESETS_FIR_SEL 0x2000
-+#define BCSR_RESETS_IRDA_MODE_MASK 0xC000
-+#define BCSR_RESETS_IRDA_MODE_FULL 0x0000
-+#define BCSR_RESETS_IRDA_MODE_OFF 0x4000
-+#define BCSR_RESETS_IRDA_MODE_2_3 0x8000
-+#define BCSR_RESETS_IRDA_MODE_1_3 0xC000
-+
-+#define BCSR_PCMCIA_PC0VPP 0x0003
-+#define BCSR_PCMCIA_PC0VCC 0x000C
-+#define BCSR_PCMCIA_PC0_DR_VEN 0x0010
-+#define BCSR_PCMCIA_PC0RST 0x0080
-+#define BCSR_PCMCIA_SEL_SD_CON0 0x0100
-+#define BCSR_PCMCIA_SEL_SD_CON1 0x0200
-+#define BCSR_PCMCIA_SD0_PWR 0x0400
-+#define BCSR_PCMCIA_SD1_PWR 0x0800
-+#define BCSR_PCMCIA_SD0_WP 0x4000
-+#define BCSR_PCMCIA_SD1_WP 0x8000
-+
-+#define PB1100_G_CONTROL 0xAE000014
-+#define BCSR_GRAPHICS_GPX_SMPASS 0x0010
-+#define BCSR_GRAPHICS_GPX_BIG_ENDIAN 0x0020
-+#define BCSR_GRAPHICS_GPX_RST 0x0040
-+
-+#define BCSR_LEDS_DECIMALS 0x00FF
-+#define BCSR_LEDS_LED0 0x0100
-+#define BCSR_LEDS_LED1 0x0200
-+#define BCSR_LEDS_LED2 0x0400
-+#define BCSR_LEDS_LED3 0x0800
-+
-+#define BCSR_SWRESET_RESET 0x0080
-+#define BCSR_VDDI_VDI 0x001F
-
--/* PCMCIA PB1100 specific defines */
-+
-+ /* PCMCIA Pb1x00 specific defines */
- #define PCMCIA_MAX_SOCK 0
- #define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK+1)
-
-@@ -83,3 +136,4 @@
- #define SET_VCC_VPP(VCC, VPP) (((VCC)<<2) | ((VPP)<<0))
-
- #endif /* __ASM_PB1100_H */
-+
-diff -Nur linux-2.4.32/include/asm-mips/pb1200.h linux-2.4.32.patched/include/asm-mips/pb1200.h
---- linux-2.4.32/include/asm-mips/pb1200.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/pb1200.h 2006-03-13 18:55:54.000000000 +0100
-@@ -0,0 +1,244 @@
-+/*
-+ * AMD Alchemy PB1200 Referrence Board
-+ * Board Registers defines.
-+ *
-+ * ########################################################################
-+ *
-+ * This program is free software; you can distribute it and/or modify it
-+ * under the terms of the GNU General Public License (Version 2) as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License along
-+ * with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
-+ *
-+ * ########################################################################
-+ *
-+ *
-+ */
-+#ifndef __ASM_PB1200_H
-+#define __ASM_PB1200_H
-+
-+#include <linux/types.h>
-+
-+// This is defined in au1000.h with bogus value
-+#undef AU1X00_EXTERNAL_INT
-+
-+#define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX
-+#define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX
-+#define DBDMA_I2S_TX_CHAN DSCR_CMD0_PSC1_TX
-+#define DBDMA_I2S_RX_CHAN DSCR_CMD0_PSC1_RX
-+
-+/* SPI and SMB are muxed on the Pb1200 board.
-+ Refer to board documentation.
-+ */
-+#define SPI_PSC_BASE PSC0_BASE_ADDR
-+#define SMBUS_PSC_BASE PSC0_BASE_ADDR
-+/* AC97 and I2S are muxed on the Pb1200 board.
-+ Refer to board documentation.
-+ */
-+#define AC97_PSC_BASE PSC1_BASE_ADDR
-+#define I2S_PSC_BASE PSC1_BASE_ADDR
-+
-+#define BCSR_KSEG1_ADDR 0xAD800000
-+
-+typedef volatile struct
-+{
-+ /*00*/ u16 whoami;
-+ u16 reserved0;
-+ /*04*/ u16 status;
-+ u16 reserved1;
-+ /*08*/ u16 switches;
-+ u16 reserved2;
-+ /*0C*/ u16 resets;
-+ u16 reserved3;
-+
-+ /*10*/ u16 pcmcia;
-+ u16 reserved4;
-+ /*14*/ u16 board;
-+ u16 reserved5;
-+ /*18*/ u16 disk_leds;
-+ u16 reserved6;
-+ /*1C*/ u16 system;
-+ u16 reserved7;
-+
-+ /*20*/ u16 intclr;
-+ u16 reserved8;
-+ /*24*/ u16 intset;
-+ u16 reserved9;
-+ /*28*/ u16 intclr_mask;
-+ u16 reserved10;
-+ /*2C*/ u16 intset_mask;
-+ u16 reserved11;
-+
-+ /*30*/ u16 sig_status;
-+ u16 reserved12;
-+ /*34*/ u16 int_status;
-+ u16 reserved13;
-+ /*38*/ u16 reserved14;
-+ u16 reserved15;
-+ /*3C*/ u16 reserved16;
-+ u16 reserved17;
-+
-+} BCSR;
-+
-+static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
-+
-+/*
-+ * Register bit definitions for the BCSRs
-+ */
-+#define BCSR_WHOAMI_DCID 0x000F
-+#define BCSR_WHOAMI_CPLD 0x00F0
-+#define BCSR_WHOAMI_BOARD 0x0F00
-+
-+#define BCSR_STATUS_PCMCIA0VS 0x0003
-+#define BCSR_STATUS_PCMCIA1VS 0x000C
-+#define BCSR_STATUS_SWAPBOOT 0x0040
-+#define BCSR_STATUS_FLASHBUSY 0x0100
-+#define BCSR_STATUS_IDECBLID 0x0200
-+#define BCSR_STATUS_SD0WP 0x0400
-+#define BCSR_STATUS_SD1WP 0x0800
-+#define BCSR_STATUS_U0RXD 0x1000
-+#define BCSR_STATUS_U1RXD 0x2000
-+
-+#define BCSR_SWITCHES_OCTAL 0x00FF
-+#define BCSR_SWITCHES_DIP_1 0x0080
-+#define BCSR_SWITCHES_DIP_2 0x0040
-+#define BCSR_SWITCHES_DIP_3 0x0020
-+#define BCSR_SWITCHES_DIP_4 0x0010
-+#define BCSR_SWITCHES_DIP_5 0x0008
-+#define BCSR_SWITCHES_DIP_6 0x0004
-+#define BCSR_SWITCHES_DIP_7 0x0002
-+#define BCSR_SWITCHES_DIP_8 0x0001
-+#define BCSR_SWITCHES_ROTARY 0x0F00
-+
-+#define BCSR_RESETS_ETH 0x0001
-+#define BCSR_RESETS_CAMERA 0x0002
-+#define BCSR_RESETS_DC 0x0004
-+#define BCSR_RESETS_IDE 0x0008
-+/* not resets but in the same register */
-+#define BCSR_RESETS_WSCFSM 0x0800
-+#define BCSR_RESETS_PCS0MUX 0x1000
-+#define BCSR_RESETS_PCS1MUX 0x2000
-+#define BCSR_RESETS_SPISEL 0x4000
-+#define BCSR_RESETS_SD1MUX 0x8000
-+
-+#define BCSR_PCMCIA_PC0VPP 0x0003
-+#define BCSR_PCMCIA_PC0VCC 0x000C
-+#define BCSR_PCMCIA_PC0DRVEN 0x0010
-+#define BCSR_PCMCIA_PC0RST 0x0080
-+#define BCSR_PCMCIA_PC1VPP 0x0300
-+#define BCSR_PCMCIA_PC1VCC 0x0C00
-+#define BCSR_PCMCIA_PC1DRVEN 0x1000
-+#define BCSR_PCMCIA_PC1RST 0x8000
-+
-+#define BCSR_BOARD_LCDVEE 0x0001
-+#define BCSR_BOARD_LCDVDD 0x0002
-+#define BCSR_BOARD_LCDBL 0x0004
-+#define BCSR_BOARD_CAMSNAP 0x0010
-+#define BCSR_BOARD_CAMPWR 0x0020
-+#define BCSR_BOARD_SD0PWR 0x0040
-+#define BCSR_BOARD_SD1PWR 0x0080
-+
-+#define BCSR_LEDS_DECIMALS 0x00FF
-+#define BCSR_LEDS_LED0 0x0100
-+#define BCSR_LEDS_LED1 0x0200
-+#define BCSR_LEDS_LED2 0x0400
-+#define BCSR_LEDS_LED3 0x0800
-+
-+#define BCSR_SYSTEM_VDDI 0x001F
-+#define BCSR_SYSTEM_POWEROFF 0x4000
-+#define BCSR_SYSTEM_RESET 0x8000
-+
-+/* Bit positions for the different interrupt sources */
-+#define BCSR_INT_IDE 0x0001
-+#define BCSR_INT_ETH 0x0002
-+#define BCSR_INT_PC0 0x0004
-+#define BCSR_INT_PC0STSCHG 0x0008
-+#define BCSR_INT_PC1 0x0010
-+#define BCSR_INT_PC1STSCHG 0x0020
-+#define BCSR_INT_DC 0x0040
-+#define BCSR_INT_FLASHBUSY 0x0080
-+#define BCSR_INT_PC0INSERT 0x0100
-+#define BCSR_INT_PC0EJECT 0x0200
-+#define BCSR_INT_PC1INSERT 0x0400
-+#define BCSR_INT_PC1EJECT 0x0800
-+#define BCSR_INT_SD0INSERT 0x1000
-+#define BCSR_INT_SD0EJECT 0x2000
-+#define BCSR_INT_SD1INSERT 0x4000
-+#define BCSR_INT_SD1EJECT 0x8000
-+
-+#define AU1XXX_SMC91111_PHYS_ADDR (0x0D000300)
-+#define AU1XXX_SMC91111_IRQ PB1200_ETH_INT
-+
-+#define AU1XXX_ATA_PHYS_ADDR (0x0C800000)
-+#define AU1XXX_ATA_PHYS_LEN (0x100)
-+#define AU1XXX_ATA_REG_OFFSET (5)
-+#define AU1XXX_ATA_INT PB1200_IDE_INT
-+#define AU1XXX_ATA_DDMA_REQ DSCR_CMD0_DMA_REQ1;
-+#define AU1XXX_ATA_RQSIZE 128
-+
-+#define NAND_PHYS_ADDR 0x1C000000
-+
-+/* Timing values as described in databook, * ns value stripped of
-+ * lower 2 bits.
-+ * These defines are here rather than an SOC1200 generic file because
-+ * the parts chosen on another board may be different and may require
-+ * different timings.
-+ */
-+#define NAND_T_H (18 >> 2)
-+#define NAND_T_PUL (30 >> 2)
-+#define NAND_T_SU (30 >> 2)
-+#define NAND_T_WH (30 >> 2)
-+
-+/* Bitfield shift amounts */
-+#define NAND_T_H_SHIFT 0
-+#define NAND_T_PUL_SHIFT 4
-+#define NAND_T_SU_SHIFT 8
-+#define NAND_T_WH_SHIFT 12
-+
-+#define NAND_TIMING ((NAND_T_H & 0xF) << NAND_T_H_SHIFT) | \
-+ ((NAND_T_PUL & 0xF) << NAND_T_PUL_SHIFT) | \
-+ ((NAND_T_SU & 0xF) << NAND_T_SU_SHIFT) | \
-+ ((NAND_T_WH & 0xF) << NAND_T_WH_SHIFT)
-+
-+
-+/*
-+ * External Interrupts for Pb1200 as of 8/6/2004.
-+ * Bit positions in the CPLD registers can be calculated by taking
-+ * the interrupt define and subtracting the PB1200_INT_BEGIN value.
-+ * *example: IDE bis pos is = 64 - 64
-+ ETH bit pos is = 65 - 64
-+ */
-+#define PB1200_INT_BEGIN (AU1000_LAST_INTC1_INT + 1)
-+#define PB1200_IDE_INT (PB1200_INT_BEGIN + 0)
-+#define PB1200_ETH_INT (PB1200_INT_BEGIN + 1)
-+#define PB1200_PC0_INT (PB1200_INT_BEGIN + 2)
-+#define PB1200_PC0_STSCHG_INT (PB1200_INT_BEGIN + 3)
-+#define PB1200_PC1_INT (PB1200_INT_BEGIN + 4)
-+#define PB1200_PC1_STSCHG_INT (PB1200_INT_BEGIN + 5)
-+#define PB1200_DC_INT (PB1200_INT_BEGIN + 6)
-+#define PB1200_FLASHBUSY_INT (PB1200_INT_BEGIN + 7)
-+#define PB1200_PC0_INSERT_INT (PB1200_INT_BEGIN + 8)
-+#define PB1200_PC0_EJECT_INT (PB1200_INT_BEGIN + 9)
-+#define PB1200_PC1_INSERT_INT (PB1200_INT_BEGIN + 10)
-+#define PB1200_PC1_EJECT_INT (PB1200_INT_BEGIN + 11)
-+#define PB1200_SD0_INSERT_INT (PB1200_INT_BEGIN + 12)
-+#define PB1200_SD0_EJECT_INT (PB1200_INT_BEGIN + 13)
-+#define PB1200_SD1_INSERT_INT (PB1200_INT_BEGIN + 14)
-+#define PB1200_SD1_EJECT_INT (PB1200_INT_BEGIN + 15)
-+
-+#define PB1200_INT_END (PB1200_INT_BEGIN + 15)
-+
-+/* For drivers/pcmcia/au1000_db1x00.c */
-+#define BOARD_PC0_INT PB1200_PC0_INT
-+#define BOARD_PC1_INT PB1200_PC1_INT
-+#define BOARD_CARD_INSERTED(SOCKET) bcsr->sig_status & (1<<(8+(2*SOCKET)))
-+
-+#endif /* __ASM_PB1200_H */
-+
-diff -Nur linux-2.4.32/include/asm-mips/pb1550.h linux-2.4.32.patched/include/asm-mips/pb1550.h
---- linux-2.4.32/include/asm-mips/pb1550.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/pb1550.h 2006-03-13 18:55:54.000000000 +0100
-@@ -30,13 +30,11 @@
-
- #define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX
- #define DBDMA_AC97_RX_CHAN DSCR_CMD0_PSC1_RX
--#define DBDMA_I2S_TX_CHAN DSCR_CMD0_PSC3_TX
--#define DBDMA_I2S_RX_CHAN DSCR_CMD0_PSC3_RX
--
- #define SPI_PSC_BASE PSC0_BASE_ADDR
- #define AC97_PSC_BASE PSC1_BASE_ADDR
- #define SMBUS_PSC_BASE PSC2_BASE_ADDR
- #define I2S_PSC_BASE PSC3_BASE_ADDR
-+#define NAND_CS 1
-
- #define BCSR_PHYS_ADDR 0xAF000000
-
-@@ -160,9 +158,23 @@
- #define NAND_T_SU_SHIFT 8
- #define NAND_T_WH_SHIFT 12
-
--#define NAND_TIMING ((NAND_T_H & 0xF) << NAND_T_H_SHIFT) | \
-- ((NAND_T_PUL & 0xF) << NAND_T_PUL_SHIFT) | \
-- ((NAND_T_SU & 0xF) << NAND_T_SU_SHIFT) | \
-- ((NAND_T_WH & 0xF) << NAND_T_WH_SHIFT)
-+#define NAND_TIMING ((NAND_T_H & 0xF) << NAND_T_H_SHIFT) | \
-+ ((NAND_T_PUL & 0xF) << NAND_T_PUL_SHIFT) | \
-+ ((NAND_T_SU & 0xF) << NAND_T_SU_SHIFT) | \
-+ ((NAND_T_WH & 0xF) << NAND_T_WH_SHIFT)
-+
-+/*
-+ * Daughter card information.
-+ */
-+#define DAUGHTER_CARD_BASE (0xAC000000)
-+#define DAUGHTER_CARD_MEM_SIZE (0xADFFFFFF - DAUGHTER_CARD_BASE + 1)
-+#define DAUGHTER_CARD_IRQ (AU1000_GPIO_3)
-+
-+/* DC_IDE and DC_ETHERNET */
-+#define AU1XXX_ATA_PHYS_ADDR (0x0C000000)
-+#define AU1XXX_ATA_REG_OFFSET (5)
-+
-+#define AU1XXX_SMC91111_PHYS_ADDR (0x0C000300)
-+#define AU1XXX_SMC91111_IRQ AU1000_GPIO_3
-
- #endif /* __ASM_PB1550_H */
-diff -Nur linux-2.4.32/include/asm-mips/ptrace.h linux-2.4.32.patched/include/asm-mips/ptrace.h
---- linux-2.4.32/include/asm-mips/ptrace.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/ptrace.h 2006-03-13 18:57:11.000000000 +0100
-@@ -4,6 +4,7 @@
- * for more details.
- *
- * Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000 by Ralf Baechle
-+ * Copyright (C) 2004 Maciej W. Rozycki
- *
- * Machine dependent structs and defines to help the user use
- * the ptrace system call.
-@@ -64,12 +65,10 @@
- "sw\t$22,"__str(PT_R22)"($29)\n\t" \
- "sw\t$23,"__str(PT_R23)"($29)\n\t" \
- "sw\t$30,"__str(PT_R30)"($29)\n\t" \
-+ "j\t_" #symbol "\n\t" \
- ".end\t" #symbol "\n\t" \
- ".size\t" #symbol",. - " #symbol)
-
--/* Used in declaration of save_static functions. */
--#define static_unused static __attribute__((unused))
--
- #endif /* !__ASSEMBLY__ */
-
- /* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
-diff -Nur linux-2.4.32/include/asm-mips/r4kcache.h linux-2.4.32.patched/include/asm-mips/r4kcache.h
---- linux-2.4.32/include/asm-mips/r4kcache.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/r4kcache.h 2006-03-13 18:55:59.000000000 +0100
-@@ -15,6 +15,18 @@
- #include <asm/asm.h>
- #include <asm/cacheops.h>
-
-+#ifdef CONFIG_BCM4710
-+#define BCM4710_DUMMY_RREG() (((sbconfig_t *)(KSEG1ADDR(SB_ENUM_BASE + SBCONFIGOFF)))->sbimstate)
-+
-+#define BCM4710_FILL_TLB(addr) (*(volatile unsigned long *)(addr))
-+#define BCM4710_PROTECTED_FILL_TLB(addr) ({ unsigned long x; get_dbe(x, (volatile unsigned long *)(addr)); })
-+#else
-+#define BCM4710_DUMMY_RREG()
-+
-+#define BCM4710_FILL_TLB(addr)
-+#define BCM4710_PROTECTED_FILL_TLB(addr)
-+#endif
-+
- #define cache_op(op,addr) \
- __asm__ __volatile__( \
- " .set noreorder \n" \
-@@ -27,12 +39,25 @@
-
- static inline void flush_icache_line_indexed(unsigned long addr)
- {
-- cache_op(Index_Invalidate_I, addr);
-+ unsigned int way;
-+ unsigned long ws_inc = 1UL << current_cpu_data.dcache.waybit;
-+
-+ for (way = 0; way < current_cpu_data.dcache.ways; way++) {
-+ cache_op(Index_Invalidate_I, addr);
-+ addr += ws_inc;
-+ }
- }
-
- static inline void flush_dcache_line_indexed(unsigned long addr)
- {
-- cache_op(Index_Writeback_Inv_D, addr);
-+ unsigned int way;
-+ unsigned long ws_inc = 1UL << current_cpu_data.dcache.waybit;
-+
-+ for (way = 0; way < current_cpu_data.dcache.ways; way++) {
-+ BCM4710_DUMMY_RREG();
-+ cache_op(Index_Writeback_Inv_D, addr);
-+ addr += ws_inc;
-+ }
- }
-
- static inline void flush_scache_line_indexed(unsigned long addr)
-@@ -47,6 +72,7 @@
-
- static inline void flush_dcache_line(unsigned long addr)
- {
-+ BCM4710_DUMMY_RREG();
- cache_op(Hit_Writeback_Inv_D, addr);
- }
-
-@@ -91,6 +117,7 @@
- */
- static inline void protected_writeback_dcache_line(unsigned long addr)
- {
-+ BCM4710_DUMMY_RREG();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- ".set mips3\n"
-@@ -138,6 +165,62 @@
- : "r" (base), \
- "i" (op));
-
-+#define cache_unroll(base,op) \
-+ __asm__ __volatile__(" \
-+ .set noreorder; \
-+ .set mips3; \
-+ cache %1, (%0); \
-+ .set mips0; \
-+ .set reorder" \
-+ : \
-+ : "r" (base), \
-+ "i" (op));
-+
-+
-+static inline void blast_dcache(void)
-+{
-+ unsigned long start = KSEG0;
-+ unsigned long dcache_size = current_cpu_data.dcache.waysize * current_cpu_data.dcache.ways;
-+ unsigned long end = (start + dcache_size);
-+
-+ while(start < end) {
-+ BCM4710_DUMMY_RREG();
-+ cache_unroll(start,Index_Writeback_Inv_D);
-+ start += current_cpu_data.dcache.linesz;
-+ }
-+}
-+
-+static inline void blast_dcache_page(unsigned long page)
-+{
-+ unsigned long start = page;
-+ unsigned long end = start + PAGE_SIZE;
-+
-+ BCM4710_FILL_TLB(start);
-+ do {
-+ BCM4710_DUMMY_RREG();
-+ cache_unroll(start,Hit_Writeback_Inv_D);
-+ start += current_cpu_data.dcache.linesz;
-+ } while (start < end);
-+}
-+
-+static inline void blast_dcache_page_indexed(unsigned long page)
-+{
-+ unsigned long start = page;
-+ unsigned long end = start + PAGE_SIZE;
-+ unsigned long ws_inc = 1UL << current_cpu_data.dcache.waybit;
-+ unsigned long ws_end = current_cpu_data.dcache.ways <<
-+ current_cpu_data.dcache.waybit;
-+ unsigned long ws, addr;
-+
-+ for (ws = 0; ws < ws_end; ws += ws_inc) {
-+ start = page + ws;
-+ for (addr = start; addr < end; addr += current_cpu_data.dcache.linesz) {
-+ BCM4710_DUMMY_RREG();
-+ cache_unroll(addr,Index_Writeback_Inv_D);
-+ }
-+ }
-+}
-+
- static inline void blast_dcache16(void)
- {
- unsigned long start = KSEG0;
-@@ -148,8 +231,9 @@
- unsigned long ws, addr;
-
- for (ws = 0; ws < ws_end; ws += ws_inc)
-- for (addr = start; addr < end; addr += 0x200)
-+ for (addr = start; addr < end; addr += 0x200) {
- cache16_unroll32(addr|ws,Index_Writeback_Inv_D);
-+ }
- }
-
- static inline void blast_dcache16_page(unsigned long page)
-@@ -173,8 +257,9 @@
- unsigned long ws, addr;
-
- for (ws = 0; ws < ws_end; ws += ws_inc)
-- for (addr = start; addr < end; addr += 0x200)
-+ for (addr = start; addr < end; addr += 0x200) {
- cache16_unroll32(addr|ws,Index_Writeback_Inv_D);
-+ }
- }
-
- static inline void blast_icache16(void)
-@@ -196,6 +281,7 @@
- unsigned long start = page;
- unsigned long end = start + PAGE_SIZE;
-
-+ BCM4710_FILL_TLB(start);
- do {
- cache16_unroll32(start,Hit_Invalidate_I);
- start += 0x200;
-@@ -281,6 +367,7 @@
- : "r" (base), \
- "i" (op));
-
-+
- static inline void blast_dcache32(void)
- {
- unsigned long start = KSEG0;
-@@ -291,8 +378,9 @@
- unsigned long ws, addr;
-
- for (ws = 0; ws < ws_end; ws += ws_inc)
-- for (addr = start; addr < end; addr += 0x400)
-+ for (addr = start; addr < end; addr += 0x400) {
- cache32_unroll32(addr|ws,Index_Writeback_Inv_D);
-+ }
- }
-
- static inline void blast_dcache32_page(unsigned long page)
-@@ -316,8 +404,9 @@
- unsigned long ws, addr;
-
- for (ws = 0; ws < ws_end; ws += ws_inc)
-- for (addr = start; addr < end; addr += 0x400)
-+ for (addr = start; addr < end; addr += 0x400) {
- cache32_unroll32(addr|ws,Index_Writeback_Inv_D);
-+ }
- }
-
- static inline void blast_icache32(void)
-@@ -339,6 +428,7 @@
- unsigned long start = page;
- unsigned long end = start + PAGE_SIZE;
-
-+ BCM4710_FILL_TLB(start);
- do {
- cache32_unroll32(start,Hit_Invalidate_I);
- start += 0x400;
-@@ -443,6 +533,7 @@
- unsigned long start = page;
- unsigned long end = start + PAGE_SIZE;
-
-+ BCM4710_FILL_TLB(start);
- do {
- cache64_unroll32(start,Hit_Invalidate_I);
- start += 0x800;
-@@ -567,4 +658,17 @@
- cache128_unroll32(addr|ws,Index_Writeback_Inv_SD);
- }
-
-+extern inline void fill_icache_line(unsigned long addr)
-+{
-+ __asm__ __volatile__(
-+ ".set noreorder\n\t"
-+ ".set mips3\n\t"
-+ "cache %1, (%0)\n\t"
-+ ".set mips0\n\t"
-+ ".set reorder"
-+ :
-+ : "r" (addr),
-+ "i" (Fill));
-+}
-+
- #endif /* __ASM_R4KCACHE_H */
-diff -Nur linux-2.4.32/include/asm-mips/reg.h linux-2.4.32.patched/include/asm-mips/reg.h
---- linux-2.4.32/include/asm-mips/reg.h 2002-08-03 02:39:45.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips/reg.h 2006-03-13 18:55:54.000000000 +0100
-@@ -45,6 +45,9 @@
- /*
- * k0/k1 unsaved
- */
-+#define EF_REG26 32
-+#define EF_REG27 33
-+
- #define EF_REG28 34
- #define EF_REG29 35
- #define EF_REG30 36
-@@ -60,6 +63,7 @@
- #define EF_CP0_BADVADDR 41
- #define EF_CP0_STATUS 42
- #define EF_CP0_CAUSE 43
-+#define EF_UNUSED0 44
-
- #define EF_SIZE 180 /* size in bytes */
-
-diff -Nur linux-2.4.32/include/asm-mips/serial.h linux-2.4.32.patched/include/asm-mips/serial.h
---- linux-2.4.32/include/asm-mips/serial.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/serial.h 2006-03-13 18:55:59.000000000 +0100
-@@ -223,6 +223,13 @@
- #define TXX927_SERIAL_PORT_DEFNS
- #endif
-
-+#ifdef CONFIG_BCM947XX
-+/* reserve 4 ports to be configured at runtime */
-+#define BCM947XX_SERIAL_PORT_DEFNS { 0, }, { 0, }, { 0, }, { 0, },
-+#else
-+#define BCM947XX_SERIAL_PORT_DEFNS
-+#endif
-+
- #ifdef CONFIG_HAVE_STD_PC_SERIAL_PORT
- #define STD_SERIAL_PORT_DEFNS \
- /* UART CLK PORT IRQ FLAGS */ \
-@@ -470,6 +477,7 @@
- #define SERIAL_PORT_DFNS \
- ATLAS_SERIAL_PORT_DEFNS \
- AU1000_SERIAL_PORT_DEFNS \
-+ BCM947XX_SERIAL_PORT_DEFNS \
- COBALT_SERIAL_PORT_DEFNS \
- DDB5477_SERIAL_PORT_DEFNS \
- EV96100_SERIAL_PORT_DEFNS \
-diff -Nur linux-2.4.32/include/asm-mips/sgi/hpc3.h linux-2.4.32.patched/include/asm-mips/sgi/hpc3.h
---- linux-2.4.32/include/asm-mips/sgi/hpc3.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips/sgi/hpc3.h 2006-03-13 18:55:54.000000000 +0100
-@@ -128,26 +128,26 @@
- volatile u32 rx_gfptr; /* current GIO fifo ptr */
- volatile u32 rx_dfptr; /* current device fifo ptr */
- u32 _unused1; /* padding */
-- volatile u32 rx_reset; /* reset register */
--#define HPC3_ERXRST_CRESET 0x1 /* Reset dma channel and external controller */
--#define HPC3_ERXRST_CLRIRQ 0x2 /* Clear channel interrupt */
--#define HPC3_ERXRST_LBACK 0x4 /* Enable diagnostic loopback mode of Seeq8003 */
--
-- volatile u32 rx_dconfig; /* DMA configuration register */
--#define HPC3_ERXDCFG_D1 0x0000f /* Cycles to spend in D1 state for PIO */
--#define HPC3_ERXDCFG_D2 0x000f0 /* Cycles to spend in D2 state for PIO */
--#define HPC3_ERXDCFG_D3 0x00f00 /* Cycles to spend in D3 state for PIO */
--#define HPC3_ERXDCFG_WCTRL 0x01000 /* Enable writes of desc into ex ctrl port */
--#define HPC3_ERXDCFG_FRXDC 0x02000 /* Clear eop stat bits upon rxdc, hw seeq fix */
--#define HPC3_ERXDCFG_FEOP 0x04000 /* Bad packet marker timeout enable */
--#define HPC3_ERXDCFG_FIRQ 0x08000 /* Another bad packet timeout enable */
--#define HPC3_ERXDCFG_PTO 0x30000 /* Programmed timeout value for above two */
--
-- volatile u32 rx_pconfig; /* PIO configuration register */
--#define HPC3_ERXPCFG_P1 0x000f /* Cycles to spend in P1 state for PIO */
--#define HPC3_ERXPCFG_P2 0x00f0 /* Cycles to spend in P2 state for PIO */
--#define HPC3_ERXPCFG_P3 0x0f00 /* Cycles to spend in P3 state for PIO */
--#define HPC3_ERXPCFG_TST 0x1000 /* Diagnistic ram test feature bit */
-+ volatile u32 reset; /* reset register */
-+#define HPC3_ERST_CRESET 0x1 /* Reset dma channel and external controller */
-+#define HPC3_ERST_CLRIRQ 0x2 /* Clear channel interrupt */
-+#define HPC3_ERST_LBACK 0x4 /* Enable diagnostic loopback mode of Seeq8003 */
-+
-+ volatile u32 dconfig; /* DMA configuration register */
-+#define HPC3_EDCFG_D1 0x0000f /* Cycles to spend in D1 state for PIO */
-+#define HPC3_EDCFG_D2 0x000f0 /* Cycles to spend in D2 state for PIO */
-+#define HPC3_EDCFG_D3 0x00f00 /* Cycles to spend in D3 state for PIO */
-+#define HPC3_EDCFG_WCTRL 0x01000 /* Enable writes of desc into ex ctrl port */
-+#define HPC3_EDCFG_FRXDC 0x02000 /* Clear eop stat bits upon rxdc, hw seeq fix */
-+#define HPC3_EDCFG_FEOP 0x04000 /* Bad packet marker timeout enable */
-+#define HPC3_EDCFG_FIRQ 0x08000 /* Another bad packet timeout enable */
-+#define HPC3_EDCFG_PTO 0x30000 /* Programmed timeout value for above two */
-+
-+ volatile u32 pconfig; /* PIO configuration register */
-+#define HPC3_EPCFG_P1 0x000f /* Cycles to spend in P1 state for PIO */
-+#define HPC3_EPCFG_P2 0x00f0 /* Cycles to spend in P2 state for PIO */
-+#define HPC3_EPCFG_P3 0x0f00 /* Cycles to spend in P3 state for PIO */
-+#define HPC3_EPCFG_TST 0x1000 /* Diagnistic ram test feature bit */
-
- u32 _unused2[0x1000/4 - 8]; /* padding */
-
-@@ -221,7 +221,7 @@
- #define HPC3_BESTAT_PIDMASK 0x3f700 /* DMA channel parity identifier */
-
- u32 _unused1[0x14000/4 - 5]; /* padding */
--
-+
- /* Now direct PIO per-HPC3 peripheral access to external regs. */
- volatile u32 scsi0_ext[256]; /* SCSI channel 0 external regs */
- u32 _unused2[0x7c00/4];
-@@ -304,7 +304,7 @@
- volatile u32 bbram[8192-50-14]; /* Battery backed ram */
- };
-
--/*
-+/*
- * It is possible to have two HPC3's within the address space on
- * one machine, though only having one is more likely on an Indy.
- */
-diff -Nur linux-2.4.32/include/asm-mips/signal.h linux-2.4.32.patched/include/asm-mips/signal.h
---- linux-2.4.32/include/asm-mips/signal.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips/signal.h 2006-03-13 18:57:11.000000000 +0100
-@@ -111,6 +111,12 @@
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x02000000
-
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
-+#endif
-+
- #endif /* __KERNEL__ */
-
- #define SIG_BLOCK 1 /* for blocking signals */
-diff -Nur linux-2.4.32/include/asm-mips/stackframe.h linux-2.4.32.patched/include/asm-mips/stackframe.h
---- linux-2.4.32/include/asm-mips/stackframe.h 2002-11-29 00:53:15.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/stackframe.h 2006-03-13 18:55:59.000000000 +0100
-@@ -209,6 +209,20 @@
-
- #endif
-
-+#if defined(CONFIG_BCM4710) || defined(CONFIG_BCM4704)
-+
-+#undef RESTORE_SP_AND_RET
-+#define RESTORE_SP_AND_RET \
-+ lw sp, PT_R29(sp); \
-+ .set mips3; \
-+ nop; \
-+ nop; \
-+ eret; \
-+ .set mips0
-+
-+#endif
-+
-+
- #define RESTORE_SP \
- lw sp, PT_R29(sp); \
-
-diff -Nur linux-2.4.32/include/asm-mips/timex.h linux-2.4.32.patched/include/asm-mips/timex.h
---- linux-2.4.32/include/asm-mips/timex.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips/timex.h 2006-03-13 18:57:11.000000000 +0100
-@@ -31,6 +31,19 @@
- return read_c0_count();
- }
-
-+extern __u32 get_htscl(void);
-+extern __u64 get_tscll(void);
-+
-+#define rdtsc(low, high) \
-+ high = get_htscl(); \
-+ low = read_c0_count();
-+
-+#define rdtscl(low) \
-+ low = read_c0_count();
-+
-+#define rdtscll(val) \
-+ val = get_tscll();
-+
- #define vxtime_lock() do {} while (0)
- #define vxtime_unlock() do {} while (0)
-
-diff -Nur linux-2.4.32/include/asm-mips/tx4927/tx4927.h linux-2.4.32.patched/include/asm-mips/tx4927/tx4927.h
---- linux-2.4.32/include/asm-mips/tx4927/tx4927.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips/tx4927/tx4927.h 2006-03-13 18:55:54.000000000 +0100
-@@ -88,8 +88,8 @@
-
-
- /* TX4927 Configuration registers (64-bit registers) */
--#define TX4927_CONFIG_BASE 0xe300
--#define TX4927_CONFIG_CCFG 0xe300
-+#define TX4927_CONFIG_BASE 0xe000
-+#define TX4927_CONFIG_CCFG 0xe000
- #define TX4927_CONFIG_CCFG_RESERVED_42_63 BM_63_42
- #define TX4927_CONFIG_CCFG_WDRST BM_41_41
- #define TX4927_CONFIG_CCFG_WDREXEN BM_40_40
-@@ -124,14 +124,14 @@
- #define TX4927_CONFIG_CCFG_ENDIAN BM_02_02
- #define TX4927_CONFIG_CCFG_ARMODE BM_01_01
- #define TX4927_CONFIG_CCFG_ACEHOLD BM_00_00
--#define TX4927_CONFIG_REVID 0xe308
-+#define TX4927_CONFIG_REVID 0xe008
- #define TX4927_CONFIG_REVID_RESERVED_32_63 BM_32_63
- #define TX4927_CONFIG_REVID_PCODE BM_16_31
- #define TX4927_CONFIG_REVID_MJERREV BM_12_15
- #define TX4927_CONFIG_REVID_MINEREV BM_08_11
- #define TX4927_CONFIG_REVID_MJREV BM_04_07
- #define TX4927_CONFIG_REVID_MINREV BM_00_03
--#define TX4927_CONFIG_PCFG 0xe310
-+#define TX4927_CONFIG_PCFG 0xe010
- #define TX4927_CONFIG_PCFG_RESERVED_57_63 BM_57_63
- #define TX4927_CONFIG_PCFG_DRVDATA BM_56_56
- #define TX4927_CONFIG_PCFG_DRVCB BM_55_55
-@@ -197,10 +197,10 @@
- #define TX4927_CONFIG_PCFG_DMASEL0_SIO1 BM_00_00
- #define TX4927_CONFIG_PCFG_DMASEL0_ACLC0 BM_01_01
- #define TX4927_CONFIG_PCFG_DMASEL0_ACLC2 BM_00_01
--#define TX4927_CONFIG_TOEA 0xe318
-+#define TX4927_CONFIG_TOEA 0xe018
- #define TX4927_CONFIG_TOEA_RESERVED_36_63 BM_36_63
- #define TX4927_CONFIG_TOEA_TOEA BM_00_35
--#define TX4927_CONFIG_CLKCTR 0xe320
-+#define TX4927_CONFIG_CLKCTR 0xe020
- #define TX4927_CONFIG_CLKCTR_RESERVED_26_63 BM_26_63
- #define TX4927_CONFIG_CLKCTR_ACLCKD BM_25_25
- #define TX4927_CONFIG_CLKCTR_PIOCKD BM_24_24
-@@ -223,7 +223,7 @@
- #define TX4927_CONFIG_CLKCTR_TM2RST BM_02_02
- #define TX4927_CONFIG_CLKCTR_SIO0RST BM_01_01
- #define TX4927_CONFIG_CLKCTR_SIO1RST BM_00_00
--#define TX4927_CONFIG_GARBC 0xe330
-+#define TX4927_CONFIG_GARBC 0xe030
- #define TX4927_CONFIG_GARBC_RESERVED_10_63 BM_10_63
- #define TX4927_CONFIG_GARBC_SET_09 BM_09_09
- #define TX4927_CONFIG_GARBC_ARBMD BM_08_08
-@@ -243,7 +243,7 @@
- #define TX4927_CONFIG_GARBC_PRIORITY_H3_PDMAC BM_00_00
- #define TX4927_CONFIG_GARBC_PRIORITY_H3_DMAC BM_01_01
- #define TX4927_CONFIG_GARBC_PRIORITY_H3_BAD_VALUE BM_00_01
--#define TX4927_CONFIG_RAMP 0xe348
-+#define TX4927_CONFIG_RAMP 0xe048
- #define TX4927_CONFIG_RAMP_RESERVED_20_63 BM_20_63
- #define TX4927_CONFIG_RAMP_RAMP BM_00_19
- #define TX4927_CONFIG_LIMIT 0xefff
-@@ -456,7 +456,7 @@
- #define TX4927_ACLC_ACINTSTS 0xf710
- #define TX4927_ACLC_ACINTMSTS 0xf714
- #define TX4927_ACLC_ACINTEN 0xf718
--#define TX4927_ACLC_ACINTDIS 0xfR71c
-+#define TX4927_ACLC_ACINTDIS 0xf71c
- #define TX4927_ACLC_ACSEMAPH 0xf720
- #define TX4927_ACLC_ACGPIDAT 0xf740
- #define TX4927_ACLC_ACGPODAT 0xf744
-diff -Nur linux-2.4.32/include/asm-mips/uaccess.h linux-2.4.32.patched/include/asm-mips/uaccess.h
---- linux-2.4.32/include/asm-mips/uaccess.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/uaccess.h 2006-03-13 18:57:11.000000000 +0100
-@@ -149,7 +149,7 @@
- * Returns zero on success, or -EFAULT on error.
- */
- #define put_user(x,ptr) \
-- __put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-+ __put_user_check((x),(ptr),sizeof(*(ptr)))
-
- /*
- * get_user: - Get a simple variable from user space.
-@@ -169,7 +169,7 @@
- * On error, the variable @x is set to zero.
- */
- #define get_user(x,ptr) \
-- __get_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-+ __get_user_check((x),(ptr),sizeof(*(ptr)))
-
- /*
- * __put_user: - Write a simple value into user space, with less checking.
-@@ -191,7 +191,7 @@
- * Returns zero on success, or -EFAULT on error.
- */
- #define __put_user(x,ptr) \
-- __put_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-+ __put_user_nocheck((x),(ptr),sizeof(*(ptr)))
-
- /*
- * __get_user: - Get a simple variable from user space, with less checking.
-@@ -214,7 +214,7 @@
- * On error, the variable @x is set to zero.
- */
- #define __get_user(x,ptr) \
-- __get_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
-+ __get_user_nocheck((x),(ptr),sizeof(*(ptr)))
-
- struct __large_struct { unsigned long buf[100]; };
- #define __m(x) (*(struct __large_struct *)(x))
-@@ -232,7 +232,7 @@
- #define __get_user_nocheck(x,ptr,size) \
- ({ \
- long __gu_err = 0; \
-- __typeof(*(ptr)) __gu_val = 0; \
-+ __typeof(*(ptr)) __gu_val = (__typeof(*(ptr))) 0; \
- long __gu_addr; \
- __gu_addr = (long) (ptr); \
- switch (size) { \
-diff -Nur linux-2.4.32/include/asm-mips/unistd.h linux-2.4.32.patched/include/asm-mips/unistd.h
---- linux-2.4.32/include/asm-mips/unistd.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips/unistd.h 2006-03-13 18:55:54.000000000 +0100
-@@ -760,7 +760,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- /*
-@@ -788,7 +788,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall2(type,name,atype,a,btype,b) \
-@@ -813,7 +813,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall3(type,name,atype,a,btype,b,ctype,c) \
-@@ -839,7 +839,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \
-@@ -865,7 +865,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #if (_MIPS_SIM == _MIPS_SIM_ABI32)
-@@ -902,7 +902,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
-@@ -935,7 +935,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */
-@@ -966,7 +966,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
-@@ -995,7 +995,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
-diff -Nur linux-2.4.32/include/asm-mips64/checksum.h linux-2.4.32.patched/include/asm-mips64/checksum.h
---- linux-2.4.32/include/asm-mips64/checksum.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips64/checksum.h 2006-03-13 18:55:54.000000000 +0100
-@@ -144,7 +144,7 @@
- "daddu\t%0, %4\n\t"
- "dsll32\t$1, %0, 0\n\t"
- "daddu\t%0, $1\n\t"
-- "dsrl32\t%0, %0, 0\n\t"
-+ "dsra32\t%0, %0, 0\n\t"
- ".set\tat"
- : "=&r" (sum)
- : "0" (daddr), "r"(saddr),
-diff -Nur linux-2.4.32/include/asm-mips64/elf.h linux-2.4.32.patched/include/asm-mips64/elf.h
---- linux-2.4.32/include/asm-mips64/elf.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips64/elf.h 2006-03-13 18:55:54.000000000 +0100
-@@ -64,9 +64,10 @@
- #define USE_ELF_CORE_DUMP
- #define ELF_EXEC_PAGESIZE PAGE_SIZE
-
--#define ELF_CORE_COPY_REGS(_dest,_regs) \
-- memcpy((char *) &_dest, (char *) _regs, \
-- sizeof(struct pt_regs));
-+extern void dump_regs(elf_greg_t *, struct pt_regs *regs);
-+
-+#define ELF_CORE_COPY_REGS(elf_regs, regs) \
-+ dump_regs((elf_greg_t *)&(elf_regs), regs);
-
- /* This yields a mask that user programs can use to figure out what
- instruction set this cpu supports. This could be done in userspace,
-diff -Nur linux-2.4.32/include/asm-mips64/hazards.h linux-2.4.32.patched/include/asm-mips64/hazards.h
---- linux-2.4.32/include/asm-mips64/hazards.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips64/hazards.h 2006-03-13 18:55:54.000000000 +0100
-@@ -3,7 +3,7 @@
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
-- * Copyright (C) 2003 Ralf Baechle
-+ * Copyright (C) 2003, 2004 Ralf Baechle
- */
- #ifndef _ASM_HAZARDS_H
- #define _ASM_HAZARDS_H
-@@ -12,37 +12,200 @@
-
- #ifdef __ASSEMBLY__
-
-+ .macro _ssnop
-+ sll $0, $0, 1
-+ .endm
-+
- /*
- * RM9000 hazards. When the JTLB is updated by tlbwi or tlbwr, a subsequent
- * use of the JTLB for instructions should not occur for 4 cpu cycles and use
- * for data translations should not occur for 3 cpu cycles.
- */
- #ifdef CONFIG_CPU_RM9000
--#define rm9000_tlb_hazard \
-+
-+#define mtc0_tlbw_hazard \
-+ .set push; \
- .set mips32; \
-- ssnop; ssnop; ssnop; ssnop; \
-- .set mips0
-+ _ssnop; _ssnop; _ssnop; _ssnop; \
-+ .set pop
-+
-+#define tlbw_eret_hazard \
-+ .set push; \
-+ .set mips32; \
-+ _ssnop; _ssnop; _ssnop; _ssnop; \
-+ .set pop
-+
- #else
--#define rm9000_tlb_hazard
-+
-+/*
-+ * The taken branch will result in a two cycle penalty for the two killed
-+ * instructions on R4000 / R4400. Other processors only have a single cycle
-+ * hazard so this is nice trick to have an optimal code for a range of
-+ * processors.
-+ */
-+#define mtc0_tlbw_hazard \
-+ b . + 8
-+#define tlbw_eret_hazard \
-+ nop
- #endif
-
-+/*
-+ * mtc0->mfc0 hazard
-+ * The 24K has a 2 cycle mtc0/mfc0 execution hazard.
-+ * It is a MIPS32R2 processor so ehb will clear the hazard.
-+ */
-+
-+#ifdef CONFIG_CPU_MIPSR2
-+/*
-+ * Use a macro for ehb unless explicit support for MIPSR2 is enabled
-+ */
-+ .macro ehb
-+ sll $0, $0, 3
-+ .endm
-+
-+#define irq_enable_hazard \
-+ ehb # irq_enable_hazard
-+
-+#define irq_disable_hazard \
-+ ehb # irq_disable_hazard
-+
-+#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_RM9000)
-+
-+/*
-+ * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer.
-+ */
-+
-+#define irq_enable_hazard
-+
-+#define irq_disable_hazard
-+
- #else
-
- /*
-+ * Classic MIPS needs 1 - 3 nops or ssnops
-+ */
-+#define irq_enable_hazard
-+#define irq_disable_hazard \
-+ _ssnop; _ssnop; _ssnop
-+
-+#endif
-+
-+#else /* __ASSEMBLY__ */
-+
-+/*
- * RM9000 hazards. When the JTLB is updated by tlbwi or tlbwr, a subsequent
- * use of the JTLB for instructions should not occur for 4 cpu cycles and use
- * for data translations should not occur for 3 cpu cycles.
- */
- #ifdef CONFIG_CPU_RM9000
--#define rm9000_tlb_hazard() \
-+
-+#define mtc0_tlbw_hazard() \
-+ __asm__ __volatile__( \
-+ ".set\tmips32\n\t" \
-+ "_ssnop; _ssnop; _ssnop; _ssnop\n\t" \
-+ ".set\tmips0")
-+
-+#define tlbw_use_hazard() \
- __asm__ __volatile__( \
- ".set\tmips32\n\t" \
-- "ssnop; ssnop; ssnop; ssnop\n\t" \
-+ "_ssnop; _ssnop; _ssnop; _ssnop\n\t" \
- ".set\tmips0")
- #else
--#define rm9000_tlb_hazard() do { } while (0)
-+
-+/*
-+ * Overkill warning ...
-+ */
-+#define mtc0_tlbw_hazard() \
-+ __asm__ __volatile__( \
-+ ".set noreorder\n\t" \
-+ "nop; nop; nop; nop; nop; nop;\n\t" \
-+ ".set reorder\n\t")
-+
-+#define tlbw_use_hazard() \
-+ __asm__ __volatile__( \
-+ ".set noreorder\n\t" \
-+ "nop; nop; nop; nop; nop; nop;\n\t" \
-+ ".set reorder\n\t")
-+
- #endif
-
-+/*
-+ * mtc0->mfc0 hazard
-+ * The 24K has a 2 cycle mtc0/mfc0 execution hazard.
-+ * It is a MIPS32R2 processor so ehb will clear the hazard.
-+ */
-+
-+#ifdef CONFIG_CPU_MIPSR2
-+/*
-+ * Use a macro for ehb unless explicit support for MIPSR2 is enabled
-+ */
-+__asm__(
-+ " .macro ehb \n\t"
-+ " sll $0, $0, 3 \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " .macro\tirq_enable_hazard \n\t"
-+ " ehb \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " .macro\tirq_disable_hazard \n\t"
-+ " ehb \n\t"
-+ " .endm");
-+
-+#define irq_enable_hazard() \
-+ __asm__ __volatile__( \
-+ "ehb\t\t\t\t# irq_enable_hazard")
-+
-+#define irq_disable_hazard() \
-+ __asm__ __volatile__( \
-+ "ehb\t\t\t\t# irq_disable_hazard")
-+
-+#elif defined(CONFIG_CPU_R10000)
-+
-+/*
-+ * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer.
-+ */
-+
-+__asm__(
-+ " .macro\tirq_enable_hazard \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " .macro\tirq_disable_hazard \n\t"
-+ " .endm");
-+
-+#define irq_enable_hazard() do { } while (0)
-+#define irq_disable_hazard() do { } while (0)
-+
-+#else
-+
-+/*
-+ * Default for classic MIPS processors. Assume worst case hazards but don't
-+ * care about the irq_enable_hazard - sooner or later the hardware will
-+ * enable it and we don't care when exactly.
-+ */
-+
-+__asm__(
-+ " .macro _ssnop \n\t"
-+ " sll $0, $2, 1 \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " # \n\t"
-+ " # There is a hazard but we do not care \n\t"
-+ " # \n\t"
-+ " .macro\tirq_enable_hazard \n\t"
-+ " .endm \n\t"
-+ " \n\t"
-+ " .macro\tirq_disable_hazard \n\t"
-+ " _ssnop; _ssnop; _ssnop \n\t"
-+ " .endm");
-+
-+#define irq_enable_hazard() do { } while (0)
-+#define irq_disable_hazard() \
-+ __asm__ __volatile__( \
-+ "_ssnop; _ssnop; _ssnop;\t\t# irq_disable_hazard")
-+
- #endif
-
-+#endif /* __ASSEMBLY__ */
-+
- #endif /* _ASM_HAZARDS_H */
-diff -Nur linux-2.4.32/include/asm-mips64/ide.h linux-2.4.32.patched/include/asm-mips64/ide.h
---- linux-2.4.32/include/asm-mips64/ide.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips64/ide.h 2006-03-13 18:55:54.000000000 +0100
-@@ -32,12 +32,12 @@
-
- extern struct ide_ops *ide_ops;
-
--static __inline__ int ide_default_irq(ide_ioreg_t base)
-+static inline int ide_default_irq(ide_ioreg_t base)
- {
- return ide_ops->ide_default_irq(base);
- }
-
--static __inline__ ide_ioreg_t ide_default_io_base(int index)
-+static inline ide_ioreg_t ide_default_io_base(int index)
- {
- return ide_ops->ide_default_io_base(index);
- }
-@@ -48,7 +48,7 @@
- ide_ops->ide_init_hwif_ports(hw, data_port, ctrl_port, irq);
- }
-
--static __inline__ void ide_init_default_hwifs(void)
-+static inline void ide_init_default_hwifs(void)
- {
- #ifndef CONFIG_BLK_DEV_IDEPCI
- hw_regs_t hw;
-@@ -68,7 +68,89 @@
- #define ide_ack_intr(hwif) ((hwif)->hw.ack_intr ? (hwif)->hw.ack_intr(hwif) : 1)
- #endif
-
--#include <asm-generic/ide_iops.h>
-+/* MIPS port and memory-mapped I/O string operations. */
-+
-+static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size)
-+{
-+ if (cpu_has_dc_aliases) {
-+ unsigned long end = addr + size;
-+ for (; addr < end; addr += PAGE_SIZE)
-+ flush_dcache_page(virt_to_page(addr));
-+ }
-+}
-+
-+static inline void __ide_insw(unsigned long port, void *addr,
-+ unsigned int count)
-+{
-+ insw(port, addr, count);
-+ __ide_flush_dcache_range((unsigned long)addr, count * 2);
-+}
-+
-+static inline void __ide_insl(unsigned long port, void *addr, unsigned int count)
-+{
-+ insl(port, addr, count);
-+ __ide_flush_dcache_range((unsigned long)addr, count * 4);
-+}
-+
-+static inline void __ide_outsw(unsigned long port, const void *addr,
-+ unsigned long count)
-+{
-+ outsw(port, addr, count);
-+ __ide_flush_dcache_range((unsigned long)addr, count * 2);
-+}
-+
-+static inline void __ide_outsl(unsigned long port, const void *addr,
-+ unsigned long count)
-+{
-+ outsl(port, addr, count);
-+ __ide_flush_dcache_range((unsigned long)addr, count * 4);
-+}
-+
-+static inline void __ide_mm_insw(unsigned long port, void *addr, u32 count)
-+{
-+ unsigned long start = (unsigned long) addr;
-+
-+ while (count--) {
-+ *(u16 *)addr = readw(port);
-+ addr += 2;
-+ }
-+ __ide_flush_dcache_range(start, count * 2);
-+}
-+
-+static inline void __ide_mm_insl(unsigned long port, void *addr, u32 count)
-+{
-+ unsigned long start = (unsigned long) addr;
-+
-+ while (count--) {
-+ *(u32 *)addr = readl(port);
-+ addr += 4;
-+ }
-+ __ide_flush_dcache_range(start, count * 4);
-+}
-+
-+static inline void __ide_mm_outsw(unsigned long port, const void *addr,
-+ u32 count)
-+{
-+ unsigned long start = (unsigned long) addr;
-+
-+ while (count--) {
-+ writew(*(u16 *)addr, port);
-+ addr += 2;
-+ }
-+ __ide_flush_dcache_range(start, count * 2);
-+}
-+
-+static inline void __ide_mm_outsl(unsigned long port, const void *addr,
-+ u32 count)
-+{
-+ unsigned long start = (unsigned long) addr;
-+
-+ while (count--) {
-+ writel(*(u32 *)addr, port);
-+ addr += 4;
-+ }
-+ __ide_flush_dcache_range(start, count * 4);
-+}
-
- #endif /* __KERNEL__ */
-
-diff -Nur linux-2.4.32/include/asm-mips64/io.h linux-2.4.32.patched/include/asm-mips64/io.h
---- linux-2.4.32/include/asm-mips64/io.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips64/io.h 2006-03-13 18:55:54.000000000 +0100
-@@ -414,7 +414,8 @@
- return __ioswab32(__val);
- }
-
--static inline void __outsb(unsigned long port, void *addr, unsigned int count)
-+static inline void __outsb(unsigned long port, const void *addr,
-+ unsigned int count)
- {
- while (count--) {
- outb(*(u8 *)addr, port);
-@@ -430,7 +431,8 @@
- }
- }
-
--static inline void __outsw(unsigned long port, void *addr, unsigned int count)
-+static inline void __outsw(unsigned long port, const void *addr,
-+ unsigned int count)
- {
- while (count--) {
- outw(*(u16 *)addr, port);
-@@ -446,7 +448,8 @@
- }
- }
-
--static inline void __outsl(unsigned long port, void *addr, unsigned int count)
-+static inline void __outsl(unsigned long port, const void *addr,
-+ unsigned int count)
- {
- while (count--) {
- outl(*(u32 *)addr, port);
-diff -Nur linux-2.4.32/include/asm-mips64/mipsregs.h linux-2.4.32.patched/include/asm-mips64/mipsregs.h
---- linux-2.4.32/include/asm-mips64/mipsregs.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips64/mipsregs.h 2006-03-13 18:55:54.000000000 +0100
-@@ -757,10 +757,18 @@
- #define read_c0_config1() __read_32bit_c0_register($16, 1)
- #define read_c0_config2() __read_32bit_c0_register($16, 2)
- #define read_c0_config3() __read_32bit_c0_register($16, 3)
-+#define read_c0_config4() __read_32bit_c0_register($16, 4)
-+#define read_c0_config5() __read_32bit_c0_register($16, 5)
-+#define read_c0_config6() __read_32bit_c0_register($16, 6)
-+#define read_c0_config7() __read_32bit_c0_register($16, 7)
- #define write_c0_config(val) __write_32bit_c0_register($16, 0, val)
- #define write_c0_config1(val) __write_32bit_c0_register($16, 1, val)
- #define write_c0_config2(val) __write_32bit_c0_register($16, 2, val)
- #define write_c0_config3(val) __write_32bit_c0_register($16, 3, val)
-+#define write_c0_config4(val) __write_32bit_c0_register($16, 4, val)
-+#define write_c0_config5(val) __write_32bit_c0_register($16, 5, val)
-+#define write_c0_config6(val) __write_32bit_c0_register($16, 6, val)
-+#define write_c0_config7(val) __write_32bit_c0_register($16, 7, val)
-
- /*
- * The WatchLo register. There may be upto 8 of them.
-@@ -856,42 +864,34 @@
- */
- static inline void tlb_probe(void)
- {
-- rm9000_tlb_hazard();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- "tlbp\n\t"
- ".set reorder");
-- rm9000_tlb_hazard();
- }
-
- static inline void tlb_read(void)
- {
-- rm9000_tlb_hazard();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- "tlbr\n\t"
- ".set reorder");
-- rm9000_tlb_hazard();
- }
-
- static inline void tlb_write_indexed(void)
- {
-- rm9000_tlb_hazard();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- "tlbwi\n\t"
- ".set reorder");
-- rm9000_tlb_hazard();
- }
-
- static inline void tlb_write_random(void)
- {
-- rm9000_tlb_hazard();
- __asm__ __volatile__(
- ".set noreorder\n\t"
- "tlbwr\n\t"
- ".set reorder");
-- rm9000_tlb_hazard();
- }
-
- /*
-diff -Nur linux-2.4.32/include/asm-mips64/ptrace.h linux-2.4.32.patched/include/asm-mips64/ptrace.h
---- linux-2.4.32/include/asm-mips64/ptrace.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips64/ptrace.h 2006-03-13 18:55:56.000000000 +0100
-@@ -5,6 +5,7 @@
- *
- * Copyright (C) 1994, 95, 96, 97, 98, 99, 2000 by Ralf Baechle
- * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
-+ * Copyright (C) 2004 Maciej W. Rozycki
- */
- #ifndef _ASM_PTRACE_H
- #define _ASM_PTRACE_H
-@@ -61,12 +62,10 @@
- "sd\t$22,"__str(PT_R22)"($29)\n\t" \
- "sd\t$23,"__str(PT_R23)"($29)\n\t" \
- "sd\t$30,"__str(PT_R30)"($29)\n\t" \
-+ "j\t_" #symbol "\n\t" \
- ".end\t" #symbol "\n\t" \
- ".size\t" #symbol",. - " #symbol)
-
--/* Used in declaration of save_static functions. */
--#define static_unused static __attribute__((unused))
--
- #define abi64_no_regargs \
- unsigned long __dummy0, \
- unsigned long __dummy1, \
-diff -Nur linux-2.4.32/include/asm-mips64/reg.h linux-2.4.32.patched/include/asm-mips64/reg.h
---- linux-2.4.32/include/asm-mips64/reg.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips64/reg.h 2006-03-13 18:55:54.000000000 +0100
-@@ -46,6 +46,9 @@
- /*
- * k0/k1 unsaved
- */
-+#define EF_REG26 26
-+#define EF_REG27 27
-+
- #define EF_REG28 28
- #define EF_REG29 29
- #define EF_REG30 30
-diff -Nur linux-2.4.32/include/asm-mips64/sgi/hpc3.h linux-2.4.32.patched/include/asm-mips64/sgi/hpc3.h
---- linux-2.4.32/include/asm-mips64/sgi/hpc3.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips64/sgi/hpc3.h 2006-03-13 18:55:54.000000000 +0100
-@@ -128,26 +128,26 @@
- volatile u32 rx_gfptr; /* current GIO fifo ptr */
- volatile u32 rx_dfptr; /* current device fifo ptr */
- u32 _unused1; /* padding */
-- volatile u32 rx_reset; /* reset register */
--#define HPC3_ERXRST_CRESET 0x1 /* Reset dma channel and external controller */
--#define HPC3_ERXRST_CLRIRQ 0x2 /* Clear channel interrupt */
--#define HPC3_ERXRST_LBACK 0x4 /* Enable diagnostic loopback mode of Seeq8003 */
--
-- volatile u32 rx_dconfig; /* DMA configuration register */
--#define HPC3_ERXDCFG_D1 0x0000f /* Cycles to spend in D1 state for PIO */
--#define HPC3_ERXDCFG_D2 0x000f0 /* Cycles to spend in D2 state for PIO */
--#define HPC3_ERXDCFG_D3 0x00f00 /* Cycles to spend in D3 state for PIO */
--#define HPC3_ERXDCFG_WCTRL 0x01000 /* Enable writes of desc into ex ctrl port */
--#define HPC3_ERXDCFG_FRXDC 0x02000 /* Clear eop stat bits upon rxdc, hw seeq fix */
--#define HPC3_ERXDCFG_FEOP 0x04000 /* Bad packet marker timeout enable */
--#define HPC3_ERXDCFG_FIRQ 0x08000 /* Another bad packet timeout enable */
--#define HPC3_ERXDCFG_PTO 0x30000 /* Programmed timeout value for above two */
--
-- volatile u32 rx_pconfig; /* PIO configuration register */
--#define HPC3_ERXPCFG_P1 0x000f /* Cycles to spend in P1 state for PIO */
--#define HPC3_ERXPCFG_P2 0x00f0 /* Cycles to spend in P2 state for PIO */
--#define HPC3_ERXPCFG_P3 0x0f00 /* Cycles to spend in P3 state for PIO */
--#define HPC3_ERXPCFG_TST 0x1000 /* Diagnistic ram test feature bit */
-+ volatile u32 reset; /* reset register */
-+#define HPC3_ERST_CRESET 0x1 /* Reset dma channel and external controller */
-+#define HPC3_ERST_CLRIRQ 0x2 /* Clear channel interrupt */
-+#define HPC3_ERST_LBACK 0x4 /* Enable diagnostic loopback mode of Seeq8003 */
-+
-+ volatile u32 dconfig; /* DMA configuration register */
-+#define HPC3_EDCFG_D1 0x0000f /* Cycles to spend in D1 state for PIO */
-+#define HPC3_EDCFG_D2 0x000f0 /* Cycles to spend in D2 state for PIO */
-+#define HPC3_EDCFG_D3 0x00f00 /* Cycles to spend in D3 state for PIO */
-+#define HPC3_EDCFG_WCTRL 0x01000 /* Enable writes of desc into ex ctrl port */
-+#define HPC3_EDCFG_FRXDC 0x02000 /* Clear eop stat bits upon rxdc, hw seeq fix */
-+#define HPC3_EDCFG_FEOP 0x04000 /* Bad packet marker timeout enable */
-+#define HPC3_EDCFG_FIRQ 0x08000 /* Another bad packet timeout enable */
-+#define HPC3_EDCFG_PTO 0x30000 /* Programmed timeout value for above two */
-+
-+ volatile u32 pconfig; /* PIO configuration register */
-+#define HPC3_EPCFG_P1 0x000f /* Cycles to spend in P1 state for PIO */
-+#define HPC3_EPCFG_P2 0x00f0 /* Cycles to spend in P2 state for PIO */
-+#define HPC3_EPCFG_P3 0x0f00 /* Cycles to spend in P3 state for PIO */
-+#define HPC3_EPCFG_TST 0x1000 /* Diagnistic ram test feature bit */
-
- u32 _unused2[0x1000/4 - 8]; /* padding */
-
-@@ -221,7 +221,7 @@
- #define HPC3_BESTAT_PIDMASK 0x3f700 /* DMA channel parity identifier */
-
- u32 _unused1[0x14000/4 - 5]; /* padding */
--
-+
- /* Now direct PIO per-HPC3 peripheral access to external regs. */
- volatile u32 scsi0_ext[256]; /* SCSI channel 0 external regs */
- u32 _unused2[0x7c00/4];
-@@ -304,7 +304,7 @@
- volatile u32 bbram[8192-50-14]; /* Battery backed ram */
- };
-
--/*
-+/*
- * It is possible to have two HPC3's within the address space on
- * one machine, though only having one is more likely on an Indy.
- */
-diff -Nur linux-2.4.32/include/asm-mips64/signal.h linux-2.4.32.patched/include/asm-mips64/signal.h
---- linux-2.4.32/include/asm-mips64/signal.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-mips64/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -119,6 +119,12 @@
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x02000000
-
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
-+#endif
-+
- #endif /* __KERNEL__ */
-
- #define SIG_BLOCK 1 /* for blocking signals */
-diff -Nur linux-2.4.32/include/asm-mips64/sn/nmi.h linux-2.4.32.patched/include/asm-mips64/sn/nmi.h
---- linux-2.4.32/include/asm-mips64/sn/nmi.h 2002-11-29 00:53:15.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips64/sn/nmi.h 2006-03-13 18:55:54.000000000 +0100
-@@ -8,7 +8,7 @@
- #ifndef __ASM_SN_NMI_H
- #define __ASM_SN_NMI_H
-
--#ident "$Revision: 1.2.4.2 $"
-+#ident "$Revision: 1.2.4.1 $"
-
- #include <asm/sn/addrs.h>
-
-diff -Nur linux-2.4.32/include/asm-mips64/unistd.h linux-2.4.32.patched/include/asm-mips64/unistd.h
---- linux-2.4.32/include/asm-mips64/unistd.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-mips64/unistd.h 2006-03-13 18:55:54.000000000 +0100
-@@ -760,7 +760,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- /*
-@@ -788,7 +788,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall2(type,name,atype,a,btype,b) \
-@@ -813,7 +813,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall3(type,name,atype,a,btype,b,ctype,c) \
-@@ -839,7 +839,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall4(type,name,atype,a,btype,b,ctype,c,dtype,d) \
-@@ -865,7 +865,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #if (_MIPS_SIM == _MIPS_SIM_ABI32)
-@@ -902,7 +902,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
-@@ -935,7 +935,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */
-@@ -966,7 +966,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #define _syscall6(type,name,atype,a,btype,b,ctype,c,dtype,d,etype,e,ftype,f) \
-@@ -995,7 +995,7 @@
- if (__a3 == 0) \
- return (type) __v0; \
- errno = __v0; \
-- return -1; \
-+ return (type)-1; \
- }
-
- #endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
-diff -Nur linux-2.4.32/include/asm-parisc/signal.h linux-2.4.32.patched/include/asm-parisc/signal.h
---- linux-2.4.32/include/asm-parisc/signal.h 2000-12-05 21:29:39.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-parisc/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -100,6 +100,12 @@
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x04000000
-
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
-+#endif
-+
- #endif /* __KERNEL__ */
-
- #define SIG_BLOCK 0 /* for blocking signals */
-diff -Nur linux-2.4.32/include/asm-ppc/byteorder.h linux-2.4.32.patched/include/asm-ppc/byteorder.h
---- linux-2.4.32/include/asm-ppc/byteorder.h 2003-06-13 16:51:38.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-ppc/byteorder.h 2006-03-13 18:55:55.000000000 +0100
-@@ -2,6 +2,7 @@
- #define _PPC_BYTEORDER_H
-
- #include <asm/types.h>
-+#include <linux/compiler.h>
-
- #ifdef __GNUC__
- #ifdef __KERNEL__
-@@ -50,7 +51,7 @@
- __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (taddr+4));
- }
-
--static __inline__ __const__ __u16 ___arch__swab16(__u16 value)
-+static __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 value)
- {
- __u16 result;
-
-@@ -58,7 +59,7 @@
- return result;
- }
-
--static __inline__ __const__ __u32 ___arch__swab32(__u32 value)
-+static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 value)
- {
- __u32 result;
-
-diff -Nur linux-2.4.32/include/asm-ppc/param.h linux-2.4.32.patched/include/asm-ppc/param.h
---- linux-2.4.32/include/asm-ppc/param.h 2003-06-13 16:51:38.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-ppc/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -3,6 +3,9 @@
-
- #ifndef HZ
- #define HZ 100
-+#ifdef __KERNEL__
-+#define hz_to_std(a) (a)
-+#endif
- #endif
-
- #define EXEC_PAGESIZE 4096
-diff -Nur linux-2.4.32/include/asm-ppc/signal.h linux-2.4.32.patched/include/asm-ppc/signal.h
---- linux-2.4.32/include/asm-ppc/signal.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-ppc/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -111,6 +111,13 @@
- #define SA_PROBE SA_ONESHOT
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x04000000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
-+#endif
-+
- #endif /* __KERNEL__ */
-
- #define SIG_BLOCK 0 /* for blocking signals */
-diff -Nur linux-2.4.32/include/asm-ppc/spinlock.h linux-2.4.32.patched/include/asm-ppc/spinlock.h
---- linux-2.4.32/include/asm-ppc/spinlock.h 2003-06-13 16:51:38.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-ppc/spinlock.h 2006-03-13 18:55:55.000000000 +0100
-@@ -40,7 +40,6 @@
- extern void _spin_lock(spinlock_t *lock);
- extern void _spin_unlock(spinlock_t *lock);
- extern int spin_trylock(spinlock_t *lock);
--extern unsigned long __spin_trylock(volatile unsigned long *lock);
-
- #define spin_lock(lp) _spin_lock(lp)
- #define spin_unlock(lp) _spin_unlock(lp)
-diff -Nur linux-2.4.32/include/asm-ppc/time.h linux-2.4.32.patched/include/asm-ppc/time.h
---- linux-2.4.32/include/asm-ppc/time.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-ppc/time.h 2006-03-13 18:55:55.000000000 +0100
-@@ -12,6 +12,7 @@
- #include <linux/config.h>
- #include <linux/mc146818rtc.h>
- #include <linux/threads.h>
-+#include <linux/compiler.h>
-
- #include <asm/processor.h>
-
-@@ -57,7 +58,7 @@
- /* Accessor functions for the timebase (RTC on 601) registers. */
- /* If one day CONFIG_POWER is added just define __USE_RTC as 1 */
- #ifdef CONFIG_6xx
--extern __inline__ int const __USE_RTC(void) {
-+extern __inline__ int __attribute_const__ __USE_RTC(void) {
- return (mfspr(SPRN_PVR)>>16) == 1;
- }
- #else
-diff -Nur linux-2.4.32/include/asm-s390/param.h linux-2.4.32.patched/include/asm-s390/param.h
---- linux-2.4.32/include/asm-s390/param.h 2001-02-13 23:13:44.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-s390/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -11,6 +11,9 @@
-
- #ifndef HZ
- #define HZ 100
-+#ifdef __KERNEL__
-+#define hz_to_std(a) (a)
-+#endif
- #endif
-
- #define EXEC_PAGESIZE 4096
-diff -Nur linux-2.4.32/include/asm-s390/signal.h linux-2.4.32.patched/include/asm-s390/signal.h
---- linux-2.4.32/include/asm-s390/signal.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-s390/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -129,8 +129,15 @@
- #define SA_SHIRQ 0x04000000
- #define SA_DOPATHGROUP 0x00100000
- #define SA_FORCE 0x00200000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- #define SIG_BLOCK 0 /* for blocking signals */
- #define SIG_UNBLOCK 1 /* for unblocking signals */
- #define SIG_SETMASK 2 /* for setting the signal mask */
-diff -Nur linux-2.4.32/include/asm-s390x/signal.h linux-2.4.32.patched/include/asm-s390x/signal.h
---- linux-2.4.32/include/asm-s390x/signal.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-s390x/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -129,8 +129,15 @@
- #define SA_SHIRQ 0x04000000
- #define SA_DOPATHGROUP 0x00100000
- #define SA_FORCE 0x00200000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- #define SIG_BLOCK 0 /* for blocking signals */
- #define SIG_UNBLOCK 1 /* for unblocking signals */
- #define SIG_SETMASK 2 /* for setting the signal mask */
-diff -Nur linux-2.4.32/include/asm-sh/param.h linux-2.4.32.patched/include/asm-sh/param.h
---- linux-2.4.32/include/asm-sh/param.h 2001-01-04 22:19:13.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-sh/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -3,6 +3,9 @@
-
- #ifndef HZ
- #define HZ 100
-+#ifdef __KERNEL__
-+#define hz_to_std(a) (a)
-+#endif
- #endif
-
- #define EXEC_PAGESIZE 4096
-diff -Nur linux-2.4.32/include/asm-sh/signal.h linux-2.4.32.patched/include/asm-sh/signal.h
---- linux-2.4.32/include/asm-sh/signal.h 1999-11-19 04:37:03.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-sh/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -107,8 +107,15 @@
- #define SA_PROBE SA_ONESHOT
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_SHIRQ 0x04000000
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- #define SIG_BLOCK 0 /* for blocking signals */
- #define SIG_UNBLOCK 1 /* for unblocking signals */
- #define SIG_SETMASK 2 /* for setting the signal mask */
-diff -Nur linux-2.4.32/include/asm-sparc/param.h linux-2.4.32.patched/include/asm-sparc/param.h
---- linux-2.4.32/include/asm-sparc/param.h 2000-10-30 23:34:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-sparc/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -4,6 +4,9 @@
-
- #ifndef HZ
- #define HZ 100
-+#ifdef __KERNEL__
-+#define hz_to_std(a) (a)
-+#endif
- #endif
-
- #define EXEC_PAGESIZE 8192 /* Thanks for sun4's we carry baggage... */
-diff -Nur linux-2.4.32/include/asm-sparc/signal.h linux-2.4.32.patched/include/asm-sparc/signal.h
---- linux-2.4.32/include/asm-sparc/signal.h 1999-09-08 20:14:32.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-sparc/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -176,8 +176,15 @@
- #define SA_PROBE SA_ONESHOT
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_STATIC_ALLOC 0x80
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- /* Type of a signal handler. */
- #ifdef __KERNEL__
- typedef void (*__sighandler_t)(int, int, struct sigcontext *, char *);
-diff -Nur linux-2.4.32/include/asm-sparc64/param.h linux-2.4.32.patched/include/asm-sparc64/param.h
---- linux-2.4.32/include/asm-sparc64/param.h 2000-10-30 23:34:12.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-sparc64/param.h 2006-03-13 18:55:54.000000000 +0100
-@@ -4,6 +4,9 @@
-
- #ifndef HZ
- #define HZ 100
-+#ifdef __KERNEL__
-+#define hz_to_std(a) (a)
-+#endif
- #endif
-
- #define EXEC_PAGESIZE 8192 /* Thanks for sun4's we carry baggage... */
-diff -Nur linux-2.4.32/include/asm-sparc64/signal.h linux-2.4.32.patched/include/asm-sparc64/signal.h
---- linux-2.4.32/include/asm-sparc64/signal.h 1999-09-08 20:14:32.000000000 +0200
-+++ linux-2.4.32.patched/include/asm-sparc64/signal.h 2006-03-13 18:55:56.000000000 +0100
-@@ -192,8 +192,15 @@
- #define SA_PROBE SA_ONESHOT
- #define SA_SAMPLE_RANDOM SA_RESTART
- #define SA_STATIC_ALLOC 0x80
-+
-+#ifdef CONFIG_NET_RANDOM
-+#define SA_NET_RANDOM SA_SAMPLE_RANDOM
-+#else
-+#define SA_NET_RANDOM 0
- #endif
-
-+#endif /* __KERNEL__ */
-+
- /* Type of a signal handler. */
- #ifdef __KERNEL__
- typedef void (*__sighandler_t)(int, struct sigcontext *);
-diff -Nur linux-2.4.32/include/asm-x86_64/byteorder.h linux-2.4.32.patched/include/asm-x86_64/byteorder.h
---- linux-2.4.32/include/asm-x86_64/byteorder.h 2002-11-29 00:53:15.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-x86_64/byteorder.h 2006-03-13 18:55:55.000000000 +0100
-@@ -2,16 +2,17 @@
- #define _X86_64_BYTEORDER_H
-
- #include <asm/types.h>
-+#include <linux/compiler.h>
-
- #ifdef __GNUC__
-
--static __inline__ __const__ __u64 ___arch__swab64(__u64 x)
-+static __inline__ __attribute_const__ __u64 ___arch__swab64(__u64 x)
- {
- __asm__("bswapq %0" : "=r" (x) : "0" (x));
- return x;
- }
-
--static __inline__ __const__ __u32 ___arch__swab32(__u32 x)
-+static __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x)
- {
- __asm__("bswapl %0" : "=r" (x) : "0" (x));
- return x;
-diff -Nur linux-2.4.32/include/asm-x86_64/processor.h linux-2.4.32.patched/include/asm-x86_64/processor.h
---- linux-2.4.32/include/asm-x86_64/processor.h 2005-11-16 20:12:54.000000000 +0100
-+++ linux-2.4.32.patched/include/asm-x86_64/processor.h 2006-03-13 18:55:55.000000000 +0100
-@@ -68,7 +68,6 @@
- #define X86_VENDOR_UNKNOWN 0xff
-
- extern struct cpuinfo_x86 boot_cpu_data;
--extern struct tss_struct init_tss[NR_CPUS];
-
- #ifdef CONFIG_SMP
- extern struct cpuinfo_x86 cpu_data[];
-@@ -300,6 +299,8 @@
- u32 io_bitmap[IO_BITMAP_SIZE];
- } __attribute__((packed)) ____cacheline_aligned;
-
-+extern struct tss_struct init_tss[NR_CPUS];
-+
- struct thread_struct {
- unsigned long rsp0;
- unsigned long rip;
-diff -Nur linux-2.4.32/include/config/60xx/wdt.h linux-2.4.32.patched/include/config/60xx/wdt.h
---- linux-2.4.32/include/config/60xx/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/60xx/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_60XX_WDT
-diff -Nur linux-2.4.32/include/config/64bit/phys/addr.h linux-2.4.32.patched/include/config/64bit/phys/addr.h
---- linux-2.4.32/include/config/64bit/phys/addr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/64bit/phys/addr.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_64BIT_PHYS_ADDR
-diff -Nur linux-2.4.32/include/config/6pack.h linux-2.4.32.patched/include/config/6pack.h
---- linux-2.4.32/include/config/6pack.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/6pack.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_6PACK
-diff -Nur linux-2.4.32/include/config/8139/old/rx/reset.h linux-2.4.32.patched/include/config/8139/old/rx/reset.h
---- linux-2.4.32/include/config/8139/old/rx/reset.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/8139/old/rx/reset.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_8139_OLD_RX_RESET
-diff -Nur linux-2.4.32/include/config/8139cp.h linux-2.4.32.patched/include/config/8139cp.h
---- linux-2.4.32/include/config/8139cp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/8139cp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_8139CP
-diff -Nur linux-2.4.32/include/config/8139too/8129.h linux-2.4.32.patched/include/config/8139too/8129.h
---- linux-2.4.32/include/config/8139too/8129.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/8139too/8129.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_8139TOO_8129
-diff -Nur linux-2.4.32/include/config/8139too/pio.h linux-2.4.32.patched/include/config/8139too/pio.h
---- linux-2.4.32/include/config/8139too/pio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/8139too/pio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_8139TOO_PIO
-diff -Nur linux-2.4.32/include/config/8139too/tune/twister.h linux-2.4.32.patched/include/config/8139too/tune/twister.h
---- linux-2.4.32/include/config/8139too/tune/twister.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/8139too/tune/twister.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_8139TOO_TUNE_TWISTER
-diff -Nur linux-2.4.32/include/config/8139too.h linux-2.4.32.patched/include/config/8139too.h
---- linux-2.4.32/include/config/8139too.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/8139too.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_8139TOO
-diff -Nur linux-2.4.32/include/config/acenic.h linux-2.4.32.patched/include/config/acenic.h
---- linux-2.4.32/include/config/acenic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/acenic.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ACENIC
-diff -Nur linux-2.4.32/include/config/acer/pica/61.h linux-2.4.32.patched/include/config/acer/pica/61.h
---- linux-2.4.32/include/config/acer/pica/61.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/acer/pica/61.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ACER_PICA_61
-diff -Nur linux-2.4.32/include/config/acorn/partition.h linux-2.4.32.patched/include/config/acorn/partition.h
---- linux-2.4.32/include/config/acorn/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/acorn/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ACORN_PARTITION
-diff -Nur linux-2.4.32/include/config/acquire/wdt.h linux-2.4.32.patched/include/config/acquire/wdt.h
---- linux-2.4.32/include/config/acquire/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/acquire/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ACQUIRE_WDT
-diff -Nur linux-2.4.32/include/config/adaptec/starfire.h linux-2.4.32.patched/include/config/adaptec/starfire.h
---- linux-2.4.32/include/config/adaptec/starfire.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/adaptec/starfire.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ADAPTEC_STARFIRE
-diff -Nur linux-2.4.32/include/config/adfs/fs/rw.h linux-2.4.32.patched/include/config/adfs/fs/rw.h
---- linux-2.4.32/include/config/adfs/fs/rw.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/adfs/fs/rw.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ADFS_FS_RW
-diff -Nur linux-2.4.32/include/config/adfs/fs.h linux-2.4.32.patched/include/config/adfs/fs.h
---- linux-2.4.32/include/config/adfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/adfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ADFS_FS
-diff -Nur linux-2.4.32/include/config/advantech/wdt.h linux-2.4.32.patched/include/config/advantech/wdt.h
---- linux-2.4.32/include/config/advantech/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/advantech/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ADVANTECH_WDT
-diff -Nur linux-2.4.32/include/config/affs/fs.h linux-2.4.32.patched/include/config/affs/fs.h
---- linux-2.4.32/include/config/affs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/affs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AFFS_FS
-diff -Nur linux-2.4.32/include/config/agp.h linux-2.4.32.patched/include/config/agp.h
---- linux-2.4.32/include/config/agp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/agp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AGP
-diff -Nur linux-2.4.32/include/config/airo/cs.h linux-2.4.32.patched/include/config/airo/cs.h
---- linux-2.4.32/include/config/airo/cs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/airo/cs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AIRO_CS
-diff -Nur linux-2.4.32/include/config/airo.h linux-2.4.32.patched/include/config/airo.h
---- linux-2.4.32/include/config/airo.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/airo.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AIRO
-diff -Nur linux-2.4.32/include/config/aironet4500/noncs.h linux-2.4.32.patched/include/config/aironet4500/noncs.h
---- linux-2.4.32/include/config/aironet4500/noncs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/aironet4500/noncs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AIRONET4500_NONCS
-diff -Nur linux-2.4.32/include/config/aironet4500/proc.h linux-2.4.32.patched/include/config/aironet4500/proc.h
---- linux-2.4.32/include/config/aironet4500/proc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/aironet4500/proc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AIRONET4500_PROC
-diff -Nur linux-2.4.32/include/config/aironet4500.h linux-2.4.32.patched/include/config/aironet4500.h
---- linux-2.4.32/include/config/aironet4500.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/aironet4500.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AIRONET4500
-diff -Nur linux-2.4.32/include/config/alim1535/wdt.h linux-2.4.32.patched/include/config/alim1535/wdt.h
---- linux-2.4.32/include/config/alim1535/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/alim1535/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ALIM1535_WDT
-diff -Nur linux-2.4.32/include/config/alim7101/wdt.h linux-2.4.32.patched/include/config/alim7101/wdt.h
---- linux-2.4.32/include/config/alim7101/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/alim7101/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ALIM7101_WDT
-diff -Nur linux-2.4.32/include/config/amd/pm768.h linux-2.4.32.patched/include/config/amd/pm768.h
---- linux-2.4.32/include/config/amd/pm768.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/amd/pm768.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AMD_PM768
-diff -Nur linux-2.4.32/include/config/amd74xx/override.h linux-2.4.32.patched/include/config/amd74xx/override.h
---- linux-2.4.32/include/config/amd74xx/override.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/amd74xx/override.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AMD74XX_OVERRIDE
-diff -Nur linux-2.4.32/include/config/amd8111/eth.h linux-2.4.32.patched/include/config/amd8111/eth.h
---- linux-2.4.32/include/config/amd8111/eth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/amd8111/eth.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AMD8111_ETH
-diff -Nur linux-2.4.32/include/config/amiga/partition.h linux-2.4.32.patched/include/config/amiga/partition.h
---- linux-2.4.32/include/config/amiga/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/amiga/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AMIGA_PARTITION
-diff -Nur linux-2.4.32/include/config/applicom.h linux-2.4.32.patched/include/config/applicom.h
---- linux-2.4.32/include/config/applicom.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/applicom.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_APPLICOM
-diff -Nur linux-2.4.32/include/config/apricot.h linux-2.4.32.patched/include/config/apricot.h
---- linux-2.4.32/include/config/apricot.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/apricot.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_APRICOT
-diff -Nur linux-2.4.32/include/config/arcnet.h linux-2.4.32.patched/include/config/arcnet.h
---- linux-2.4.32/include/config/arcnet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/arcnet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ARCNET
-diff -Nur linux-2.4.32/include/config/arlan.h linux-2.4.32.patched/include/config/arlan.h
---- linux-2.4.32/include/config/arlan.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/arlan.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ARLAN
-diff -Nur linux-2.4.32/include/config/arpd.h linux-2.4.32.patched/include/config/arpd.h
---- linux-2.4.32/include/config/arpd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/arpd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ARPD
-diff -Nur linux-2.4.32/include/config/atalk.h linux-2.4.32.patched/include/config/atalk.h
---- linux-2.4.32/include/config/atalk.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/atalk.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ATALK
-diff -Nur linux-2.4.32/include/config/atari/partition.h linux-2.4.32.patched/include/config/atari/partition.h
---- linux-2.4.32/include/config/atari/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/atari/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ATARI_PARTITION
-diff -Nur linux-2.4.32/include/config/atm.h linux-2.4.32.patched/include/config/atm.h
---- linux-2.4.32/include/config/atm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/atm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ATM
-diff -Nur linux-2.4.32/include/config/autofs/fs.h linux-2.4.32.patched/include/config/autofs/fs.h
---- linux-2.4.32/include/config/autofs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/autofs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AUTOFS_FS
-diff -Nur linux-2.4.32/include/config/autofs4/fs.h linux-2.4.32.patched/include/config/autofs4/fs.h
---- linux-2.4.32/include/config/autofs4/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/autofs4/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AUTOFS4_FS
-diff -Nur linux-2.4.32/include/config/ax25/dama/slave.h linux-2.4.32.patched/include/config/ax25/dama/slave.h
---- linux-2.4.32/include/config/ax25/dama/slave.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ax25/dama/slave.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AX25_DAMA_SLAVE
-diff -Nur linux-2.4.32/include/config/ax25/module.h linux-2.4.32.patched/include/config/ax25/module.h
---- linux-2.4.32/include/config/ax25/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ax25/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_AX25_MODULE 1
-diff -Nur linux-2.4.32/include/config/ax25.h linux-2.4.32.patched/include/config/ax25.h
---- linux-2.4.32/include/config/ax25.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ax25.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_AX25
-diff -Nur linux-2.4.32/include/config/b44.h linux-2.4.32.patched/include/config/b44.h
---- linux-2.4.32/include/config/b44.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/b44.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_B44 1
-diff -Nur linux-2.4.32/include/config/baget/mips.h linux-2.4.32.patched/include/config/baget/mips.h
---- linux-2.4.32/include/config/baget/mips.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/baget/mips.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BAGET_MIPS
-diff -Nur linux-2.4.32/include/config/baycom/epp.h linux-2.4.32.patched/include/config/baycom/epp.h
---- linux-2.4.32/include/config/baycom/epp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/baycom/epp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BAYCOM_EPP
-diff -Nur linux-2.4.32/include/config/baycom/par.h linux-2.4.32.patched/include/config/baycom/par.h
---- linux-2.4.32/include/config/baycom/par.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/baycom/par.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BAYCOM_PAR
-diff -Nur linux-2.4.32/include/config/baycom/ser/fdx.h linux-2.4.32.patched/include/config/baycom/ser/fdx.h
---- linux-2.4.32/include/config/baycom/ser/fdx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/baycom/ser/fdx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BAYCOM_SER_FDX
-diff -Nur linux-2.4.32/include/config/baycom/ser/hdx.h linux-2.4.32.patched/include/config/baycom/ser/hdx.h
---- linux-2.4.32/include/config/baycom/ser/hdx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/baycom/ser/hdx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BAYCOM_SER_HDX
-diff -Nur linux-2.4.32/include/config/bcm4310.h linux-2.4.32.patched/include/config/bcm4310.h
---- linux-2.4.32/include/config/bcm4310.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bcm4310.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BCM4310 1
-diff -Nur linux-2.4.32/include/config/bcm4704.h linux-2.4.32.patched/include/config/bcm4704.h
---- linux-2.4.32/include/config/bcm4704.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bcm4704.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BCM4704 1
-diff -Nur linux-2.4.32/include/config/bcm4710.h linux-2.4.32.patched/include/config/bcm4710.h
---- linux-2.4.32/include/config/bcm4710.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bcm4710.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BCM4710 1
-diff -Nur linux-2.4.32/include/config/bcm5365.h linux-2.4.32.patched/include/config/bcm5365.h
---- linux-2.4.32/include/config/bcm5365.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bcm5365.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BCM5365 1
-diff -Nur linux-2.4.32/include/config/bcm947xx.h linux-2.4.32.patched/include/config/bcm947xx.h
---- linux-2.4.32/include/config/bcm947xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bcm947xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BCM947XX 1
-diff -Nur linux-2.4.32/include/config/befs/debug.h linux-2.4.32.patched/include/config/befs/debug.h
---- linux-2.4.32/include/config/befs/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/befs/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BEFS_DEBUG
-diff -Nur linux-2.4.32/include/config/befs/fs.h linux-2.4.32.patched/include/config/befs/fs.h
---- linux-2.4.32/include/config/befs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/befs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BEFS_FS
-diff -Nur linux-2.4.32/include/config/bfs/fs.h linux-2.4.32.patched/include/config/bfs/fs.h
---- linux-2.4.32/include/config/bfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BFS_FS
-diff -Nur linux-2.4.32/include/config/binfmt/aout.h linux-2.4.32.patched/include/config/binfmt/aout.h
---- linux-2.4.32/include/config/binfmt/aout.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/binfmt/aout.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BINFMT_AOUT
-diff -Nur linux-2.4.32/include/config/binfmt/elf/aout.h linux-2.4.32.patched/include/config/binfmt/elf/aout.h
---- linux-2.4.32/include/config/binfmt/elf/aout.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/binfmt/elf/aout.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BINFMT_ELF_AOUT
-diff -Nur linux-2.4.32/include/config/binfmt/elf32.h linux-2.4.32.patched/include/config/binfmt/elf32.h
---- linux-2.4.32/include/config/binfmt/elf32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/binfmt/elf32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BINFMT_ELF32
-diff -Nur linux-2.4.32/include/config/binfmt/elf.h linux-2.4.32.patched/include/config/binfmt/elf.h
---- linux-2.4.32/include/config/binfmt/elf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/binfmt/elf.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BINFMT_ELF 1
-diff -Nur linux-2.4.32/include/config/binfmt/misc.h linux-2.4.32.patched/include/config/binfmt/misc.h
---- linux-2.4.32/include/config/binfmt/misc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/binfmt/misc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BINFMT_MISC
-diff -Nur linux-2.4.32/include/config/blk/cpq/ciss/da.h linux-2.4.32.patched/include/config/blk/cpq/ciss/da.h
---- linux-2.4.32/include/config/blk/cpq/ciss/da.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/cpq/ciss/da.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_CPQ_CISS_DA
-diff -Nur linux-2.4.32/include/config/blk/cpq/da.h linux-2.4.32.patched/include/config/blk/cpq/da.h
---- linux-2.4.32/include/config/blk/cpq/da.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/cpq/da.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_CPQ_DA
-diff -Nur linux-2.4.32/include/config/blk/dev/3w/xxxx/raid.h linux-2.4.32.patched/include/config/blk/dev/3w/xxxx/raid.h
---- linux-2.4.32/include/config/blk/dev/3w/xxxx/raid.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/3w/xxxx/raid.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_3W_XXXX_RAID
-diff -Nur linux-2.4.32/include/config/blk/dev/adma100.h linux-2.4.32.patched/include/config/blk/dev/adma100.h
---- linux-2.4.32/include/config/blk/dev/adma100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/adma100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ADMA100
-diff -Nur linux-2.4.32/include/config/blk/dev/aec62xx.h linux-2.4.32.patched/include/config/blk/dev/aec62xx.h
---- linux-2.4.32/include/config/blk/dev/aec62xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/aec62xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_AEC62XX
-diff -Nur linux-2.4.32/include/config/blk/dev/ali15x3.h linux-2.4.32.patched/include/config/blk/dev/ali15x3.h
---- linux-2.4.32/include/config/blk/dev/ali15x3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ali15x3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ALI15X3
-diff -Nur linux-2.4.32/include/config/blk/dev/amd74xx.h linux-2.4.32.patched/include/config/blk/dev/amd74xx.h
---- linux-2.4.32/include/config/blk/dev/amd74xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/amd74xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_AMD74XX
-diff -Nur linux-2.4.32/include/config/blk/dev/ataraid/hpt.h linux-2.4.32.patched/include/config/blk/dev/ataraid/hpt.h
---- linux-2.4.32/include/config/blk/dev/ataraid/hpt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ataraid/hpt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ATARAID_HPT
-diff -Nur linux-2.4.32/include/config/blk/dev/ataraid/medley.h linux-2.4.32.patched/include/config/blk/dev/ataraid/medley.h
---- linux-2.4.32/include/config/blk/dev/ataraid/medley.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ataraid/medley.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ATARAID_MEDLEY
-diff -Nur linux-2.4.32/include/config/blk/dev/ataraid/pdc.h linux-2.4.32.patched/include/config/blk/dev/ataraid/pdc.h
---- linux-2.4.32/include/config/blk/dev/ataraid/pdc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ataraid/pdc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ATARAID_PDC
-diff -Nur linux-2.4.32/include/config/blk/dev/ataraid/sii.h linux-2.4.32.patched/include/config/blk/dev/ataraid/sii.h
---- linux-2.4.32/include/config/blk/dev/ataraid/sii.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ataraid/sii.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ATARAID_SII
-diff -Nur linux-2.4.32/include/config/blk/dev/ataraid.h linux-2.4.32.patched/include/config/blk/dev/ataraid.h
---- linux-2.4.32/include/config/blk/dev/ataraid.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ataraid.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ATARAID
-diff -Nur linux-2.4.32/include/config/blk/dev/atiixp.h linux-2.4.32.patched/include/config/blk/dev/atiixp.h
---- linux-2.4.32/include/config/blk/dev/atiixp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/atiixp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ATIIXP
-diff -Nur linux-2.4.32/include/config/blk/dev/cmd640/enhanced.h linux-2.4.32.patched/include/config/blk/dev/cmd640/enhanced.h
---- linux-2.4.32/include/config/blk/dev/cmd640/enhanced.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/cmd640/enhanced.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_CMD640_ENHANCED
-diff -Nur linux-2.4.32/include/config/blk/dev/cmd640.h linux-2.4.32.patched/include/config/blk/dev/cmd640.h
---- linux-2.4.32/include/config/blk/dev/cmd640.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/cmd640.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_CMD640
-diff -Nur linux-2.4.32/include/config/blk/dev/cmd64x.h linux-2.4.32.patched/include/config/blk/dev/cmd64x.h
---- linux-2.4.32/include/config/blk/dev/cmd64x.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/cmd64x.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_CMD64X
-diff -Nur linux-2.4.32/include/config/blk/dev/cs5530.h linux-2.4.32.patched/include/config/blk/dev/cs5530.h
---- linux-2.4.32/include/config/blk/dev/cs5530.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/cs5530.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_CS5530
-diff -Nur linux-2.4.32/include/config/blk/dev/cy82c693.h linux-2.4.32.patched/include/config/blk/dev/cy82c693.h
---- linux-2.4.32/include/config/blk/dev/cy82c693.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/cy82c693.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_CY82C693
-diff -Nur linux-2.4.32/include/config/blk/dev/dac960.h linux-2.4.32.patched/include/config/blk/dev/dac960.h
---- linux-2.4.32/include/config/blk/dev/dac960.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/dac960.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_DAC960
-diff -Nur linux-2.4.32/include/config/blk/dev/delkin.h linux-2.4.32.patched/include/config/blk/dev/delkin.h
---- linux-2.4.32/include/config/blk/dev/delkin.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/delkin.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_DELKIN
-diff -Nur linux-2.4.32/include/config/blk/dev/fd.h linux-2.4.32.patched/include/config/blk/dev/fd.h
---- linux-2.4.32/include/config/blk/dev/fd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/fd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_FD
-diff -Nur linux-2.4.32/include/config/blk/dev/generic.h linux-2.4.32.patched/include/config/blk/dev/generic.h
---- linux-2.4.32/include/config/blk/dev/generic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/generic.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_GENERIC
-diff -Nur linux-2.4.32/include/config/blk/dev/hd/ide.h linux-2.4.32.patched/include/config/blk/dev/hd/ide.h
---- linux-2.4.32/include/config/blk/dev/hd/ide.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/hd/ide.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_HD_IDE
-diff -Nur linux-2.4.32/include/config/blk/dev/hd.h linux-2.4.32.patched/include/config/blk/dev/hd.h
---- linux-2.4.32/include/config/blk/dev/hd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/hd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_HD
-diff -Nur linux-2.4.32/include/config/blk/dev/hpt34x.h linux-2.4.32.patched/include/config/blk/dev/hpt34x.h
---- linux-2.4.32/include/config/blk/dev/hpt34x.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/hpt34x.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_HPT34X
-diff -Nur linux-2.4.32/include/config/blk/dev/hpt366.h linux-2.4.32.patched/include/config/blk/dev/hpt366.h
---- linux-2.4.32/include/config/blk/dev/hpt366.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/hpt366.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_HPT366
-diff -Nur linux-2.4.32/include/config/blk/dev/ide/module.h linux-2.4.32.patched/include/config/blk/dev/ide/module.h
---- linux-2.4.32/include/config/blk/dev/ide/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ide/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_IDE_MODULE 1
-diff -Nur linux-2.4.32/include/config/blk/dev/ide/sata.h linux-2.4.32.patched/include/config/blk/dev/ide/sata.h
---- linux-2.4.32/include/config/blk/dev/ide/sata.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ide/sata.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDE_SATA
-diff -Nur linux-2.4.32/include/config/blk/dev/idecd.h linux-2.4.32.patched/include/config/blk/dev/idecd.h
---- linux-2.4.32/include/config/blk/dev/idecd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idecd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDECD
-diff -Nur linux-2.4.32/include/config/blk/dev/idecs.h linux-2.4.32.patched/include/config/blk/dev/idecs.h
---- linux-2.4.32/include/config/blk/dev/idecs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idecs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDECS
-diff -Nur linux-2.4.32/include/config/blk/dev/idedisk/module.h linux-2.4.32.patched/include/config/blk/dev/idedisk/module.h
---- linux-2.4.32/include/config/blk/dev/idedisk/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idedisk/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_IDEDISK_MODULE 1
-diff -Nur linux-2.4.32/include/config/blk/dev/idedisk.h linux-2.4.32.patched/include/config/blk/dev/idedisk.h
---- linux-2.4.32/include/config/blk/dev/idedisk.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idedisk.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDEDISK
-diff -Nur linux-2.4.32/include/config/blk/dev/idedma/forced.h linux-2.4.32.patched/include/config/blk/dev/idedma/forced.h
---- linux-2.4.32/include/config/blk/dev/idedma/forced.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idedma/forced.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDEDMA_FORCED
-diff -Nur linux-2.4.32/include/config/blk/dev/idedma/pci.h linux-2.4.32.patched/include/config/blk/dev/idedma/pci.h
---- linux-2.4.32/include/config/blk/dev/idedma/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idedma/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_IDEDMA_PCI 1
-diff -Nur linux-2.4.32/include/config/blk/dev/idedma.h linux-2.4.32.patched/include/config/blk/dev/idedma.h
---- linux-2.4.32/include/config/blk/dev/idedma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idedma.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_IDEDMA 1
-diff -Nur linux-2.4.32/include/config/blk/dev/idefloppy.h linux-2.4.32.patched/include/config/blk/dev/idefloppy.h
---- linux-2.4.32/include/config/blk/dev/idefloppy.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idefloppy.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDEFLOPPY
-diff -Nur linux-2.4.32/include/config/blk/dev/ide.h linux-2.4.32.patched/include/config/blk/dev/ide.h
---- linux-2.4.32/include/config/blk/dev/ide.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ide.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDE
-diff -Nur linux-2.4.32/include/config/blk/dev/idepci.h linux-2.4.32.patched/include/config/blk/dev/idepci.h
---- linux-2.4.32/include/config/blk/dev/idepci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idepci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_IDEPCI 1
-diff -Nur linux-2.4.32/include/config/blk/dev/idescsi.h linux-2.4.32.patched/include/config/blk/dev/idescsi.h
---- linux-2.4.32/include/config/blk/dev/idescsi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idescsi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDESCSI
-diff -Nur linux-2.4.32/include/config/blk/dev/idetape.h linux-2.4.32.patched/include/config/blk/dev/idetape.h
---- linux-2.4.32/include/config/blk/dev/idetape.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/idetape.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_IDETAPE
-diff -Nur linux-2.4.32/include/config/blk/dev/initrd.h linux-2.4.32.patched/include/config/blk/dev/initrd.h
---- linux-2.4.32/include/config/blk/dev/initrd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/initrd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_INITRD
-diff -Nur linux-2.4.32/include/config/blk/dev/isapnp.h linux-2.4.32.patched/include/config/blk/dev/isapnp.h
---- linux-2.4.32/include/config/blk/dev/isapnp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/isapnp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_ISAPNP
-diff -Nur linux-2.4.32/include/config/blk/dev/loop/module.h linux-2.4.32.patched/include/config/blk/dev/loop/module.h
---- linux-2.4.32/include/config/blk/dev/loop/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/loop/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_LOOP_MODULE 1
-diff -Nur linux-2.4.32/include/config/blk/dev/loop.h linux-2.4.32.patched/include/config/blk/dev/loop.h
---- linux-2.4.32/include/config/blk/dev/loop.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/loop.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_LOOP
-diff -Nur linux-2.4.32/include/config/blk/dev/lvm.h linux-2.4.32.patched/include/config/blk/dev/lvm.h
---- linux-2.4.32/include/config/blk/dev/lvm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/lvm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_LVM
-diff -Nur linux-2.4.32/include/config/blk/dev/md.h linux-2.4.32.patched/include/config/blk/dev/md.h
---- linux-2.4.32/include/config/blk/dev/md.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/md.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_MD
-diff -Nur linux-2.4.32/include/config/blk/dev/nbd/module.h linux-2.4.32.patched/include/config/blk/dev/nbd/module.h
---- linux-2.4.32/include/config/blk/dev/nbd/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/nbd/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_NBD_MODULE 1
-diff -Nur linux-2.4.32/include/config/blk/dev/nbd.h linux-2.4.32.patched/include/config/blk/dev/nbd.h
---- linux-2.4.32/include/config/blk/dev/nbd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/nbd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_NBD
-diff -Nur linux-2.4.32/include/config/blk/dev/ns87415.h linux-2.4.32.patched/include/config/blk/dev/ns87415.h
---- linux-2.4.32/include/config/blk/dev/ns87415.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ns87415.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_NS87415
-diff -Nur linux-2.4.32/include/config/blk/dev/offboard.h linux-2.4.32.patched/include/config/blk/dev/offboard.h
---- linux-2.4.32/include/config/blk/dev/offboard.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/offboard.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_OFFBOARD 1
-diff -Nur linux-2.4.32/include/config/blk/dev/opti621.h linux-2.4.32.patched/include/config/blk/dev/opti621.h
---- linux-2.4.32/include/config/blk/dev/opti621.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/opti621.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_OPTI621
-diff -Nur linux-2.4.32/include/config/blk/dev/pdc202xx/new.h linux-2.4.32.patched/include/config/blk/dev/pdc202xx/new.h
---- linux-2.4.32/include/config/blk/dev/pdc202xx/new.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/pdc202xx/new.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_PDC202XX_NEW
-diff -Nur linux-2.4.32/include/config/blk/dev/pdc202xx/old/module.h linux-2.4.32.patched/include/config/blk/dev/pdc202xx/old/module.h
---- linux-2.4.32/include/config/blk/dev/pdc202xx/old/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/pdc202xx/old/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_PDC202XX_OLD_MODULE 1
-diff -Nur linux-2.4.32/include/config/blk/dev/pdc202xx/old.h linux-2.4.32.patched/include/config/blk/dev/pdc202xx/old.h
---- linux-2.4.32/include/config/blk/dev/pdc202xx/old.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/pdc202xx/old.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_PDC202XX_OLD
-diff -Nur linux-2.4.32/include/config/blk/dev/pdc202xx.h linux-2.4.32.patched/include/config/blk/dev/pdc202xx.h
---- linux-2.4.32/include/config/blk/dev/pdc202xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/pdc202xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_PDC202XX 1
-diff -Nur linux-2.4.32/include/config/blk/dev/piix.h linux-2.4.32.patched/include/config/blk/dev/piix.h
---- linux-2.4.32/include/config/blk/dev/piix.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/piix.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_PIIX
-diff -Nur linux-2.4.32/include/config/blk/dev/ram.h linux-2.4.32.patched/include/config/blk/dev/ram.h
---- linux-2.4.32/include/config/blk/dev/ram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/ram.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_RAM
-diff -Nur linux-2.4.32/include/config/blk/dev/rz1000.h linux-2.4.32.patched/include/config/blk/dev/rz1000.h
---- linux-2.4.32/include/config/blk/dev/rz1000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/rz1000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_RZ1000
-diff -Nur linux-2.4.32/include/config/blk/dev/sc1200.h linux-2.4.32.patched/include/config/blk/dev/sc1200.h
---- linux-2.4.32/include/config/blk/dev/sc1200.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/sc1200.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_SC1200
-diff -Nur linux-2.4.32/include/config/blk/dev/sd/module.h linux-2.4.32.patched/include/config/blk/dev/sd/module.h
---- linux-2.4.32/include/config/blk/dev/sd/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/sd/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLK_DEV_SD_MODULE 1
-diff -Nur linux-2.4.32/include/config/blk/dev/sd.h linux-2.4.32.patched/include/config/blk/dev/sd.h
---- linux-2.4.32/include/config/blk/dev/sd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/sd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_SD
-diff -Nur linux-2.4.32/include/config/blk/dev/siimage.h linux-2.4.32.patched/include/config/blk/dev/siimage.h
---- linux-2.4.32/include/config/blk/dev/siimage.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/siimage.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_SIIMAGE
-diff -Nur linux-2.4.32/include/config/blk/dev/sis5513.h linux-2.4.32.patched/include/config/blk/dev/sis5513.h
---- linux-2.4.32/include/config/blk/dev/sis5513.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/sis5513.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_SIS5513
-diff -Nur linux-2.4.32/include/config/blk/dev/slc90e66.h linux-2.4.32.patched/include/config/blk/dev/slc90e66.h
---- linux-2.4.32/include/config/blk/dev/slc90e66.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/slc90e66.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_SLC90E66
-diff -Nur linux-2.4.32/include/config/blk/dev/sr.h linux-2.4.32.patched/include/config/blk/dev/sr.h
---- linux-2.4.32/include/config/blk/dev/sr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/sr.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_SR
-diff -Nur linux-2.4.32/include/config/blk/dev/svwks.h linux-2.4.32.patched/include/config/blk/dev/svwks.h
---- linux-2.4.32/include/config/blk/dev/svwks.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/svwks.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_SVWKS
-diff -Nur linux-2.4.32/include/config/blk/dev/sx8.h linux-2.4.32.patched/include/config/blk/dev/sx8.h
---- linux-2.4.32/include/config/blk/dev/sx8.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/sx8.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_SX8
-diff -Nur linux-2.4.32/include/config/blk/dev/triflex.h linux-2.4.32.patched/include/config/blk/dev/triflex.h
---- linux-2.4.32/include/config/blk/dev/triflex.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/triflex.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_TRIFLEX
-diff -Nur linux-2.4.32/include/config/blk/dev/trm290.h linux-2.4.32.patched/include/config/blk/dev/trm290.h
---- linux-2.4.32/include/config/blk/dev/trm290.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/trm290.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_TRM290
-diff -Nur linux-2.4.32/include/config/blk/dev/umem.h linux-2.4.32.patched/include/config/blk/dev/umem.h
---- linux-2.4.32/include/config/blk/dev/umem.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/umem.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_UMEM
-diff -Nur linux-2.4.32/include/config/blk/dev/via82cxxx.h linux-2.4.32.patched/include/config/blk/dev/via82cxxx.h
---- linux-2.4.32/include/config/blk/dev/via82cxxx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/via82cxxx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_VIA82CXXX
-diff -Nur linux-2.4.32/include/config/blk/dev/xd.h linux-2.4.32.patched/include/config/blk/dev/xd.h
---- linux-2.4.32/include/config/blk/dev/xd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/dev/xd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_DEV_XD
-diff -Nur linux-2.4.32/include/config/blk/stats.h linux-2.4.32.patched/include/config/blk/stats.h
---- linux-2.4.32/include/config/blk/stats.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/blk/stats.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLK_STATS
-diff -Nur linux-2.4.32/include/config/bluez/bnep/mc/filter.h linux-2.4.32.patched/include/config/bluez/bnep/mc/filter.h
---- linux-2.4.32/include/config/bluez/bnep/mc/filter.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/bnep/mc/filter.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_BNEP_MC_FILTER 1
-diff -Nur linux-2.4.32/include/config/bluez/bnep/module.h linux-2.4.32.patched/include/config/bluez/bnep/module.h
---- linux-2.4.32/include/config/bluez/bnep/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/bnep/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_BNEP_MODULE 1
-diff -Nur linux-2.4.32/include/config/bluez/bnep/proto/filter.h linux-2.4.32.patched/include/config/bluez/bnep/proto/filter.h
---- linux-2.4.32/include/config/bluez/bnep/proto/filter.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/bnep/proto/filter.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_BNEP_PROTO_FILTER 1
-diff -Nur linux-2.4.32/include/config/bluez/bnep.h linux-2.4.32.patched/include/config/bluez/bnep.h
---- linux-2.4.32/include/config/bluez/bnep.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/bnep.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_BNEP
-diff -Nur linux-2.4.32/include/config/bluez/hcibfusb.h linux-2.4.32.patched/include/config/bluez/hcibfusb.h
---- linux-2.4.32/include/config/bluez/hcibfusb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hcibfusb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_HCIBFUSB
-diff -Nur linux-2.4.32/include/config/bluez/hcibluecard.h linux-2.4.32.patched/include/config/bluez/hcibluecard.h
---- linux-2.4.32/include/config/bluez/hcibluecard.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hcibluecard.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_HCIBLUECARD
-diff -Nur linux-2.4.32/include/config/bluez/hcibt3c.h linux-2.4.32.patched/include/config/bluez/hcibt3c.h
---- linux-2.4.32/include/config/bluez/hcibt3c.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hcibt3c.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_HCIBT3C
-diff -Nur linux-2.4.32/include/config/bluez/hcibtuart.h linux-2.4.32.patched/include/config/bluez/hcibtuart.h
---- linux-2.4.32/include/config/bluez/hcibtuart.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hcibtuart.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_HCIBTUART
-diff -Nur linux-2.4.32/include/config/bluez/hcidtl1.h linux-2.4.32.patched/include/config/bluez/hcidtl1.h
---- linux-2.4.32/include/config/bluez/hcidtl1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hcidtl1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_HCIDTL1
-diff -Nur linux-2.4.32/include/config/bluez/hciuart/bcsp/txcrc.h linux-2.4.32.patched/include/config/bluez/hciuart/bcsp/txcrc.h
---- linux-2.4.32/include/config/bluez/hciuart/bcsp/txcrc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hciuart/bcsp/txcrc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_HCIUART_BCSP_TXCRC 1
-diff -Nur linux-2.4.32/include/config/bluez/hciuart/bcsp.h linux-2.4.32.patched/include/config/bluez/hciuart/bcsp.h
---- linux-2.4.32/include/config/bluez/hciuart/bcsp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hciuart/bcsp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_HCIUART_BCSP 1
-diff -Nur linux-2.4.32/include/config/bluez/hciuart/h4.h linux-2.4.32.patched/include/config/bluez/hciuart/h4.h
---- linux-2.4.32/include/config/bluez/hciuart/h4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hciuart/h4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_HCIUART_H4 1
-diff -Nur linux-2.4.32/include/config/bluez/hciuart/module.h linux-2.4.32.patched/include/config/bluez/hciuart/module.h
---- linux-2.4.32/include/config/bluez/hciuart/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hciuart/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_HCIUART_MODULE 1
-diff -Nur linux-2.4.32/include/config/bluez/hciuart.h linux-2.4.32.patched/include/config/bluez/hciuart.h
---- linux-2.4.32/include/config/bluez/hciuart.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hciuart.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_HCIUART
-diff -Nur linux-2.4.32/include/config/bluez/hciusb/module.h linux-2.4.32.patched/include/config/bluez/hciusb/module.h
---- linux-2.4.32/include/config/bluez/hciusb/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hciusb/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_HCIUSB_MODULE 1
-diff -Nur linux-2.4.32/include/config/bluez/hciusb/sco.h linux-2.4.32.patched/include/config/bluez/hciusb/sco.h
---- linux-2.4.32/include/config/bluez/hciusb/sco.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hciusb/sco.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_HCIUSB_SCO 1
-diff -Nur linux-2.4.32/include/config/bluez/hciusb.h linux-2.4.32.patched/include/config/bluez/hciusb.h
---- linux-2.4.32/include/config/bluez/hciusb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hciusb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_HCIUSB
-diff -Nur linux-2.4.32/include/config/bluez/hcivhci.h linux-2.4.32.patched/include/config/bluez/hcivhci.h
---- linux-2.4.32/include/config/bluez/hcivhci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/hcivhci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_HCIVHCI
-diff -Nur linux-2.4.32/include/config/bluez/l2cap/module.h linux-2.4.32.patched/include/config/bluez/l2cap/module.h
---- linux-2.4.32/include/config/bluez/l2cap/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/l2cap/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_L2CAP_MODULE 1
-diff -Nur linux-2.4.32/include/config/bluez/l2cap.h linux-2.4.32.patched/include/config/bluez/l2cap.h
---- linux-2.4.32/include/config/bluez/l2cap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/l2cap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_L2CAP
-diff -Nur linux-2.4.32/include/config/bluez/module.h linux-2.4.32.patched/include/config/bluez/module.h
---- linux-2.4.32/include/config/bluez/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_MODULE 1
-diff -Nur linux-2.4.32/include/config/bluez/rfcomm/module.h linux-2.4.32.patched/include/config/bluez/rfcomm/module.h
---- linux-2.4.32/include/config/bluez/rfcomm/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/rfcomm/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_RFCOMM_MODULE 1
-diff -Nur linux-2.4.32/include/config/bluez/rfcomm/tty.h linux-2.4.32.patched/include/config/bluez/rfcomm/tty.h
---- linux-2.4.32/include/config/bluez/rfcomm/tty.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/rfcomm/tty.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_RFCOMM_TTY 1
-diff -Nur linux-2.4.32/include/config/bluez/rfcomm.h linux-2.4.32.patched/include/config/bluez/rfcomm.h
---- linux-2.4.32/include/config/bluez/rfcomm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/rfcomm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_RFCOMM
-diff -Nur linux-2.4.32/include/config/bluez/sco/module.h linux-2.4.32.patched/include/config/bluez/sco/module.h
---- linux-2.4.32/include/config/bluez/sco/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/sco/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BLUEZ_SCO_MODULE 1
-diff -Nur linux-2.4.32/include/config/bluez/sco.h linux-2.4.32.patched/include/config/bluez/sco.h
---- linux-2.4.32/include/config/bluez/sco.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez/sco.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ_SCO
-diff -Nur linux-2.4.32/include/config/bluez.h linux-2.4.32.patched/include/config/bluez.h
---- linux-2.4.32/include/config/bluez.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bluez.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BLUEZ
-diff -Nur linux-2.4.32/include/config/bonding.h linux-2.4.32.patched/include/config/bonding.h
---- linux-2.4.32/include/config/bonding.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bonding.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BONDING
-diff -Nur linux-2.4.32/include/config/bpqether.h linux-2.4.32.patched/include/config/bpqether.h
---- linux-2.4.32/include/config/bpqether.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bpqether.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BPQETHER
-diff -Nur linux-2.4.32/include/config/bridge.h linux-2.4.32.patched/include/config/bridge.h
---- linux-2.4.32/include/config/bridge.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bridge.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_BRIDGE 1
-diff -Nur linux-2.4.32/include/config/bsd/disklabel.h linux-2.4.32.patched/include/config/bsd/disklabel.h
---- linux-2.4.32/include/config/bsd/disklabel.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bsd/disklabel.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BSD_DISKLABEL
-diff -Nur linux-2.4.32/include/config/bsd/process/acct.h linux-2.4.32.patched/include/config/bsd/process/acct.h
---- linux-2.4.32/include/config/bsd/process/acct.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/bsd/process/acct.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BSD_PROCESS_ACCT
-diff -Nur linux-2.4.32/include/config/build/elf64.h linux-2.4.32.patched/include/config/build/elf64.h
---- linux-2.4.32/include/config/build/elf64.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/build/elf64.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BUILD_ELF64
-diff -Nur linux-2.4.32/include/config/busmouse.h linux-2.4.32.patched/include/config/busmouse.h
---- linux-2.4.32/include/config/busmouse.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/busmouse.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_BUSMOUSE
-diff -Nur linux-2.4.32/include/config/cardbus.h linux-2.4.32.patched/include/config/cardbus.h
---- linux-2.4.32/include/config/cardbus.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cardbus.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CARDBUS 1
-diff -Nur linux-2.4.32/include/config/casio/e55.h linux-2.4.32.patched/include/config/casio/e55.h
---- linux-2.4.32/include/config/casio/e55.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/casio/e55.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CASIO_E55
-diff -Nur linux-2.4.32/include/config/chr/dev/osst.h linux-2.4.32.patched/include/config/chr/dev/osst.h
---- linux-2.4.32/include/config/chr/dev/osst.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/chr/dev/osst.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CHR_DEV_OSST
-diff -Nur linux-2.4.32/include/config/chr/dev/sg/module.h linux-2.4.32.patched/include/config/chr/dev/sg/module.h
---- linux-2.4.32/include/config/chr/dev/sg/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/chr/dev/sg/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CHR_DEV_SG_MODULE 1
-diff -Nur linux-2.4.32/include/config/chr/dev/sg.h linux-2.4.32.patched/include/config/chr/dev/sg.h
---- linux-2.4.32/include/config/chr/dev/sg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/chr/dev/sg.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CHR_DEV_SG
-diff -Nur linux-2.4.32/include/config/chr/dev/st.h linux-2.4.32.patched/include/config/chr/dev/st.h
---- linux-2.4.32/include/config/chr/dev/st.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/chr/dev/st.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CHR_DEV_ST
-diff -Nur linux-2.4.32/include/config/cifs/module.h linux-2.4.32.patched/include/config/cifs/module.h
---- linux-2.4.32/include/config/cifs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cifs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CIFS_MODULE 1
-diff -Nur linux-2.4.32/include/config/cifs/posix.h linux-2.4.32.patched/include/config/cifs/posix.h
---- linux-2.4.32/include/config/cifs/posix.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cifs/posix.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CIFS_POSIX 1
-diff -Nur linux-2.4.32/include/config/cifs/stats.h linux-2.4.32.patched/include/config/cifs/stats.h
---- linux-2.4.32/include/config/cifs/stats.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cifs/stats.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CIFS_STATS
-diff -Nur linux-2.4.32/include/config/cifs.h linux-2.4.32.patched/include/config/cifs.h
---- linux-2.4.32/include/config/cifs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cifs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CIFS
-diff -Nur linux-2.4.32/include/config/ciss/monitor/thread.h linux-2.4.32.patched/include/config/ciss/monitor/thread.h
---- linux-2.4.32/include/config/ciss/monitor/thread.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ciss/monitor/thread.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CISS_MONITOR_THREAD
-diff -Nur linux-2.4.32/include/config/ciss/scsi/tape.h linux-2.4.32.patched/include/config/ciss/scsi/tape.h
---- linux-2.4.32/include/config/ciss/scsi/tape.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ciss/scsi/tape.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CISS_SCSI_TAPE
-diff -Nur linux-2.4.32/include/config/cmdline/bool.h linux-2.4.32.patched/include/config/cmdline/bool.h
---- linux-2.4.32/include/config/cmdline/bool.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cmdline/bool.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CMDLINE_BOOL
-diff -Nur linux-2.4.32/include/config/cmdline.h linux-2.4.32.patched/include/config/cmdline.h
---- linux-2.4.32/include/config/cmdline.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cmdline.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CMDLINE "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
-diff -Nur linux-2.4.32/include/config/coda/fs.h linux-2.4.32.patched/include/config/coda/fs.h
---- linux-2.4.32/include/config/coda/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/coda/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CODA_FS
-diff -Nur linux-2.4.32/include/config/cogent/csb250.h linux-2.4.32.patched/include/config/cogent/csb250.h
---- linux-2.4.32/include/config/cogent/csb250.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cogent/csb250.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_COGENT_CSB250
-diff -Nur linux-2.4.32/include/config/cpu/advanced.h linux-2.4.32.patched/include/config/cpu/advanced.h
---- linux-2.4.32/include/config/cpu/advanced.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/advanced.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_ADVANCED
-diff -Nur linux-2.4.32/include/config/cpu/has/lldscd.h linux-2.4.32.patched/include/config/cpu/has/lldscd.h
---- linux-2.4.32/include/config/cpu/has/lldscd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/has/lldscd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_HAS_LLDSCD
-diff -Nur linux-2.4.32/include/config/cpu/has/llsc.h linux-2.4.32.patched/include/config/cpu/has/llsc.h
---- linux-2.4.32/include/config/cpu/has/llsc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/has/llsc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CPU_HAS_LLSC 1
-diff -Nur linux-2.4.32/include/config/cpu/has/prefetch.h linux-2.4.32.patched/include/config/cpu/has/prefetch.h
---- linux-2.4.32/include/config/cpu/has/prefetch.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/has/prefetch.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CPU_HAS_PREFETCH 1
-diff -Nur linux-2.4.32/include/config/cpu/has/sync.h linux-2.4.32.patched/include/config/cpu/has/sync.h
---- linux-2.4.32/include/config/cpu/has/sync.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/has/sync.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CPU_HAS_SYNC 1
-diff -Nur linux-2.4.32/include/config/cpu/has/wb.h linux-2.4.32.patched/include/config/cpu/has/wb.h
---- linux-2.4.32/include/config/cpu/has/wb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/has/wb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_HAS_WB
-diff -Nur linux-2.4.32/include/config/cpu/little/endian.h linux-2.4.32.patched/include/config/cpu/little/endian.h
---- linux-2.4.32/include/config/cpu/little/endian.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/little/endian.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CPU_LITTLE_ENDIAN 1
-diff -Nur linux-2.4.32/include/config/cpu/mips32.h linux-2.4.32.patched/include/config/cpu/mips32.h
---- linux-2.4.32/include/config/cpu/mips32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/mips32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CPU_MIPS32 1
-diff -Nur linux-2.4.32/include/config/cpu/mips64.h linux-2.4.32.patched/include/config/cpu/mips64.h
---- linux-2.4.32/include/config/cpu/mips64.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/mips64.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_MIPS64
-diff -Nur linux-2.4.32/include/config/cpu/nevada.h linux-2.4.32.patched/include/config/cpu/nevada.h
---- linux-2.4.32/include/config/cpu/nevada.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/nevada.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_NEVADA
-diff -Nur linux-2.4.32/include/config/cpu/r10000.h linux-2.4.32.patched/include/config/cpu/r10000.h
---- linux-2.4.32/include/config/cpu/r10000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/r10000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_R10000
-diff -Nur linux-2.4.32/include/config/cpu/r3000.h linux-2.4.32.patched/include/config/cpu/r3000.h
---- linux-2.4.32/include/config/cpu/r3000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/r3000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_R3000
-diff -Nur linux-2.4.32/include/config/cpu/r4300.h linux-2.4.32.patched/include/config/cpu/r4300.h
---- linux-2.4.32/include/config/cpu/r4300.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/r4300.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_R4300
-diff -Nur linux-2.4.32/include/config/cpu/r4x00.h linux-2.4.32.patched/include/config/cpu/r4x00.h
---- linux-2.4.32/include/config/cpu/r4x00.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/r4x00.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_R4X00
-diff -Nur linux-2.4.32/include/config/cpu/r5000.h linux-2.4.32.patched/include/config/cpu/r5000.h
---- linux-2.4.32/include/config/cpu/r5000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/r5000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_R5000
-diff -Nur linux-2.4.32/include/config/cpu/r5432.h linux-2.4.32.patched/include/config/cpu/r5432.h
---- linux-2.4.32/include/config/cpu/r5432.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/r5432.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_R5432
-diff -Nur linux-2.4.32/include/config/cpu/r6000.h linux-2.4.32.patched/include/config/cpu/r6000.h
---- linux-2.4.32/include/config/cpu/r6000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/r6000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_R6000
-diff -Nur linux-2.4.32/include/config/cpu/r8000.h linux-2.4.32.patched/include/config/cpu/r8000.h
---- linux-2.4.32/include/config/cpu/r8000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/r8000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_R8000
-diff -Nur linux-2.4.32/include/config/cpu/rm7000.h linux-2.4.32.patched/include/config/cpu/rm7000.h
---- linux-2.4.32/include/config/cpu/rm7000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/rm7000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_RM7000
-diff -Nur linux-2.4.32/include/config/cpu/rm9000.h linux-2.4.32.patched/include/config/cpu/rm9000.h
---- linux-2.4.32/include/config/cpu/rm9000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/rm9000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_RM9000
-diff -Nur linux-2.4.32/include/config/cpu/sb1.h linux-2.4.32.patched/include/config/cpu/sb1.h
---- linux-2.4.32/include/config/cpu/sb1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/sb1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_SB1
-diff -Nur linux-2.4.32/include/config/cpu/tx39xx.h linux-2.4.32.patched/include/config/cpu/tx39xx.h
---- linux-2.4.32/include/config/cpu/tx39xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/tx39xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_TX39XX
-diff -Nur linux-2.4.32/include/config/cpu/tx49xx.h linux-2.4.32.patched/include/config/cpu/tx49xx.h
---- linux-2.4.32/include/config/cpu/tx49xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/tx49xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_TX49XX
-diff -Nur linux-2.4.32/include/config/cpu/vr41xx.h linux-2.4.32.patched/include/config/cpu/vr41xx.h
---- linux-2.4.32/include/config/cpu/vr41xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cpu/vr41xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CPU_VR41XX
-diff -Nur linux-2.4.32/include/config/cramfs.h linux-2.4.32.patched/include/config/cramfs.h
---- linux-2.4.32/include/config/cramfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cramfs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRAMFS
-diff -Nur linux-2.4.32/include/config/crc32.h linux-2.4.32.patched/include/config/crc32.h
---- linux-2.4.32/include/config/crc32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crc32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRC32
-diff -Nur linux-2.4.32/include/config/crosscompile.h linux-2.4.32.patched/include/config/crosscompile.h
---- linux-2.4.32/include/config/crosscompile.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crosscompile.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CROSSCOMPILE 1
-diff -Nur linux-2.4.32/include/config/crypto/aes/module.h linux-2.4.32.patched/include/config/crypto/aes/module.h
---- linux-2.4.32/include/config/crypto/aes/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/aes/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO_AES_MODULE 1
-diff -Nur linux-2.4.32/include/config/crypto/aes.h linux-2.4.32.patched/include/config/crypto/aes.h
---- linux-2.4.32/include/config/crypto/aes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/aes.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_AES
-diff -Nur linux-2.4.32/include/config/crypto/anubis.h linux-2.4.32.patched/include/config/crypto/anubis.h
---- linux-2.4.32/include/config/crypto/anubis.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/anubis.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_ANUBIS
-diff -Nur linux-2.4.32/include/config/crypto/arc4/module.h linux-2.4.32.patched/include/config/crypto/arc4/module.h
---- linux-2.4.32/include/config/crypto/arc4/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/arc4/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO_ARC4_MODULE 1
-diff -Nur linux-2.4.32/include/config/crypto/arc4.h linux-2.4.32.patched/include/config/crypto/arc4.h
---- linux-2.4.32/include/config/crypto/arc4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/arc4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_ARC4
-diff -Nur linux-2.4.32/include/config/crypto/blowfish.h linux-2.4.32.patched/include/config/crypto/blowfish.h
---- linux-2.4.32/include/config/crypto/blowfish.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/blowfish.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_BLOWFISH
-diff -Nur linux-2.4.32/include/config/crypto/cast5.h linux-2.4.32.patched/include/config/crypto/cast5.h
---- linux-2.4.32/include/config/crypto/cast5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/cast5.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_CAST5
-diff -Nur linux-2.4.32/include/config/crypto/cast6.h linux-2.4.32.patched/include/config/crypto/cast6.h
---- linux-2.4.32/include/config/crypto/cast6.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/cast6.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_CAST6
-diff -Nur linux-2.4.32/include/config/crypto/deflate/module.h linux-2.4.32.patched/include/config/crypto/deflate/module.h
---- linux-2.4.32/include/config/crypto/deflate/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/deflate/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO_DEFLATE_MODULE 1
-diff -Nur linux-2.4.32/include/config/crypto/deflate.h linux-2.4.32.patched/include/config/crypto/deflate.h
---- linux-2.4.32/include/config/crypto/deflate.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/deflate.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_DEFLATE
-diff -Nur linux-2.4.32/include/config/crypto/des/module.h linux-2.4.32.patched/include/config/crypto/des/module.h
---- linux-2.4.32/include/config/crypto/des/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/des/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO_DES_MODULE 1
-diff -Nur linux-2.4.32/include/config/crypto/des.h linux-2.4.32.patched/include/config/crypto/des.h
---- linux-2.4.32/include/config/crypto/des.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/des.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_DES
-diff -Nur linux-2.4.32/include/config/crypto/hmac.h linux-2.4.32.patched/include/config/crypto/hmac.h
---- linux-2.4.32/include/config/crypto/hmac.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/hmac.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO_HMAC 1
-diff -Nur linux-2.4.32/include/config/crypto/khazad.h linux-2.4.32.patched/include/config/crypto/khazad.h
---- linux-2.4.32/include/config/crypto/khazad.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/khazad.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_KHAZAD
-diff -Nur linux-2.4.32/include/config/crypto/md4.h linux-2.4.32.patched/include/config/crypto/md4.h
---- linux-2.4.32/include/config/crypto/md4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/md4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_MD4
-diff -Nur linux-2.4.32/include/config/crypto/md5/module.h linux-2.4.32.patched/include/config/crypto/md5/module.h
---- linux-2.4.32/include/config/crypto/md5/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/md5/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO_MD5_MODULE 1
-diff -Nur linux-2.4.32/include/config/crypto/md5.h linux-2.4.32.patched/include/config/crypto/md5.h
---- linux-2.4.32/include/config/crypto/md5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/md5.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_MD5
-diff -Nur linux-2.4.32/include/config/crypto/michael/mic/module.h linux-2.4.32.patched/include/config/crypto/michael/mic/module.h
---- linux-2.4.32/include/config/crypto/michael/mic/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/michael/mic/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO_MICHAEL_MIC_MODULE 1
-diff -Nur linux-2.4.32/include/config/crypto/michael/mic.h linux-2.4.32.patched/include/config/crypto/michael/mic.h
---- linux-2.4.32/include/config/crypto/michael/mic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/michael/mic.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_MICHAEL_MIC
-diff -Nur linux-2.4.32/include/config/crypto/null.h linux-2.4.32.patched/include/config/crypto/null.h
---- linux-2.4.32/include/config/crypto/null.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/null.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_NULL
-diff -Nur linux-2.4.32/include/config/crypto/serpent.h linux-2.4.32.patched/include/config/crypto/serpent.h
---- linux-2.4.32/include/config/crypto/serpent.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/serpent.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_SERPENT
-diff -Nur linux-2.4.32/include/config/crypto/sha1/module.h linux-2.4.32.patched/include/config/crypto/sha1/module.h
---- linux-2.4.32/include/config/crypto/sha1/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/sha1/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO_SHA1_MODULE 1
-diff -Nur linux-2.4.32/include/config/crypto/sha1.h linux-2.4.32.patched/include/config/crypto/sha1.h
---- linux-2.4.32/include/config/crypto/sha1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/sha1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_SHA1
-diff -Nur linux-2.4.32/include/config/crypto/sha256.h linux-2.4.32.patched/include/config/crypto/sha256.h
---- linux-2.4.32/include/config/crypto/sha256.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/sha256.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_SHA256
-diff -Nur linux-2.4.32/include/config/crypto/sha512.h linux-2.4.32.patched/include/config/crypto/sha512.h
---- linux-2.4.32/include/config/crypto/sha512.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/sha512.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_SHA512
-diff -Nur linux-2.4.32/include/config/crypto/tea.h linux-2.4.32.patched/include/config/crypto/tea.h
---- linux-2.4.32/include/config/crypto/tea.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/tea.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_TEA
-diff -Nur linux-2.4.32/include/config/crypto/test.h linux-2.4.32.patched/include/config/crypto/test.h
---- linux-2.4.32/include/config/crypto/test.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/test.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_TEST
-diff -Nur linux-2.4.32/include/config/crypto/twofish.h linux-2.4.32.patched/include/config/crypto/twofish.h
---- linux-2.4.32/include/config/crypto/twofish.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/twofish.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_TWOFISH
-diff -Nur linux-2.4.32/include/config/crypto/wp512.h linux-2.4.32.patched/include/config/crypto/wp512.h
---- linux-2.4.32/include/config/crypto/wp512.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto/wp512.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CRYPTO_WP512
-diff -Nur linux-2.4.32/include/config/crypto.h linux-2.4.32.patched/include/config/crypto.h
---- linux-2.4.32/include/config/crypto.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/crypto.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_CRYPTO 1
-diff -Nur linux-2.4.32/include/config/cs89x0.h linux-2.4.32.patched/include/config/cs89x0.h
---- linux-2.4.32/include/config/cs89x0.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/cs89x0.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_CS89x0
-diff -Nur linux-2.4.32/include/config/ddb5074.h linux-2.4.32.patched/include/config/ddb5074.h
---- linux-2.4.32/include/config/ddb5074.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ddb5074.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DDB5074
-diff -Nur linux-2.4.32/include/config/ddb5476.h linux-2.4.32.patched/include/config/ddb5476.h
---- linux-2.4.32/include/config/ddb5476.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ddb5476.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DDB5476
-diff -Nur linux-2.4.32/include/config/ddb5477.h linux-2.4.32.patched/include/config/ddb5477.h
---- linux-2.4.32/include/config/ddb5477.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ddb5477.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DDB5477
-diff -Nur linux-2.4.32/include/config/de4x5.h linux-2.4.32.patched/include/config/de4x5.h
---- linux-2.4.32/include/config/de4x5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/de4x5.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DE4X5
-diff -Nur linux-2.4.32/include/config/debug/info.h linux-2.4.32.patched/include/config/debug/info.h
---- linux-2.4.32/include/config/debug/info.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/debug/info.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DEBUG_INFO
-diff -Nur linux-2.4.32/include/config/decnet.h linux-2.4.32.patched/include/config/decnet.h
---- linux-2.4.32/include/config/decnet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/decnet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DECNET
-diff -Nur linux-2.4.32/include/config/decstation.h linux-2.4.32.patched/include/config/decstation.h
---- linux-2.4.32/include/config/decstation.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/decstation.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DECSTATION
-diff -Nur linux-2.4.32/include/config/devfs/debug.h linux-2.4.32.patched/include/config/devfs/debug.h
---- linux-2.4.32/include/config/devfs/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/devfs/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DEVFS_DEBUG
-diff -Nur linux-2.4.32/include/config/devfs/fs.h linux-2.4.32.patched/include/config/devfs/fs.h
---- linux-2.4.32/include/config/devfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/devfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_DEVFS_FS 1
-diff -Nur linux-2.4.32/include/config/devfs/mount.h linux-2.4.32.patched/include/config/devfs/mount.h
---- linux-2.4.32/include/config/devfs/mount.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/devfs/mount.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_DEVFS_MOUNT 1
-diff -Nur linux-2.4.32/include/config/devpts/fs.h linux-2.4.32.patched/include/config/devpts/fs.h
---- linux-2.4.32/include/config/devpts/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/devpts/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_DEVPTS_FS 1
-diff -Nur linux-2.4.32/include/config/dgrs.h linux-2.4.32.patched/include/config/dgrs.h
---- linux-2.4.32/include/config/dgrs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/dgrs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DGRS
-diff -Nur linux-2.4.32/include/config/dl2k.h linux-2.4.32.patched/include/config/dl2k.h
---- linux-2.4.32/include/config/dl2k.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/dl2k.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DL2K
-diff -Nur linux-2.4.32/include/config/dm9102.h linux-2.4.32.patched/include/config/dm9102.h
---- linux-2.4.32/include/config/dm9102.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/dm9102.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DM9102
-diff -Nur linux-2.4.32/include/config/dma/nonpci.h linux-2.4.32.patched/include/config/dma/nonpci.h
---- linux-2.4.32/include/config/dma/nonpci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/dma/nonpci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DMA_NONPCI
-diff -Nur linux-2.4.32/include/config/drm.h linux-2.4.32.patched/include/config/drm.h
---- linux-2.4.32/include/config/drm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/drm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DRM
-diff -Nur linux-2.4.32/include/config/dtlk.h linux-2.4.32.patched/include/config/dtlk.h
---- linux-2.4.32/include/config/dtlk.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/dtlk.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DTLK
-diff -Nur linux-2.4.32/include/config/dummy.h linux-2.4.32.patched/include/config/dummy.h
---- linux-2.4.32/include/config/dummy.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/dummy.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_DUMMY
-diff -Nur linux-2.4.32/include/config/e1000.h linux-2.4.32.patched/include/config/e1000.h
---- linux-2.4.32/include/config/e1000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/e1000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_E1000
-diff -Nur linux-2.4.32/include/config/e100.h linux-2.4.32.patched/include/config/e100.h
---- linux-2.4.32/include/config/e100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/e100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_E100
-diff -Nur linux-2.4.32/include/config/econet.h linux-2.4.32.patched/include/config/econet.h
---- linux-2.4.32/include/config/econet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/econet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ECONET
-diff -Nur linux-2.4.32/include/config/eepro100/pio.h linux-2.4.32.patched/include/config/eepro100/pio.h
---- linux-2.4.32/include/config/eepro100/pio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/eepro100/pio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EEPRO100_PIO
-diff -Nur linux-2.4.32/include/config/eepro100.h linux-2.4.32.patched/include/config/eepro100.h
---- linux-2.4.32/include/config/eepro100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/eepro100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EEPRO100
-diff -Nur linux-2.4.32/include/config/efi/partition.h linux-2.4.32.patched/include/config/efi/partition.h
---- linux-2.4.32/include/config/efi/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/efi/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EFI_PARTITION
-diff -Nur linux-2.4.32/include/config/efs/fs.h linux-2.4.32.patched/include/config/efs/fs.h
---- linux-2.4.32/include/config/efs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/efs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EFS_FS
-diff -Nur linux-2.4.32/include/config/epic100.h linux-2.4.32.patched/include/config/epic100.h
---- linux-2.4.32/include/config/epic100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/epic100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EPIC100
-diff -Nur linux-2.4.32/include/config/equalizer.h linux-2.4.32.patched/include/config/equalizer.h
---- linux-2.4.32/include/config/equalizer.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/equalizer.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EQUALIZER
-diff -Nur linux-2.4.32/include/config/es3210.h linux-2.4.32.patched/include/config/es3210.h
---- linux-2.4.32/include/config/es3210.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/es3210.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ES3210
-diff -Nur linux-2.4.32/include/config/ethertap.h linux-2.4.32.patched/include/config/ethertap.h
---- linux-2.4.32/include/config/ethertap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ethertap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ETHERTAP
-diff -Nur linux-2.4.32/include/config/eurotech/wdt.h linux-2.4.32.patched/include/config/eurotech/wdt.h
---- linux-2.4.32/include/config/eurotech/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/eurotech/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EUROTECH_WDT
-diff -Nur linux-2.4.32/include/config/experimental.h linux-2.4.32.patched/include/config/experimental.h
---- linux-2.4.32/include/config/experimental.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/experimental.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_EXPERIMENTAL 1
-diff -Nur linux-2.4.32/include/config/ext2/fs/module.h linux-2.4.32.patched/include/config/ext2/fs/module.h
---- linux-2.4.32/include/config/ext2/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ext2/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_EXT2_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/ext2/fs.h linux-2.4.32.patched/include/config/ext2/fs.h
---- linux-2.4.32/include/config/ext2/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ext2/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EXT2_FS
-diff -Nur linux-2.4.32/include/config/ext3/fs/module.h linux-2.4.32.patched/include/config/ext3/fs/module.h
---- linux-2.4.32/include/config/ext3/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ext3/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_EXT3_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/ext3/fs.h linux-2.4.32.patched/include/config/ext3/fs.h
---- linux-2.4.32/include/config/ext3/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ext3/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_EXT3_FS
-diff -Nur linux-2.4.32/include/config/fat/fs/module.h linux-2.4.32.patched/include/config/fat/fs/module.h
---- linux-2.4.32/include/config/fat/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fat/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_FAT_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/fat/fs.h linux-2.4.32.patched/include/config/fat/fs.h
---- linux-2.4.32/include/config/fat/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fat/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FAT_FS
-diff -Nur linux-2.4.32/include/config/fddi.h linux-2.4.32.patched/include/config/fddi.h
---- linux-2.4.32/include/config/fddi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fddi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FDDI
-diff -Nur linux-2.4.32/include/config/fealnx.h linux-2.4.32.patched/include/config/fealnx.h
---- linux-2.4.32/include/config/fealnx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fealnx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FEALNX
-diff -Nur linux-2.4.32/include/config/filter.h linux-2.4.32.patched/include/config/filter.h
---- linux-2.4.32/include/config/filter.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/filter.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_FILTER 1
-diff -Nur linux-2.4.32/include/config/forcedeth.h linux-2.4.32.patched/include/config/forcedeth.h
---- linux-2.4.32/include/config/forcedeth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/forcedeth.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FORCEDETH
-diff -Nur linux-2.4.32/include/config/ftape.h linux-2.4.32.patched/include/config/ftape.h
---- linux-2.4.32/include/config/ftape.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ftape.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FTAPE
-diff -Nur linux-2.4.32/include/config/ftl.h linux-2.4.32.patched/include/config/ftl.h
---- linux-2.4.32/include/config/ftl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ftl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FTL
-diff -Nur linux-2.4.32/include/config/fusion/boot.h linux-2.4.32.patched/include/config/fusion/boot.h
---- linux-2.4.32/include/config/fusion/boot.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fusion/boot.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FUSION_BOOT
-diff -Nur linux-2.4.32/include/config/fusion/ctl.h linux-2.4.32.patched/include/config/fusion/ctl.h
---- linux-2.4.32/include/config/fusion/ctl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fusion/ctl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FUSION_CTL
-diff -Nur linux-2.4.32/include/config/fusion/isense.h linux-2.4.32.patched/include/config/fusion/isense.h
---- linux-2.4.32/include/config/fusion/isense.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fusion/isense.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FUSION_ISENSE
-diff -Nur linux-2.4.32/include/config/fusion/lan.h linux-2.4.32.patched/include/config/fusion/lan.h
---- linux-2.4.32/include/config/fusion/lan.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fusion/lan.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FUSION_LAN
-diff -Nur linux-2.4.32/include/config/fusion.h linux-2.4.32.patched/include/config/fusion.h
---- linux-2.4.32/include/config/fusion.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fusion.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FUSION
-diff -Nur linux-2.4.32/include/config/fw/loader.h linux-2.4.32.patched/include/config/fw/loader.h
---- linux-2.4.32/include/config/fw/loader.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/fw/loader.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_FW_LOADER
-diff -Nur linux-2.4.32/include/config/gdb/console.h linux-2.4.32.patched/include/config/gdb/console.h
---- linux-2.4.32/include/config/gdb/console.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/gdb/console.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_GDB_CONSOLE
-diff -Nur linux-2.4.32/include/config/hamachi.h linux-2.4.32.patched/include/config/hamachi.h
---- linux-2.4.32/include/config/hamachi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hamachi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HAMACHI
-diff -Nur linux-2.4.32/include/config/hamradio.h linux-2.4.32.patched/include/config/hamradio.h
---- linux-2.4.32/include/config/hamradio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hamradio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_HAMRADIO 1
-diff -Nur linux-2.4.32/include/config/happymeal.h linux-2.4.32.patched/include/config/happymeal.h
---- linux-2.4.32/include/config/happymeal.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/happymeal.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HAPPYMEAL
-diff -Nur linux-2.4.32/include/config/hermes.h linux-2.4.32.patched/include/config/hermes.h
---- linux-2.4.32/include/config/hermes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hermes.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HERMES
-diff -Nur linux-2.4.32/include/config/hfs/fs.h linux-2.4.32.patched/include/config/hfs/fs.h
---- linux-2.4.32/include/config/hfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HFS_FS
-diff -Nur linux-2.4.32/include/config/hfsplus/fs/module.h linux-2.4.32.patched/include/config/hfsplus/fs/module.h
---- linux-2.4.32/include/config/hfsplus/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hfsplus/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_HFSPLUS_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/hfsplus/fs.h linux-2.4.32.patched/include/config/hfsplus/fs.h
---- linux-2.4.32/include/config/hfsplus/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hfsplus/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HFSPLUS_FS
-diff -Nur linux-2.4.32/include/config/highmem.h linux-2.4.32.patched/include/config/highmem.h
---- linux-2.4.32/include/config/highmem.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/highmem.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HIGHMEM
-diff -Nur linux-2.4.32/include/config/hippi.h linux-2.4.32.patched/include/config/hippi.h
---- linux-2.4.32/include/config/hippi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hippi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HIPPI
-diff -Nur linux-2.4.32/include/config/hnd.h linux-2.4.32.patched/include/config/hnd.h
---- linux-2.4.32/include/config/hnd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hnd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_HND 1
-diff -Nur linux-2.4.32/include/config/hotplug/pci/compaq/nvram.h linux-2.4.32.patched/include/config/hotplug/pci/compaq/nvram.h
---- linux-2.4.32/include/config/hotplug/pci/compaq/nvram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hotplug/pci/compaq/nvram.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM
-diff -Nur linux-2.4.32/include/config/hotplug/pci/compaq.h linux-2.4.32.patched/include/config/hotplug/pci/compaq.h
---- linux-2.4.32/include/config/hotplug/pci/compaq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hotplug/pci/compaq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HOTPLUG_PCI_COMPAQ
-diff -Nur linux-2.4.32/include/config/hotplug/pci/pcie/poll/event/mode.h linux-2.4.32.patched/include/config/hotplug/pci/pcie/poll/event/mode.h
---- linux-2.4.32/include/config/hotplug/pci/pcie/poll/event/mode.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hotplug/pci/pcie/poll/event/mode.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE
-diff -Nur linux-2.4.32/include/config/hotplug/pci/pcie.h linux-2.4.32.patched/include/config/hotplug/pci/pcie.h
---- linux-2.4.32/include/config/hotplug/pci/pcie.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hotplug/pci/pcie.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HOTPLUG_PCI_PCIE
-diff -Nur linux-2.4.32/include/config/hotplug/pci/shpc/poll/event/mode.h linux-2.4.32.patched/include/config/hotplug/pci/shpc/poll/event/mode.h
---- linux-2.4.32/include/config/hotplug/pci/shpc/poll/event/mode.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hotplug/pci/shpc/poll/event/mode.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE
-diff -Nur linux-2.4.32/include/config/hotplug/pci/shpc.h linux-2.4.32.patched/include/config/hotplug/pci/shpc.h
---- linux-2.4.32/include/config/hotplug/pci/shpc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hotplug/pci/shpc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HOTPLUG_PCI_SHPC
-diff -Nur linux-2.4.32/include/config/hotplug/pci.h linux-2.4.32.patched/include/config/hotplug/pci.h
---- linux-2.4.32/include/config/hotplug/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hotplug/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HOTPLUG_PCI
-diff -Nur linux-2.4.32/include/config/hotplug.h linux-2.4.32.patched/include/config/hotplug.h
---- linux-2.4.32/include/config/hotplug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hotplug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_HOTPLUG 1
-diff -Nur linux-2.4.32/include/config/hp/laserjet.h linux-2.4.32.patched/include/config/hp/laserjet.h
---- linux-2.4.32/include/config/hp/laserjet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hp/laserjet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HP_LASERJET
-diff -Nur linux-2.4.32/include/config/hp100.h linux-2.4.32.patched/include/config/hp100.h
---- linux-2.4.32/include/config/hp100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hp100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HP100
-diff -Nur linux-2.4.32/include/config/hpfs/fs.h linux-2.4.32.patched/include/config/hpfs/fs.h
---- linux-2.4.32/include/config/hpfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hpfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HPFS_FS
-diff -Nur linux-2.4.32/include/config/hpt34x/autodma.h linux-2.4.32.patched/include/config/hpt34x/autodma.h
---- linux-2.4.32/include/config/hpt34x/autodma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/hpt34x/autodma.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_HPT34X_AUTODMA
-diff -Nur linux-2.4.32/include/config/i2c/parport.h linux-2.4.32.patched/include/config/i2c/parport.h
---- linux-2.4.32/include/config/i2c/parport.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i2c/parport.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I2C_PARPORT
-diff -Nur linux-2.4.32/include/config/i2c.h linux-2.4.32.patched/include/config/i2c.h
---- linux-2.4.32/include/config/i2c.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i2c.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I2C
-diff -Nur linux-2.4.32/include/config/i2o/block.h linux-2.4.32.patched/include/config/i2o/block.h
---- linux-2.4.32/include/config/i2o/block.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i2o/block.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I2O_BLOCK
-diff -Nur linux-2.4.32/include/config/i2o/lan.h linux-2.4.32.patched/include/config/i2o/lan.h
---- linux-2.4.32/include/config/i2o/lan.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i2o/lan.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I2O_LAN
-diff -Nur linux-2.4.32/include/config/i2o/pci.h linux-2.4.32.patched/include/config/i2o/pci.h
---- linux-2.4.32/include/config/i2o/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i2o/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I2O_PCI
-diff -Nur linux-2.4.32/include/config/i2o/proc.h linux-2.4.32.patched/include/config/i2o/proc.h
---- linux-2.4.32/include/config/i2o/proc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i2o/proc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I2O_PROC
-diff -Nur linux-2.4.32/include/config/i2o/scsi.h linux-2.4.32.patched/include/config/i2o/scsi.h
---- linux-2.4.32/include/config/i2o/scsi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i2o/scsi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I2O_SCSI
-diff -Nur linux-2.4.32/include/config/i2o.h linux-2.4.32.patched/include/config/i2o.h
---- linux-2.4.32/include/config/i2o.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i2o.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I2O
-diff -Nur linux-2.4.32/include/config/i810/tco.h linux-2.4.32.patched/include/config/i810/tco.h
---- linux-2.4.32/include/config/i810/tco.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i810/tco.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I810_TCO
-diff -Nur linux-2.4.32/include/config/i82092.h linux-2.4.32.patched/include/config/i82092.h
---- linux-2.4.32/include/config/i82092.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i82092.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I82092
-diff -Nur linux-2.4.32/include/config/i82365.h linux-2.4.32.patched/include/config/i82365.h
---- linux-2.4.32/include/config/i82365.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/i82365.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_I82365
-diff -Nur linux-2.4.32/include/config/ib700/wdt.h linux-2.4.32.patched/include/config/ib700/wdt.h
---- linux-2.4.32/include/config/ib700/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ib700/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IB700_WDT
-diff -Nur linux-2.4.32/include/config/ibm/workpad.h linux-2.4.32.patched/include/config/ibm/workpad.h
---- linux-2.4.32/include/config/ibm/workpad.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ibm/workpad.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IBM_WORKPAD
-diff -Nur linux-2.4.32/include/config/ide/chipsets.h linux-2.4.32.patched/include/config/ide/chipsets.h
---- linux-2.4.32/include/config/ide/chipsets.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ide/chipsets.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IDE_CHIPSETS
-diff -Nur linux-2.4.32/include/config/ide/module.h linux-2.4.32.patched/include/config/ide/module.h
---- linux-2.4.32/include/config/ide/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ide/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IDE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ide/task/ioctl.h linux-2.4.32.patched/include/config/ide/task/ioctl.h
---- linux-2.4.32/include/config/ide/task/ioctl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ide/task/ioctl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IDE_TASK_IOCTL
-diff -Nur linux-2.4.32/include/config/idedisk/multi/mode.h linux-2.4.32.patched/include/config/idedisk/multi/mode.h
---- linux-2.4.32/include/config/idedisk/multi/mode.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/idedisk/multi/mode.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IDEDISK_MULTI_MODE
-diff -Nur linux-2.4.32/include/config/idedisk/stroke.h linux-2.4.32.patched/include/config/idedisk/stroke.h
---- linux-2.4.32/include/config/idedisk/stroke.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/idedisk/stroke.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IDEDISK_STROKE 1
-diff -Nur linux-2.4.32/include/config/idedma/auto.h linux-2.4.32.patched/include/config/idedma/auto.h
---- linux-2.4.32/include/config/idedma/auto.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/idedma/auto.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IDEDMA_AUTO 1
-diff -Nur linux-2.4.32/include/config/idedma/ivb.h linux-2.4.32.patched/include/config/idedma/ivb.h
---- linux-2.4.32/include/config/idedma/ivb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/idedma/ivb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IDEDMA_IVB 1
-diff -Nur linux-2.4.32/include/config/idedma/onlydisk.h linux-2.4.32.patched/include/config/idedma/onlydisk.h
---- linux-2.4.32/include/config/idedma/onlydisk.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/idedma/onlydisk.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IDEDMA_ONLYDISK
-diff -Nur linux-2.4.32/include/config/idedma/pci/auto.h linux-2.4.32.patched/include/config/idedma/pci/auto.h
---- linux-2.4.32/include/config/idedma/pci/auto.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/idedma/pci/auto.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IDEDMA_PCI_AUTO 1
-diff -Nur linux-2.4.32/include/config/idedma/pci/wip.h linux-2.4.32.patched/include/config/idedma/pci/wip.h
---- linux-2.4.32/include/config/idedma/pci/wip.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/idedma/pci/wip.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IDEDMA_PCI_WIP
-diff -Nur linux-2.4.32/include/config/ide.h linux-2.4.32.patched/include/config/ide.h
---- linux-2.4.32/include/config/ide.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ide.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IDE
-diff -Nur linux-2.4.32/include/config/idepci/share/irq.h linux-2.4.32.patched/include/config/idepci/share/irq.h
---- linux-2.4.32/include/config/idepci/share/irq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/idepci/share/irq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IDEPCI_SHARE_IRQ
-diff -Nur linux-2.4.32/include/config/ieee1394.h linux-2.4.32.patched/include/config/ieee1394.h
---- linux-2.4.32/include/config/ieee1394.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ieee1394.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IEEE1394
-diff -Nur linux-2.4.32/include/config/imq/module.h linux-2.4.32.patched/include/config/imq/module.h
---- linux-2.4.32/include/config/imq/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/imq/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IMQ_MODULE 1
-diff -Nur linux-2.4.32/include/config/imq.h linux-2.4.32.patched/include/config/imq.h
---- linux-2.4.32/include/config/imq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/imq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IMQ
-diff -Nur linux-2.4.32/include/config/inet/ecn.h linux-2.4.32.patched/include/config/inet/ecn.h
---- linux-2.4.32/include/config/inet/ecn.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/inet/ecn.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INET_ECN
-diff -Nur linux-2.4.32/include/config/inet.h linux-2.4.32.patched/include/config/inet.h
---- linux-2.4.32/include/config/inet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/inet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_INET 1
-diff -Nur linux-2.4.32/include/config/input/evdev.h linux-2.4.32.patched/include/config/input/evdev.h
---- linux-2.4.32/include/config/input/evdev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/input/evdev.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INPUT_EVDEV
-diff -Nur linux-2.4.32/include/config/input/gameport.h linux-2.4.32.patched/include/config/input/gameport.h
---- linux-2.4.32/include/config/input/gameport.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/input/gameport.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INPUT_GAMEPORT
-diff -Nur linux-2.4.32/include/config/input/joydev.h linux-2.4.32.patched/include/config/input/joydev.h
---- linux-2.4.32/include/config/input/joydev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/input/joydev.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INPUT_JOYDEV
-diff -Nur linux-2.4.32/include/config/input/keybdev.h linux-2.4.32.patched/include/config/input/keybdev.h
---- linux-2.4.32/include/config/input/keybdev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/input/keybdev.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INPUT_KEYBDEV
-diff -Nur linux-2.4.32/include/config/input/mousedev.h linux-2.4.32.patched/include/config/input/mousedev.h
---- linux-2.4.32/include/config/input/mousedev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/input/mousedev.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INPUT_MOUSEDEV
-diff -Nur linux-2.4.32/include/config/input/uinput.h linux-2.4.32.patched/include/config/input/uinput.h
---- linux-2.4.32/include/config/input/uinput.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/input/uinput.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INPUT_UINPUT
-diff -Nur linux-2.4.32/include/config/input.h linux-2.4.32.patched/include/config/input.h
---- linux-2.4.32/include/config/input.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/input.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INPUT
-diff -Nur linux-2.4.32/include/config/intermezzo/fs.h linux-2.4.32.patched/include/config/intermezzo/fs.h
---- linux-2.4.32/include/config/intermezzo/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/intermezzo/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_INTERMEZZO_FS
-diff -Nur linux-2.4.32/include/config/ip/advanced/router.h linux-2.4.32.patched/include/config/ip/advanced/router.h
---- linux-2.4.32/include/config/ip/advanced/router.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/advanced/router.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_ADVANCED_ROUTER 1
-diff -Nur linux-2.4.32/include/config/ip/mroute.h linux-2.4.32.patched/include/config/ip/mroute.h
---- linux-2.4.32/include/config/ip/mroute.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/mroute.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_MROUTE
-diff -Nur linux-2.4.32/include/config/ip/multicast.h linux-2.4.32.patched/include/config/ip/multicast.h
---- linux-2.4.32/include/config/ip/multicast.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/multicast.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_MULTICAST 1
-diff -Nur linux-2.4.32/include/config/ip/multiple/tables.h linux-2.4.32.patched/include/config/ip/multiple/tables.h
---- linux-2.4.32/include/config/ip/multiple/tables.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/multiple/tables.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_MULTIPLE_TABLES 1
-diff -Nur linux-2.4.32/include/config/ip/nf/amanda/module.h linux-2.4.32.patched/include/config/ip/nf/amanda/module.h
---- linux-2.4.32/include/config/ip/nf/amanda/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/amanda/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_AMANDA_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/amanda.h linux-2.4.32.patched/include/config/ip/nf/amanda.h
---- linux-2.4.32/include/config/ip/nf/amanda.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/amanda.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_AMANDA
-diff -Nur linux-2.4.32/include/config/ip/nf/arp/mangle/module.h linux-2.4.32.patched/include/config/ip/nf/arp/mangle/module.h
---- linux-2.4.32/include/config/ip/nf/arp/mangle/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/arp/mangle/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_ARP_MANGLE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/arp/mangle.h linux-2.4.32.patched/include/config/ip/nf/arp/mangle.h
---- linux-2.4.32/include/config/ip/nf/arp/mangle.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/arp/mangle.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_ARP_MANGLE
-diff -Nur linux-2.4.32/include/config/ip/nf/arpfilter/module.h linux-2.4.32.patched/include/config/ip/nf/arpfilter/module.h
---- linux-2.4.32/include/config/ip/nf/arpfilter/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/arpfilter/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_ARPFILTER_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/arpfilter.h linux-2.4.32.patched/include/config/ip/nf/arpfilter.h
---- linux-2.4.32/include/config/ip/nf/arpfilter.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/arpfilter.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_ARPFILTER
-diff -Nur linux-2.4.32/include/config/ip/nf/arptables/module.h linux-2.4.32.patched/include/config/ip/nf/arptables/module.h
---- linux-2.4.32/include/config/ip/nf/arptables/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/arptables/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_ARPTABLES_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/arptables.h linux-2.4.32.patched/include/config/ip/nf/arptables.h
---- linux-2.4.32/include/config/ip/nf/arptables.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/arptables.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_ARPTABLES
-diff -Nur linux-2.4.32/include/config/ip/nf/conntrack/mark.h linux-2.4.32.patched/include/config/ip/nf/conntrack/mark.h
---- linux-2.4.32/include/config/ip/nf/conntrack/mark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/conntrack/mark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_CONNTRACK_MARK 1
-diff -Nur linux-2.4.32/include/config/ip/nf/conntrack.h linux-2.4.32.patched/include/config/ip/nf/conntrack.h
---- linux-2.4.32/include/config/ip/nf/conntrack.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/conntrack.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_CONNTRACK 1
-diff -Nur linux-2.4.32/include/config/ip/nf/ct/acct/module.h linux-2.4.32.patched/include/config/ip/nf/ct/acct/module.h
---- linux-2.4.32/include/config/ip/nf/ct/acct/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/ct/acct/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_CT_ACCT_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/ct/acct.h linux-2.4.32.patched/include/config/ip/nf/ct/acct.h
---- linux-2.4.32/include/config/ip/nf/ct/acct.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/ct/acct.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_CT_ACCT
-diff -Nur linux-2.4.32/include/config/ip/nf/ct/proto/gre/module.h linux-2.4.32.patched/include/config/ip/nf/ct/proto/gre/module.h
---- linux-2.4.32/include/config/ip/nf/ct/proto/gre/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/ct/proto/gre/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_CT_PROTO_GRE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/ct/proto/gre.h linux-2.4.32.patched/include/config/ip/nf/ct/proto/gre.h
---- linux-2.4.32/include/config/ip/nf/ct/proto/gre.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/ct/proto/gre.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_CT_PROTO_GRE
-diff -Nur linux-2.4.32/include/config/ip/nf/filter.h linux-2.4.32.patched/include/config/ip/nf/filter.h
---- linux-2.4.32/include/config/ip/nf/filter.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/filter.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_FILTER 1
-diff -Nur linux-2.4.32/include/config/ip/nf/ftp.h linux-2.4.32.patched/include/config/ip/nf/ftp.h
---- linux-2.4.32/include/config/ip/nf/ftp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/ftp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_FTP 1
-diff -Nur linux-2.4.32/include/config/ip/nf/h323/module.h linux-2.4.32.patched/include/config/ip/nf/h323/module.h
---- linux-2.4.32/include/config/ip/nf/h323/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/h323/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_H323_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/h323.h linux-2.4.32.patched/include/config/ip/nf/h323.h
---- linux-2.4.32/include/config/ip/nf/h323.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/h323.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_H323
-diff -Nur linux-2.4.32/include/config/ip/nf/iptables.h linux-2.4.32.patched/include/config/ip/nf/iptables.h
---- linux-2.4.32/include/config/ip/nf/iptables.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/iptables.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_IPTABLES 1
-diff -Nur linux-2.4.32/include/config/ip/nf/irc.h linux-2.4.32.patched/include/config/ip/nf/irc.h
---- linux-2.4.32/include/config/ip/nf/irc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/irc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_IRC 1
-diff -Nur linux-2.4.32/include/config/ip/nf/mangle.h linux-2.4.32.patched/include/config/ip/nf/mangle.h
---- linux-2.4.32/include/config/ip/nf/mangle.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/mangle.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MANGLE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/ah/esp/module.h linux-2.4.32.patched/include/config/ip/nf/match/ah/esp/module.h
---- linux-2.4.32/include/config/ip/nf/match/ah/esp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/ah/esp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_AH_ESP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/ah/esp.h linux-2.4.32.patched/include/config/ip/nf/match/ah/esp.h
---- linux-2.4.32/include/config/ip/nf/match/ah/esp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/ah/esp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_AH_ESP
-diff -Nur linux-2.4.32/include/config/ip/nf/match/condition/module.h linux-2.4.32.patched/include/config/ip/nf/match/condition/module.h
---- linux-2.4.32/include/config/ip/nf/match/condition/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/condition/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_CONDITION_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/condition.h linux-2.4.32.patched/include/config/ip/nf/match/condition.h
---- linux-2.4.32/include/config/ip/nf/match/condition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/condition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_CONDITION
-diff -Nur linux-2.4.32/include/config/ip/nf/match/connbytes/module.h linux-2.4.32.patched/include/config/ip/nf/match/connbytes/module.h
---- linux-2.4.32/include/config/ip/nf/match/connbytes/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/connbytes/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_CONNBYTES_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/connbytes.h linux-2.4.32.patched/include/config/ip/nf/match/connbytes.h
---- linux-2.4.32/include/config/ip/nf/match/connbytes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/connbytes.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_CONNBYTES
-diff -Nur linux-2.4.32/include/config/ip/nf/match/connmark/module.h linux-2.4.32.patched/include/config/ip/nf/match/connmark/module.h
---- linux-2.4.32/include/config/ip/nf/match/connmark/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/connmark/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_CONNMARK_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/connmark.h linux-2.4.32.patched/include/config/ip/nf/match/connmark.h
---- linux-2.4.32/include/config/ip/nf/match/connmark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/connmark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_CONNMARK
-diff -Nur linux-2.4.32/include/config/ip/nf/match/conntrack/module.h linux-2.4.32.patched/include/config/ip/nf/match/conntrack/module.h
---- linux-2.4.32/include/config/ip/nf/match/conntrack/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/conntrack/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_CONNTRACK_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/conntrack.h linux-2.4.32.patched/include/config/ip/nf/match/conntrack.h
---- linux-2.4.32/include/config/ip/nf/match/conntrack.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/conntrack.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_CONNTRACK
-diff -Nur linux-2.4.32/include/config/ip/nf/match/dscp/module.h linux-2.4.32.patched/include/config/ip/nf/match/dscp/module.h
---- linux-2.4.32/include/config/ip/nf/match/dscp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/dscp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_DSCP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/dscp.h linux-2.4.32.patched/include/config/ip/nf/match/dscp.h
---- linux-2.4.32/include/config/ip/nf/match/dscp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/dscp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_DSCP
-diff -Nur linux-2.4.32/include/config/ip/nf/match/ecn/module.h linux-2.4.32.patched/include/config/ip/nf/match/ecn/module.h
---- linux-2.4.32/include/config/ip/nf/match/ecn/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/ecn/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_ECN_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/ecn.h linux-2.4.32.patched/include/config/ip/nf/match/ecn.h
---- linux-2.4.32/include/config/ip/nf/match/ecn.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/ecn.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_ECN
-diff -Nur linux-2.4.32/include/config/ip/nf/match/helper/module.h linux-2.4.32.patched/include/config/ip/nf/match/helper/module.h
---- linux-2.4.32/include/config/ip/nf/match/helper/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/helper/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_HELPER_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/helper.h linux-2.4.32.patched/include/config/ip/nf/match/helper.h
---- linux-2.4.32/include/config/ip/nf/match/helper.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/helper.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_HELPER
-diff -Nur linux-2.4.32/include/config/ip/nf/match/ipp2p/module.h linux-2.4.32.patched/include/config/ip/nf/match/ipp2p/module.h
---- linux-2.4.32/include/config/ip/nf/match/ipp2p/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/ipp2p/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_IPP2P_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/ipp2p.h linux-2.4.32.patched/include/config/ip/nf/match/ipp2p.h
---- linux-2.4.32/include/config/ip/nf/match/ipp2p.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/ipp2p.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_IPP2P
-diff -Nur linux-2.4.32/include/config/ip/nf/match/layer7/debug.h linux-2.4.32.patched/include/config/ip/nf/match/layer7/debug.h
---- linux-2.4.32/include/config/ip/nf/match/layer7/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/layer7/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_LAYER7_DEBUG
-diff -Nur linux-2.4.32/include/config/ip/nf/match/layer7/module.h linux-2.4.32.patched/include/config/ip/nf/match/layer7/module.h
---- linux-2.4.32/include/config/ip/nf/match/layer7/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/layer7/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_LAYER7_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/layer7.h linux-2.4.32.patched/include/config/ip/nf/match/layer7.h
---- linux-2.4.32/include/config/ip/nf/match/layer7.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/layer7.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_LAYER7
-diff -Nur linux-2.4.32/include/config/ip/nf/match/length/module.h linux-2.4.32.patched/include/config/ip/nf/match/length/module.h
---- linux-2.4.32/include/config/ip/nf/match/length/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/length/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_LENGTH_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/length.h linux-2.4.32.patched/include/config/ip/nf/match/length.h
---- linux-2.4.32/include/config/ip/nf/match/length.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/length.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_LENGTH
-diff -Nur linux-2.4.32/include/config/ip/nf/match/limit/module.h linux-2.4.32.patched/include/config/ip/nf/match/limit/module.h
---- linux-2.4.32/include/config/ip/nf/match/limit/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/limit/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_LIMIT_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/limit.h linux-2.4.32.patched/include/config/ip/nf/match/limit.h
---- linux-2.4.32/include/config/ip/nf/match/limit.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/limit.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_LIMIT
-diff -Nur linux-2.4.32/include/config/ip/nf/match/mac/module.h linux-2.4.32.patched/include/config/ip/nf/match/mac/module.h
---- linux-2.4.32/include/config/ip/nf/match/mac/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/mac/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_MAC_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/mac.h linux-2.4.32.patched/include/config/ip/nf/match/mac.h
---- linux-2.4.32/include/config/ip/nf/match/mac.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/mac.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_MAC
-diff -Nur linux-2.4.32/include/config/ip/nf/match/mark.h linux-2.4.32.patched/include/config/ip/nf/match/mark.h
---- linux-2.4.32/include/config/ip/nf/match/mark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/mark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_MARK 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/multiport.h linux-2.4.32.patched/include/config/ip/nf/match/multiport.h
---- linux-2.4.32/include/config/ip/nf/match/multiport.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/multiport.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_MULTIPORT 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/owner/module.h linux-2.4.32.patched/include/config/ip/nf/match/owner/module.h
---- linux-2.4.32/include/config/ip/nf/match/owner/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/owner/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_OWNER_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/owner.h linux-2.4.32.patched/include/config/ip/nf/match/owner.h
---- linux-2.4.32/include/config/ip/nf/match/owner.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/owner.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_OWNER
-diff -Nur linux-2.4.32/include/config/ip/nf/match/pkttype/module.h linux-2.4.32.patched/include/config/ip/nf/match/pkttype/module.h
---- linux-2.4.32/include/config/ip/nf/match/pkttype/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/pkttype/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_PKTTYPE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/pkttype.h linux-2.4.32.patched/include/config/ip/nf/match/pkttype.h
---- linux-2.4.32/include/config/ip/nf/match/pkttype.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/pkttype.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_PKTTYPE
-diff -Nur linux-2.4.32/include/config/ip/nf/match/quota/module.h linux-2.4.32.patched/include/config/ip/nf/match/quota/module.h
---- linux-2.4.32/include/config/ip/nf/match/quota/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/quota/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_QUOTA_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/quota.h linux-2.4.32.patched/include/config/ip/nf/match/quota.h
---- linux-2.4.32/include/config/ip/nf/match/quota.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/quota.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_QUOTA
-diff -Nur linux-2.4.32/include/config/ip/nf/match/recent/module.h linux-2.4.32.patched/include/config/ip/nf/match/recent/module.h
---- linux-2.4.32/include/config/ip/nf/match/recent/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/recent/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_RECENT_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/recent.h linux-2.4.32.patched/include/config/ip/nf/match/recent.h
---- linux-2.4.32/include/config/ip/nf/match/recent.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/recent.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_RECENT
-diff -Nur linux-2.4.32/include/config/ip/nf/match/set/module.h linux-2.4.32.patched/include/config/ip/nf/match/set/module.h
---- linux-2.4.32/include/config/ip/nf/match/set/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/set/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_SET_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/set.h linux-2.4.32.patched/include/config/ip/nf/match/set.h
---- linux-2.4.32/include/config/ip/nf/match/set.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/set.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_SET
-diff -Nur linux-2.4.32/include/config/ip/nf/match/state.h linux-2.4.32.patched/include/config/ip/nf/match/state.h
---- linux-2.4.32/include/config/ip/nf/match/state.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/state.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_STATE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/string/module.h linux-2.4.32.patched/include/config/ip/nf/match/string/module.h
---- linux-2.4.32/include/config/ip/nf/match/string/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/string/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_STRING_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/string.h linux-2.4.32.patched/include/config/ip/nf/match/string.h
---- linux-2.4.32/include/config/ip/nf/match/string.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/string.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_STRING
-diff -Nur linux-2.4.32/include/config/ip/nf/match/tcpmss/module.h linux-2.4.32.patched/include/config/ip/nf/match/tcpmss/module.h
---- linux-2.4.32/include/config/ip/nf/match/tcpmss/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/tcpmss/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_TCPMSS_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/tcpmss.h linux-2.4.32.patched/include/config/ip/nf/match/tcpmss.h
---- linux-2.4.32/include/config/ip/nf/match/tcpmss.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/tcpmss.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_TCPMSS
-diff -Nur linux-2.4.32/include/config/ip/nf/match/time/module.h linux-2.4.32.patched/include/config/ip/nf/match/time/module.h
---- linux-2.4.32/include/config/ip/nf/match/time/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/time/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_TIME_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/time.h linux-2.4.32.patched/include/config/ip/nf/match/time.h
---- linux-2.4.32/include/config/ip/nf/match/time.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/time.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_TIME
-diff -Nur linux-2.4.32/include/config/ip/nf/match/tos/module.h linux-2.4.32.patched/include/config/ip/nf/match/tos/module.h
---- linux-2.4.32/include/config/ip/nf/match/tos/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/tos/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_TOS_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/tos.h linux-2.4.32.patched/include/config/ip/nf/match/tos.h
---- linux-2.4.32/include/config/ip/nf/match/tos.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/tos.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_TOS
-diff -Nur linux-2.4.32/include/config/ip/nf/match/ttl/module.h linux-2.4.32.patched/include/config/ip/nf/match/ttl/module.h
---- linux-2.4.32/include/config/ip/nf/match/ttl/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/ttl/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_TTL_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/ttl.h linux-2.4.32.patched/include/config/ip/nf/match/ttl.h
---- linux-2.4.32/include/config/ip/nf/match/ttl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/ttl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_TTL
-diff -Nur linux-2.4.32/include/config/ip/nf/match/unclean/module.h linux-2.4.32.patched/include/config/ip/nf/match/unclean/module.h
---- linux-2.4.32/include/config/ip/nf/match/unclean/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/unclean/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MATCH_UNCLEAN_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/match/unclean.h linux-2.4.32.patched/include/config/ip/nf/match/unclean.h
---- linux-2.4.32/include/config/ip/nf/match/unclean.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/match/unclean.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MATCH_UNCLEAN
-diff -Nur linux-2.4.32/include/config/ip/nf/mms/module.h linux-2.4.32.patched/include/config/ip/nf/mms/module.h
---- linux-2.4.32/include/config/ip/nf/mms/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/mms/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_MMS_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/mms.h linux-2.4.32.patched/include/config/ip/nf/mms.h
---- linux-2.4.32/include/config/ip/nf/mms.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/mms.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_MMS
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/amanda/module.h linux-2.4.32.patched/include/config/ip/nf/nat/amanda/module.h
---- linux-2.4.32/include/config/ip/nf/nat/amanda/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/amanda/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_AMANDA_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/amanda.h linux-2.4.32.patched/include/config/ip/nf/nat/amanda.h
---- linux-2.4.32/include/config/ip/nf/nat/amanda.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/amanda.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_NAT_AMANDA
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/ftp.h linux-2.4.32.patched/include/config/ip/nf/nat/ftp.h
---- linux-2.4.32/include/config/ip/nf/nat/ftp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/ftp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_FTP 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/h323/module.h linux-2.4.32.patched/include/config/ip/nf/nat/h323/module.h
---- linux-2.4.32/include/config/ip/nf/nat/h323/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/h323/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_H323_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/h323.h linux-2.4.32.patched/include/config/ip/nf/nat/h323.h
---- linux-2.4.32/include/config/ip/nf/nat/h323.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/h323.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_NAT_H323
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/irc.h linux-2.4.32.patched/include/config/ip/nf/nat/irc.h
---- linux-2.4.32/include/config/ip/nf/nat/irc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/irc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_IRC 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/mms/module.h linux-2.4.32.patched/include/config/ip/nf/nat/mms/module.h
---- linux-2.4.32/include/config/ip/nf/nat/mms/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/mms/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_MMS_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/mms.h linux-2.4.32.patched/include/config/ip/nf/nat/mms.h
---- linux-2.4.32/include/config/ip/nf/nat/mms.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/mms.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_NAT_MMS
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/needed.h linux-2.4.32.patched/include/config/ip/nf/nat/needed.h
---- linux-2.4.32/include/config/ip/nf/nat/needed.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/needed.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_NEEDED 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/pptp/module.h linux-2.4.32.patched/include/config/ip/nf/nat/pptp/module.h
---- linux-2.4.32/include/config/ip/nf/nat/pptp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/pptp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_PPTP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/pptp.h linux-2.4.32.patched/include/config/ip/nf/nat/pptp.h
---- linux-2.4.32/include/config/ip/nf/nat/pptp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/pptp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_NAT_PPTP
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/proto/gre/module.h linux-2.4.32.patched/include/config/ip/nf/nat/proto/gre/module.h
---- linux-2.4.32/include/config/ip/nf/nat/proto/gre/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/proto/gre/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_PROTO_GRE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/proto/gre.h linux-2.4.32.patched/include/config/ip/nf/nat/proto/gre.h
---- linux-2.4.32/include/config/ip/nf/nat/proto/gre.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/proto/gre.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_NAT_PROTO_GRE
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/rtsp/module.h linux-2.4.32.patched/include/config/ip/nf/nat/rtsp/module.h
---- linux-2.4.32/include/config/ip/nf/nat/rtsp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/rtsp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_RTSP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/rtsp.h linux-2.4.32.patched/include/config/ip/nf/nat/rtsp.h
---- linux-2.4.32/include/config/ip/nf/nat/rtsp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/rtsp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_NAT_RTSP
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/snmp/basic/module.h linux-2.4.32.patched/include/config/ip/nf/nat/snmp/basic/module.h
---- linux-2.4.32/include/config/ip/nf/nat/snmp/basic/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/snmp/basic/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_SNMP_BASIC_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/snmp/basic.h linux-2.4.32.patched/include/config/ip/nf/nat/snmp/basic.h
---- linux-2.4.32/include/config/ip/nf/nat/snmp/basic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/snmp/basic.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_NAT_SNMP_BASIC
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/tftp/module.h linux-2.4.32.patched/include/config/ip/nf/nat/tftp/module.h
---- linux-2.4.32/include/config/ip/nf/nat/tftp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/tftp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT_TFTP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/nat/tftp.h linux-2.4.32.patched/include/config/ip/nf/nat/tftp.h
---- linux-2.4.32/include/config/ip/nf/nat/tftp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat/tftp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_NAT_TFTP
-diff -Nur linux-2.4.32/include/config/ip/nf/nat.h linux-2.4.32.patched/include/config/ip/nf/nat.h
---- linux-2.4.32/include/config/ip/nf/nat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/nat.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_NAT 1
-diff -Nur linux-2.4.32/include/config/ip/nf/pptp/module.h linux-2.4.32.patched/include/config/ip/nf/pptp/module.h
---- linux-2.4.32/include/config/ip/nf/pptp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/pptp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_PPTP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/pptp.h linux-2.4.32.patched/include/config/ip/nf/pptp.h
---- linux-2.4.32/include/config/ip/nf/pptp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/pptp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_PPTP
-diff -Nur linux-2.4.32/include/config/ip/nf/queue/module.h linux-2.4.32.patched/include/config/ip/nf/queue/module.h
---- linux-2.4.32/include/config/ip/nf/queue/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/queue/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_QUEUE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/queue.h linux-2.4.32.patched/include/config/ip/nf/queue.h
---- linux-2.4.32/include/config/ip/nf/queue.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/queue.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_QUEUE
-diff -Nur linux-2.4.32/include/config/ip/nf/rtsp/module.h linux-2.4.32.patched/include/config/ip/nf/rtsp/module.h
---- linux-2.4.32/include/config/ip/nf/rtsp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/rtsp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_RTSP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/rtsp.h linux-2.4.32.patched/include/config/ip/nf/rtsp.h
---- linux-2.4.32/include/config/ip/nf/rtsp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/rtsp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_RTSP
-diff -Nur linux-2.4.32/include/config/ip/nf/set/hashsize.h linux-2.4.32.patched/include/config/ip/nf/set/hashsize.h
---- linux-2.4.32/include/config/ip/nf/set/hashsize.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/hashsize.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_HASHSIZE (1024)
-diff -Nur linux-2.4.32/include/config/ip/nf/set/iphash/module.h linux-2.4.32.patched/include/config/ip/nf/set/iphash/module.h
---- linux-2.4.32/include/config/ip/nf/set/iphash/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/iphash/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_IPHASH_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/set/iphash.h linux-2.4.32.patched/include/config/ip/nf/set/iphash.h
---- linux-2.4.32/include/config/ip/nf/set/iphash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/iphash.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_SET_IPHASH
-diff -Nur linux-2.4.32/include/config/ip/nf/set/ipmap/module.h linux-2.4.32.patched/include/config/ip/nf/set/ipmap/module.h
---- linux-2.4.32/include/config/ip/nf/set/ipmap/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/ipmap/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_IPMAP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/set/ipmap.h linux-2.4.32.patched/include/config/ip/nf/set/ipmap.h
---- linux-2.4.32/include/config/ip/nf/set/ipmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/ipmap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_SET_IPMAP
-diff -Nur linux-2.4.32/include/config/ip/nf/set/iptree/module.h linux-2.4.32.patched/include/config/ip/nf/set/iptree/module.h
---- linux-2.4.32/include/config/ip/nf/set/iptree/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/iptree/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_IPTREE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/set/iptree.h linux-2.4.32.patched/include/config/ip/nf/set/iptree.h
---- linux-2.4.32/include/config/ip/nf/set/iptree.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/iptree.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_SET_IPTREE
-diff -Nur linux-2.4.32/include/config/ip/nf/set/macipmap/module.h linux-2.4.32.patched/include/config/ip/nf/set/macipmap/module.h
---- linux-2.4.32/include/config/ip/nf/set/macipmap/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/macipmap/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_MACIPMAP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/set/macipmap.h linux-2.4.32.patched/include/config/ip/nf/set/macipmap.h
---- linux-2.4.32/include/config/ip/nf/set/macipmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/macipmap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_SET_MACIPMAP
-diff -Nur linux-2.4.32/include/config/ip/nf/set/max.h linux-2.4.32.patched/include/config/ip/nf/set/max.h
---- linux-2.4.32/include/config/ip/nf/set/max.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/max.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_MAX (256)
-diff -Nur linux-2.4.32/include/config/ip/nf/set/module.h linux-2.4.32.patched/include/config/ip/nf/set/module.h
---- linux-2.4.32/include/config/ip/nf/set/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/set/nethash/module.h linux-2.4.32.patched/include/config/ip/nf/set/nethash/module.h
---- linux-2.4.32/include/config/ip/nf/set/nethash/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/nethash/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_NETHASH_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/set/nethash.h linux-2.4.32.patched/include/config/ip/nf/set/nethash.h
---- linux-2.4.32/include/config/ip/nf/set/nethash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/nethash.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_SET_NETHASH
-diff -Nur linux-2.4.32/include/config/ip/nf/set/portmap/module.h linux-2.4.32.patched/include/config/ip/nf/set/portmap/module.h
---- linux-2.4.32/include/config/ip/nf/set/portmap/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/portmap/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_SET_PORTMAP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/set/portmap.h linux-2.4.32.patched/include/config/ip/nf/set/portmap.h
---- linux-2.4.32/include/config/ip/nf/set/portmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set/portmap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_SET_PORTMAP
-diff -Nur linux-2.4.32/include/config/ip/nf/set.h linux-2.4.32.patched/include/config/ip/nf/set.h
---- linux-2.4.32/include/config/ip/nf/set.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/set.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_SET
-diff -Nur linux-2.4.32/include/config/ip/nf/target/connmark/module.h linux-2.4.32.patched/include/config/ip/nf/target/connmark/module.h
---- linux-2.4.32/include/config/ip/nf/target/connmark/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/connmark/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_CONNMARK_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/connmark.h linux-2.4.32.patched/include/config/ip/nf/target/connmark.h
---- linux-2.4.32/include/config/ip/nf/target/connmark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/connmark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_CONNMARK
-diff -Nur linux-2.4.32/include/config/ip/nf/target/dscp/module.h linux-2.4.32.patched/include/config/ip/nf/target/dscp/module.h
---- linux-2.4.32/include/config/ip/nf/target/dscp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/dscp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_DSCP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/dscp.h linux-2.4.32.patched/include/config/ip/nf/target/dscp.h
---- linux-2.4.32/include/config/ip/nf/target/dscp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/dscp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_DSCP
-diff -Nur linux-2.4.32/include/config/ip/nf/target/ecn/module.h linux-2.4.32.patched/include/config/ip/nf/target/ecn/module.h
---- linux-2.4.32/include/config/ip/nf/target/ecn/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/ecn/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_ECN_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/ecn.h linux-2.4.32.patched/include/config/ip/nf/target/ecn.h
---- linux-2.4.32/include/config/ip/nf/target/ecn.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/ecn.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_ECN
-diff -Nur linux-2.4.32/include/config/ip/nf/target/imq/module.h linux-2.4.32.patched/include/config/ip/nf/target/imq/module.h
---- linux-2.4.32/include/config/ip/nf/target/imq/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/imq/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_IMQ_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/imq.h linux-2.4.32.patched/include/config/ip/nf/target/imq.h
---- linux-2.4.32/include/config/ip/nf/target/imq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/imq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_IMQ
-diff -Nur linux-2.4.32/include/config/ip/nf/target/log/module.h linux-2.4.32.patched/include/config/ip/nf/target/log/module.h
---- linux-2.4.32/include/config/ip/nf/target/log/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/log/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_LOG_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/log.h linux-2.4.32.patched/include/config/ip/nf/target/log.h
---- linux-2.4.32/include/config/ip/nf/target/log.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/log.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_LOG
-diff -Nur linux-2.4.32/include/config/ip/nf/target/mark.h linux-2.4.32.patched/include/config/ip/nf/target/mark.h
---- linux-2.4.32/include/config/ip/nf/target/mark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/mark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_MARK 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/masquerade.h linux-2.4.32.patched/include/config/ip/nf/target/masquerade.h
---- linux-2.4.32/include/config/ip/nf/target/masquerade.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/masquerade.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_MASQUERADE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/mirror/module.h linux-2.4.32.patched/include/config/ip/nf/target/mirror/module.h
---- linux-2.4.32/include/config/ip/nf/target/mirror/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/mirror/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_MIRROR_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/mirror.h linux-2.4.32.patched/include/config/ip/nf/target/mirror.h
---- linux-2.4.32/include/config/ip/nf/target/mirror.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/mirror.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_MIRROR
-diff -Nur linux-2.4.32/include/config/ip/nf/target/netmap/module.h linux-2.4.32.patched/include/config/ip/nf/target/netmap/module.h
---- linux-2.4.32/include/config/ip/nf/target/netmap/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/netmap/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_NETMAP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/netmap.h linux-2.4.32.patched/include/config/ip/nf/target/netmap.h
---- linux-2.4.32/include/config/ip/nf/target/netmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/netmap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_NETMAP
-diff -Nur linux-2.4.32/include/config/ip/nf/target/redirect/module.h linux-2.4.32.patched/include/config/ip/nf/target/redirect/module.h
---- linux-2.4.32/include/config/ip/nf/target/redirect/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/redirect/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_REDIRECT_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/redirect.h linux-2.4.32.patched/include/config/ip/nf/target/redirect.h
---- linux-2.4.32/include/config/ip/nf/target/redirect.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/redirect.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_REDIRECT
-diff -Nur linux-2.4.32/include/config/ip/nf/target/reject.h linux-2.4.32.patched/include/config/ip/nf/target/reject.h
---- linux-2.4.32/include/config/ip/nf/target/reject.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/reject.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_REJECT 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/set/module.h linux-2.4.32.patched/include/config/ip/nf/target/set/module.h
---- linux-2.4.32/include/config/ip/nf/target/set/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/set/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_SET_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/set.h linux-2.4.32.patched/include/config/ip/nf/target/set.h
---- linux-2.4.32/include/config/ip/nf/target/set.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/set.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_SET
-diff -Nur linux-2.4.32/include/config/ip/nf/target/tcpmss.h linux-2.4.32.patched/include/config/ip/nf/target/tcpmss.h
---- linux-2.4.32/include/config/ip/nf/target/tcpmss.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/tcpmss.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_TCPMSS 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/tos/module.h linux-2.4.32.patched/include/config/ip/nf/target/tos/module.h
---- linux-2.4.32/include/config/ip/nf/target/tos/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/tos/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_TOS_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/tos.h linux-2.4.32.patched/include/config/ip/nf/target/tos.h
---- linux-2.4.32/include/config/ip/nf/target/tos.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/tos.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_TOS
-diff -Nur linux-2.4.32/include/config/ip/nf/target/ttl/module.h linux-2.4.32.patched/include/config/ip/nf/target/ttl/module.h
---- linux-2.4.32/include/config/ip/nf/target/ttl/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/ttl/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_TTL_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/ttl.h linux-2.4.32.patched/include/config/ip/nf/target/ttl.h
---- linux-2.4.32/include/config/ip/nf/target/ttl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/ttl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_TTL
-diff -Nur linux-2.4.32/include/config/ip/nf/target/ulog/module.h linux-2.4.32.patched/include/config/ip/nf/target/ulog/module.h
---- linux-2.4.32/include/config/ip/nf/target/ulog/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/ulog/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TARGET_ULOG_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/target/ulog.h linux-2.4.32.patched/include/config/ip/nf/target/ulog.h
---- linux-2.4.32/include/config/ip/nf/target/ulog.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/target/ulog.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TARGET_ULOG
-diff -Nur linux-2.4.32/include/config/ip/nf/tftp/module.h linux-2.4.32.patched/include/config/ip/nf/tftp/module.h
---- linux-2.4.32/include/config/ip/nf/tftp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/tftp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_NF_TFTP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/nf/tftp.h linux-2.4.32.patched/include/config/ip/nf/tftp.h
---- linux-2.4.32/include/config/ip/nf/tftp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/nf/tftp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_NF_TFTP
-diff -Nur linux-2.4.32/include/config/ip/pnp.h linux-2.4.32.patched/include/config/ip/pnp.h
---- linux-2.4.32/include/config/ip/pnp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/pnp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_PNP
-diff -Nur linux-2.4.32/include/config/ip/route/fwmark.h linux-2.4.32.patched/include/config/ip/route/fwmark.h
---- linux-2.4.32/include/config/ip/route/fwmark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/route/fwmark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_ROUTE_FWMARK 1
-diff -Nur linux-2.4.32/include/config/ip/route/multipath.h linux-2.4.32.patched/include/config/ip/route/multipath.h
---- linux-2.4.32/include/config/ip/route/multipath.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/route/multipath.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_ROUTE_MULTIPATH 1
-diff -Nur linux-2.4.32/include/config/ip/route/nat.h linux-2.4.32.patched/include/config/ip/route/nat.h
---- linux-2.4.32/include/config/ip/route/nat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/route/nat.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_ROUTE_NAT 1
-diff -Nur linux-2.4.32/include/config/ip/route/tos.h linux-2.4.32.patched/include/config/ip/route/tos.h
---- linux-2.4.32/include/config/ip/route/tos.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/route/tos.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_ROUTE_TOS 1
-diff -Nur linux-2.4.32/include/config/ip/route/verbose.h linux-2.4.32.patched/include/config/ip/route/verbose.h
---- linux-2.4.32/include/config/ip/route/verbose.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/route/verbose.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_ROUTE_VERBOSE
-diff -Nur linux-2.4.32/include/config/ip/sctp.h linux-2.4.32.patched/include/config/ip/sctp.h
---- linux-2.4.32/include/config/ip/sctp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/sctp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_SCTP
-diff -Nur linux-2.4.32/include/config/ip/vs/debug.h linux-2.4.32.patched/include/config/ip/vs/debug.h
---- linux-2.4.32/include/config/ip/vs/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_DEBUG
-diff -Nur linux-2.4.32/include/config/ip/vs/dh/module.h linux-2.4.32.patched/include/config/ip/vs/dh/module.h
---- linux-2.4.32/include/config/ip/vs/dh/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/dh/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_DH_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/dh.h linux-2.4.32.patched/include/config/ip/vs/dh.h
---- linux-2.4.32/include/config/ip/vs/dh.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/dh.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_DH
-diff -Nur linux-2.4.32/include/config/ip/vs/ftp/module.h linux-2.4.32.patched/include/config/ip/vs/ftp/module.h
---- linux-2.4.32/include/config/ip/vs/ftp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/ftp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_FTP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/ftp.h linux-2.4.32.patched/include/config/ip/vs/ftp.h
---- linux-2.4.32/include/config/ip/vs/ftp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/ftp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_FTP
-diff -Nur linux-2.4.32/include/config/ip/vs/lblc/module.h linux-2.4.32.patched/include/config/ip/vs/lblc/module.h
---- linux-2.4.32/include/config/ip/vs/lblc/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/lblc/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_LBLC_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/lblc.h linux-2.4.32.patched/include/config/ip/vs/lblc.h
---- linux-2.4.32/include/config/ip/vs/lblc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/lblc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_LBLC
-diff -Nur linux-2.4.32/include/config/ip/vs/lblcr/module.h linux-2.4.32.patched/include/config/ip/vs/lblcr/module.h
---- linux-2.4.32/include/config/ip/vs/lblcr/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/lblcr/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_LBLCR_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/lblcr.h linux-2.4.32.patched/include/config/ip/vs/lblcr.h
---- linux-2.4.32/include/config/ip/vs/lblcr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/lblcr.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_LBLCR
-diff -Nur linux-2.4.32/include/config/ip/vs/lc/module.h linux-2.4.32.patched/include/config/ip/vs/lc/module.h
---- linux-2.4.32/include/config/ip/vs/lc/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/lc/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_LC_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/lc.h linux-2.4.32.patched/include/config/ip/vs/lc.h
---- linux-2.4.32/include/config/ip/vs/lc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/lc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_LC
-diff -Nur linux-2.4.32/include/config/ip/vs/module.h linux-2.4.32.patched/include/config/ip/vs/module.h
---- linux-2.4.32/include/config/ip/vs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/nq/module.h linux-2.4.32.patched/include/config/ip/vs/nq/module.h
---- linux-2.4.32/include/config/ip/vs/nq/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/nq/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_NQ_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/nq.h linux-2.4.32.patched/include/config/ip/vs/nq.h
---- linux-2.4.32/include/config/ip/vs/nq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/nq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_NQ
-diff -Nur linux-2.4.32/include/config/ip/vs/rr/module.h linux-2.4.32.patched/include/config/ip/vs/rr/module.h
---- linux-2.4.32/include/config/ip/vs/rr/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/rr/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_RR_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/rr.h linux-2.4.32.patched/include/config/ip/vs/rr.h
---- linux-2.4.32/include/config/ip/vs/rr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/rr.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_RR
-diff -Nur linux-2.4.32/include/config/ip/vs/sed/module.h linux-2.4.32.patched/include/config/ip/vs/sed/module.h
---- linux-2.4.32/include/config/ip/vs/sed/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/sed/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_SED_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/sed.h linux-2.4.32.patched/include/config/ip/vs/sed.h
---- linux-2.4.32/include/config/ip/vs/sed.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/sed.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_SED
-diff -Nur linux-2.4.32/include/config/ip/vs/sh/module.h linux-2.4.32.patched/include/config/ip/vs/sh/module.h
---- linux-2.4.32/include/config/ip/vs/sh/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/sh/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_SH_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/sh.h linux-2.4.32.patched/include/config/ip/vs/sh.h
---- linux-2.4.32/include/config/ip/vs/sh.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/sh.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_SH
-diff -Nur linux-2.4.32/include/config/ip/vs/tab/bits.h linux-2.4.32.patched/include/config/ip/vs/tab/bits.h
---- linux-2.4.32/include/config/ip/vs/tab/bits.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/tab/bits.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_TAB_BITS (12)
-diff -Nur linux-2.4.32/include/config/ip/vs/wlc/module.h linux-2.4.32.patched/include/config/ip/vs/wlc/module.h
---- linux-2.4.32/include/config/ip/vs/wlc/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/wlc/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_WLC_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/wlc.h linux-2.4.32.patched/include/config/ip/vs/wlc.h
---- linux-2.4.32/include/config/ip/vs/wlc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/wlc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_WLC
-diff -Nur linux-2.4.32/include/config/ip/vs/wrr/module.h linux-2.4.32.patched/include/config/ip/vs/wrr/module.h
---- linux-2.4.32/include/config/ip/vs/wrr/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/wrr/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP_VS_WRR_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip/vs/wrr.h linux-2.4.32.patched/include/config/ip/vs/wrr.h
---- linux-2.4.32/include/config/ip/vs/wrr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs/wrr.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS_WRR
-diff -Nur linux-2.4.32/include/config/ip/vs.h linux-2.4.32.patched/include/config/ip/vs.h
---- linux-2.4.32/include/config/ip/vs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip/vs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP_VS
-diff -Nur linux-2.4.32/include/config/ip6/nf/filter/module.h linux-2.4.32.patched/include/config/ip6/nf/filter/module.h
---- linux-2.4.32/include/config/ip6/nf/filter/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/filter/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_FILTER_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/filter.h linux-2.4.32.patched/include/config/ip6/nf/filter.h
---- linux-2.4.32/include/config/ip6/nf/filter.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/filter.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_FILTER
-diff -Nur linux-2.4.32/include/config/ip6/nf/iptables/module.h linux-2.4.32.patched/include/config/ip6/nf/iptables/module.h
---- linux-2.4.32/include/config/ip6/nf/iptables/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/iptables/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_IPTABLES_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/iptables.h linux-2.4.32.patched/include/config/ip6/nf/iptables.h
---- linux-2.4.32/include/config/ip6/nf/iptables.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/iptables.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_IPTABLES
-diff -Nur linux-2.4.32/include/config/ip6/nf/mangle/module.h linux-2.4.32.patched/include/config/ip6/nf/mangle/module.h
---- linux-2.4.32/include/config/ip6/nf/mangle/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/mangle/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MANGLE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/mangle.h linux-2.4.32.patched/include/config/ip6/nf/mangle.h
---- linux-2.4.32/include/config/ip6/nf/mangle.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/mangle.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MANGLE
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/ahesp.h linux-2.4.32.patched/include/config/ip6/nf/match/ahesp.h
---- linux-2.4.32/include/config/ip6/nf/match/ahesp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/ahesp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_AHESP
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/condition/module.h linux-2.4.32.patched/include/config/ip6/nf/match/condition/module.h
---- linux-2.4.32/include/config/ip6/nf/match/condition/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/condition/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MATCH_CONDITION_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/condition.h linux-2.4.32.patched/include/config/ip6/nf/match/condition.h
---- linux-2.4.32/include/config/ip6/nf/match/condition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/condition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_CONDITION
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/eui64/module.h linux-2.4.32.patched/include/config/ip6/nf/match/eui64/module.h
---- linux-2.4.32/include/config/ip6/nf/match/eui64/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/eui64/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MATCH_EUI64_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/eui64.h linux-2.4.32.patched/include/config/ip6/nf/match/eui64.h
---- linux-2.4.32/include/config/ip6/nf/match/eui64.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/eui64.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_EUI64
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/frag.h linux-2.4.32.patched/include/config/ip6/nf/match/frag.h
---- linux-2.4.32/include/config/ip6/nf/match/frag.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/frag.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_FRAG
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/hl.h linux-2.4.32.patched/include/config/ip6/nf/match/hl.h
---- linux-2.4.32/include/config/ip6/nf/match/hl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/hl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_HL
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/ipv6header.h linux-2.4.32.patched/include/config/ip6/nf/match/ipv6header.h
---- linux-2.4.32/include/config/ip6/nf/match/ipv6header.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/ipv6header.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_IPV6HEADER
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/length/module.h linux-2.4.32.patched/include/config/ip6/nf/match/length/module.h
---- linux-2.4.32/include/config/ip6/nf/match/length/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/length/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MATCH_LENGTH_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/length.h linux-2.4.32.patched/include/config/ip6/nf/match/length.h
---- linux-2.4.32/include/config/ip6/nf/match/length.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/length.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_LENGTH
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/limit/module.h linux-2.4.32.patched/include/config/ip6/nf/match/limit/module.h
---- linux-2.4.32/include/config/ip6/nf/match/limit/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/limit/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MATCH_LIMIT_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/limit.h linux-2.4.32.patched/include/config/ip6/nf/match/limit.h
---- linux-2.4.32/include/config/ip6/nf/match/limit.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/limit.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_LIMIT
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/mac/module.h linux-2.4.32.patched/include/config/ip6/nf/match/mac/module.h
---- linux-2.4.32/include/config/ip6/nf/match/mac/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/mac/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MATCH_MAC_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/mac.h linux-2.4.32.patched/include/config/ip6/nf/match/mac.h
---- linux-2.4.32/include/config/ip6/nf/match/mac.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/mac.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_MAC
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/mark/module.h linux-2.4.32.patched/include/config/ip6/nf/match/mark/module.h
---- linux-2.4.32/include/config/ip6/nf/match/mark/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/mark/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MATCH_MARK_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/mark.h linux-2.4.32.patched/include/config/ip6/nf/match/mark.h
---- linux-2.4.32/include/config/ip6/nf/match/mark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/mark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_MARK
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/multiport/module.h linux-2.4.32.patched/include/config/ip6/nf/match/multiport/module.h
---- linux-2.4.32/include/config/ip6/nf/match/multiport/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/multiport/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MATCH_MULTIPORT_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/multiport.h linux-2.4.32.patched/include/config/ip6/nf/match/multiport.h
---- linux-2.4.32/include/config/ip6/nf/match/multiport.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/multiport.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_MULTIPORT
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/opts.h linux-2.4.32.patched/include/config/ip6/nf/match/opts.h
---- linux-2.4.32/include/config/ip6/nf/match/opts.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/opts.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_OPTS
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/owner/module.h linux-2.4.32.patched/include/config/ip6/nf/match/owner/module.h
---- linux-2.4.32/include/config/ip6/nf/match/owner/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/owner/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_MATCH_OWNER_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/owner.h linux-2.4.32.patched/include/config/ip6/nf/match/owner.h
---- linux-2.4.32/include/config/ip6/nf/match/owner.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/owner.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_OWNER
-diff -Nur linux-2.4.32/include/config/ip6/nf/match/rt.h linux-2.4.32.patched/include/config/ip6/nf/match/rt.h
---- linux-2.4.32/include/config/ip6/nf/match/rt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/match/rt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_MATCH_RT
-diff -Nur linux-2.4.32/include/config/ip6/nf/queue/module.h linux-2.4.32.patched/include/config/ip6/nf/queue/module.h
---- linux-2.4.32/include/config/ip6/nf/queue/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/queue/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_QUEUE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/queue.h linux-2.4.32.patched/include/config/ip6/nf/queue.h
---- linux-2.4.32/include/config/ip6/nf/queue.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/queue.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_QUEUE
-diff -Nur linux-2.4.32/include/config/ip6/nf/target/imq/module.h linux-2.4.32.patched/include/config/ip6/nf/target/imq/module.h
---- linux-2.4.32/include/config/ip6/nf/target/imq/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/target/imq/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_TARGET_IMQ_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/target/imq.h linux-2.4.32.patched/include/config/ip6/nf/target/imq.h
---- linux-2.4.32/include/config/ip6/nf/target/imq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/target/imq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_TARGET_IMQ
-diff -Nur linux-2.4.32/include/config/ip6/nf/target/log/module.h linux-2.4.32.patched/include/config/ip6/nf/target/log/module.h
---- linux-2.4.32/include/config/ip6/nf/target/log/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/target/log/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_TARGET_LOG_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/target/log.h linux-2.4.32.patched/include/config/ip6/nf/target/log.h
---- linux-2.4.32/include/config/ip6/nf/target/log.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/target/log.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_TARGET_LOG
-diff -Nur linux-2.4.32/include/config/ip6/nf/target/mark/module.h linux-2.4.32.patched/include/config/ip6/nf/target/mark/module.h
---- linux-2.4.32/include/config/ip6/nf/target/mark/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/target/mark/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IP6_NF_TARGET_MARK_MODULE 1
-diff -Nur linux-2.4.32/include/config/ip6/nf/target/mark.h linux-2.4.32.patched/include/config/ip6/nf/target/mark.h
---- linux-2.4.32/include/config/ip6/nf/target/mark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ip6/nf/target/mark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IP6_NF_TARGET_MARK
-diff -Nur linux-2.4.32/include/config/ipmi/device/interface.h linux-2.4.32.patched/include/config/ipmi/device/interface.h
---- linux-2.4.32/include/config/ipmi/device/interface.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipmi/device/interface.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IPMI_DEVICE_INTERFACE
-diff -Nur linux-2.4.32/include/config/ipmi/handler.h linux-2.4.32.patched/include/config/ipmi/handler.h
---- linux-2.4.32/include/config/ipmi/handler.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipmi/handler.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IPMI_HANDLER
-diff -Nur linux-2.4.32/include/config/ipmi/kcs.h linux-2.4.32.patched/include/config/ipmi/kcs.h
---- linux-2.4.32/include/config/ipmi/kcs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipmi/kcs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IPMI_KCS
-diff -Nur linux-2.4.32/include/config/ipmi/panic/event.h linux-2.4.32.patched/include/config/ipmi/panic/event.h
---- linux-2.4.32/include/config/ipmi/panic/event.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipmi/panic/event.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IPMI_PANIC_EVENT
-diff -Nur linux-2.4.32/include/config/ipmi/watchdog.h linux-2.4.32.patched/include/config/ipmi/watchdog.h
---- linux-2.4.32/include/config/ipmi/watchdog.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipmi/watchdog.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IPMI_WATCHDOG
-diff -Nur linux-2.4.32/include/config/ipsec/nat/traversal.h linux-2.4.32.patched/include/config/ipsec/nat/traversal.h
---- linux-2.4.32/include/config/ipsec/nat/traversal.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipsec/nat/traversal.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IPSEC_NAT_TRAVERSAL 1
-diff -Nur linux-2.4.32/include/config/ipv6/module.h linux-2.4.32.patched/include/config/ipv6/module.h
---- linux-2.4.32/include/config/ipv6/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipv6/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_IPV6_MODULE 1
-diff -Nur linux-2.4.32/include/config/ipv6.h linux-2.4.32.patched/include/config/ipv6.h
---- linux-2.4.32/include/config/ipv6.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipv6.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IPV6
-diff -Nur linux-2.4.32/include/config/ipx.h linux-2.4.32.patched/include/config/ipx.h
---- linux-2.4.32/include/config/ipx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ipx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IPX
-diff -Nur linux-2.4.32/include/config/irda.h linux-2.4.32.patched/include/config/irda.h
---- linux-2.4.32/include/config/irda.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/irda.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_IRDA
-diff -Nur linux-2.4.32/include/config/isa.h linux-2.4.32.patched/include/config/isa.h
---- linux-2.4.32/include/config/isa.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/isa.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ISA
-diff -Nur linux-2.4.32/include/config/isapnp.h linux-2.4.32.patched/include/config/isapnp.h
---- linux-2.4.32/include/config/isapnp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/isapnp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ISAPNP
-diff -Nur linux-2.4.32/include/config/isdn.h linux-2.4.32.patched/include/config/isdn.h
---- linux-2.4.32/include/config/isdn.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/isdn.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ISDN
-diff -Nur linux-2.4.32/include/config/iso9660/fs/module.h linux-2.4.32.patched/include/config/iso9660/fs/module.h
---- linux-2.4.32/include/config/iso9660/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/iso9660/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_ISO9660_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/iso9660/fs.h linux-2.4.32.patched/include/config/iso9660/fs.h
---- linux-2.4.32/include/config/iso9660/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/iso9660/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ISO9660_FS
-diff -Nur linux-2.4.32/include/config/jbd/debug.h linux-2.4.32.patched/include/config/jbd/debug.h
---- linux-2.4.32/include/config/jbd/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jbd/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JBD_DEBUG
-diff -Nur linux-2.4.32/include/config/jbd/module.h linux-2.4.32.patched/include/config/jbd/module.h
---- linux-2.4.32/include/config/jbd/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jbd/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_JBD_MODULE 1
-diff -Nur linux-2.4.32/include/config/jbd.h linux-2.4.32.patched/include/config/jbd.h
---- linux-2.4.32/include/config/jbd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jbd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JBD
-diff -Nur linux-2.4.32/include/config/jffs/fs.h linux-2.4.32.patched/include/config/jffs/fs.h
---- linux-2.4.32/include/config/jffs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jffs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JFFS_FS
-diff -Nur linux-2.4.32/include/config/jffs2/bbc/armlib.h linux-2.4.32.patched/include/config/jffs2/bbc/armlib.h
---- linux-2.4.32/include/config/jffs2/bbc/armlib.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jffs2/bbc/armlib.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JFFS2_BBC_ARMLIB
-diff -Nur linux-2.4.32/include/config/jffs2/bbc/lzari.h linux-2.4.32.patched/include/config/jffs2/bbc/lzari.h
---- linux-2.4.32/include/config/jffs2/bbc/lzari.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jffs2/bbc/lzari.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_JFFS2_BBC_LZARI 1
-diff -Nur linux-2.4.32/include/config/jffs2/bbc/lzhd.h linux-2.4.32.patched/include/config/jffs2/bbc/lzhd.h
---- linux-2.4.32/include/config/jffs2/bbc/lzhd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jffs2/bbc/lzhd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JFFS2_BBC_LZHD
-diff -Nur linux-2.4.32/include/config/jffs2/bbc/lzo.h linux-2.4.32.patched/include/config/jffs2/bbc/lzo.h
---- linux-2.4.32/include/config/jffs2/bbc/lzo.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jffs2/bbc/lzo.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JFFS2_BBC_LZO
-diff -Nur linux-2.4.32/include/config/jffs2/bbc/lzss.h linux-2.4.32.patched/include/config/jffs2/bbc/lzss.h
---- linux-2.4.32/include/config/jffs2/bbc/lzss.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jffs2/bbc/lzss.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JFFS2_BBC_LZSS
-diff -Nur linux-2.4.32/include/config/jffs2/fs/debug.h linux-2.4.32.patched/include/config/jffs2/fs/debug.h
---- linux-2.4.32/include/config/jffs2/fs/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jffs2/fs/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_JFFS2_FS_DEBUG (0)
-diff -Nur linux-2.4.32/include/config/jffs2/fs.h linux-2.4.32.patched/include/config/jffs2/fs.h
---- linux-2.4.32/include/config/jffs2/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jffs2/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_JFFS2_FS 1
-diff -Nur linux-2.4.32/include/config/jfs/debug.h linux-2.4.32.patched/include/config/jfs/debug.h
---- linux-2.4.32/include/config/jfs/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jfs/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JFS_DEBUG
-diff -Nur linux-2.4.32/include/config/jfs/fs.h linux-2.4.32.patched/include/config/jfs/fs.h
---- linux-2.4.32/include/config/jfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JFS_FS
-diff -Nur linux-2.4.32/include/config/jfs/statistics.h linux-2.4.32.patched/include/config/jfs/statistics.h
---- linux-2.4.32/include/config/jfs/statistics.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/jfs/statistics.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_JFS_STATISTICS
-diff -Nur linux-2.4.32/include/config/joliet.h linux-2.4.32.patched/include/config/joliet.h
---- linux-2.4.32/include/config/joliet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/joliet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_JOLIET 1
-diff -Nur linux-2.4.32/include/config/kcore/aout.h linux-2.4.32.patched/include/config/kcore/aout.h
---- linux-2.4.32/include/config/kcore/aout.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/kcore/aout.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_KCORE_AOUT
-diff -Nur linux-2.4.32/include/config/kcore/elf.h linux-2.4.32.patched/include/config/kcore/elf.h
---- linux-2.4.32/include/config/kcore/elf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/kcore/elf.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_KCORE_ELF 1
-diff -Nur linux-2.4.32/include/config/khttpd.h linux-2.4.32.patched/include/config/khttpd.h
---- linux-2.4.32/include/config/khttpd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/khttpd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_KHTTPD
-diff -Nur linux-2.4.32/include/config/kmod.h linux-2.4.32.patched/include/config/kmod.h
---- linux-2.4.32/include/config/kmod.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/kmod.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_KMOD
-diff -Nur linux-2.4.32/include/config/lan/saa9730.h linux-2.4.32.patched/include/config/lan/saa9730.h
---- linux-2.4.32/include/config/lan/saa9730.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lan/saa9730.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LAN_SAA9730
-diff -Nur linux-2.4.32/include/config/lance.h linux-2.4.32.patched/include/config/lance.h
---- linux-2.4.32/include/config/lance.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lance.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LANCE
-diff -Nur linux-2.4.32/include/config/lapb.h linux-2.4.32.patched/include/config/lapb.h
---- linux-2.4.32/include/config/lapb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lapb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LAPB
-diff -Nur linux-2.4.32/include/config/lasat.h linux-2.4.32.patched/include/config/lasat.h
---- linux-2.4.32/include/config/lasat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lasat.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LASAT
-diff -Nur linux-2.4.32/include/config/ldm/partition.h linux-2.4.32.patched/include/config/ldm/partition.h
---- linux-2.4.32/include/config/ldm/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ldm/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LDM_PARTITION
-diff -Nur linux-2.4.32/include/config/llc.h linux-2.4.32.patched/include/config/llc.h
---- linux-2.4.32/include/config/llc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/llc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LLC
-diff -Nur linux-2.4.32/include/config/lne390.h linux-2.4.32.patched/include/config/lne390.h
---- linux-2.4.32/include/config/lne390.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lne390.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LNE390
-diff -Nur linux-2.4.32/include/config/lockd/module.h linux-2.4.32.patched/include/config/lockd/module.h
---- linux-2.4.32/include/config/lockd/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lockd/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_LOCKD_MODULE 1
-diff -Nur linux-2.4.32/include/config/lockd/v4.h linux-2.4.32.patched/include/config/lockd/v4.h
---- linux-2.4.32/include/config/lockd/v4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lockd/v4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_LOCKD_V4 1
-diff -Nur linux-2.4.32/include/config/lockd.h linux-2.4.32.patched/include/config/lockd.h
---- linux-2.4.32/include/config/lockd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lockd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LOCKD
-diff -Nur linux-2.4.32/include/config/log/buf/shift.h linux-2.4.32.patched/include/config/log/buf/shift.h
---- linux-2.4.32/include/config/log/buf/shift.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/log/buf/shift.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_LOG_BUF_SHIFT (0)
-diff -Nur linux-2.4.32/include/config/lp/console.h linux-2.4.32.patched/include/config/lp/console.h
---- linux-2.4.32/include/config/lp/console.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/lp/console.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_LP_CONSOLE
-diff -Nur linux-2.4.32/include/config/mac/partition.h linux-2.4.32.patched/include/config/mac/partition.h
---- linux-2.4.32/include/config/mac/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mac/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MAC_PARTITION 1
-diff -Nur linux-2.4.32/include/config/machz/wdt.h linux-2.4.32.patched/include/config/machz/wdt.h
---- linux-2.4.32/include/config/machz/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/machz/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MACHZ_WDT
-diff -Nur linux-2.4.32/include/config/magic/sysrq.h linux-2.4.32.patched/include/config/magic/sysrq.h
---- linux-2.4.32/include/config/magic/sysrq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/magic/sysrq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MAGIC_SYSRQ 1
-diff -Nur linux-2.4.32/include/config/mca.h linux-2.4.32.patched/include/config/mca.h
---- linux-2.4.32/include/config/mca.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mca.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MCA
-diff -Nur linux-2.4.32/include/config/md/linear.h linux-2.4.32.patched/include/config/md/linear.h
---- linux-2.4.32/include/config/md/linear.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/md/linear.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MD_LINEAR
-diff -Nur linux-2.4.32/include/config/md/multipath.h linux-2.4.32.patched/include/config/md/multipath.h
---- linux-2.4.32/include/config/md/multipath.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/md/multipath.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MD_MULTIPATH
-diff -Nur linux-2.4.32/include/config/md/raid0.h linux-2.4.32.patched/include/config/md/raid0.h
---- linux-2.4.32/include/config/md/raid0.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/md/raid0.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MD_RAID0
-diff -Nur linux-2.4.32/include/config/md/raid1.h linux-2.4.32.patched/include/config/md/raid1.h
---- linux-2.4.32/include/config/md/raid1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/md/raid1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MD_RAID1
-diff -Nur linux-2.4.32/include/config/md/raid5.h linux-2.4.32.patched/include/config/md/raid5.h
---- linux-2.4.32/include/config/md/raid5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/md/raid5.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MD_RAID5
-diff -Nur linux-2.4.32/include/config/md.h linux-2.4.32.patched/include/config/md.h
---- linux-2.4.32/include/config/md.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/md.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MD
-diff -Nur linux-2.4.32/include/config/midi/emu10k1.h linux-2.4.32.patched/include/config/midi/emu10k1.h
---- linux-2.4.32/include/config/midi/emu10k1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/midi/emu10k1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIDI_EMU10K1
-diff -Nur linux-2.4.32/include/config/midi/via82cxxx.h linux-2.4.32.patched/include/config/midi/via82cxxx.h
---- linux-2.4.32/include/config/midi/via82cxxx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/midi/via82cxxx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIDI_VIA82CXXX
-diff -Nur linux-2.4.32/include/config/minix/fs/module.h linux-2.4.32.patched/include/config/minix/fs/module.h
---- linux-2.4.32/include/config/minix/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/minix/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MINIX_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/minix/fs.h linux-2.4.32.patched/include/config/minix/fs.h
---- linux-2.4.32/include/config/minix/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/minix/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MINIX_FS
-diff -Nur linux-2.4.32/include/config/minix/subpartition.h linux-2.4.32.patched/include/config/minix/subpartition.h
---- linux-2.4.32/include/config/minix/subpartition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/minix/subpartition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MINIX_SUBPARTITION
-diff -Nur linux-2.4.32/include/config/mips/atlas.h linux-2.4.32.patched/include/config/mips/atlas.h
---- linux-2.4.32/include/config/mips/atlas.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/atlas.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_ATLAS
-diff -Nur linux-2.4.32/include/config/mips/au1000.h linux-2.4.32.patched/include/config/mips/au1000.h
---- linux-2.4.32/include/config/mips/au1000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/au1000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_AU1000
-diff -Nur linux-2.4.32/include/config/mips/bosporus.h linux-2.4.32.patched/include/config/mips/bosporus.h
---- linux-2.4.32/include/config/mips/bosporus.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/bosporus.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_BOSPORUS
-diff -Nur linux-2.4.32/include/config/mips/brcm.h linux-2.4.32.patched/include/config/mips/brcm.h
---- linux-2.4.32/include/config/mips/brcm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/brcm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MIPS_BRCM 1
-diff -Nur linux-2.4.32/include/config/mips/cobalt.h linux-2.4.32.patched/include/config/mips/cobalt.h
---- linux-2.4.32/include/config/mips/cobalt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/cobalt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_COBALT
-diff -Nur linux-2.4.32/include/config/mips/db1000.h linux-2.4.32.patched/include/config/mips/db1000.h
---- linux-2.4.32/include/config/mips/db1000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/db1000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_DB1000
-diff -Nur linux-2.4.32/include/config/mips/db1100.h linux-2.4.32.patched/include/config/mips/db1100.h
---- linux-2.4.32/include/config/mips/db1100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/db1100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_DB1100
-diff -Nur linux-2.4.32/include/config/mips/db1200.h linux-2.4.32.patched/include/config/mips/db1200.h
---- linux-2.4.32/include/config/mips/db1200.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/db1200.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_DB1200
-diff -Nur linux-2.4.32/include/config/mips/db1500.h linux-2.4.32.patched/include/config/mips/db1500.h
---- linux-2.4.32/include/config/mips/db1500.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/db1500.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_DB1500
-diff -Nur linux-2.4.32/include/config/mips/db1550.h linux-2.4.32.patched/include/config/mips/db1550.h
---- linux-2.4.32/include/config/mips/db1550.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/db1550.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_DB1550
-diff -Nur linux-2.4.32/include/config/mips/ev64120.h linux-2.4.32.patched/include/config/mips/ev64120.h
---- linux-2.4.32/include/config/mips/ev64120.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/ev64120.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_EV64120
-diff -Nur linux-2.4.32/include/config/mips/ev96100.h linux-2.4.32.patched/include/config/mips/ev96100.h
---- linux-2.4.32/include/config/mips/ev96100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/ev96100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_EV96100
-diff -Nur linux-2.4.32/include/config/mips/ficmmp.h linux-2.4.32.patched/include/config/mips/ficmmp.h
---- linux-2.4.32/include/config/mips/ficmmp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/ficmmp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_FICMMP
-diff -Nur linux-2.4.32/include/config/mips/hydrogen3.h linux-2.4.32.patched/include/config/mips/hydrogen3.h
---- linux-2.4.32/include/config/mips/hydrogen3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/hydrogen3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_HYDROGEN3
-diff -Nur linux-2.4.32/include/config/mips/ite8172.h linux-2.4.32.patched/include/config/mips/ite8172.h
---- linux-2.4.32/include/config/mips/ite8172.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/ite8172.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_ITE8172
-diff -Nur linux-2.4.32/include/config/mips/ivr.h linux-2.4.32.patched/include/config/mips/ivr.h
---- linux-2.4.32/include/config/mips/ivr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/ivr.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_IVR
-diff -Nur linux-2.4.32/include/config/mips/magnum/4000.h linux-2.4.32.patched/include/config/mips/magnum/4000.h
---- linux-2.4.32/include/config/mips/magnum/4000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/magnum/4000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_MAGNUM_4000
-diff -Nur linux-2.4.32/include/config/mips/malta.h linux-2.4.32.patched/include/config/mips/malta.h
---- linux-2.4.32/include/config/mips/malta.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/malta.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_MALTA
-diff -Nur linux-2.4.32/include/config/mips/mirage.h linux-2.4.32.patched/include/config/mips/mirage.h
---- linux-2.4.32/include/config/mips/mirage.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/mirage.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_MIRAGE
-diff -Nur linux-2.4.32/include/config/mips/mtx1.h linux-2.4.32.patched/include/config/mips/mtx1.h
---- linux-2.4.32/include/config/mips/mtx1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/mtx1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_MTX1
-diff -Nur linux-2.4.32/include/config/mips/pb1000.h linux-2.4.32.patched/include/config/mips/pb1000.h
---- linux-2.4.32/include/config/mips/pb1000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/pb1000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_PB1000
-diff -Nur linux-2.4.32/include/config/mips/pb1100.h linux-2.4.32.patched/include/config/mips/pb1100.h
---- linux-2.4.32/include/config/mips/pb1100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/pb1100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_PB1100
-diff -Nur linux-2.4.32/include/config/mips/pb1200.h linux-2.4.32.patched/include/config/mips/pb1200.h
---- linux-2.4.32/include/config/mips/pb1200.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/pb1200.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_PB1200
-diff -Nur linux-2.4.32/include/config/mips/pb1500.h linux-2.4.32.patched/include/config/mips/pb1500.h
---- linux-2.4.32/include/config/mips/pb1500.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/pb1500.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_PB1500
-diff -Nur linux-2.4.32/include/config/mips/pb1550.h linux-2.4.32.patched/include/config/mips/pb1550.h
---- linux-2.4.32/include/config/mips/pb1550.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/pb1550.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_PB1550
-diff -Nur linux-2.4.32/include/config/mips/sead.h linux-2.4.32.patched/include/config/mips/sead.h
---- linux-2.4.32/include/config/mips/sead.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/sead.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_SEAD
-diff -Nur linux-2.4.32/include/config/mips/uncached.h linux-2.4.32.patched/include/config/mips/uncached.h
---- linux-2.4.32/include/config/mips/uncached.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/uncached.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_UNCACHED
-diff -Nur linux-2.4.32/include/config/mips/xxs1500.h linux-2.4.32.patched/include/config/mips/xxs1500.h
---- linux-2.4.32/include/config/mips/xxs1500.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips/xxs1500.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS_XXS1500
-diff -Nur linux-2.4.32/include/config/mips32/compat.h linux-2.4.32.patched/include/config/mips32/compat.h
---- linux-2.4.32/include/config/mips32/compat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips32/compat.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS32_COMPAT
-diff -Nur linux-2.4.32/include/config/mips32/n32.h linux-2.4.32.patched/include/config/mips32/n32.h
---- linux-2.4.32/include/config/mips32/n32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips32/n32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS32_N32
-diff -Nur linux-2.4.32/include/config/mips32/o32.h linux-2.4.32.patched/include/config/mips32/o32.h
---- linux-2.4.32/include/config/mips32/o32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips32/o32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS32_O32
-diff -Nur linux-2.4.32/include/config/mips32.h linux-2.4.32.patched/include/config/mips32.h
---- linux-2.4.32/include/config/mips32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MIPS32 1
-diff -Nur linux-2.4.32/include/config/mips64.h linux-2.4.32.patched/include/config/mips64.h
---- linux-2.4.32/include/config/mips64.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips64.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIPS64
-diff -Nur linux-2.4.32/include/config/mips.h linux-2.4.32.patched/include/config/mips.h
---- linux-2.4.32/include/config/mips.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mips.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MIPS 1
-diff -Nur linux-2.4.32/include/config/mixcomwd.h linux-2.4.32.patched/include/config/mixcomwd.h
---- linux-2.4.32/include/config/mixcomwd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mixcomwd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MIXCOMWD
-diff -Nur linux-2.4.32/include/config/mkiss/module.h linux-2.4.32.patched/include/config/mkiss/module.h
---- linux-2.4.32/include/config/mkiss/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mkiss/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MKISS_MODULE 1
-diff -Nur linux-2.4.32/include/config/mkiss.h linux-2.4.32.patched/include/config/mkiss.h
---- linux-2.4.32/include/config/mkiss.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mkiss.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MKISS
-diff -Nur linux-2.4.32/include/config/modules.h linux-2.4.32.patched/include/config/modules.h
---- linux-2.4.32/include/config/modules.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/modules.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MODULES 1
-diff -Nur linux-2.4.32/include/config/modversions.h linux-2.4.32.patched/include/config/modversions.h
---- linux-2.4.32/include/config/modversions.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/modversions.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MODVERSIONS
-diff -Nur linux-2.4.32/include/config/momenco/jaguar/atx.h linux-2.4.32.patched/include/config/momenco/jaguar/atx.h
---- linux-2.4.32/include/config/momenco/jaguar/atx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/momenco/jaguar/atx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MOMENCO_JAGUAR_ATX
-diff -Nur linux-2.4.32/include/config/momenco/ocelot/c.h linux-2.4.32.patched/include/config/momenco/ocelot/c.h
---- linux-2.4.32/include/config/momenco/ocelot/c.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/momenco/ocelot/c.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MOMENCO_OCELOT_C
-diff -Nur linux-2.4.32/include/config/momenco/ocelot/g.h linux-2.4.32.patched/include/config/momenco/ocelot/g.h
---- linux-2.4.32/include/config/momenco/ocelot/g.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/momenco/ocelot/g.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MOMENCO_OCELOT_G
-diff -Nur linux-2.4.32/include/config/momenco/ocelot.h linux-2.4.32.patched/include/config/momenco/ocelot.h
---- linux-2.4.32/include/config/momenco/ocelot.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/momenco/ocelot.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MOMENCO_OCELOT
-diff -Nur linux-2.4.32/include/config/mouse.h linux-2.4.32.patched/include/config/mouse.h
---- linux-2.4.32/include/config/mouse.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mouse.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MOUSE
-diff -Nur linux-2.4.32/include/config/msdos/fs.h linux-2.4.32.patched/include/config/msdos/fs.h
---- linux-2.4.32/include/config/msdos/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/msdos/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MSDOS_FS
-diff -Nur linux-2.4.32/include/config/msdos/partition.h linux-2.4.32.patched/include/config/msdos/partition.h
---- linux-2.4.32/include/config/msdos/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/msdos/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MSDOS_PARTITION 1
-diff -Nur linux-2.4.32/include/config/mtd/absent.h linux-2.4.32.patched/include/config/mtd/absent.h
---- linux-2.4.32/include/config/mtd/absent.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/absent.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_ABSENT
-diff -Nur linux-2.4.32/include/config/mtd/amdstd.h linux-2.4.32.patched/include/config/mtd/amdstd.h
---- linux-2.4.32/include/config/mtd/amdstd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/amdstd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_AMDSTD
-diff -Nur linux-2.4.32/include/config/mtd/bcm947xx.h linux-2.4.32.patched/include/config/mtd/bcm947xx.h
---- linux-2.4.32/include/config/mtd/bcm947xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/bcm947xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_BCM947XX 1
-diff -Nur linux-2.4.32/include/config/mtd/blkmtd.h linux-2.4.32.patched/include/config/mtd/blkmtd.h
---- linux-2.4.32/include/config/mtd/blkmtd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/blkmtd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_BLKMTD
-diff -Nur linux-2.4.32/include/config/mtd/block.h linux-2.4.32.patched/include/config/mtd/block.h
---- linux-2.4.32/include/config/mtd/block.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/block.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_BLOCK 1
-diff -Nur linux-2.4.32/include/config/mtd/bosporus.h linux-2.4.32.patched/include/config/mtd/bosporus.h
---- linux-2.4.32/include/config/mtd/bosporus.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/bosporus.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_BOSPORUS
-diff -Nur linux-2.4.32/include/config/mtd/cfi/adv/options.h linux-2.4.32.patched/include/config/mtd/cfi/adv/options.h
---- linux-2.4.32/include/config/mtd/cfi/adv/options.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/adv/options.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI_ADV_OPTIONS 1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/amdstd.h linux-2.4.32.patched/include/config/mtd/cfi/amdstd.h
---- linux-2.4.32/include/config/mtd/cfi/amdstd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/amdstd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI_AMDSTD 1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/b1.h linux-2.4.32.patched/include/config/mtd/cfi/b1.h
---- linux-2.4.32/include/config/mtd/cfi/b1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/b1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_B1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/b2.h linux-2.4.32.patched/include/config/mtd/cfi/b2.h
---- linux-2.4.32/include/config/mtd/cfi/b2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/b2.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI_B2 1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/b4.h linux-2.4.32.patched/include/config/mtd/cfi/b4.h
---- linux-2.4.32/include/config/mtd/cfi/b4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/b4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_B4
-diff -Nur linux-2.4.32/include/config/mtd/cfi/b8.h linux-2.4.32.patched/include/config/mtd/cfi/b8.h
---- linux-2.4.32/include/config/mtd/cfi/b8.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/b8.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_B8
-diff -Nur linux-2.4.32/include/config/mtd/cfi/be/byte/swap.h linux-2.4.32.patched/include/config/mtd/cfi/be/byte/swap.h
---- linux-2.4.32/include/config/mtd/cfi/be/byte/swap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/be/byte/swap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_BE_BYTE_SWAP
-diff -Nur linux-2.4.32/include/config/mtd/cfi/geometry.h linux-2.4.32.patched/include/config/mtd/cfi/geometry.h
---- linux-2.4.32/include/config/mtd/cfi/geometry.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/geometry.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI_GEOMETRY 1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/i1.h linux-2.4.32.patched/include/config/mtd/cfi/i1.h
---- linux-2.4.32/include/config/mtd/cfi/i1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/i1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI_I1 1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/i2.h linux-2.4.32.patched/include/config/mtd/cfi/i2.h
---- linux-2.4.32/include/config/mtd/cfi/i2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/i2.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_I2
-diff -Nur linux-2.4.32/include/config/mtd/cfi/i4.h linux-2.4.32.patched/include/config/mtd/cfi/i4.h
---- linux-2.4.32/include/config/mtd/cfi/i4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/i4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_I4
-diff -Nur linux-2.4.32/include/config/mtd/cfi/i8.h linux-2.4.32.patched/include/config/mtd/cfi/i8.h
---- linux-2.4.32/include/config/mtd/cfi/i8.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/i8.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_I8
-diff -Nur linux-2.4.32/include/config/mtd/cfi/intelext.h linux-2.4.32.patched/include/config/mtd/cfi/intelext.h
---- linux-2.4.32/include/config/mtd/cfi/intelext.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/intelext.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI_INTELEXT 1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/le/byte/swap.h linux-2.4.32.patched/include/config/mtd/cfi/le/byte/swap.h
---- linux-2.4.32/include/config/mtd/cfi/le/byte/swap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/le/byte/swap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_LE_BYTE_SWAP
-diff -Nur linux-2.4.32/include/config/mtd/cfi/noswap.h linux-2.4.32.patched/include/config/mtd/cfi/noswap.h
---- linux-2.4.32/include/config/mtd/cfi/noswap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/noswap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI_NOSWAP 1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/sststd.h linux-2.4.32.patched/include/config/mtd/cfi/sststd.h
---- linux-2.4.32/include/config/mtd/cfi/sststd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/sststd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI_SSTSTD 1
-diff -Nur linux-2.4.32/include/config/mtd/cfi/staa.h linux-2.4.32.patched/include/config/mtd/cfi/staa.h
---- linux-2.4.32/include/config/mtd/cfi/staa.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi/staa.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CFI_STAA
-diff -Nur linux-2.4.32/include/config/mtd/cfi.h linux-2.4.32.patched/include/config/mtd/cfi.h
---- linux-2.4.32/include/config/mtd/cfi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cfi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CFI 1
-diff -Nur linux-2.4.32/include/config/mtd/char.h linux-2.4.32.patched/include/config/mtd/char.h
---- linux-2.4.32/include/config/mtd/char.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/char.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_CHAR 1
-diff -Nur linux-2.4.32/include/config/mtd/cmdline/parts.h linux-2.4.32.patched/include/config/mtd/cmdline/parts.h
---- linux-2.4.32/include/config/mtd/cmdline/parts.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cmdline/parts.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CMDLINE_PARTS
-diff -Nur linux-2.4.32/include/config/mtd/concat.h linux-2.4.32.patched/include/config/mtd/concat.h
---- linux-2.4.32/include/config/mtd/concat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/concat.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CONCAT
-diff -Nur linux-2.4.32/include/config/mtd/cstm/mips/ixx.h linux-2.4.32.patched/include/config/mtd/cstm/mips/ixx.h
---- linux-2.4.32/include/config/mtd/cstm/mips/ixx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/cstm/mips/ixx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_CSTM_MIPS_IXX
-diff -Nur linux-2.4.32/include/config/mtd/db1x00.h linux-2.4.32.patched/include/config/mtd/db1x00.h
---- linux-2.4.32/include/config/mtd/db1x00.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/db1x00.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_DB1X00
-diff -Nur linux-2.4.32/include/config/mtd/debug.h linux-2.4.32.patched/include/config/mtd/debug.h
---- linux-2.4.32/include/config/mtd/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_DEBUG
-diff -Nur linux-2.4.32/include/config/mtd/doc1000.h linux-2.4.32.patched/include/config/mtd/doc1000.h
---- linux-2.4.32/include/config/mtd/doc1000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/doc1000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_DOC1000
-diff -Nur linux-2.4.32/include/config/mtd/doc2000.h linux-2.4.32.patched/include/config/mtd/doc2000.h
---- linux-2.4.32/include/config/mtd/doc2000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/doc2000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_DOC2000
-diff -Nur linux-2.4.32/include/config/mtd/doc2001.h linux-2.4.32.patched/include/config/mtd/doc2001.h
---- linux-2.4.32/include/config/mtd/doc2001.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/doc2001.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_DOC2001
-diff -Nur linux-2.4.32/include/config/mtd/docprobe.h linux-2.4.32.patched/include/config/mtd/docprobe.h
---- linux-2.4.32/include/config/mtd/docprobe.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/docprobe.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_DOCPROBE
-diff -Nur linux-2.4.32/include/config/mtd/gen/probe.h linux-2.4.32.patched/include/config/mtd/gen/probe.h
---- linux-2.4.32/include/config/mtd/gen/probe.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/gen/probe.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_GEN_PROBE 1
-diff -Nur linux-2.4.32/include/config/mtd/hydrogen3.h linux-2.4.32.patched/include/config/mtd/hydrogen3.h
---- linux-2.4.32/include/config/mtd/hydrogen3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/hydrogen3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_HYDROGEN3
-diff -Nur linux-2.4.32/include/config/mtd/jedec.h linux-2.4.32.patched/include/config/mtd/jedec.h
---- linux-2.4.32/include/config/mtd/jedec.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/jedec.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_JEDEC
-diff -Nur linux-2.4.32/include/config/mtd/jedecprobe.h linux-2.4.32.patched/include/config/mtd/jedecprobe.h
---- linux-2.4.32/include/config/mtd/jedecprobe.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/jedecprobe.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_JEDECPROBE
-diff -Nur linux-2.4.32/include/config/mtd/lasat.h linux-2.4.32.patched/include/config/mtd/lasat.h
---- linux-2.4.32/include/config/mtd/lasat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/lasat.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_LASAT
-diff -Nur linux-2.4.32/include/config/mtd/mirage.h linux-2.4.32.patched/include/config/mtd/mirage.h
---- linux-2.4.32/include/config/mtd/mirage.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/mirage.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_MIRAGE
-diff -Nur linux-2.4.32/include/config/mtd/mtdram.h linux-2.4.32.patched/include/config/mtd/mtdram.h
---- linux-2.4.32/include/config/mtd/mtdram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/mtdram.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_MTDRAM
-diff -Nur linux-2.4.32/include/config/mtd/mtx1.h linux-2.4.32.patched/include/config/mtd/mtx1.h
---- linux-2.4.32/include/config/mtd/mtx1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/mtx1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_MTX1
-diff -Nur linux-2.4.32/include/config/mtd/nand.h linux-2.4.32.patched/include/config/mtd/nand.h
---- linux-2.4.32/include/config/mtd/nand.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/nand.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_NAND
-diff -Nur linux-2.4.32/include/config/mtd/obsolete/chips.h linux-2.4.32.patched/include/config/mtd/obsolete/chips.h
---- linux-2.4.32/include/config/mtd/obsolete/chips.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/obsolete/chips.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_OBSOLETE_CHIPS
-diff -Nur linux-2.4.32/include/config/mtd/ocelot.h linux-2.4.32.patched/include/config/mtd/ocelot.h
---- linux-2.4.32/include/config/mtd/ocelot.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/ocelot.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_OCELOT
-diff -Nur linux-2.4.32/include/config/mtd/partitions.h linux-2.4.32.patched/include/config/mtd/partitions.h
---- linux-2.4.32/include/config/mtd/partitions.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/partitions.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD_PARTITIONS 1
-diff -Nur linux-2.4.32/include/config/mtd/pb1000.h linux-2.4.32.patched/include/config/mtd/pb1000.h
---- linux-2.4.32/include/config/mtd/pb1000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/pb1000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_PB1000
-diff -Nur linux-2.4.32/include/config/mtd/pb1100.h linux-2.4.32.patched/include/config/mtd/pb1100.h
---- linux-2.4.32/include/config/mtd/pb1100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/pb1100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_PB1100
-diff -Nur linux-2.4.32/include/config/mtd/pb1500.h linux-2.4.32.patched/include/config/mtd/pb1500.h
---- linux-2.4.32/include/config/mtd/pb1500.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/pb1500.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_PB1500
-diff -Nur linux-2.4.32/include/config/mtd/pb1550.h linux-2.4.32.patched/include/config/mtd/pb1550.h
---- linux-2.4.32/include/config/mtd/pb1550.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/pb1550.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_PB1550
-diff -Nur linux-2.4.32/include/config/mtd/pci.h linux-2.4.32.patched/include/config/mtd/pci.h
---- linux-2.4.32/include/config/mtd/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_PCI
-diff -Nur linux-2.4.32/include/config/mtd/pcmcia.h linux-2.4.32.patched/include/config/mtd/pcmcia.h
---- linux-2.4.32/include/config/mtd/pcmcia.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/pcmcia.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_PCMCIA
-diff -Nur linux-2.4.32/include/config/mtd/physmap.h linux-2.4.32.patched/include/config/mtd/physmap.h
---- linux-2.4.32/include/config/mtd/physmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/physmap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_PHYSMAP
-diff -Nur linux-2.4.32/include/config/mtd/pmc551.h linux-2.4.32.patched/include/config/mtd/pmc551.h
---- linux-2.4.32/include/config/mtd/pmc551.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/pmc551.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_PMC551
-diff -Nur linux-2.4.32/include/config/mtd/ram.h linux-2.4.32.patched/include/config/mtd/ram.h
---- linux-2.4.32/include/config/mtd/ram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/ram.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_RAM
-diff -Nur linux-2.4.32/include/config/mtd/redboot/parts.h linux-2.4.32.patched/include/config/mtd/redboot/parts.h
---- linux-2.4.32/include/config/mtd/redboot/parts.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/redboot/parts.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_REDBOOT_PARTS
-diff -Nur linux-2.4.32/include/config/mtd/rom.h linux-2.4.32.patched/include/config/mtd/rom.h
---- linux-2.4.32/include/config/mtd/rom.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/rom.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_ROM
-diff -Nur linux-2.4.32/include/config/mtd/sharp.h linux-2.4.32.patched/include/config/mtd/sharp.h
---- linux-2.4.32/include/config/mtd/sharp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/sharp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_SHARP
-diff -Nur linux-2.4.32/include/config/mtd/slram.h linux-2.4.32.patched/include/config/mtd/slram.h
---- linux-2.4.32/include/config/mtd/slram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/slram.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_SLRAM
-diff -Nur linux-2.4.32/include/config/mtd/xxs1500.h linux-2.4.32.patched/include/config/mtd/xxs1500.h
---- linux-2.4.32/include/config/mtd/xxs1500.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd/xxs1500.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MTD_XXS1500
-diff -Nur linux-2.4.32/include/config/mtd.h linux-2.4.32.patched/include/config/mtd.h
---- linux-2.4.32/include/config/mtd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/mtd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_MTD 1
-diff -Nur linux-2.4.32/include/config/myri/sbus.h linux-2.4.32.patched/include/config/myri/sbus.h
---- linux-2.4.32/include/config/myri/sbus.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/myri/sbus.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_MYRI_SBUS
-diff -Nur linux-2.4.32/include/config/natsemi.h linux-2.4.32.patched/include/config/natsemi.h
---- linux-2.4.32/include/config/natsemi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/natsemi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NATSEMI
-diff -Nur linux-2.4.32/include/config/ncp/fs.h linux-2.4.32.patched/include/config/ncp/fs.h
---- linux-2.4.32/include/config/ncp/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncp/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCP_FS
-diff -Nur linux-2.4.32/include/config/ncpfs/extras.h linux-2.4.32.patched/include/config/ncpfs/extras.h
---- linux-2.4.32/include/config/ncpfs/extras.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncpfs/extras.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCPFS_EXTRAS
-diff -Nur linux-2.4.32/include/config/ncpfs/ioctl/locking.h linux-2.4.32.patched/include/config/ncpfs/ioctl/locking.h
---- linux-2.4.32/include/config/ncpfs/ioctl/locking.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncpfs/ioctl/locking.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCPFS_IOCTL_LOCKING
-diff -Nur linux-2.4.32/include/config/ncpfs/nfs/ns.h linux-2.4.32.patched/include/config/ncpfs/nfs/ns.h
---- linux-2.4.32/include/config/ncpfs/nfs/ns.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncpfs/nfs/ns.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCPFS_NFS_NS
-diff -Nur linux-2.4.32/include/config/ncpfs/nls.h linux-2.4.32.patched/include/config/ncpfs/nls.h
---- linux-2.4.32/include/config/ncpfs/nls.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncpfs/nls.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCPFS_NLS
-diff -Nur linux-2.4.32/include/config/ncpfs/os2/ns.h linux-2.4.32.patched/include/config/ncpfs/os2/ns.h
---- linux-2.4.32/include/config/ncpfs/os2/ns.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncpfs/os2/ns.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCPFS_OS2_NS
-diff -Nur linux-2.4.32/include/config/ncpfs/packet/signing.h linux-2.4.32.patched/include/config/ncpfs/packet/signing.h
---- linux-2.4.32/include/config/ncpfs/packet/signing.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncpfs/packet/signing.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCPFS_PACKET_SIGNING
-diff -Nur linux-2.4.32/include/config/ncpfs/smalldos.h linux-2.4.32.patched/include/config/ncpfs/smalldos.h
---- linux-2.4.32/include/config/ncpfs/smalldos.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncpfs/smalldos.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCPFS_SMALLDOS
-diff -Nur linux-2.4.32/include/config/ncpfs/strong.h linux-2.4.32.patched/include/config/ncpfs/strong.h
---- linux-2.4.32/include/config/ncpfs/strong.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ncpfs/strong.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NCPFS_STRONG
-diff -Nur linux-2.4.32/include/config/ne2k/pci.h linux-2.4.32.patched/include/config/ne2k/pci.h
---- linux-2.4.32/include/config/ne2k/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ne2k/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NE2K_PCI
-diff -Nur linux-2.4.32/include/config/ne3210.h linux-2.4.32.patched/include/config/ne3210.h
---- linux-2.4.32/include/config/ne3210.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ne3210.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NE3210
-diff -Nur linux-2.4.32/include/config/nec/eagle.h linux-2.4.32.patched/include/config/nec/eagle.h
---- linux-2.4.32/include/config/nec/eagle.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nec/eagle.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NEC_EAGLE
-diff -Nur linux-2.4.32/include/config/nec/osprey.h linux-2.4.32.patched/include/config/nec/osprey.h
---- linux-2.4.32/include/config/nec/osprey.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nec/osprey.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NEC_OSPREY
-diff -Nur linux-2.4.32/include/config/net/cls/fw/module.h linux-2.4.32.patched/include/config/net/cls/fw/module.h
---- linux-2.4.32/include/config/net/cls/fw/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/fw/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS_FW_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/cls/fw.h linux-2.4.32.patched/include/config/net/cls/fw.h
---- linux-2.4.32/include/config/net/cls/fw.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/fw.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_CLS_FW
-diff -Nur linux-2.4.32/include/config/net/cls/police.h linux-2.4.32.patched/include/config/net/cls/police.h
---- linux-2.4.32/include/config/net/cls/police.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/police.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS_POLICE 1
-diff -Nur linux-2.4.32/include/config/net/cls/route4/module.h linux-2.4.32.patched/include/config/net/cls/route4/module.h
---- linux-2.4.32/include/config/net/cls/route4/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/route4/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS_ROUTE4_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/cls/route4.h linux-2.4.32.patched/include/config/net/cls/route4.h
---- linux-2.4.32/include/config/net/cls/route4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/route4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_CLS_ROUTE4
-diff -Nur linux-2.4.32/include/config/net/cls/route.h linux-2.4.32.patched/include/config/net/cls/route.h
---- linux-2.4.32/include/config/net/cls/route.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/route.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS_ROUTE 1
-diff -Nur linux-2.4.32/include/config/net/cls/rsvp/module.h linux-2.4.32.patched/include/config/net/cls/rsvp/module.h
---- linux-2.4.32/include/config/net/cls/rsvp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/rsvp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS_RSVP_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/cls/rsvp6/module.h linux-2.4.32.patched/include/config/net/cls/rsvp6/module.h
---- linux-2.4.32/include/config/net/cls/rsvp6/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/rsvp6/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS_RSVP6_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/cls/rsvp6.h linux-2.4.32.patched/include/config/net/cls/rsvp6.h
---- linux-2.4.32/include/config/net/cls/rsvp6.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/rsvp6.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_CLS_RSVP6
-diff -Nur linux-2.4.32/include/config/net/cls/rsvp.h linux-2.4.32.patched/include/config/net/cls/rsvp.h
---- linux-2.4.32/include/config/net/cls/rsvp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/rsvp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_CLS_RSVP
-diff -Nur linux-2.4.32/include/config/net/cls/tcindex/module.h linux-2.4.32.patched/include/config/net/cls/tcindex/module.h
---- linux-2.4.32/include/config/net/cls/tcindex/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/tcindex/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS_TCINDEX_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/cls/tcindex.h linux-2.4.32.patched/include/config/net/cls/tcindex.h
---- linux-2.4.32/include/config/net/cls/tcindex.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/tcindex.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_CLS_TCINDEX
-diff -Nur linux-2.4.32/include/config/net/cls/u32/module.h linux-2.4.32.patched/include/config/net/cls/u32/module.h
---- linux-2.4.32/include/config/net/cls/u32/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/u32/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS_U32_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/cls/u32.h linux-2.4.32.patched/include/config/net/cls/u32.h
---- linux-2.4.32/include/config/net/cls/u32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls/u32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_CLS_U32
-diff -Nur linux-2.4.32/include/config/net/cls.h linux-2.4.32.patched/include/config/net/cls.h
---- linux-2.4.32/include/config/net/cls.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/cls.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_CLS 1
-diff -Nur linux-2.4.32/include/config/net/divert.h linux-2.4.32.patched/include/config/net/divert.h
---- linux-2.4.32/include/config/net/divert.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/divert.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_DIVERT
-diff -Nur linux-2.4.32/include/config/net/estimator.h linux-2.4.32.patched/include/config/net/estimator.h
---- linux-2.4.32/include/config/net/estimator.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/estimator.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_ESTIMATOR 1
-diff -Nur linux-2.4.32/include/config/net/ethernet.h linux-2.4.32.patched/include/config/net/ethernet.h
---- linux-2.4.32/include/config/net/ethernet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/ethernet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_ETHERNET 1
-diff -Nur linux-2.4.32/include/config/net/fastroute.h linux-2.4.32.patched/include/config/net/fastroute.h
---- linux-2.4.32/include/config/net/fastroute.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/fastroute.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_FASTROUTE
-diff -Nur linux-2.4.32/include/config/net/fc.h linux-2.4.32.patched/include/config/net/fc.h
---- linux-2.4.32/include/config/net/fc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/fc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_FC
-diff -Nur linux-2.4.32/include/config/net/hw/flowcontrol.h linux-2.4.32.patched/include/config/net/hw/flowcontrol.h
---- linux-2.4.32/include/config/net/hw/flowcontrol.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/hw/flowcontrol.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_HW_FLOWCONTROL
-diff -Nur linux-2.4.32/include/config/net/ipgre/broadcast.h linux-2.4.32.patched/include/config/net/ipgre/broadcast.h
---- linux-2.4.32/include/config/net/ipgre/broadcast.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/ipgre/broadcast.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_IPGRE_BROADCAST
-diff -Nur linux-2.4.32/include/config/net/ipgre/module.h linux-2.4.32.patched/include/config/net/ipgre/module.h
---- linux-2.4.32/include/config/net/ipgre/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/ipgre/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_IPGRE_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/ipgre.h linux-2.4.32.patched/include/config/net/ipgre.h
---- linux-2.4.32/include/config/net/ipgre.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/ipgre.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_IPGRE
-diff -Nur linux-2.4.32/include/config/net/ipip/module.h linux-2.4.32.patched/include/config/net/ipip/module.h
---- linux-2.4.32/include/config/net/ipip/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/ipip/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_IPIP_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/ipip.h linux-2.4.32.patched/include/config/net/ipip.h
---- linux-2.4.32/include/config/net/ipip.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/ipip.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_IPIP
-diff -Nur linux-2.4.32/include/config/net/isa.h linux-2.4.32.patched/include/config/net/isa.h
---- linux-2.4.32/include/config/net/isa.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/isa.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_ISA
-diff -Nur linux-2.4.32/include/config/net/pci.h linux-2.4.32.patched/include/config/net/pci.h
---- linux-2.4.32/include/config/net/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_PCI 1
-diff -Nur linux-2.4.32/include/config/net/pcmcia.h linux-2.4.32.patched/include/config/net/pcmcia.h
---- linux-2.4.32/include/config/net/pcmcia.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/pcmcia.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_PCMCIA
-diff -Nur linux-2.4.32/include/config/net/pktgen.h linux-2.4.32.patched/include/config/net/pktgen.h
---- linux-2.4.32/include/config/net/pktgen.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/pktgen.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_PKTGEN
-diff -Nur linux-2.4.32/include/config/net/pocket.h linux-2.4.32.patched/include/config/net/pocket.h
---- linux-2.4.32/include/config/net/pocket.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/pocket.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_POCKET
-diff -Nur linux-2.4.32/include/config/net/qos.h linux-2.4.32.patched/include/config/net/qos.h
---- linux-2.4.32/include/config/net/qos.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/qos.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_QOS 1
-diff -Nur linux-2.4.32/include/config/net/radio.h linux-2.4.32.patched/include/config/net/radio.h
---- linux-2.4.32/include/config/net/radio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/radio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_RADIO 1
-diff -Nur linux-2.4.32/include/config/net/random.h linux-2.4.32.patched/include/config/net/random.h
---- linux-2.4.32/include/config/net/random.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/random.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_RANDOM 1
-diff -Nur linux-2.4.32/include/config/net/sch/cbq/module.h linux-2.4.32.patched/include/config/net/sch/cbq/module.h
---- linux-2.4.32/include/config/net/sch/cbq/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/cbq/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_CBQ_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/cbq.h linux-2.4.32.patched/include/config/net/sch/cbq.h
---- linux-2.4.32/include/config/net/sch/cbq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/cbq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_CBQ
-diff -Nur linux-2.4.32/include/config/net/sch/csz/module.h linux-2.4.32.patched/include/config/net/sch/csz/module.h
---- linux-2.4.32/include/config/net/sch/csz/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/csz/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_CSZ_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/csz.h linux-2.4.32.patched/include/config/net/sch/csz.h
---- linux-2.4.32/include/config/net/sch/csz.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/csz.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_CSZ
-diff -Nur linux-2.4.32/include/config/net/sch/dsmark/module.h linux-2.4.32.patched/include/config/net/sch/dsmark/module.h
---- linux-2.4.32/include/config/net/sch/dsmark/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/dsmark/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_DSMARK_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/dsmark.h linux-2.4.32.patched/include/config/net/sch/dsmark.h
---- linux-2.4.32/include/config/net/sch/dsmark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/dsmark.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_DSMARK
-diff -Nur linux-2.4.32/include/config/net/sch/gred/module.h linux-2.4.32.patched/include/config/net/sch/gred/module.h
---- linux-2.4.32/include/config/net/sch/gred/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/gred/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_GRED_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/gred.h linux-2.4.32.patched/include/config/net/sch/gred.h
---- linux-2.4.32/include/config/net/sch/gred.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/gred.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_GRED
-diff -Nur linux-2.4.32/include/config/net/sch/hfsc/module.h linux-2.4.32.patched/include/config/net/sch/hfsc/module.h
---- linux-2.4.32/include/config/net/sch/hfsc/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/hfsc/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_HFSC_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/hfsc.h linux-2.4.32.patched/include/config/net/sch/hfsc.h
---- linux-2.4.32/include/config/net/sch/hfsc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/hfsc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_HFSC
-diff -Nur linux-2.4.32/include/config/net/sch/htb/module.h linux-2.4.32.patched/include/config/net/sch/htb/module.h
---- linux-2.4.32/include/config/net/sch/htb/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/htb/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_HTB_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/htb.h linux-2.4.32.patched/include/config/net/sch/htb.h
---- linux-2.4.32/include/config/net/sch/htb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/htb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_HTB
-diff -Nur linux-2.4.32/include/config/net/sch/ingress/module.h linux-2.4.32.patched/include/config/net/sch/ingress/module.h
---- linux-2.4.32/include/config/net/sch/ingress/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/ingress/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_INGRESS_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/ingress.h linux-2.4.32.patched/include/config/net/sch/ingress.h
---- linux-2.4.32/include/config/net/sch/ingress.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/ingress.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_INGRESS
-diff -Nur linux-2.4.32/include/config/net/sch/netem.h linux-2.4.32.patched/include/config/net/sch/netem.h
---- linux-2.4.32/include/config/net/sch/netem.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/netem.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_NETEM
-diff -Nur linux-2.4.32/include/config/net/sch/prio/module.h linux-2.4.32.patched/include/config/net/sch/prio/module.h
---- linux-2.4.32/include/config/net/sch/prio/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/prio/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_PRIO_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/prio.h linux-2.4.32.patched/include/config/net/sch/prio.h
---- linux-2.4.32/include/config/net/sch/prio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/prio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_PRIO
-diff -Nur linux-2.4.32/include/config/net/sch/red/module.h linux-2.4.32.patched/include/config/net/sch/red/module.h
---- linux-2.4.32/include/config/net/sch/red/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/red/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_RED_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/red.h linux-2.4.32.patched/include/config/net/sch/red.h
---- linux-2.4.32/include/config/net/sch/red.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/red.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_RED
-diff -Nur linux-2.4.32/include/config/net/sch/sfq/module.h linux-2.4.32.patched/include/config/net/sch/sfq/module.h
---- linux-2.4.32/include/config/net/sch/sfq/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/sfq/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_SFQ_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/sfq.h linux-2.4.32.patched/include/config/net/sch/sfq.h
---- linux-2.4.32/include/config/net/sch/sfq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/sfq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_SFQ
-diff -Nur linux-2.4.32/include/config/net/sch/tbf/module.h linux-2.4.32.patched/include/config/net/sch/tbf/module.h
---- linux-2.4.32/include/config/net/sch/tbf/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/tbf/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_TBF_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/tbf.h linux-2.4.32.patched/include/config/net/sch/tbf.h
---- linux-2.4.32/include/config/net/sch/tbf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/tbf.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_TBF
-diff -Nur linux-2.4.32/include/config/net/sch/teql/module.h linux-2.4.32.patched/include/config/net/sch/teql/module.h
---- linux-2.4.32/include/config/net/sch/teql/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/teql/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCH_TEQL_MODULE 1
-diff -Nur linux-2.4.32/include/config/net/sch/teql.h linux-2.4.32.patched/include/config/net/sch/teql.h
---- linux-2.4.32/include/config/net/sch/teql.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sch/teql.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_SCH_TEQL
-diff -Nur linux-2.4.32/include/config/net/sched.h linux-2.4.32.patched/include/config/net/sched.h
---- linux-2.4.32/include/config/net/sched.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/sched.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_SCHED 1
-diff -Nur linux-2.4.32/include/config/net/vendor/3com.h linux-2.4.32.patched/include/config/net/vendor/3com.h
---- linux-2.4.32/include/config/net/vendor/3com.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/vendor/3com.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_VENDOR_3COM
-diff -Nur linux-2.4.32/include/config/net/vendor/racal.h linux-2.4.32.patched/include/config/net/vendor/racal.h
---- linux-2.4.32/include/config/net/vendor/racal.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/vendor/racal.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_VENDOR_RACAL
-diff -Nur linux-2.4.32/include/config/net/vendor/smc.h linux-2.4.32.patched/include/config/net/vendor/smc.h
---- linux-2.4.32/include/config/net/vendor/smc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/vendor/smc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NET_VENDOR_SMC
-diff -Nur linux-2.4.32/include/config/net/wireless.h linux-2.4.32.patched/include/config/net/wireless.h
---- linux-2.4.32/include/config/net/wireless.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net/wireless.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET_WIRELESS 1
-diff -Nur linux-2.4.32/include/config/netdevices.h linux-2.4.32.patched/include/config/netdevices.h
---- linux-2.4.32/include/config/netdevices.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/netdevices.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NETDEVICES 1
-diff -Nur linux-2.4.32/include/config/netfilter/debug.h linux-2.4.32.patched/include/config/netfilter/debug.h
---- linux-2.4.32/include/config/netfilter/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/netfilter/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NETFILTER_DEBUG
-diff -Nur linux-2.4.32/include/config/netfilter.h linux-2.4.32.patched/include/config/netfilter.h
---- linux-2.4.32/include/config/netfilter.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/netfilter.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NETFILTER 1
-diff -Nur linux-2.4.32/include/config/net.h linux-2.4.32.patched/include/config/net.h
---- linux-2.4.32/include/config/net.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/net.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NET 1
-diff -Nur linux-2.4.32/include/config/netlink/dev/module.h linux-2.4.32.patched/include/config/netlink/dev/module.h
---- linux-2.4.32/include/config/netlink/dev/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/netlink/dev/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NETLINK_DEV_MODULE 1
-diff -Nur linux-2.4.32/include/config/netlink/dev.h linux-2.4.32.patched/include/config/netlink/dev.h
---- linux-2.4.32/include/config/netlink/dev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/netlink/dev.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NETLINK_DEV
-diff -Nur linux-2.4.32/include/config/netrom.h linux-2.4.32.patched/include/config/netrom.h
---- linux-2.4.32/include/config/netrom.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/netrom.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NETROM
-diff -Nur linux-2.4.32/include/config/new/irq.h linux-2.4.32.patched/include/config/new/irq.h
---- linux-2.4.32/include/config/new/irq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/new/irq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NEW_IRQ 1
-diff -Nur linux-2.4.32/include/config/new/time/c.h linux-2.4.32.patched/include/config/new/time/c.h
---- linux-2.4.32/include/config/new/time/c.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/new/time/c.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NEW_TIME_C 1
-diff -Nur linux-2.4.32/include/config/nfs/directio.h linux-2.4.32.patched/include/config/nfs/directio.h
---- linux-2.4.32/include/config/nfs/directio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nfs/directio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NFS_DIRECTIO
-diff -Nur linux-2.4.32/include/config/nfs/fs/module.h linux-2.4.32.patched/include/config/nfs/fs/module.h
---- linux-2.4.32/include/config/nfs/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nfs/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NFS_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/nfs/fs.h linux-2.4.32.patched/include/config/nfs/fs.h
---- linux-2.4.32/include/config/nfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NFS_FS
-diff -Nur linux-2.4.32/include/config/nfs/v3.h linux-2.4.32.patched/include/config/nfs/v3.h
---- linux-2.4.32/include/config/nfs/v3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nfs/v3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NFS_V3 1
-diff -Nur linux-2.4.32/include/config/nfsd/tcp.h linux-2.4.32.patched/include/config/nfsd/tcp.h
---- linux-2.4.32/include/config/nfsd/tcp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nfsd/tcp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NFSD_TCP
-diff -Nur linux-2.4.32/include/config/nfsd/v3.h linux-2.4.32.patched/include/config/nfsd/v3.h
---- linux-2.4.32/include/config/nfsd/v3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nfsd/v3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NFSD_V3
-diff -Nur linux-2.4.32/include/config/nfsd.h linux-2.4.32.patched/include/config/nfsd.h
---- linux-2.4.32/include/config/nfsd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nfsd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NFSD
-diff -Nur linux-2.4.32/include/config/nftl.h linux-2.4.32.patched/include/config/nftl.h
---- linux-2.4.32/include/config/nftl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nftl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NFTL
-diff -Nur linux-2.4.32/include/config/nino.h linux-2.4.32.patched/include/config/nino.h
---- linux-2.4.32/include/config/nino.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nino.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NINO
-diff -Nur linux-2.4.32/include/config/nls/codepage/1250.h linux-2.4.32.patched/include/config/nls/codepage/1250.h
---- linux-2.4.32/include/config/nls/codepage/1250.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/1250.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_1250
-diff -Nur linux-2.4.32/include/config/nls/codepage/1251.h linux-2.4.32.patched/include/config/nls/codepage/1251.h
---- linux-2.4.32/include/config/nls/codepage/1251.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/1251.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_1251
-diff -Nur linux-2.4.32/include/config/nls/codepage/437.h linux-2.4.32.patched/include/config/nls/codepage/437.h
---- linux-2.4.32/include/config/nls/codepage/437.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/437.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_437
-diff -Nur linux-2.4.32/include/config/nls/codepage/737.h linux-2.4.32.patched/include/config/nls/codepage/737.h
---- linux-2.4.32/include/config/nls/codepage/737.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/737.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_737
-diff -Nur linux-2.4.32/include/config/nls/codepage/775.h linux-2.4.32.patched/include/config/nls/codepage/775.h
---- linux-2.4.32/include/config/nls/codepage/775.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/775.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_775
-diff -Nur linux-2.4.32/include/config/nls/codepage/850.h linux-2.4.32.patched/include/config/nls/codepage/850.h
---- linux-2.4.32/include/config/nls/codepage/850.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/850.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_850
-diff -Nur linux-2.4.32/include/config/nls/codepage/852.h linux-2.4.32.patched/include/config/nls/codepage/852.h
---- linux-2.4.32/include/config/nls/codepage/852.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/852.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_852
-diff -Nur linux-2.4.32/include/config/nls/codepage/855.h linux-2.4.32.patched/include/config/nls/codepage/855.h
---- linux-2.4.32/include/config/nls/codepage/855.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/855.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_855
-diff -Nur linux-2.4.32/include/config/nls/codepage/857.h linux-2.4.32.patched/include/config/nls/codepage/857.h
---- linux-2.4.32/include/config/nls/codepage/857.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/857.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_857
-diff -Nur linux-2.4.32/include/config/nls/codepage/860.h linux-2.4.32.patched/include/config/nls/codepage/860.h
---- linux-2.4.32/include/config/nls/codepage/860.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/860.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_860
-diff -Nur linux-2.4.32/include/config/nls/codepage/861.h linux-2.4.32.patched/include/config/nls/codepage/861.h
---- linux-2.4.32/include/config/nls/codepage/861.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/861.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_861
-diff -Nur linux-2.4.32/include/config/nls/codepage/862.h linux-2.4.32.patched/include/config/nls/codepage/862.h
---- linux-2.4.32/include/config/nls/codepage/862.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/862.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_862
-diff -Nur linux-2.4.32/include/config/nls/codepage/863.h linux-2.4.32.patched/include/config/nls/codepage/863.h
---- linux-2.4.32/include/config/nls/codepage/863.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/863.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_863
-diff -Nur linux-2.4.32/include/config/nls/codepage/864.h linux-2.4.32.patched/include/config/nls/codepage/864.h
---- linux-2.4.32/include/config/nls/codepage/864.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/864.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_864
-diff -Nur linux-2.4.32/include/config/nls/codepage/865.h linux-2.4.32.patched/include/config/nls/codepage/865.h
---- linux-2.4.32/include/config/nls/codepage/865.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/865.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_865
-diff -Nur linux-2.4.32/include/config/nls/codepage/866.h linux-2.4.32.patched/include/config/nls/codepage/866.h
---- linux-2.4.32/include/config/nls/codepage/866.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/866.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_866
-diff -Nur linux-2.4.32/include/config/nls/codepage/869.h linux-2.4.32.patched/include/config/nls/codepage/869.h
---- linux-2.4.32/include/config/nls/codepage/869.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/869.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_869
-diff -Nur linux-2.4.32/include/config/nls/codepage/874.h linux-2.4.32.patched/include/config/nls/codepage/874.h
---- linux-2.4.32/include/config/nls/codepage/874.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/874.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_874
-diff -Nur linux-2.4.32/include/config/nls/codepage/932.h linux-2.4.32.patched/include/config/nls/codepage/932.h
---- linux-2.4.32/include/config/nls/codepage/932.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/932.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_932
-diff -Nur linux-2.4.32/include/config/nls/codepage/936.h linux-2.4.32.patched/include/config/nls/codepage/936.h
---- linux-2.4.32/include/config/nls/codepage/936.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/936.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_936
-diff -Nur linux-2.4.32/include/config/nls/codepage/949.h linux-2.4.32.patched/include/config/nls/codepage/949.h
---- linux-2.4.32/include/config/nls/codepage/949.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/949.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_949
-diff -Nur linux-2.4.32/include/config/nls/codepage/950.h linux-2.4.32.patched/include/config/nls/codepage/950.h
---- linux-2.4.32/include/config/nls/codepage/950.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/codepage/950.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_CODEPAGE_950
-diff -Nur linux-2.4.32/include/config/nls/default.h linux-2.4.32.patched/include/config/nls/default.h
---- linux-2.4.32/include/config/nls/default.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/default.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NLS_DEFAULT "iso8859-1"
-diff -Nur linux-2.4.32/include/config/nls/iso8859/13.h linux-2.4.32.patched/include/config/nls/iso8859/13.h
---- linux-2.4.32/include/config/nls/iso8859/13.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/13.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_13
-diff -Nur linux-2.4.32/include/config/nls/iso8859/14.h linux-2.4.32.patched/include/config/nls/iso8859/14.h
---- linux-2.4.32/include/config/nls/iso8859/14.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/14.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_14
-diff -Nur linux-2.4.32/include/config/nls/iso8859/15.h linux-2.4.32.patched/include/config/nls/iso8859/15.h
---- linux-2.4.32/include/config/nls/iso8859/15.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/15.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_15
-diff -Nur linux-2.4.32/include/config/nls/iso8859/1.h linux-2.4.32.patched/include/config/nls/iso8859/1.h
---- linux-2.4.32/include/config/nls/iso8859/1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_1
-diff -Nur linux-2.4.32/include/config/nls/iso8859/2.h linux-2.4.32.patched/include/config/nls/iso8859/2.h
---- linux-2.4.32/include/config/nls/iso8859/2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/2.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_2
-diff -Nur linux-2.4.32/include/config/nls/iso8859/3.h linux-2.4.32.patched/include/config/nls/iso8859/3.h
---- linux-2.4.32/include/config/nls/iso8859/3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_3
-diff -Nur linux-2.4.32/include/config/nls/iso8859/4.h linux-2.4.32.patched/include/config/nls/iso8859/4.h
---- linux-2.4.32/include/config/nls/iso8859/4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_4
-diff -Nur linux-2.4.32/include/config/nls/iso8859/5.h linux-2.4.32.patched/include/config/nls/iso8859/5.h
---- linux-2.4.32/include/config/nls/iso8859/5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/5.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_5
-diff -Nur linux-2.4.32/include/config/nls/iso8859/6.h linux-2.4.32.patched/include/config/nls/iso8859/6.h
---- linux-2.4.32/include/config/nls/iso8859/6.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/6.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_6
-diff -Nur linux-2.4.32/include/config/nls/iso8859/7.h linux-2.4.32.patched/include/config/nls/iso8859/7.h
---- linux-2.4.32/include/config/nls/iso8859/7.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/7.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_7
-diff -Nur linux-2.4.32/include/config/nls/iso8859/8.h linux-2.4.32.patched/include/config/nls/iso8859/8.h
---- linux-2.4.32/include/config/nls/iso8859/8.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/8.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_8
-diff -Nur linux-2.4.32/include/config/nls/iso8859/9.h linux-2.4.32.patched/include/config/nls/iso8859/9.h
---- linux-2.4.32/include/config/nls/iso8859/9.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/iso8859/9.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_ISO8859_9
-diff -Nur linux-2.4.32/include/config/nls/koi8/r.h linux-2.4.32.patched/include/config/nls/koi8/r.h
---- linux-2.4.32/include/config/nls/koi8/r.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/koi8/r.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_KOI8_R
-diff -Nur linux-2.4.32/include/config/nls/koi8/u.h linux-2.4.32.patched/include/config/nls/koi8/u.h
---- linux-2.4.32/include/config/nls/koi8/u.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/koi8/u.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_KOI8_U
-diff -Nur linux-2.4.32/include/config/nls/utf8.h linux-2.4.32.patched/include/config/nls/utf8.h
---- linux-2.4.32/include/config/nls/utf8.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls/utf8.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NLS_UTF8
-diff -Nur linux-2.4.32/include/config/nls.h linux-2.4.32.patched/include/config/nls.h
---- linux-2.4.32/include/config/nls.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nls.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NLS 1
-diff -Nur linux-2.4.32/include/config/noncoherent/io.h linux-2.4.32.patched/include/config/noncoherent/io.h
---- linux-2.4.32/include/config/noncoherent/io.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/noncoherent/io.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_NONCOHERENT_IO 1
-diff -Nur linux-2.4.32/include/config/ns83820.h linux-2.4.32.patched/include/config/ns83820.h
---- linux-2.4.32/include/config/ns83820.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ns83820.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NS83820
-diff -Nur linux-2.4.32/include/config/ntfs/fs.h linux-2.4.32.patched/include/config/ntfs/fs.h
---- linux-2.4.32/include/config/ntfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ntfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NTFS_FS
-diff -Nur linux-2.4.32/include/config/ntfs/rw.h linux-2.4.32.patched/include/config/ntfs/rw.h
---- linux-2.4.32/include/config/ntfs/rw.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ntfs/rw.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NTFS_RW
-diff -Nur linux-2.4.32/include/config/nvram.h linux-2.4.32.patched/include/config/nvram.h
---- linux-2.4.32/include/config/nvram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/nvram.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_NVRAM
-diff -Nur linux-2.4.32/include/config/olivetti/m700.h linux-2.4.32.patched/include/config/olivetti/m700.h
---- linux-2.4.32/include/config/olivetti/m700.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/olivetti/m700.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_OLIVETTI_M700
-diff -Nur linux-2.4.32/include/config/oom/killer.h linux-2.4.32.patched/include/config/oom/killer.h
---- linux-2.4.32/include/config/oom/killer.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/oom/killer.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_OOM_KILLER
-diff -Nur linux-2.4.32/include/config/osf/partition.h linux-2.4.32.patched/include/config/osf/partition.h
---- linux-2.4.32/include/config/osf/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/osf/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_OSF_PARTITION
-diff -Nur linux-2.4.32/include/config/packet/mmap.h linux-2.4.32.patched/include/config/packet/mmap.h
---- linux-2.4.32/include/config/packet/mmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/packet/mmap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PACKET_MMAP 1
-diff -Nur linux-2.4.32/include/config/packet.h linux-2.4.32.patched/include/config/packet.h
---- linux-2.4.32/include/config/packet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/packet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PACKET 1
-diff -Nur linux-2.4.32/include/config/page/size/16kb.h linux-2.4.32.patched/include/config/page/size/16kb.h
---- linux-2.4.32/include/config/page/size/16kb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/page/size/16kb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PAGE_SIZE_16KB
-diff -Nur linux-2.4.32/include/config/page/size/4kb.h linux-2.4.32.patched/include/config/page/size/4kb.h
---- linux-2.4.32/include/config/page/size/4kb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/page/size/4kb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PAGE_SIZE_4KB 1
-diff -Nur linux-2.4.32/include/config/page/size/64kb.h linux-2.4.32.patched/include/config/page/size/64kb.h
---- linux-2.4.32/include/config/page/size/64kb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/page/size/64kb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PAGE_SIZE_64KB
-diff -Nur linux-2.4.32/include/config/paride.h linux-2.4.32.patched/include/config/paride.h
---- linux-2.4.32/include/config/paride.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/paride.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARIDE
-diff -Nur linux-2.4.32/include/config/parport/1284.h linux-2.4.32.patched/include/config/parport/1284.h
---- linux-2.4.32/include/config/parport/1284.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/1284.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_1284
-diff -Nur linux-2.4.32/include/config/parport/amiga.h linux-2.4.32.patched/include/config/parport/amiga.h
---- linux-2.4.32/include/config/parport/amiga.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/amiga.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_AMIGA
-diff -Nur linux-2.4.32/include/config/parport/atari.h linux-2.4.32.patched/include/config/parport/atari.h
---- linux-2.4.32/include/config/parport/atari.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/atari.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_ATARI
-diff -Nur linux-2.4.32/include/config/parport/gsc.h linux-2.4.32.patched/include/config/parport/gsc.h
---- linux-2.4.32/include/config/parport/gsc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/gsc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_GSC
-diff -Nur linux-2.4.32/include/config/parport/ip22.h linux-2.4.32.patched/include/config/parport/ip22.h
---- linux-2.4.32/include/config/parport/ip22.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/ip22.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_IP22
-diff -Nur linux-2.4.32/include/config/parport/mfc3.h linux-2.4.32.patched/include/config/parport/mfc3.h
---- linux-2.4.32/include/config/parport/mfc3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/mfc3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_MFC3
-diff -Nur linux-2.4.32/include/config/parport/module.h linux-2.4.32.patched/include/config/parport/module.h
---- linux-2.4.32/include/config/parport/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PARPORT_MODULE 1
-diff -Nur linux-2.4.32/include/config/parport/other.h linux-2.4.32.patched/include/config/parport/other.h
---- linux-2.4.32/include/config/parport/other.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/other.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_OTHER
-diff -Nur linux-2.4.32/include/config/parport/pc.h linux-2.4.32.patched/include/config/parport/pc.h
---- linux-2.4.32/include/config/parport/pc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/pc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_PC
-diff -Nur linux-2.4.32/include/config/parport/splink/module.h linux-2.4.32.patched/include/config/parport/splink/module.h
---- linux-2.4.32/include/config/parport/splink/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/splink/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PARPORT_SPLINK_MODULE 1
-diff -Nur linux-2.4.32/include/config/parport/splink.h linux-2.4.32.patched/include/config/parport/splink.h
---- linux-2.4.32/include/config/parport/splink.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/splink.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_SPLINK
-diff -Nur linux-2.4.32/include/config/parport/sunbpp.h linux-2.4.32.patched/include/config/parport/sunbpp.h
---- linux-2.4.32/include/config/parport/sunbpp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport/sunbpp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT_SUNBPP
-diff -Nur linux-2.4.32/include/config/parport.h linux-2.4.32.patched/include/config/parport.h
---- linux-2.4.32/include/config/parport.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/parport.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PARPORT
-diff -Nur linux-2.4.32/include/config/partition/advanced.h linux-2.4.32.patched/include/config/partition/advanced.h
---- linux-2.4.32/include/config/partition/advanced.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/partition/advanced.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PARTITION_ADVANCED 1
-diff -Nur linux-2.4.32/include/config/pci/auto.h linux-2.4.32.patched/include/config/pci/auto.h
---- linux-2.4.32/include/config/pci/auto.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pci/auto.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PCI_AUTO 1
-diff -Nur linux-2.4.32/include/config/pci/hermes.h linux-2.4.32.patched/include/config/pci/hermes.h
---- linux-2.4.32/include/config/pci/hermes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pci/hermes.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCI_HERMES
-diff -Nur linux-2.4.32/include/config/pci/names.h linux-2.4.32.patched/include/config/pci/names.h
---- linux-2.4.32/include/config/pci/names.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pci/names.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCI_NAMES
-diff -Nur linux-2.4.32/include/config/pci/new.h linux-2.4.32.patched/include/config/pci/new.h
---- linux-2.4.32/include/config/pci/new.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pci/new.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCI_NEW
-diff -Nur linux-2.4.32/include/config/pci.h linux-2.4.32.patched/include/config/pci.h
---- linux-2.4.32/include/config/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PCI 1
-diff -Nur linux-2.4.32/include/config/pcmcia/atmel.h linux-2.4.32.patched/include/config/pcmcia/atmel.h
---- linux-2.4.32/include/config/pcmcia/atmel.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pcmcia/atmel.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCMCIA_ATMEL
-diff -Nur linux-2.4.32/include/config/pcmcia/hermes.h linux-2.4.32.patched/include/config/pcmcia/hermes.h
---- linux-2.4.32/include/config/pcmcia/hermes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pcmcia/hermes.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCMCIA_HERMES
-diff -Nur linux-2.4.32/include/config/pcmcia/module.h linux-2.4.32.patched/include/config/pcmcia/module.h
---- linux-2.4.32/include/config/pcmcia/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pcmcia/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PCMCIA_MODULE 1
-diff -Nur linux-2.4.32/include/config/pcmcia/serial/cs/module.h linux-2.4.32.patched/include/config/pcmcia/serial/cs/module.h
---- linux-2.4.32/include/config/pcmcia/serial/cs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pcmcia/serial/cs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PCMCIA_SERIAL_CS_MODULE 1
-diff -Nur linux-2.4.32/include/config/pcmcia/serial/cs.h linux-2.4.32.patched/include/config/pcmcia/serial/cs.h
---- linux-2.4.32/include/config/pcmcia/serial/cs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pcmcia/serial/cs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCMCIA_SERIAL_CS
-diff -Nur linux-2.4.32/include/config/pcmcia.h linux-2.4.32.patched/include/config/pcmcia.h
---- linux-2.4.32/include/config/pcmcia.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pcmcia.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCMCIA
-diff -Nur linux-2.4.32/include/config/pcnet32.h linux-2.4.32.patched/include/config/pcnet32.h
---- linux-2.4.32/include/config/pcnet32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pcnet32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCNET32
-diff -Nur linux-2.4.32/include/config/pcwatchdog.h linux-2.4.32.patched/include/config/pcwatchdog.h
---- linux-2.4.32/include/config/pcwatchdog.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pcwatchdog.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PCWATCHDOG
-diff -Nur linux-2.4.32/include/config/pdc202xx/burst.h linux-2.4.32.patched/include/config/pdc202xx/burst.h
---- linux-2.4.32/include/config/pdc202xx/burst.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pdc202xx/burst.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PDC202XX_BURST 1
-diff -Nur linux-2.4.32/include/config/pdc202xx/force.h linux-2.4.32.patched/include/config/pdc202xx/force.h
---- linux-2.4.32/include/config/pdc202xx/force.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pdc202xx/force.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PDC202XX_FORCE
-diff -Nur linux-2.4.32/include/config/phone/ixj/pcmcia.h linux-2.4.32.patched/include/config/phone/ixj/pcmcia.h
---- linux-2.4.32/include/config/phone/ixj/pcmcia.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/phone/ixj/pcmcia.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PHONE_IXJ_PCMCIA
-diff -Nur linux-2.4.32/include/config/phone/ixj.h linux-2.4.32.patched/include/config/phone/ixj.h
---- linux-2.4.32/include/config/phone/ixj.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/phone/ixj.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PHONE_IXJ
-diff -Nur linux-2.4.32/include/config/phone.h linux-2.4.32.patched/include/config/phone.h
---- linux-2.4.32/include/config/phone.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/phone.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PHONE
-diff -Nur linux-2.4.32/include/config/plip.h linux-2.4.32.patched/include/config/plip.h
---- linux-2.4.32/include/config/plip.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/plip.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PLIP
-diff -Nur linux-2.4.32/include/config/plx/hermes.h linux-2.4.32.patched/include/config/plx/hermes.h
---- linux-2.4.32/include/config/plx/hermes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/plx/hermes.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PLX_HERMES
-diff -Nur linux-2.4.32/include/config/pmc/big/sur.h linux-2.4.32.patched/include/config/pmc/big/sur.h
---- linux-2.4.32/include/config/pmc/big/sur.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pmc/big/sur.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PMC_BIG_SUR
-diff -Nur linux-2.4.32/include/config/pmc/stretch.h linux-2.4.32.patched/include/config/pmc/stretch.h
---- linux-2.4.32/include/config/pmc/stretch.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pmc/stretch.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PMC_STRETCH
-diff -Nur linux-2.4.32/include/config/pmc/yosemite.h linux-2.4.32.patched/include/config/pmc/yosemite.h
---- linux-2.4.32/include/config/pmc/yosemite.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pmc/yosemite.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PMC_YOSEMITE
-diff -Nur linux-2.4.32/include/config/pnp.h linux-2.4.32.patched/include/config/pnp.h
---- linux-2.4.32/include/config/pnp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pnp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PNP
-diff -Nur linux-2.4.32/include/config/ppdev/module.h linux-2.4.32.patched/include/config/ppdev/module.h
---- linux-2.4.32/include/config/ppdev/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppdev/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PPDEV_MODULE 1
-diff -Nur linux-2.4.32/include/config/ppdev.h linux-2.4.32.patched/include/config/ppdev.h
---- linux-2.4.32/include/config/ppdev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppdev.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPDEV
-diff -Nur linux-2.4.32/include/config/ppp/async/module.h linux-2.4.32.patched/include/config/ppp/async/module.h
---- linux-2.4.32/include/config/ppp/async/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/async/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PPP_ASYNC_MODULE 1
-diff -Nur linux-2.4.32/include/config/ppp/async.h linux-2.4.32.patched/include/config/ppp/async.h
---- linux-2.4.32/include/config/ppp/async.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/async.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPP_ASYNC
-diff -Nur linux-2.4.32/include/config/ppp/bsdcomp/module.h linux-2.4.32.patched/include/config/ppp/bsdcomp/module.h
---- linux-2.4.32/include/config/ppp/bsdcomp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/bsdcomp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PPP_BSDCOMP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ppp/bsdcomp.h linux-2.4.32.patched/include/config/ppp/bsdcomp.h
---- linux-2.4.32/include/config/ppp/bsdcomp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/bsdcomp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPP_BSDCOMP
-diff -Nur linux-2.4.32/include/config/ppp/deflate/module.h linux-2.4.32.patched/include/config/ppp/deflate/module.h
---- linux-2.4.32/include/config/ppp/deflate/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/deflate/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PPP_DEFLATE_MODULE 1
-diff -Nur linux-2.4.32/include/config/ppp/deflate.h linux-2.4.32.patched/include/config/ppp/deflate.h
---- linux-2.4.32/include/config/ppp/deflate.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/deflate.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPP_DEFLATE
-diff -Nur linux-2.4.32/include/config/ppp/filter.h linux-2.4.32.patched/include/config/ppp/filter.h
---- linux-2.4.32/include/config/ppp/filter.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/filter.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PPP_FILTER 1
-diff -Nur linux-2.4.32/include/config/ppp/module.h linux-2.4.32.patched/include/config/ppp/module.h
---- linux-2.4.32/include/config/ppp/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PPP_MODULE 1
-diff -Nur linux-2.4.32/include/config/ppp/mppe/mppc/module.h linux-2.4.32.patched/include/config/ppp/mppe/mppc/module.h
---- linux-2.4.32/include/config/ppp/mppe/mppc/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/mppe/mppc/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PPP_MPPE_MPPC_MODULE 1
-diff -Nur linux-2.4.32/include/config/ppp/mppe/mppc.h linux-2.4.32.patched/include/config/ppp/mppe/mppc.h
---- linux-2.4.32/include/config/ppp/mppe/mppc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/mppe/mppc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPP_MPPE_MPPC
-diff -Nur linux-2.4.32/include/config/ppp/multilink.h linux-2.4.32.patched/include/config/ppp/multilink.h
---- linux-2.4.32/include/config/ppp/multilink.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/multilink.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPP_MULTILINK
-diff -Nur linux-2.4.32/include/config/ppp/sync/tty.h linux-2.4.32.patched/include/config/ppp/sync/tty.h
---- linux-2.4.32/include/config/ppp/sync/tty.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp/sync/tty.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPP_SYNC_TTY
-diff -Nur linux-2.4.32/include/config/ppp.h linux-2.4.32.patched/include/config/ppp.h
---- linux-2.4.32/include/config/ppp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ppp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPP
-diff -Nur linux-2.4.32/include/config/pppoe/module.h linux-2.4.32.patched/include/config/pppoe/module.h
---- linux-2.4.32/include/config/pppoe/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pppoe/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PPPOE_MODULE 1
-diff -Nur linux-2.4.32/include/config/pppoe.h linux-2.4.32.patched/include/config/pppoe.h
---- linux-2.4.32/include/config/pppoe.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/pppoe.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PPPOE
-diff -Nur linux-2.4.32/include/config/printer/module.h linux-2.4.32.patched/include/config/printer/module.h
---- linux-2.4.32/include/config/printer/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/printer/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PRINTER_MODULE 1
-diff -Nur linux-2.4.32/include/config/printer.h linux-2.4.32.patched/include/config/printer.h
---- linux-2.4.32/include/config/printer.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/printer.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PRINTER
-diff -Nur linux-2.4.32/include/config/prism54.h linux-2.4.32.patched/include/config/prism54.h
---- linux-2.4.32/include/config/prism54.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/prism54.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_PRISM54
-diff -Nur linux-2.4.32/include/config/proc/fs.h linux-2.4.32.patched/include/config/proc/fs.h
---- linux-2.4.32/include/config/proc/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/proc/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_PROC_FS 1
-diff -Nur linux-2.4.32/include/config/qfmt/v2.h linux-2.4.32.patched/include/config/qfmt/v2.h
---- linux-2.4.32/include/config/qfmt/v2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/qfmt/v2.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_QFMT_V2
-diff -Nur linux-2.4.32/include/config/qic02/tape.h linux-2.4.32.patched/include/config/qic02/tape.h
---- linux-2.4.32/include/config/qic02/tape.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/qic02/tape.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_QIC02_TAPE
-diff -Nur linux-2.4.32/include/config/qnx4fs/fs.h linux-2.4.32.patched/include/config/qnx4fs/fs.h
---- linux-2.4.32/include/config/qnx4fs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/qnx4fs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_QNX4FS_FS
-diff -Nur linux-2.4.32/include/config/qnx4fs/rw.h linux-2.4.32.patched/include/config/qnx4fs/rw.h
---- linux-2.4.32/include/config/qnx4fs/rw.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/qnx4fs/rw.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_QNX4FS_RW
-diff -Nur linux-2.4.32/include/config/quota.h linux-2.4.32.patched/include/config/quota.h
---- linux-2.4.32/include/config/quota.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/quota.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_QUOTA
-diff -Nur linux-2.4.32/include/config/r3964.h linux-2.4.32.patched/include/config/r3964.h
---- linux-2.4.32/include/config/r3964.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/r3964.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_R3964
-diff -Nur linux-2.4.32/include/config/r8169.h linux-2.4.32.patched/include/config/r8169.h
---- linux-2.4.32/include/config/r8169.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/r8169.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_R8169
-diff -Nur linux-2.4.32/include/config/radio/gemtek/pci.h linux-2.4.32.patched/include/config/radio/gemtek/pci.h
---- linux-2.4.32/include/config/radio/gemtek/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/radio/gemtek/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_RADIO_GEMTEK_PCI
-diff -Nur linux-2.4.32/include/config/radio/maestro.h linux-2.4.32.patched/include/config/radio/maestro.h
---- linux-2.4.32/include/config/radio/maestro.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/radio/maestro.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_RADIO_MAESTRO
-diff -Nur linux-2.4.32/include/config/radio/maxiradio.h linux-2.4.32.patched/include/config/radio/maxiradio.h
---- linux-2.4.32/include/config/radio/maxiradio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/radio/maxiradio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_RADIO_MAXIRADIO
-diff -Nur linux-2.4.32/include/config/radio/miropcm20.h linux-2.4.32.patched/include/config/radio/miropcm20.h
---- linux-2.4.32/include/config/radio/miropcm20.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/radio/miropcm20.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_RADIO_MIROPCM20
-diff -Nur linux-2.4.32/include/config/ramfs.h linux-2.4.32.patched/include/config/ramfs.h
---- linux-2.4.32/include/config/ramfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ramfs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_RAMFS 1
-diff -Nur linux-2.4.32/include/config/rcpci.h linux-2.4.32.patched/include/config/rcpci.h
---- linux-2.4.32/include/config/rcpci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/rcpci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_RCPCI
-diff -Nur linux-2.4.32/include/config/reiserfs/check.h linux-2.4.32.patched/include/config/reiserfs/check.h
---- linux-2.4.32/include/config/reiserfs/check.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/reiserfs/check.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_REISERFS_CHECK
-diff -Nur linux-2.4.32/include/config/reiserfs/fs.h linux-2.4.32.patched/include/config/reiserfs/fs.h
---- linux-2.4.32/include/config/reiserfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/reiserfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_REISERFS_FS
-diff -Nur linux-2.4.32/include/config/reiserfs/proc/info.h linux-2.4.32.patched/include/config/reiserfs/proc/info.h
---- linux-2.4.32/include/config/reiserfs/proc/info.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/reiserfs/proc/info.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_REISERFS_PROC_INFO
-diff -Nur linux-2.4.32/include/config/remote/debug.h linux-2.4.32.patched/include/config/remote/debug.h
---- linux-2.4.32/include/config/remote/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/remote/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_REMOTE_DEBUG
-diff -Nur linux-2.4.32/include/config/romfs/fs.h linux-2.4.32.patched/include/config/romfs/fs.h
---- linux-2.4.32/include/config/romfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/romfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ROMFS_FS
-diff -Nur linux-2.4.32/include/config/root/nfs.h linux-2.4.32.patched/include/config/root/nfs.h
---- linux-2.4.32/include/config/root/nfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/root/nfs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ROOT_NFS
-diff -Nur linux-2.4.32/include/config/rose.h linux-2.4.32.patched/include/config/rose.h
---- linux-2.4.32/include/config/rose.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/rose.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ROSE
-diff -Nur linux-2.4.32/include/config/rtc.h linux-2.4.32.patched/include/config/rtc.h
---- linux-2.4.32/include/config/rtc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/rtc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_RTC
-diff -Nur linux-2.4.32/include/config/runtime/debug.h linux-2.4.32.patched/include/config/runtime/debug.h
---- linux-2.4.32/include/config/runtime/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/runtime/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_RUNTIME_DEBUG
-diff -Nur linux-2.4.32/include/config/rwsem/generic/spinlock.h linux-2.4.32.patched/include/config/rwsem/generic/spinlock.h
---- linux-2.4.32/include/config/rwsem/generic/spinlock.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/rwsem/generic/spinlock.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_RWSEM_GENERIC_SPINLOCK 1
-diff -Nur linux-2.4.32/include/config/rwsem/xchgadd/algorithm.h linux-2.4.32.patched/include/config/rwsem/xchgadd/algorithm.h
---- linux-2.4.32/include/config/rwsem/xchgadd/algorithm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/rwsem/xchgadd/algorithm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_RWSEM_XCHGADD_ALGORITHM
-diff -Nur linux-2.4.32/include/config/sbus.h linux-2.4.32.patched/include/config/sbus.h
---- linux-2.4.32/include/config/sbus.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sbus.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SBUS
-diff -Nur linux-2.4.32/include/config/sc1200/wdt.h linux-2.4.32.patched/include/config/sc1200/wdt.h
---- linux-2.4.32/include/config/sc1200/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sc1200/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SC1200_WDT
-diff -Nur linux-2.4.32/include/config/sc520/wdt.h linux-2.4.32.patched/include/config/sc520/wdt.h
---- linux-2.4.32/include/config/sc520/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sc520/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SC520_WDT
-diff -Nur linux-2.4.32/include/config/scc/delay.h linux-2.4.32.patched/include/config/scc/delay.h
---- linux-2.4.32/include/config/scc/delay.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scc/delay.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCC_DELAY
-diff -Nur linux-2.4.32/include/config/scc/trxecho.h linux-2.4.32.patched/include/config/scc/trxecho.h
---- linux-2.4.32/include/config/scc/trxecho.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scc/trxecho.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCC_TRXECHO
-diff -Nur linux-2.4.32/include/config/scsi/7000fasst.h linux-2.4.32.patched/include/config/scsi/7000fasst.h
---- linux-2.4.32/include/config/scsi/7000fasst.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/7000fasst.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_7000FASST
-diff -Nur linux-2.4.32/include/config/scsi/aacraid.h linux-2.4.32.patched/include/config/scsi/aacraid.h
---- linux-2.4.32/include/config/scsi/aacraid.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/aacraid.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_AACRAID
-diff -Nur linux-2.4.32/include/config/scsi/acard.h linux-2.4.32.patched/include/config/scsi/acard.h
---- linux-2.4.32/include/config/scsi/acard.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/acard.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_ACARD
-diff -Nur linux-2.4.32/include/config/scsi/advansys.h linux-2.4.32.patched/include/config/scsi/advansys.h
---- linux-2.4.32/include/config/scsi/advansys.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/advansys.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_ADVANSYS
-diff -Nur linux-2.4.32/include/config/scsi/aha152x.h linux-2.4.32.patched/include/config/scsi/aha152x.h
---- linux-2.4.32/include/config/scsi/aha152x.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/aha152x.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_AHA152X
-diff -Nur linux-2.4.32/include/config/scsi/aha1542.h linux-2.4.32.patched/include/config/scsi/aha1542.h
---- linux-2.4.32/include/config/scsi/aha1542.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/aha1542.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_AHA1542
-diff -Nur linux-2.4.32/include/config/scsi/aha1740.h linux-2.4.32.patched/include/config/scsi/aha1740.h
---- linux-2.4.32/include/config/scsi/aha1740.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/aha1740.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_AHA1740
-diff -Nur linux-2.4.32/include/config/scsi/aic79xx.h linux-2.4.32.patched/include/config/scsi/aic79xx.h
---- linux-2.4.32/include/config/scsi/aic79xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/aic79xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_AIC79XX
-diff -Nur linux-2.4.32/include/config/scsi/aic7xxx/old.h linux-2.4.32.patched/include/config/scsi/aic7xxx/old.h
---- linux-2.4.32/include/config/scsi/aic7xxx/old.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/aic7xxx/old.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_AIC7XXX_OLD
-diff -Nur linux-2.4.32/include/config/scsi/aic7xxx.h linux-2.4.32.patched/include/config/scsi/aic7xxx.h
---- linux-2.4.32/include/config/scsi/aic7xxx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/aic7xxx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_AIC7XXX
-diff -Nur linux-2.4.32/include/config/scsi/am53c974.h linux-2.4.32.patched/include/config/scsi/am53c974.h
---- linux-2.4.32/include/config/scsi/am53c974.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/am53c974.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_AM53C974
-diff -Nur linux-2.4.32/include/config/scsi/ata/piix.h linux-2.4.32.patched/include/config/scsi/ata/piix.h
---- linux-2.4.32/include/config/scsi/ata/piix.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/ata/piix.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_ATA_PIIX
-diff -Nur linux-2.4.32/include/config/scsi/buslogic.h linux-2.4.32.patched/include/config/scsi/buslogic.h
---- linux-2.4.32/include/config/scsi/buslogic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/buslogic.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_BUSLOGIC
-diff -Nur linux-2.4.32/include/config/scsi/constants.h linux-2.4.32.patched/include/config/scsi/constants.h
---- linux-2.4.32/include/config/scsi/constants.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/constants.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_CONSTANTS
-diff -Nur linux-2.4.32/include/config/scsi/cpqfcts.h linux-2.4.32.patched/include/config/scsi/cpqfcts.h
---- linux-2.4.32/include/config/scsi/cpqfcts.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/cpqfcts.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_CPQFCTS
-diff -Nur linux-2.4.32/include/config/scsi/dc390t.h linux-2.4.32.patched/include/config/scsi/dc390t.h
---- linux-2.4.32/include/config/scsi/dc390t.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/dc390t.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_DC390T
-diff -Nur linux-2.4.32/include/config/scsi/debug/queues.h linux-2.4.32.patched/include/config/scsi/debug/queues.h
---- linux-2.4.32/include/config/scsi/debug/queues.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/debug/queues.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_DEBUG_QUEUES
-diff -Nur linux-2.4.32/include/config/scsi/debug.h linux-2.4.32.patched/include/config/scsi/debug.h
---- linux-2.4.32/include/config/scsi/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_DEBUG
-diff -Nur linux-2.4.32/include/config/scsi/dmx3191d.h linux-2.4.32.patched/include/config/scsi/dmx3191d.h
---- linux-2.4.32/include/config/scsi/dmx3191d.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/dmx3191d.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_DMX3191D
-diff -Nur linux-2.4.32/include/config/scsi/dpt/i2o.h linux-2.4.32.patched/include/config/scsi/dpt/i2o.h
---- linux-2.4.32/include/config/scsi/dpt/i2o.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/dpt/i2o.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_DPT_I2O
-diff -Nur linux-2.4.32/include/config/scsi/dtc3280.h linux-2.4.32.patched/include/config/scsi/dtc3280.h
---- linux-2.4.32/include/config/scsi/dtc3280.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/dtc3280.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_DTC3280
-diff -Nur linux-2.4.32/include/config/scsi/eata/dma.h linux-2.4.32.patched/include/config/scsi/eata/dma.h
---- linux-2.4.32/include/config/scsi/eata/dma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/eata/dma.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_EATA_DMA
-diff -Nur linux-2.4.32/include/config/scsi/eata/pio.h linux-2.4.32.patched/include/config/scsi/eata/pio.h
---- linux-2.4.32/include/config/scsi/eata/pio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/eata/pio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_EATA_PIO
-diff -Nur linux-2.4.32/include/config/scsi/eata.h linux-2.4.32.patched/include/config/scsi/eata.h
---- linux-2.4.32/include/config/scsi/eata.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/eata.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_EATA
-diff -Nur linux-2.4.32/include/config/scsi/future/domain.h linux-2.4.32.patched/include/config/scsi/future/domain.h
---- linux-2.4.32/include/config/scsi/future/domain.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/future/domain.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_FUTURE_DOMAIN
-diff -Nur linux-2.4.32/include/config/scsi/gdth.h linux-2.4.32.patched/include/config/scsi/gdth.h
---- linux-2.4.32/include/config/scsi/gdth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/gdth.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_GDTH
-diff -Nur linux-2.4.32/include/config/scsi/generic/ncr5380.h linux-2.4.32.patched/include/config/scsi/generic/ncr5380.h
---- linux-2.4.32/include/config/scsi/generic/ncr5380.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/generic/ncr5380.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_GENERIC_NCR5380
-diff -Nur linux-2.4.32/include/config/scsi/imm.h linux-2.4.32.patched/include/config/scsi/imm.h
---- linux-2.4.32/include/config/scsi/imm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/imm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_IMM
-diff -Nur linux-2.4.32/include/config/scsi/in2000.h linux-2.4.32.patched/include/config/scsi/in2000.h
---- linux-2.4.32/include/config/scsi/in2000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/in2000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_IN2000
-diff -Nur linux-2.4.32/include/config/scsi/inia100.h linux-2.4.32.patched/include/config/scsi/inia100.h
---- linux-2.4.32/include/config/scsi/inia100.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/inia100.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_INIA100
-diff -Nur linux-2.4.32/include/config/scsi/initio.h linux-2.4.32.patched/include/config/scsi/initio.h
---- linux-2.4.32/include/config/scsi/initio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/initio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_INITIO
-diff -Nur linux-2.4.32/include/config/scsi/logging.h linux-2.4.32.patched/include/config/scsi/logging.h
---- linux-2.4.32/include/config/scsi/logging.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/logging.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_LOGGING
-diff -Nur linux-2.4.32/include/config/scsi/megaraid2.h linux-2.4.32.patched/include/config/scsi/megaraid2.h
---- linux-2.4.32/include/config/scsi/megaraid2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/megaraid2.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_MEGARAID2
-diff -Nur linux-2.4.32/include/config/scsi/megaraid.h linux-2.4.32.patched/include/config/scsi/megaraid.h
---- linux-2.4.32/include/config/scsi/megaraid.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/megaraid.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_MEGARAID
-diff -Nur linux-2.4.32/include/config/scsi/module.h linux-2.4.32.patched/include/config/scsi/module.h
---- linux-2.4.32/include/config/scsi/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SCSI_MODULE 1
-diff -Nur linux-2.4.32/include/config/scsi/multi/lun.h linux-2.4.32.patched/include/config/scsi/multi/lun.h
---- linux-2.4.32/include/config/scsi/multi/lun.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/multi/lun.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SCSI_MULTI_LUN 1
-diff -Nur linux-2.4.32/include/config/scsi/ncr53c406a.h linux-2.4.32.patched/include/config/scsi/ncr53c406a.h
---- linux-2.4.32/include/config/scsi/ncr53c406a.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/ncr53c406a.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_NCR53C406A
-diff -Nur linux-2.4.32/include/config/scsi/ncr53c7xx.h linux-2.4.32.patched/include/config/scsi/ncr53c7xx.h
---- linux-2.4.32/include/config/scsi/ncr53c7xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/ncr53c7xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_NCR53C7xx
-diff -Nur linux-2.4.32/include/config/scsi/ncr53c8xx.h linux-2.4.32.patched/include/config/scsi/ncr53c8xx.h
---- linux-2.4.32/include/config/scsi/ncr53c8xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/ncr53c8xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_NCR53C8XX
-diff -Nur linux-2.4.32/include/config/scsi/nsp32.h linux-2.4.32.patched/include/config/scsi/nsp32.h
---- linux-2.4.32/include/config/scsi/nsp32.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/nsp32.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_NSP32
-diff -Nur linux-2.4.32/include/config/scsi/pas16.h linux-2.4.32.patched/include/config/scsi/pas16.h
---- linux-2.4.32/include/config/scsi/pas16.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/pas16.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_PAS16
-diff -Nur linux-2.4.32/include/config/scsi/pci2000.h linux-2.4.32.patched/include/config/scsi/pci2000.h
---- linux-2.4.32/include/config/scsi/pci2000.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/pci2000.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_PCI2000
-diff -Nur linux-2.4.32/include/config/scsi/pci2220i.h linux-2.4.32.patched/include/config/scsi/pci2220i.h
---- linux-2.4.32/include/config/scsi/pci2220i.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/pci2220i.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_PCI2220I
-diff -Nur linux-2.4.32/include/config/scsi/pcmcia.h linux-2.4.32.patched/include/config/scsi/pcmcia.h
---- linux-2.4.32/include/config/scsi/pcmcia.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/pcmcia.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_PCMCIA
-diff -Nur linux-2.4.32/include/config/scsi/ppa.h linux-2.4.32.patched/include/config/scsi/ppa.h
---- linux-2.4.32/include/config/scsi/ppa.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/ppa.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_PPA
-diff -Nur linux-2.4.32/include/config/scsi/psi240i.h linux-2.4.32.patched/include/config/scsi/psi240i.h
---- linux-2.4.32/include/config/scsi/psi240i.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/psi240i.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_PSI240I
-diff -Nur linux-2.4.32/include/config/scsi/qlogic/1280.h linux-2.4.32.patched/include/config/scsi/qlogic/1280.h
---- linux-2.4.32/include/config/scsi/qlogic/1280.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/qlogic/1280.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_QLOGIC_1280
-diff -Nur linux-2.4.32/include/config/scsi/qlogic/fas.h linux-2.4.32.patched/include/config/scsi/qlogic/fas.h
---- linux-2.4.32/include/config/scsi/qlogic/fas.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/qlogic/fas.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_QLOGIC_FAS
-diff -Nur linux-2.4.32/include/config/scsi/qlogic/fc.h linux-2.4.32.patched/include/config/scsi/qlogic/fc.h
---- linux-2.4.32/include/config/scsi/qlogic/fc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/qlogic/fc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_QLOGIC_FC
-diff -Nur linux-2.4.32/include/config/scsi/qlogic/isp.h linux-2.4.32.patched/include/config/scsi/qlogic/isp.h
---- linux-2.4.32/include/config/scsi/qlogic/isp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/qlogic/isp.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_QLOGIC_ISP
-diff -Nur linux-2.4.32/include/config/scsi/sata/ahci.h linux-2.4.32.patched/include/config/scsi/sata/ahci.h
---- linux-2.4.32/include/config/scsi/sata/ahci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/ahci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_AHCI
-diff -Nur linux-2.4.32/include/config/scsi/sata/nv.h linux-2.4.32.patched/include/config/scsi/sata/nv.h
---- linux-2.4.32/include/config/scsi/sata/nv.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/nv.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_NV
-diff -Nur linux-2.4.32/include/config/scsi/sata/promise.h linux-2.4.32.patched/include/config/scsi/sata/promise.h
---- linux-2.4.32/include/config/scsi/sata/promise.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/promise.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_PROMISE
-diff -Nur linux-2.4.32/include/config/scsi/sata/qstor.h linux-2.4.32.patched/include/config/scsi/sata/qstor.h
---- linux-2.4.32/include/config/scsi/sata/qstor.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/qstor.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_QSTOR
-diff -Nur linux-2.4.32/include/config/scsi/sata/sil.h linux-2.4.32.patched/include/config/scsi/sata/sil.h
---- linux-2.4.32/include/config/scsi/sata/sil.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/sil.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_SIL
-diff -Nur linux-2.4.32/include/config/scsi/sata/sis.h linux-2.4.32.patched/include/config/scsi/sata/sis.h
---- linux-2.4.32/include/config/scsi/sata/sis.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/sis.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_SIS
-diff -Nur linux-2.4.32/include/config/scsi/sata/svw.h linux-2.4.32.patched/include/config/scsi/sata/svw.h
---- linux-2.4.32/include/config/scsi/sata/svw.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/svw.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_SVW
-diff -Nur linux-2.4.32/include/config/scsi/sata/sx4.h linux-2.4.32.patched/include/config/scsi/sata/sx4.h
---- linux-2.4.32/include/config/scsi/sata/sx4.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/sx4.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_SX4
-diff -Nur linux-2.4.32/include/config/scsi/sata/uli.h linux-2.4.32.patched/include/config/scsi/sata/uli.h
---- linux-2.4.32/include/config/scsi/sata/uli.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/uli.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_ULI
-diff -Nur linux-2.4.32/include/config/scsi/sata/via.h linux-2.4.32.patched/include/config/scsi/sata/via.h
---- linux-2.4.32/include/config/scsi/sata/via.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/via.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_VIA
-diff -Nur linux-2.4.32/include/config/scsi/sata/vitesse.h linux-2.4.32.patched/include/config/scsi/sata/vitesse.h
---- linux-2.4.32/include/config/scsi/sata/vitesse.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata/vitesse.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA_VITESSE
-diff -Nur linux-2.4.32/include/config/scsi/sata.h linux-2.4.32.patched/include/config/scsi/sata.h
---- linux-2.4.32/include/config/scsi/sata.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sata.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SATA
-diff -Nur linux-2.4.32/include/config/scsi/sim710.h linux-2.4.32.patched/include/config/scsi/sim710.h
---- linux-2.4.32/include/config/scsi/sim710.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sim710.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SIM710
-diff -Nur linux-2.4.32/include/config/scsi/sym53c416.h linux-2.4.32.patched/include/config/scsi/sym53c416.h
---- linux-2.4.32/include/config/scsi/sym53c416.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sym53c416.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SYM53C416
-diff -Nur linux-2.4.32/include/config/scsi/sym53c8xx/2.h linux-2.4.32.patched/include/config/scsi/sym53c8xx/2.h
---- linux-2.4.32/include/config/scsi/sym53c8xx/2.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sym53c8xx/2.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SYM53C8XX_2
-diff -Nur linux-2.4.32/include/config/scsi/sym53c8xx.h linux-2.4.32.patched/include/config/scsi/sym53c8xx.h
---- linux-2.4.32/include/config/scsi/sym53c8xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/sym53c8xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_SYM53C8XX
-diff -Nur linux-2.4.32/include/config/scsi/t128.h linux-2.4.32.patched/include/config/scsi/t128.h
---- linux-2.4.32/include/config/scsi/t128.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/t128.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_T128
-diff -Nur linux-2.4.32/include/config/scsi/u14/34f.h linux-2.4.32.patched/include/config/scsi/u14/34f.h
---- linux-2.4.32/include/config/scsi/u14/34f.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi/u14/34f.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI_U14_34F
-diff -Nur linux-2.4.32/include/config/scsi.h linux-2.4.32.patched/include/config/scsi.h
---- linux-2.4.32/include/config/scsi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scsi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCSI
-diff -Nur linux-2.4.32/include/config/scx200/gpio.h linux-2.4.32.patched/include/config/scx200/gpio.h
---- linux-2.4.32/include/config/scx200/gpio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scx200/gpio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCx200_GPIO
-diff -Nur linux-2.4.32/include/config/scx200/wdt.h linux-2.4.32.patched/include/config/scx200/wdt.h
---- linux-2.4.32/include/config/scx200/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scx200/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCx200_WDT
-diff -Nur linux-2.4.32/include/config/scx200.h linux-2.4.32.patched/include/config/scx200.h
---- linux-2.4.32/include/config/scx200.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/scx200.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SCx200
-diff -Nur linux-2.4.32/include/config/sd/extra/devs.h linux-2.4.32.patched/include/config/sd/extra/devs.h
---- linux-2.4.32/include/config/sd/extra/devs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sd/extra/devs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SD_EXTRA_DEVS (5)
-diff -Nur linux-2.4.32/include/config/serial/console.h linux-2.4.32.patched/include/config/serial/console.h
---- linux-2.4.32/include/config/serial/console.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/serial/console.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SERIAL_CONSOLE 1
-diff -Nur linux-2.4.32/include/config/serial/extended.h linux-2.4.32.patched/include/config/serial/extended.h
---- linux-2.4.32/include/config/serial/extended.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/serial/extended.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SERIAL_EXTENDED
-diff -Nur linux-2.4.32/include/config/serial/nonstandard.h linux-2.4.32.patched/include/config/serial/nonstandard.h
---- linux-2.4.32/include/config/serial/nonstandard.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/serial/nonstandard.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SERIAL_NONSTANDARD
-diff -Nur linux-2.4.32/include/config/serial.h linux-2.4.32.patched/include/config/serial.h
---- linux-2.4.32/include/config/serial.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/serial.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SERIAL 1
-diff -Nur linux-2.4.32/include/config/sgi/ip22.h linux-2.4.32.patched/include/config/sgi/ip22.h
---- linux-2.4.32/include/config/sgi/ip22.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sgi/ip22.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SGI_IP22
-diff -Nur linux-2.4.32/include/config/sgi/ip27.h linux-2.4.32.patched/include/config/sgi/ip27.h
---- linux-2.4.32/include/config/sgi/ip27.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sgi/ip27.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SGI_IP27
-diff -Nur linux-2.4.32/include/config/sgi/partition.h linux-2.4.32.patched/include/config/sgi/partition.h
---- linux-2.4.32/include/config/sgi/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sgi/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SGI_PARTITION
-diff -Nur linux-2.4.32/include/config/shaper/module.h linux-2.4.32.patched/include/config/shaper/module.h
---- linux-2.4.32/include/config/shaper/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/shaper/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SHAPER_MODULE 1
-diff -Nur linux-2.4.32/include/config/shaper.h linux-2.4.32.patched/include/config/shaper.h
---- linux-2.4.32/include/config/shaper.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/shaper.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SHAPER
-diff -Nur linux-2.4.32/include/config/sibyte/sb1xxx/soc.h linux-2.4.32.patched/include/config/sibyte/sb1xxx/soc.h
---- linux-2.4.32/include/config/sibyte/sb1xxx/soc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sibyte/sb1xxx/soc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SIBYTE_SB1xxx_SOC
-diff -Nur linux-2.4.32/include/config/sis900.h linux-2.4.32.patched/include/config/sis900.h
---- linux-2.4.32/include/config/sis900.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sis900.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SIS900
-diff -Nur linux-2.4.32/include/config/sk98lin.h linux-2.4.32.patched/include/config/sk98lin.h
---- linux-2.4.32/include/config/sk98lin.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sk98lin.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SK98LIN
-diff -Nur linux-2.4.32/include/config/slip.h linux-2.4.32.patched/include/config/slip.h
---- linux-2.4.32/include/config/slip.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/slip.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SLIP
-diff -Nur linux-2.4.32/include/config/smb/fs.h linux-2.4.32.patched/include/config/smb/fs.h
---- linux-2.4.32/include/config/smb/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/smb/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SMB_FS
-diff -Nur linux-2.4.32/include/config/smb/nls.h linux-2.4.32.patched/include/config/smb/nls.h
---- linux-2.4.32/include/config/smb/nls.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/smb/nls.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SMB_NLS
-diff -Nur linux-2.4.32/include/config/sni/rm200/pci.h linux-2.4.32.patched/include/config/sni/rm200/pci.h
---- linux-2.4.32/include/config/sni/rm200/pci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sni/rm200/pci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SNI_RM200_PCI
-diff -Nur linux-2.4.32/include/config/soft/watchdog/module.h linux-2.4.32.patched/include/config/soft/watchdog/module.h
---- linux-2.4.32/include/config/soft/watchdog/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/soft/watchdog/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SOFT_WATCHDOG_MODULE 1
-diff -Nur linux-2.4.32/include/config/soft/watchdog.h linux-2.4.32.patched/include/config/soft/watchdog.h
---- linux-2.4.32/include/config/soft/watchdog.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/soft/watchdog.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOFT_WATCHDOG
-diff -Nur linux-2.4.32/include/config/solaris/x86/partition.h linux-2.4.32.patched/include/config/solaris/x86/partition.h
---- linux-2.4.32/include/config/solaris/x86/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/solaris/x86/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOLARIS_X86_PARTITION
-diff -Nur linux-2.4.32/include/config/sound/ad1980.h linux-2.4.32.patched/include/config/sound/ad1980.h
---- linux-2.4.32/include/config/sound/ad1980.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/ad1980.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_AD1980
-diff -Nur linux-2.4.32/include/config/sound/ali5455.h linux-2.4.32.patched/include/config/sound/ali5455.h
---- linux-2.4.32/include/config/sound/ali5455.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/ali5455.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_ALI5455
-diff -Nur linux-2.4.32/include/config/sound/bt878.h linux-2.4.32.patched/include/config/sound/bt878.h
---- linux-2.4.32/include/config/sound/bt878.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/bt878.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_BT878
-diff -Nur linux-2.4.32/include/config/sound/cmpci.h linux-2.4.32.patched/include/config/sound/cmpci.h
---- linux-2.4.32/include/config/sound/cmpci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/cmpci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_CMPCI
-diff -Nur linux-2.4.32/include/config/sound/cs4281.h linux-2.4.32.patched/include/config/sound/cs4281.h
---- linux-2.4.32/include/config/sound/cs4281.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/cs4281.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_CS4281
-diff -Nur linux-2.4.32/include/config/sound/emu10k1.h linux-2.4.32.patched/include/config/sound/emu10k1.h
---- linux-2.4.32/include/config/sound/emu10k1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/emu10k1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_EMU10K1
-diff -Nur linux-2.4.32/include/config/sound/es1370.h linux-2.4.32.patched/include/config/sound/es1370.h
---- linux-2.4.32/include/config/sound/es1370.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/es1370.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_ES1370
-diff -Nur linux-2.4.32/include/config/sound/es1371.h linux-2.4.32.patched/include/config/sound/es1371.h
---- linux-2.4.32/include/config/sound/es1371.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/es1371.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_ES1371
-diff -Nur linux-2.4.32/include/config/sound/esssolo1.h linux-2.4.32.patched/include/config/sound/esssolo1.h
---- linux-2.4.32/include/config/sound/esssolo1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/esssolo1.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_ESSSOLO1
-diff -Nur linux-2.4.32/include/config/sound/forte.h linux-2.4.32.patched/include/config/sound/forte.h
---- linux-2.4.32/include/config/sound/forte.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/forte.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_FORTE
-diff -Nur linux-2.4.32/include/config/sound/fusion.h linux-2.4.32.patched/include/config/sound/fusion.h
---- linux-2.4.32/include/config/sound/fusion.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/fusion.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_FUSION
-diff -Nur linux-2.4.32/include/config/sound/ich.h linux-2.4.32.patched/include/config/sound/ich.h
---- linux-2.4.32/include/config/sound/ich.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/ich.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_ICH
-diff -Nur linux-2.4.32/include/config/sound/maestro3.h linux-2.4.32.patched/include/config/sound/maestro3.h
---- linux-2.4.32/include/config/sound/maestro3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/maestro3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_MAESTRO3
-diff -Nur linux-2.4.32/include/config/sound/maestro.h linux-2.4.32.patched/include/config/sound/maestro.h
---- linux-2.4.32/include/config/sound/maestro.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/maestro.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_MAESTRO
-diff -Nur linux-2.4.32/include/config/sound/module.h linux-2.4.32.patched/include/config/sound/module.h
---- linux-2.4.32/include/config/sound/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SOUND_MODULE 1
-diff -Nur linux-2.4.32/include/config/sound/msndclas.h linux-2.4.32.patched/include/config/sound/msndclas.h
---- linux-2.4.32/include/config/sound/msndclas.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/msndclas.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_MSNDCLAS
-diff -Nur linux-2.4.32/include/config/sound/msndpin.h linux-2.4.32.patched/include/config/sound/msndpin.h
---- linux-2.4.32/include/config/sound/msndpin.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/msndpin.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_MSNDPIN
-diff -Nur linux-2.4.32/include/config/sound/oss.h linux-2.4.32.patched/include/config/sound/oss.h
---- linux-2.4.32/include/config/sound/oss.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/oss.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_OSS
-diff -Nur linux-2.4.32/include/config/sound/rme96xx.h linux-2.4.32.patched/include/config/sound/rme96xx.h
---- linux-2.4.32/include/config/sound/rme96xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/rme96xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_RME96XX
-diff -Nur linux-2.4.32/include/config/sound/sonicvibes.h linux-2.4.32.patched/include/config/sound/sonicvibes.h
---- linux-2.4.32/include/config/sound/sonicvibes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/sonicvibes.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_SONICVIBES
-diff -Nur linux-2.4.32/include/config/sound/trident.h linux-2.4.32.patched/include/config/sound/trident.h
---- linux-2.4.32/include/config/sound/trident.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/trident.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_TRIDENT
-diff -Nur linux-2.4.32/include/config/sound/tvmixer.h linux-2.4.32.patched/include/config/sound/tvmixer.h
---- linux-2.4.32/include/config/sound/tvmixer.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/tvmixer.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_TVMIXER
-diff -Nur linux-2.4.32/include/config/sound/via82cxxx.h linux-2.4.32.patched/include/config/sound/via82cxxx.h
---- linux-2.4.32/include/config/sound/via82cxxx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/via82cxxx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_VIA82CXXX
-diff -Nur linux-2.4.32/include/config/sound/wm97xx.h linux-2.4.32.patched/include/config/sound/wm97xx.h
---- linux-2.4.32/include/config/sound/wm97xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound/wm97xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND_WM97XX
-diff -Nur linux-2.4.32/include/config/sound.h linux-2.4.32.patched/include/config/sound.h
---- linux-2.4.32/include/config/sound.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sound.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUND
-diff -Nur linux-2.4.32/include/config/soundmodem.h linux-2.4.32.patched/include/config/soundmodem.h
---- linux-2.4.32/include/config/soundmodem.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/soundmodem.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SOUNDMODEM
-diff -Nur linux-2.4.32/include/config/squashfs/embedded.h linux-2.4.32.patched/include/config/squashfs/embedded.h
---- linux-2.4.32/include/config/squashfs/embedded.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/squashfs/embedded.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SQUASHFS_EMBEDDED
-diff -Nur linux-2.4.32/include/config/squashfs.h linux-2.4.32.patched/include/config/squashfs.h
---- linux-2.4.32/include/config/squashfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/squashfs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SQUASHFS 1
-diff -Nur linux-2.4.32/include/config/strip.h linux-2.4.32.patched/include/config/strip.h
---- linux-2.4.32/include/config/strip.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/strip.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_STRIP
-diff -Nur linux-2.4.32/include/config/sun/partition.h linux-2.4.32.patched/include/config/sun/partition.h
---- linux-2.4.32/include/config/sun/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sun/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SUN_PARTITION
-diff -Nur linux-2.4.32/include/config/sunbmac.h linux-2.4.32.patched/include/config/sunbmac.h
---- linux-2.4.32/include/config/sunbmac.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sunbmac.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SUNBMAC
-diff -Nur linux-2.4.32/include/config/sundance/mmio.h linux-2.4.32.patched/include/config/sundance/mmio.h
---- linux-2.4.32/include/config/sundance/mmio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sundance/mmio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SUNDANCE_MMIO
-diff -Nur linux-2.4.32/include/config/sundance.h linux-2.4.32.patched/include/config/sundance.h
---- linux-2.4.32/include/config/sundance.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sundance.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SUNDANCE
-diff -Nur linux-2.4.32/include/config/sungem.h linux-2.4.32.patched/include/config/sungem.h
---- linux-2.4.32/include/config/sungem.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sungem.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SUNGEM
-diff -Nur linux-2.4.32/include/config/sunlance.h linux-2.4.32.patched/include/config/sunlance.h
---- linux-2.4.32/include/config/sunlance.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sunlance.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SUNLANCE
-diff -Nur linux-2.4.32/include/config/sunqe.h linux-2.4.32.patched/include/config/sunqe.h
---- linux-2.4.32/include/config/sunqe.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sunqe.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SUNQE
-diff -Nur linux-2.4.32/include/config/sunrpc/module.h linux-2.4.32.patched/include/config/sunrpc/module.h
---- linux-2.4.32/include/config/sunrpc/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sunrpc/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SUNRPC_MODULE 1
-diff -Nur linux-2.4.32/include/config/sunrpc.h linux-2.4.32.patched/include/config/sunrpc.h
---- linux-2.4.32/include/config/sunrpc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sunrpc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SUNRPC
-diff -Nur linux-2.4.32/include/config/syn/cookies.h linux-2.4.32.patched/include/config/syn/cookies.h
---- linux-2.4.32/include/config/syn/cookies.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/syn/cookies.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SYN_COOKIES
-diff -Nur linux-2.4.32/include/config/synclink/cs.h linux-2.4.32.patched/include/config/synclink/cs.h
---- linux-2.4.32/include/config/synclink/cs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/synclink/cs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SYNCLINK_CS
-diff -Nur linux-2.4.32/include/config/sysctl.h linux-2.4.32.patched/include/config/sysctl.h
---- linux-2.4.32/include/config/sysctl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sysctl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SYSCTL 1
-diff -Nur linux-2.4.32/include/config/sysv/fs.h linux-2.4.32.patched/include/config/sysv/fs.h
---- linux-2.4.32/include/config/sysv/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sysv/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_SYSV_FS
-diff -Nur linux-2.4.32/include/config/sysvipc.h linux-2.4.32.patched/include/config/sysvipc.h
---- linux-2.4.32/include/config/sysvipc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/sysvipc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_SYSVIPC 1
-diff -Nur linux-2.4.32/include/config/tanbac/tb0226.h linux-2.4.32.patched/include/config/tanbac/tb0226.h
---- linux-2.4.32/include/config/tanbac/tb0226.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tanbac/tb0226.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TANBAC_TB0226
-diff -Nur linux-2.4.32/include/config/tanbac/tb0229.h linux-2.4.32.patched/include/config/tanbac/tb0229.h
---- linux-2.4.32/include/config/tanbac/tb0229.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tanbac/tb0229.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TANBAC_TB0229
-diff -Nur linux-2.4.32/include/config/tc.h linux-2.4.32.patched/include/config/tc.h
---- linux-2.4.32/include/config/tc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TC
-diff -Nur linux-2.4.32/include/config/tcic.h linux-2.4.32.patched/include/config/tcic.h
---- linux-2.4.32/include/config/tcic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tcic.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TCIC
-diff -Nur linux-2.4.32/include/config/tigon3.h linux-2.4.32.patched/include/config/tigon3.h
---- linux-2.4.32/include/config/tigon3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tigon3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TIGON3
-diff -Nur linux-2.4.32/include/config/tipar.h linux-2.4.32.patched/include/config/tipar.h
---- linux-2.4.32/include/config/tipar.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tipar.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TIPAR
-diff -Nur linux-2.4.32/include/config/tlan.h linux-2.4.32.patched/include/config/tlan.h
---- linux-2.4.32/include/config/tlan.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tlan.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TLAN
-diff -Nur linux-2.4.32/include/config/tmd/hermes.h linux-2.4.32.patched/include/config/tmd/hermes.h
---- linux-2.4.32/include/config/tmd/hermes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tmd/hermes.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TMD_HERMES
-diff -Nur linux-2.4.32/include/config/tmpfs.h linux-2.4.32.patched/include/config/tmpfs.h
---- linux-2.4.32/include/config/tmpfs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tmpfs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_TMPFS 1
-diff -Nur linux-2.4.32/include/config/toshiba/jmr3927.h linux-2.4.32.patched/include/config/toshiba/jmr3927.h
---- linux-2.4.32/include/config/toshiba/jmr3927.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/toshiba/jmr3927.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TOSHIBA_JMR3927
-diff -Nur linux-2.4.32/include/config/toshiba/rbtx4927.h linux-2.4.32.patched/include/config/toshiba/rbtx4927.h
---- linux-2.4.32/include/config/toshiba/rbtx4927.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/toshiba/rbtx4927.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TOSHIBA_RBTX4927
-diff -Nur linux-2.4.32/include/config/tr.h linux-2.4.32.patched/include/config/tr.h
---- linux-2.4.32/include/config/tr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tr.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TR
-diff -Nur linux-2.4.32/include/config/tulip.h linux-2.4.32.patched/include/config/tulip.h
---- linux-2.4.32/include/config/tulip.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tulip.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TULIP
-diff -Nur linux-2.4.32/include/config/tun/module.h linux-2.4.32.patched/include/config/tun/module.h
---- linux-2.4.32/include/config/tun/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tun/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_TUN_MODULE 1
-diff -Nur linux-2.4.32/include/config/tuner/3036.h linux-2.4.32.patched/include/config/tuner/3036.h
---- linux-2.4.32/include/config/tuner/3036.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tuner/3036.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TUNER_3036
-diff -Nur linux-2.4.32/include/config/tun.h linux-2.4.32.patched/include/config/tun.h
---- linux-2.4.32/include/config/tun.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/tun.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_TUN
-diff -Nur linux-2.4.32/include/config/udf/fs.h linux-2.4.32.patched/include/config/udf/fs.h
---- linux-2.4.32/include/config/udf/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/udf/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_UDF_FS
-diff -Nur linux-2.4.32/include/config/udf/rw.h linux-2.4.32.patched/include/config/udf/rw.h
---- linux-2.4.32/include/config/udf/rw.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/udf/rw.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_UDF_RW
-diff -Nur linux-2.4.32/include/config/ufs/fs/write.h linux-2.4.32.patched/include/config/ufs/fs/write.h
---- linux-2.4.32/include/config/ufs/fs/write.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ufs/fs/write.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_UFS_FS_WRITE
-diff -Nur linux-2.4.32/include/config/ufs/fs.h linux-2.4.32.patched/include/config/ufs/fs.h
---- linux-2.4.32/include/config/ufs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ufs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_UFS_FS
-diff -Nur linux-2.4.32/include/config/ultrix/partition.h linux-2.4.32.patched/include/config/ultrix/partition.h
---- linux-2.4.32/include/config/ultrix/partition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/ultrix/partition.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ULTRIX_PARTITION
-diff -Nur linux-2.4.32/include/config/umsdos/fs.h linux-2.4.32.patched/include/config/umsdos/fs.h
---- linux-2.4.32/include/config/umsdos/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/umsdos/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_UMSDOS_FS
-diff -Nur linux-2.4.32/include/config/unix98/pty/count.h linux-2.4.32.patched/include/config/unix98/pty/count.h
---- linux-2.4.32/include/config/unix98/pty/count.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/unix98/pty/count.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_UNIX98_PTY_COUNT (128)
-diff -Nur linux-2.4.32/include/config/unix98/ptys.h linux-2.4.32.patched/include/config/unix98/ptys.h
---- linux-2.4.32/include/config/unix98/ptys.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/unix98/ptys.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_UNIX98_PTYS 1
-diff -Nur linux-2.4.32/include/config/unix.h linux-2.4.32.patched/include/config/unix.h
---- linux-2.4.32/include/config/unix.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/unix.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_UNIX 1
-diff -Nur linux-2.4.32/include/config/unixware/disklabel.h linux-2.4.32.patched/include/config/unixware/disklabel.h
---- linux-2.4.32/include/config/unixware/disklabel.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/unixware/disklabel.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_UNIXWARE_DISKLABEL
-diff -Nur linux-2.4.32/include/config/usb/acm/module.h linux-2.4.32.patched/include/config/usb/acm/module.h
---- linux-2.4.32/include/config/usb/acm/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/acm/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_ACM_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/acm.h linux-2.4.32.patched/include/config/usb/acm.h
---- linux-2.4.32/include/config/usb/acm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/acm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_ACM
-diff -Nur linux-2.4.32/include/config/usb/aiptek.h linux-2.4.32.patched/include/config/usb/aiptek.h
---- linux-2.4.32/include/config/usb/aiptek.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/aiptek.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_AIPTEK
-diff -Nur linux-2.4.32/include/config/usb/audio/module.h linux-2.4.32.patched/include/config/usb/audio/module.h
---- linux-2.4.32/include/config/usb/audio/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/audio/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_AUDIO_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/audio.h linux-2.4.32.patched/include/config/usb/audio.h
---- linux-2.4.32/include/config/usb/audio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/audio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_AUDIO
-diff -Nur linux-2.4.32/include/config/usb/auerswald.h linux-2.4.32.patched/include/config/usb/auerswald.h
---- linux-2.4.32/include/config/usb/auerswald.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/auerswald.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_AUERSWALD
-diff -Nur linux-2.4.32/include/config/usb/bandwidth.h linux-2.4.32.patched/include/config/usb/bandwidth.h
---- linux-2.4.32/include/config/usb/bandwidth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/bandwidth.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_BANDWIDTH
-diff -Nur linux-2.4.32/include/config/usb/brlvger.h linux-2.4.32.patched/include/config/usb/brlvger.h
---- linux-2.4.32/include/config/usb/brlvger.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/brlvger.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_BRLVGER
-diff -Nur linux-2.4.32/include/config/usb/catc.h linux-2.4.32.patched/include/config/usb/catc.h
---- linux-2.4.32/include/config/usb/catc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/catc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_CATC
-diff -Nur linux-2.4.32/include/config/usb/cdcether.h linux-2.4.32.patched/include/config/usb/cdcether.h
---- linux-2.4.32/include/config/usb/cdcether.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/cdcether.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_CDCETHER
-diff -Nur linux-2.4.32/include/config/usb/dabusb.h linux-2.4.32.patched/include/config/usb/dabusb.h
---- linux-2.4.32/include/config/usb/dabusb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/dabusb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_DABUSB
-diff -Nur linux-2.4.32/include/config/usb/dc2xx.h linux-2.4.32.patched/include/config/usb/dc2xx.h
---- linux-2.4.32/include/config/usb/dc2xx.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/dc2xx.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_DC2XX
-diff -Nur linux-2.4.32/include/config/usb/debug.h linux-2.4.32.patched/include/config/usb/debug.h
---- linux-2.4.32/include/config/usb/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_DEBUG
-diff -Nur linux-2.4.32/include/config/usb/devicefs.h linux-2.4.32.patched/include/config/usb/devicefs.h
---- linux-2.4.32/include/config/usb/devicefs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/devicefs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_DEVICEFS 1
-diff -Nur linux-2.4.32/include/config/usb/dsbr.h linux-2.4.32.patched/include/config/usb/dsbr.h
---- linux-2.4.32/include/config/usb/dsbr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/dsbr.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_DSBR
-diff -Nur linux-2.4.32/include/config/usb/ehci/hcd/module.h linux-2.4.32.patched/include/config/usb/ehci/hcd/module.h
---- linux-2.4.32/include/config/usb/ehci/hcd/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/ehci/hcd/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_EHCI_HCD_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/ehci/hcd.h linux-2.4.32.patched/include/config/usb/ehci/hcd.h
---- linux-2.4.32/include/config/usb/ehci/hcd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/ehci/hcd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_EHCI_HCD
-diff -Nur linux-2.4.32/include/config/usb/emi26.h linux-2.4.32.patched/include/config/usb/emi26.h
---- linux-2.4.32/include/config/usb/emi26.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/emi26.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_EMI26
-diff -Nur linux-2.4.32/include/config/usb/gadget.h linux-2.4.32.patched/include/config/usb/gadget.h
---- linux-2.4.32/include/config/usb/gadget.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/gadget.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_GADGET
-diff -Nur linux-2.4.32/include/config/usb/hiddev.h linux-2.4.32.patched/include/config/usb/hiddev.h
---- linux-2.4.32/include/config/usb/hiddev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/hiddev.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_HIDDEV
-diff -Nur linux-2.4.32/include/config/usb/hid.h linux-2.4.32.patched/include/config/usb/hid.h
---- linux-2.4.32/include/config/usb/hid.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/hid.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_HID
-diff -Nur linux-2.4.32/include/config/usb/hidinput.h linux-2.4.32.patched/include/config/usb/hidinput.h
---- linux-2.4.32/include/config/usb/hidinput.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/hidinput.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_HIDINPUT
-diff -Nur linux-2.4.32/include/config/usb/hpusbscsi.h linux-2.4.32.patched/include/config/usb/hpusbscsi.h
---- linux-2.4.32/include/config/usb/hpusbscsi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/hpusbscsi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_HPUSBSCSI
-diff -Nur linux-2.4.32/include/config/usb/ibmcam.h linux-2.4.32.patched/include/config/usb/ibmcam.h
---- linux-2.4.32/include/config/usb/ibmcam.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/ibmcam.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_IBMCAM
-diff -Nur linux-2.4.32/include/config/usb/kaweth.h linux-2.4.32.patched/include/config/usb/kaweth.h
---- linux-2.4.32/include/config/usb/kaweth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/kaweth.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_KAWETH
-diff -Nur linux-2.4.32/include/config/usb/kbd.h linux-2.4.32.patched/include/config/usb/kbd.h
---- linux-2.4.32/include/config/usb/kbd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/kbd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_KBD
-diff -Nur linux-2.4.32/include/config/usb/kbtab.h linux-2.4.32.patched/include/config/usb/kbtab.h
---- linux-2.4.32/include/config/usb/kbtab.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/kbtab.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_KBTAB
-diff -Nur linux-2.4.32/include/config/usb/konicawc.h linux-2.4.32.patched/include/config/usb/konicawc.h
---- linux-2.4.32/include/config/usb/konicawc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/konicawc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_KONICAWC
-diff -Nur linux-2.4.32/include/config/usb/lcd.h linux-2.4.32.patched/include/config/usb/lcd.h
---- linux-2.4.32/include/config/usb/lcd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/lcd.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_LCD
-diff -Nur linux-2.4.32/include/config/usb/mdc800.h linux-2.4.32.patched/include/config/usb/mdc800.h
---- linux-2.4.32/include/config/usb/mdc800.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/mdc800.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_MDC800
-diff -Nur linux-2.4.32/include/config/usb/microtek.h linux-2.4.32.patched/include/config/usb/microtek.h
---- linux-2.4.32/include/config/usb/microtek.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/microtek.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_MICROTEK
-diff -Nur linux-2.4.32/include/config/usb/midi.h linux-2.4.32.patched/include/config/usb/midi.h
---- linux-2.4.32/include/config/usb/midi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/midi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_MIDI
-diff -Nur linux-2.4.32/include/config/usb/module.h linux-2.4.32.patched/include/config/usb/module.h
---- linux-2.4.32/include/config/usb/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/mouse.h linux-2.4.32.patched/include/config/usb/mouse.h
---- linux-2.4.32/include/config/usb/mouse.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/mouse.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_MOUSE
-diff -Nur linux-2.4.32/include/config/usb/ohci/module.h linux-2.4.32.patched/include/config/usb/ohci/module.h
---- linux-2.4.32/include/config/usb/ohci/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/ohci/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_OHCI_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/ohci.h linux-2.4.32.patched/include/config/usb/ohci.h
---- linux-2.4.32/include/config/usb/ohci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/ohci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_OHCI
-diff -Nur linux-2.4.32/include/config/usb/ov511.h linux-2.4.32.patched/include/config/usb/ov511.h
---- linux-2.4.32/include/config/usb/ov511.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/ov511.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_OV511
-diff -Nur linux-2.4.32/include/config/usb/pegasus.h linux-2.4.32.patched/include/config/usb/pegasus.h
---- linux-2.4.32/include/config/usb/pegasus.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/pegasus.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_PEGASUS
-diff -Nur linux-2.4.32/include/config/usb/powermate.h linux-2.4.32.patched/include/config/usb/powermate.h
---- linux-2.4.32/include/config/usb/powermate.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/powermate.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_POWERMATE
-diff -Nur linux-2.4.32/include/config/usb/printer/module.h linux-2.4.32.patched/include/config/usb/printer/module.h
---- linux-2.4.32/include/config/usb/printer/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/printer/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_PRINTER_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/printer.h linux-2.4.32.patched/include/config/usb/printer.h
---- linux-2.4.32/include/config/usb/printer.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/printer.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_PRINTER
-diff -Nur linux-2.4.32/include/config/usb/pwc/module.h linux-2.4.32.patched/include/config/usb/pwc/module.h
---- linux-2.4.32/include/config/usb/pwc/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/pwc/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_PWC_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/pwc.h linux-2.4.32.patched/include/config/usb/pwc.h
---- linux-2.4.32/include/config/usb/pwc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/pwc.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_PWC
-diff -Nur linux-2.4.32/include/config/usb/rio500.h linux-2.4.32.patched/include/config/usb/rio500.h
---- linux-2.4.32/include/config/usb/rio500.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/rio500.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_RIO500
-diff -Nur linux-2.4.32/include/config/usb/rtl8150.h linux-2.4.32.patched/include/config/usb/rtl8150.h
---- linux-2.4.32/include/config/usb/rtl8150.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/rtl8150.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_RTL8150
-diff -Nur linux-2.4.32/include/config/usb/scanner.h linux-2.4.32.patched/include/config/usb/scanner.h
---- linux-2.4.32/include/config/usb/scanner.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/scanner.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SCANNER
-diff -Nur linux-2.4.32/include/config/usb/se401.h linux-2.4.32.patched/include/config/usb/se401.h
---- linux-2.4.32/include/config/usb/se401.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/se401.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SE401
-diff -Nur linux-2.4.32/include/config/usb/serial/belkin/module.h linux-2.4.32.patched/include/config/usb/serial/belkin/module.h
---- linux-2.4.32/include/config/usb/serial/belkin/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/belkin/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_SERIAL_BELKIN_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/serial/belkin.h linux-2.4.32.patched/include/config/usb/serial/belkin.h
---- linux-2.4.32/include/config/usb/serial/belkin.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/belkin.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_BELKIN
-diff -Nur linux-2.4.32/include/config/usb/serial/cyberjack.h linux-2.4.32.patched/include/config/usb/serial/cyberjack.h
---- linux-2.4.32/include/config/usb/serial/cyberjack.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/cyberjack.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_CYBERJACK
-diff -Nur linux-2.4.32/include/config/usb/serial/debug.h linux-2.4.32.patched/include/config/usb/serial/debug.h
---- linux-2.4.32/include/config/usb/serial/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_DEBUG
-diff -Nur linux-2.4.32/include/config/usb/serial/digi/acceleport.h linux-2.4.32.patched/include/config/usb/serial/digi/acceleport.h
---- linux-2.4.32/include/config/usb/serial/digi/acceleport.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/digi/acceleport.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_DIGI_ACCELEPORT
-diff -Nur linux-2.4.32/include/config/usb/serial/edgeport/ti.h linux-2.4.32.patched/include/config/usb/serial/edgeport/ti.h
---- linux-2.4.32/include/config/usb/serial/edgeport/ti.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/edgeport/ti.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_EDGEPORT_TI
-diff -Nur linux-2.4.32/include/config/usb/serial/edgeport.h linux-2.4.32.patched/include/config/usb/serial/edgeport.h
---- linux-2.4.32/include/config/usb/serial/edgeport.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/edgeport.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_EDGEPORT
-diff -Nur linux-2.4.32/include/config/usb/serial/empeg.h linux-2.4.32.patched/include/config/usb/serial/empeg.h
---- linux-2.4.32/include/config/usb/serial/empeg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/empeg.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_EMPEG
-diff -Nur linux-2.4.32/include/config/usb/serial/ftdi/sio/module.h linux-2.4.32.patched/include/config/usb/serial/ftdi/sio/module.h
---- linux-2.4.32/include/config/usb/serial/ftdi/sio/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/ftdi/sio/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_SERIAL_FTDI_SIO_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/serial/ftdi/sio.h linux-2.4.32.patched/include/config/usb/serial/ftdi/sio.h
---- linux-2.4.32/include/config/usb/serial/ftdi/sio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/ftdi/sio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_FTDI_SIO
-diff -Nur linux-2.4.32/include/config/usb/serial/generic.h linux-2.4.32.patched/include/config/usb/serial/generic.h
---- linux-2.4.32/include/config/usb/serial/generic.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/generic.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_SERIAL_GENERIC 1
-diff -Nur linux-2.4.32/include/config/usb/serial/ipaq.h linux-2.4.32.patched/include/config/usb/serial/ipaq.h
---- linux-2.4.32/include/config/usb/serial/ipaq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/ipaq.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_IPAQ
-diff -Nur linux-2.4.32/include/config/usb/serial/ir.h linux-2.4.32.patched/include/config/usb/serial/ir.h
---- linux-2.4.32/include/config/usb/serial/ir.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/ir.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_IR
-diff -Nur linux-2.4.32/include/config/usb/serial/keyspan/pda.h linux-2.4.32.patched/include/config/usb/serial/keyspan/pda.h
---- linux-2.4.32/include/config/usb/serial/keyspan/pda.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/keyspan/pda.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_KEYSPAN_PDA
-diff -Nur linux-2.4.32/include/config/usb/serial/keyspan.h linux-2.4.32.patched/include/config/usb/serial/keyspan.h
---- linux-2.4.32/include/config/usb/serial/keyspan.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/keyspan.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_KEYSPAN
-diff -Nur linux-2.4.32/include/config/usb/serial/klsi.h linux-2.4.32.patched/include/config/usb/serial/klsi.h
---- linux-2.4.32/include/config/usb/serial/klsi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/klsi.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_KLSI
-diff -Nur linux-2.4.32/include/config/usb/serial/kobil/sct.h linux-2.4.32.patched/include/config/usb/serial/kobil/sct.h
---- linux-2.4.32/include/config/usb/serial/kobil/sct.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/kobil/sct.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_KOBIL_SCT
-diff -Nur linux-2.4.32/include/config/usb/serial/mct/u232/module.h linux-2.4.32.patched/include/config/usb/serial/mct/u232/module.h
---- linux-2.4.32/include/config/usb/serial/mct/u232/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/mct/u232/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_SERIAL_MCT_U232_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/serial/mct/u232.h linux-2.4.32.patched/include/config/usb/serial/mct/u232.h
---- linux-2.4.32/include/config/usb/serial/mct/u232.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/mct/u232.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_MCT_U232
-diff -Nur linux-2.4.32/include/config/usb/serial/module.h linux-2.4.32.patched/include/config/usb/serial/module.h
---- linux-2.4.32/include/config/usb/serial/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_SERIAL_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/serial/omninet.h linux-2.4.32.patched/include/config/usb/serial/omninet.h
---- linux-2.4.32/include/config/usb/serial/omninet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/omninet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_OMNINET
-diff -Nur linux-2.4.32/include/config/usb/serial/pl2303/module.h linux-2.4.32.patched/include/config/usb/serial/pl2303/module.h
---- linux-2.4.32/include/config/usb/serial/pl2303/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/pl2303/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_SERIAL_PL2303_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/serial/pl2303.h linux-2.4.32.patched/include/config/usb/serial/pl2303.h
---- linux-2.4.32/include/config/usb/serial/pl2303.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/pl2303.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_PL2303
-diff -Nur linux-2.4.32/include/config/usb/serial/visor/module.h linux-2.4.32.patched/include/config/usb/serial/visor/module.h
---- linux-2.4.32/include/config/usb/serial/visor/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/visor/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_SERIAL_VISOR_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/serial/visor.h linux-2.4.32.patched/include/config/usb/serial/visor.h
---- linux-2.4.32/include/config/usb/serial/visor.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/visor.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_VISOR
-diff -Nur linux-2.4.32/include/config/usb/serial/whiteheat.h linux-2.4.32.patched/include/config/usb/serial/whiteheat.h
---- linux-2.4.32/include/config/usb/serial/whiteheat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/whiteheat.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_WHITEHEAT
-diff -Nur linux-2.4.32/include/config/usb/serial/xircom.h linux-2.4.32.patched/include/config/usb/serial/xircom.h
---- linux-2.4.32/include/config/usb/serial/xircom.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial/xircom.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL_XIRCOM
-diff -Nur linux-2.4.32/include/config/usb/serial.h linux-2.4.32.patched/include/config/usb/serial.h
---- linux-2.4.32/include/config/usb/serial.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/serial.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_SERIAL
-diff -Nur linux-2.4.32/include/config/usb/storage/datafab.h linux-2.4.32.patched/include/config/usb/storage/datafab.h
---- linux-2.4.32/include/config/usb/storage/datafab.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/datafab.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_STORAGE_DATAFAB 1
-diff -Nur linux-2.4.32/include/config/usb/storage/debug.h linux-2.4.32.patched/include/config/usb/storage/debug.h
---- linux-2.4.32/include/config/usb/storage/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_STORAGE_DEBUG
-diff -Nur linux-2.4.32/include/config/usb/storage/dpcm.h linux-2.4.32.patched/include/config/usb/storage/dpcm.h
---- linux-2.4.32/include/config/usb/storage/dpcm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/dpcm.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_STORAGE_DPCM 1
-diff -Nur linux-2.4.32/include/config/usb/storage/freecom.h linux-2.4.32.patched/include/config/usb/storage/freecom.h
---- linux-2.4.32/include/config/usb/storage/freecom.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/freecom.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_STORAGE_FREECOM 1
-diff -Nur linux-2.4.32/include/config/usb/storage/hp8200e.h linux-2.4.32.patched/include/config/usb/storage/hp8200e.h
---- linux-2.4.32/include/config/usb/storage/hp8200e.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/hp8200e.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_STORAGE_HP8200e 1
-diff -Nur linux-2.4.32/include/config/usb/storage/isd200.h linux-2.4.32.patched/include/config/usb/storage/isd200.h
---- linux-2.4.32/include/config/usb/storage/isd200.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/isd200.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_STORAGE_ISD200
-diff -Nur linux-2.4.32/include/config/usb/storage/jumpshot.h linux-2.4.32.patched/include/config/usb/storage/jumpshot.h
---- linux-2.4.32/include/config/usb/storage/jumpshot.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/jumpshot.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_STORAGE_JUMPSHOT 1
-diff -Nur linux-2.4.32/include/config/usb/storage/module.h linux-2.4.32.patched/include/config/usb/storage/module.h
---- linux-2.4.32/include/config/usb/storage/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_STORAGE_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/storage/sddr09.h linux-2.4.32.patched/include/config/usb/storage/sddr09.h
---- linux-2.4.32/include/config/usb/storage/sddr09.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/sddr09.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_STORAGE_SDDR09 1
-diff -Nur linux-2.4.32/include/config/usb/storage/sddr55.h linux-2.4.32.patched/include/config/usb/storage/sddr55.h
---- linux-2.4.32/include/config/usb/storage/sddr55.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage/sddr55.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_STORAGE_SDDR55 1
-diff -Nur linux-2.4.32/include/config/usb/storage.h linux-2.4.32.patched/include/config/usb/storage.h
---- linux-2.4.32/include/config/usb/storage.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/storage.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_STORAGE
-diff -Nur linux-2.4.32/include/config/usb/stv680.h linux-2.4.32.patched/include/config/usb/stv680.h
---- linux-2.4.32/include/config/usb/stv680.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/stv680.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_STV680
-diff -Nur linux-2.4.32/include/config/usb/tigl.h linux-2.4.32.patched/include/config/usb/tigl.h
---- linux-2.4.32/include/config/usb/tigl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/tigl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_TIGL
-diff -Nur linux-2.4.32/include/config/usb/uhci/alt/module.h linux-2.4.32.patched/include/config/usb/uhci/alt/module.h
---- linux-2.4.32/include/config/usb/uhci/alt/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/uhci/alt/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_USB_UHCI_ALT_MODULE 1
-diff -Nur linux-2.4.32/include/config/usb/uhci/alt.h linux-2.4.32.patched/include/config/usb/uhci/alt.h
---- linux-2.4.32/include/config/usb/uhci/alt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/uhci/alt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_UHCI_ALT
-diff -Nur linux-2.4.32/include/config/usb/uhci.h linux-2.4.32.patched/include/config/usb/uhci.h
---- linux-2.4.32/include/config/usb/uhci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/uhci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_UHCI
-diff -Nur linux-2.4.32/include/config/usb/usbnet.h linux-2.4.32.patched/include/config/usb/usbnet.h
---- linux-2.4.32/include/config/usb/usbnet.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/usbnet.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_USBNET
-diff -Nur linux-2.4.32/include/config/usb/uss720.h linux-2.4.32.patched/include/config/usb/uss720.h
---- linux-2.4.32/include/config/usb/uss720.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/uss720.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_USS720
-diff -Nur linux-2.4.32/include/config/usb/vicam.h linux-2.4.32.patched/include/config/usb/vicam.h
---- linux-2.4.32/include/config/usb/vicam.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/vicam.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_VICAM
-diff -Nur linux-2.4.32/include/config/usb/w9968cf.h linux-2.4.32.patched/include/config/usb/w9968cf.h
---- linux-2.4.32/include/config/usb/w9968cf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/w9968cf.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_W9968CF
-diff -Nur linux-2.4.32/include/config/usb/wacom.h linux-2.4.32.patched/include/config/usb/wacom.h
---- linux-2.4.32/include/config/usb/wacom.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb/wacom.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB_WACOM
-diff -Nur linux-2.4.32/include/config/usb.h linux-2.4.32.patched/include/config/usb.h
---- linux-2.4.32/include/config/usb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/usb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_USB
-diff -Nur linux-2.4.32/include/config/vfat/fs/module.h linux-2.4.32.patched/include/config/vfat/fs/module.h
---- linux-2.4.32/include/config/vfat/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/vfat/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_VFAT_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/vfat/fs.h linux-2.4.32.patched/include/config/vfat/fs.h
---- linux-2.4.32/include/config/vfat/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/vfat/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VFAT_FS
-diff -Nur linux-2.4.32/include/config/via/rhine/mmio.h linux-2.4.32.patched/include/config/via/rhine/mmio.h
---- linux-2.4.32/include/config/via/rhine/mmio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/via/rhine/mmio.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIA_RHINE_MMIO
-diff -Nur linux-2.4.32/include/config/via/rhine.h linux-2.4.32.patched/include/config/via/rhine.h
---- linux-2.4.32/include/config/via/rhine.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/via/rhine.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIA_RHINE
-diff -Nur linux-2.4.32/include/config/victor/mpc30x.h linux-2.4.32.patched/include/config/victor/mpc30x.h
---- linux-2.4.32/include/config/victor/mpc30x.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/victor/mpc30x.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VICTOR_MPC30X
-diff -Nur linux-2.4.32/include/config/video/bt848.h linux-2.4.32.patched/include/config/video/bt848.h
---- linux-2.4.32/include/config/video/bt848.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/bt848.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_BT848
-diff -Nur linux-2.4.32/include/config/video/bwqcam.h linux-2.4.32.patched/include/config/video/bwqcam.h
---- linux-2.4.32/include/config/video/bwqcam.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/bwqcam.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_BWQCAM
-diff -Nur linux-2.4.32/include/config/video/cpia.h linux-2.4.32.patched/include/config/video/cpia.h
---- linux-2.4.32/include/config/video/cpia.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/cpia.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_CPIA
-diff -Nur linux-2.4.32/include/config/video/cqcam.h linux-2.4.32.patched/include/config/video/cqcam.h
---- linux-2.4.32/include/config/video/cqcam.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/cqcam.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_CQCAM
-diff -Nur linux-2.4.32/include/config/video/dev/module.h linux-2.4.32.patched/include/config/video/dev/module.h
---- linux-2.4.32/include/config/video/dev/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/dev/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_VIDEO_DEV_MODULE 1
-diff -Nur linux-2.4.32/include/config/video/dev.h linux-2.4.32.patched/include/config/video/dev.h
---- linux-2.4.32/include/config/video/dev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/dev.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_DEV
-diff -Nur linux-2.4.32/include/config/video/meye.h linux-2.4.32.patched/include/config/video/meye.h
---- linux-2.4.32/include/config/video/meye.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/meye.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_MEYE
-diff -Nur linux-2.4.32/include/config/video/pms.h linux-2.4.32.patched/include/config/video/pms.h
---- linux-2.4.32/include/config/video/pms.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/pms.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_PMS
-diff -Nur linux-2.4.32/include/config/video/proc/fs.h linux-2.4.32.patched/include/config/video/proc/fs.h
---- linux-2.4.32/include/config/video/proc/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/proc/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_VIDEO_PROC_FS 1
-diff -Nur linux-2.4.32/include/config/video/saa5249.h linux-2.4.32.patched/include/config/video/saa5249.h
---- linux-2.4.32/include/config/video/saa5249.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/saa5249.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_SAA5249
-diff -Nur linux-2.4.32/include/config/video/stradis.h linux-2.4.32.patched/include/config/video/stradis.h
---- linux-2.4.32/include/config/video/stradis.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/stradis.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_STRADIS
-diff -Nur linux-2.4.32/include/config/video/zoran/buz.h linux-2.4.32.patched/include/config/video/zoran/buz.h
---- linux-2.4.32/include/config/video/zoran/buz.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/zoran/buz.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_ZORAN_BUZ
-diff -Nur linux-2.4.32/include/config/video/zoran/dc10.h linux-2.4.32.patched/include/config/video/zoran/dc10.h
---- linux-2.4.32/include/config/video/zoran/dc10.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/zoran/dc10.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_ZORAN_DC10
-diff -Nur linux-2.4.32/include/config/video/zoran/lml33.h linux-2.4.32.patched/include/config/video/zoran/lml33.h
---- linux-2.4.32/include/config/video/zoran/lml33.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/zoran/lml33.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_ZORAN_LML33
-diff -Nur linux-2.4.32/include/config/video/zoran.h linux-2.4.32.patched/include/config/video/zoran.h
---- linux-2.4.32/include/config/video/zoran.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/zoran.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_ZORAN
-diff -Nur linux-2.4.32/include/config/video/zr36120.h linux-2.4.32.patched/include/config/video/zr36120.h
---- linux-2.4.32/include/config/video/zr36120.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/video/zr36120.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VIDEO_ZR36120
-diff -Nur linux-2.4.32/include/config/vlan/8021q.h linux-2.4.32.patched/include/config/vlan/8021q.h
---- linux-2.4.32/include/config/vlan/8021q.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/vlan/8021q.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_VLAN_8021Q 1
-diff -Nur linux-2.4.32/include/config/vtag/icache.h linux-2.4.32.patched/include/config/vtag/icache.h
---- linux-2.4.32/include/config/vtag/icache.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/vtag/icache.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VTAG_ICACHE
-diff -Nur linux-2.4.32/include/config/vt.h linux-2.4.32.patched/include/config/vt.h
---- linux-2.4.32/include/config/vt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/vt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VT
-diff -Nur linux-2.4.32/include/config/vxfs/fs.h linux-2.4.32.patched/include/config/vxfs/fs.h
---- linux-2.4.32/include/config/vxfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/vxfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_VXFS_FS
-diff -Nur linux-2.4.32/include/config/w83877f/wdt.h linux-2.4.32.patched/include/config/w83877f/wdt.h
---- linux-2.4.32/include/config/w83877f/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/w83877f/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_W83877F_WDT
-diff -Nur linux-2.4.32/include/config/wafer/wdt.h linux-2.4.32.patched/include/config/wafer/wdt.h
---- linux-2.4.32/include/config/wafer/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wafer/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WAFER_WDT
-diff -Nur linux-2.4.32/include/config/wan/router/module.h linux-2.4.32.patched/include/config/wan/router/module.h
---- linux-2.4.32/include/config/wan/router/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wan/router/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_WAN_ROUTER_MODULE 1
-diff -Nur linux-2.4.32/include/config/wan/router.h linux-2.4.32.patched/include/config/wan/router.h
---- linux-2.4.32/include/config/wan/router.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wan/router.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WAN_ROUTER
-diff -Nur linux-2.4.32/include/config/wan.h linux-2.4.32.patched/include/config/wan.h
---- linux-2.4.32/include/config/wan.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wan.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WAN
-diff -Nur linux-2.4.32/include/config/watchdog/nowayout.h linux-2.4.32.patched/include/config/watchdog/nowayout.h
---- linux-2.4.32/include/config/watchdog/nowayout.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/watchdog/nowayout.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_WATCHDOG_NOWAYOUT 1
-diff -Nur linux-2.4.32/include/config/watchdog.h linux-2.4.32.patched/include/config/watchdog.h
---- linux-2.4.32/include/config/watchdog.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/watchdog.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_WATCHDOG 1
-diff -Nur linux-2.4.32/include/config/wavelan.h linux-2.4.32.patched/include/config/wavelan.h
---- linux-2.4.32/include/config/wavelan.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wavelan.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WAVELAN
-diff -Nur linux-2.4.32/include/config/wdc/ali15x3.h linux-2.4.32.patched/include/config/wdc/ali15x3.h
---- linux-2.4.32/include/config/wdc/ali15x3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wdc/ali15x3.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WDC_ALI15X3
-diff -Nur linux-2.4.32/include/config/wdt.h linux-2.4.32.patched/include/config/wdt.h
---- linux-2.4.32/include/config/wdt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wdt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WDT
-diff -Nur linux-2.4.32/include/config/wdtpci.h linux-2.4.32.patched/include/config/wdtpci.h
---- linux-2.4.32/include/config/wdtpci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wdtpci.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WDTPCI
-diff -Nur linux-2.4.32/include/config/winbond/840.h linux-2.4.32.patched/include/config/winbond/840.h
---- linux-2.4.32/include/config/winbond/840.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/winbond/840.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WINBOND_840
-diff -Nur linux-2.4.32/include/config/wl/module.h linux-2.4.32.patched/include/config/wl/module.h
---- linux-2.4.32/include/config/wl/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wl/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_WL_MODULE 1
-diff -Nur linux-2.4.32/include/config/wl.h linux-2.4.32.patched/include/config/wl.h
---- linux-2.4.32/include/config/wl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/wl.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_WL
-diff -Nur linux-2.4.32/include/config/x25.h linux-2.4.32.patched/include/config/x25.h
---- linux-2.4.32/include/config/x25.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/x25.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_X25
-diff -Nur linux-2.4.32/include/config/xfs/debug.h linux-2.4.32.patched/include/config/xfs/debug.h
---- linux-2.4.32/include/config/xfs/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/xfs/debug.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_XFS_DEBUG
-diff -Nur linux-2.4.32/include/config/xfs/fs/module.h linux-2.4.32.patched/include/config/xfs/fs/module.h
---- linux-2.4.32/include/config/xfs/fs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/xfs/fs/module.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_XFS_FS_MODULE 1
-diff -Nur linux-2.4.32/include/config/xfs/fs.h linux-2.4.32.patched/include/config/xfs/fs.h
---- linux-2.4.32/include/config/xfs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/xfs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_XFS_FS
-diff -Nur linux-2.4.32/include/config/xfs/quota.h linux-2.4.32.patched/include/config/xfs/quota.h
---- linux-2.4.32/include/config/xfs/quota.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/xfs/quota.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_XFS_QUOTA
-diff -Nur linux-2.4.32/include/config/xfs/rt.h linux-2.4.32.patched/include/config/xfs/rt.h
---- linux-2.4.32/include/config/xfs/rt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/xfs/rt.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_XFS_RT
-diff -Nur linux-2.4.32/include/config/xfs/trace.h linux-2.4.32.patched/include/config/xfs/trace.h
---- linux-2.4.32/include/config/xfs/trace.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/xfs/trace.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_XFS_TRACE
-diff -Nur linux-2.4.32/include/config/yam.h linux-2.4.32.patched/include/config/yam.h
---- linux-2.4.32/include/config/yam.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/yam.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_YAM
-diff -Nur linux-2.4.32/include/config/yellowfin.h linux-2.4.32.patched/include/config/yellowfin.h
---- linux-2.4.32/include/config/yellowfin.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/yellowfin.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_YELLOWFIN
-diff -Nur linux-2.4.32/include/config/zao/capcella.h linux-2.4.32.patched/include/config/zao/capcella.h
---- linux-2.4.32/include/config/zao/capcella.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/zao/capcella.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ZAO_CAPCELLA
-diff -Nur linux-2.4.32/include/config/zisofs/fs.h linux-2.4.32.patched/include/config/zisofs/fs.h
---- linux-2.4.32/include/config/zisofs/fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/zisofs/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ZISOFS_FS
-diff -Nur linux-2.4.32/include/config/zisofs.h linux-2.4.32.patched/include/config/zisofs.h
---- linux-2.4.32/include/config/zisofs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/zisofs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#undef CONFIG_ZISOFS
-diff -Nur linux-2.4.32/include/config/zlib/deflate.h linux-2.4.32.patched/include/config/zlib/deflate.h
---- linux-2.4.32/include/config/zlib/deflate.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/zlib/deflate.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_ZLIB_DEFLATE 1
-diff -Nur linux-2.4.32/include/config/zlib/inflate.h linux-2.4.32.patched/include/config/zlib/inflate.h
---- linux-2.4.32/include/config/zlib/inflate.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/config/zlib/inflate.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#define CONFIG_ZLIB_INFLATE 1
-diff -Nur linux-2.4.32/include/linux/atmbr2684.h linux-2.4.32.patched/include/linux/atmbr2684.h
---- linux-2.4.32/include/linux/atmbr2684.h 2002-08-03 02:39:45.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/atmbr2684.h 2006-03-13 18:55:56.000000000 +0100
-@@ -3,6 +3,7 @@
-
- #include <linux/atm.h>
- #include <linux/if.h> /* For IFNAMSIZ */
-+#include <linux/if_ether.h> /* ETH_P_* */
-
- /*
- * Type of media we're bridging (ethernet, token ring, etc) Currently only
-@@ -36,15 +37,24 @@
- #define BR2684_ENCAPS_AUTODETECT (2) /* Unsuported */
-
- /*
-+ * Is this VC bridged or routed?
-+ */
-+
-+#define BR2684_PAYLOAD_ROUTED (0)
-+#define BR2684_PAYLOAD_BRIDGED (1)
-+
-+
-+/*
- * This is for the ATM_NEWBACKENDIF call - these are like socket families:
- * the first element of the structure is the backend number and the rest
- * is per-backend specific
- */
- struct atm_newif_br2684 {
-- atm_backend_t backend_num; /* ATM_BACKEND_BR2684 */
-- int media; /* BR2684_MEDIA_* */
-- char ifname[IFNAMSIZ];
-- int mtu;
-+ atm_backend_t backend_num; /* ATM_BACKEND_BR2684 */
-+ int media; /* BR2684_MEDIA_* */
-+ char ifname[IFNAMSIZ];
-+ int mtu;
-+ int payload; /* bridged or routed */
- };
-
- /*
-@@ -68,16 +78,17 @@
- * is per-backend specific
- */
- struct atm_backend_br2684 {
-- atm_backend_t backend_num; /* ATM_BACKEND_BR2684 */
-+ atm_backend_t backend_num; /* ATM_BACKEND_BR2684 */
- struct br2684_if_spec ifspec;
-- int fcs_in; /* BR2684_FCSIN_* */
-- int fcs_out; /* BR2684_FCSOUT_* */
-- int fcs_auto; /* 1: fcs_{in,out} disabled if no FCS rx'ed */
-- int encaps; /* BR2684_ENCAPS_* */
-- int has_vpiid; /* 1: use vpn_id - Unsupported */
-- __u8 vpn_id[7];
-- int send_padding; /* unsupported */
-- int min_size; /* we will pad smaller packets than this */
-+ int fcs_in; /* BR2684_FCSIN_* */
-+ int fcs_out; /* BR2684_FCSOUT_* */
-+ int fcs_auto; /* 1: fcs_{in,out} disabled if no FCS rx'ed */
-+ int encaps; /* BR2684_ENCAPS_* */
-+ int payload; /* BR2684_PAYLOAD_* */
-+ int has_vpiid; /* 1: use vpn_id - Unsupported */
-+ __u8 vpn_id[7];
-+ int send_padding; /* unsupported */
-+ int min_size; /* we will pad smaller packets than this */
- };
-
- /*
-@@ -95,7 +106,12 @@
- struct br2684_filter filter;
- };
-
-+enum br2684_payload {
-+ p_routed = BR2684_PAYLOAD_ROUTED,
-+ p_bridged = BR2684_PAYLOAD_BRIDGED,
-+};
-+
- #define BR2684_SETFILT _IOW( 'a', ATMIOC_BACKEND + 0, \
- struct br2684_filter_set)
-
--#endif /* _LINUX_ATMBR2684_H */
-+#endif /* _LINUX_ATMBR2684_H */
-diff -Nur linux-2.4.32/include/linux/atmdev.h linux-2.4.32.patched/include/linux/atmdev.h
---- linux-2.4.32/include/linux/atmdev.h 2004-08-08 01:26:06.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/atmdev.h 2006-03-13 18:55:56.000000000 +0100
-@@ -400,6 +400,7 @@
- struct atm_dev *atm_dev_register(const char *type,const struct atmdev_ops *ops,
- int number,atm_dev_flags_t *flags); /* number == -1: pick first available */
- struct atm_dev *atm_dev_lookup(int number);
-+void atm_dev_set_link_status(struct atm_dev *dev, int status);
- void atm_dev_deregister(struct atm_dev *dev);
- void shutdown_atm_dev(struct atm_dev *dev);
- void vcc_insert_socket(struct sock *sk);
-diff -Nur linux-2.4.32/include/linux/autoconf.h linux-2.4.32.patched/include/linux/autoconf.h
---- linux-2.4.32/include/linux/autoconf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/autoconf.h 2006-03-13 18:56:04.000000000 +0100
-@@ -0,0 +1,1680 @@
-+/*
-+ * Automatically generated C config: don't edit
-+ */
-+#define AUTOCONF_INCLUDED
-+#define CONFIG_MIPS 1
-+#define CONFIG_MIPS32 1
-+#undef CONFIG_MIPS64
-+
-+/*
-+ * Code maturity level options
-+ */
-+#define CONFIG_EXPERIMENTAL 1
-+
-+/*
-+ * Loadable module support
-+ */
-+#define CONFIG_MODULES 1
-+#undef CONFIG_MODVERSIONS
-+#undef CONFIG_KMOD
-+
-+/*
-+ * Machine selection
-+ */
-+#undef CONFIG_ACER_PICA_61
-+#undef CONFIG_MIPS_BOSPORUS
-+#undef CONFIG_MIPS_FICMMP
-+#undef CONFIG_MIPS_MIRAGE
-+#undef CONFIG_MIPS_DB1000
-+#undef CONFIG_MIPS_DB1100
-+#undef CONFIG_MIPS_DB1500
-+#undef CONFIG_MIPS_DB1550
-+#undef CONFIG_MIPS_DB1200
-+#undef CONFIG_MIPS_PB1000
-+#undef CONFIG_MIPS_PB1100
-+#undef CONFIG_MIPS_PB1500
-+#undef CONFIG_MIPS_PB1550
-+#undef CONFIG_MIPS_PB1200
-+#undef CONFIG_MIPS_HYDROGEN3
-+#undef CONFIG_MIPS_XXS1500
-+#undef CONFIG_MIPS_MTX1
-+#undef CONFIG_COGENT_CSB250
-+#undef CONFIG_BAGET_MIPS
-+#undef CONFIG_CASIO_E55
-+#undef CONFIG_MIPS_COBALT
-+#undef CONFIG_DECSTATION
-+#undef CONFIG_MIPS_EV64120
-+#undef CONFIG_MIPS_EV96100
-+#undef CONFIG_MIPS_IVR
-+#undef CONFIG_HP_LASERJET
-+#undef CONFIG_IBM_WORKPAD
-+#undef CONFIG_LASAT
-+#undef CONFIG_MIPS_ITE8172
-+#undef CONFIG_MIPS_ATLAS
-+#undef CONFIG_MIPS_MAGNUM_4000
-+#undef CONFIG_MIPS_MALTA
-+#undef CONFIG_MIPS_SEAD
-+#undef CONFIG_MOMENCO_OCELOT
-+#undef CONFIG_MOMENCO_OCELOT_G
-+#undef CONFIG_MOMENCO_OCELOT_C
-+#undef CONFIG_MOMENCO_JAGUAR_ATX
-+#undef CONFIG_PMC_BIG_SUR
-+#undef CONFIG_PMC_STRETCH
-+#undef CONFIG_PMC_YOSEMITE
-+#undef CONFIG_DDB5074
-+#undef CONFIG_DDB5476
-+#undef CONFIG_DDB5477
-+#undef CONFIG_NEC_OSPREY
-+#undef CONFIG_NEC_EAGLE
-+#undef CONFIG_OLIVETTI_M700
-+#undef CONFIG_NINO
-+#undef CONFIG_SGI_IP22
-+#undef CONFIG_SGI_IP27
-+#undef CONFIG_SIBYTE_SB1xxx_SOC
-+#define CONFIG_MIPS_BRCM 1
-+#define CONFIG_BCM947XX 1
-+#define CONFIG_BCM4710 1
-+#define CONFIG_BCM4310 1
-+#define CONFIG_BCM4704 1
-+#define CONFIG_BCM5365 1
-+#undef CONFIG_SNI_RM200_PCI
-+#undef CONFIG_TANBAC_TB0226
-+#undef CONFIG_TANBAC_TB0229
-+#undef CONFIG_TOSHIBA_JMR3927
-+#undef CONFIG_TOSHIBA_RBTX4927
-+#undef CONFIG_VICTOR_MPC30X
-+#undef CONFIG_ZAO_CAPCELLA
-+#undef CONFIG_HIGHMEM
-+#define CONFIG_RWSEM_GENERIC_SPINLOCK 1
-+#undef CONFIG_RWSEM_XCHGADD_ALGORITHM
-+#define CONFIG_CMDLINE "root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
-+#define CONFIG_PCI 1
-+#define CONFIG_NONCOHERENT_IO 1
-+#define CONFIG_NEW_TIME_C 1
-+#define CONFIG_NEW_IRQ 1
-+#define CONFIG_HND 1
-+#undef CONFIG_MIPS_AU1000
-+
-+/*
-+ * CPU selection
-+ */
-+#define CONFIG_CPU_MIPS32 1
-+#undef CONFIG_CPU_MIPS64
-+#undef CONFIG_CPU_R3000
-+#undef CONFIG_CPU_TX39XX
-+#undef CONFIG_CPU_VR41XX
-+#undef CONFIG_CPU_R4300
-+#undef CONFIG_CPU_R4X00
-+#undef CONFIG_CPU_TX49XX
-+#undef CONFIG_CPU_R5000
-+#undef CONFIG_CPU_R5432
-+#undef CONFIG_CPU_R6000
-+#undef CONFIG_CPU_NEVADA
-+#undef CONFIG_CPU_R8000
-+#undef CONFIG_CPU_R10000
-+#undef CONFIG_CPU_RM7000
-+#undef CONFIG_CPU_RM9000
-+#undef CONFIG_CPU_SB1
-+#define CONFIG_PAGE_SIZE_4KB 1
-+#undef CONFIG_PAGE_SIZE_16KB
-+#undef CONFIG_PAGE_SIZE_64KB
-+#define CONFIG_CPU_HAS_PREFETCH 1
-+#undef CONFIG_VTAG_ICACHE
-+#undef CONFIG_64BIT_PHYS_ADDR
-+#undef CONFIG_CPU_ADVANCED
-+#define CONFIG_CPU_HAS_LLSC 1
-+#undef CONFIG_CPU_HAS_LLDSCD
-+#undef CONFIG_CPU_HAS_WB
-+#define CONFIG_CPU_HAS_SYNC 1
-+
-+/*
-+ * General setup
-+ */
-+#define CONFIG_CPU_LITTLE_ENDIAN 1
-+#undef CONFIG_BUILD_ELF64
-+#define CONFIG_NET 1
-+#define CONFIG_PCI 1
-+#undef CONFIG_PCI_NEW
-+#define CONFIG_PCI_AUTO 1
-+#undef CONFIG_PCI_NAMES
-+#undef CONFIG_ISA
-+#undef CONFIG_TC
-+#undef CONFIG_MCA
-+#undef CONFIG_SBUS
-+#define CONFIG_HOTPLUG 1
-+
-+/*
-+ * PCMCIA/CardBus support
-+ */
-+#undef CONFIG_PCMCIA
-+#define CONFIG_PCMCIA_MODULE 1
-+#define CONFIG_CARDBUS 1
-+#undef CONFIG_TCIC
-+#undef CONFIG_I82092
-+#undef CONFIG_I82365
-+
-+/*
-+ * PCI Hotplug Support
-+ */
-+#undef CONFIG_HOTPLUG_PCI
-+#undef CONFIG_HOTPLUG_PCI_COMPAQ
-+#undef CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM
-+#undef CONFIG_HOTPLUG_PCI_SHPC
-+#undef CONFIG_HOTPLUG_PCI_SHPC_POLL_EVENT_MODE
-+#undef CONFIG_HOTPLUG_PCI_PCIE
-+#undef CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE
-+#define CONFIG_SYSVIPC 1
-+#undef CONFIG_BSD_PROCESS_ACCT
-+#define CONFIG_SYSCTL 1
-+#define CONFIG_KCORE_ELF 1
-+#undef CONFIG_KCORE_AOUT
-+#undef CONFIG_BINFMT_AOUT
-+#define CONFIG_BINFMT_ELF 1
-+#undef CONFIG_BINFMT_ELF_AOUT
-+#undef CONFIG_MIPS32_COMPAT
-+#undef CONFIG_MIPS32_O32
-+#undef CONFIG_MIPS32_N32
-+#undef CONFIG_BINFMT_ELF32
-+#undef CONFIG_BINFMT_MISC
-+#undef CONFIG_OOM_KILLER
-+#undef CONFIG_CMDLINE_BOOL
-+
-+/*
-+ * Memory Technology Devices (MTD)
-+ */
-+#define CONFIG_MTD 1
-+#undef CONFIG_MTD_DEBUG
-+#define CONFIG_MTD_PARTITIONS 1
-+#undef CONFIG_MTD_CONCAT
-+#undef CONFIG_MTD_REDBOOT_PARTS
-+#undef CONFIG_MTD_CMDLINE_PARTS
-+
-+/*
-+ * User Modules And Translation Layers
-+ */
-+#define CONFIG_MTD_CHAR 1
-+#define CONFIG_MTD_BLOCK 1
-+#undef CONFIG_FTL
-+#undef CONFIG_NFTL
-+
-+/*
-+ * RAM/ROM/Flash chip drivers
-+ */
-+#define CONFIG_MTD_CFI 1
-+#undef CONFIG_MTD_JEDECPROBE
-+#define CONFIG_MTD_GEN_PROBE 1
-+#define CONFIG_MTD_CFI_ADV_OPTIONS 1
-+#define CONFIG_MTD_CFI_NOSWAP 1
-+#undef CONFIG_MTD_CFI_BE_BYTE_SWAP
-+#undef CONFIG_MTD_CFI_LE_BYTE_SWAP
-+#define CONFIG_MTD_CFI_GEOMETRY 1
-+#undef CONFIG_MTD_CFI_B1
-+#define CONFIG_MTD_CFI_B2 1
-+#undef CONFIG_MTD_CFI_B4
-+#undef CONFIG_MTD_CFI_B8
-+#define CONFIG_MTD_CFI_I1 1
-+#undef CONFIG_MTD_CFI_I2
-+#undef CONFIG_MTD_CFI_I4
-+#undef CONFIG_MTD_CFI_I8
-+#define CONFIG_MTD_CFI_INTELEXT 1
-+#define CONFIG_MTD_CFI_AMDSTD 1
-+#undef CONFIG_MTD_CFI_STAA
-+#define CONFIG_MTD_CFI_SSTSTD 1
-+#undef CONFIG_MTD_RAM
-+#undef CONFIG_MTD_ROM
-+#undef CONFIG_MTD_ABSENT
-+#undef CONFIG_MTD_OBSOLETE_CHIPS
-+#undef CONFIG_MTD_AMDSTD
-+#undef CONFIG_MTD_SHARP
-+#undef CONFIG_MTD_JEDEC
-+
-+/*
-+ * Mapping drivers for chip access
-+ */
-+#undef CONFIG_MTD_PHYSMAP
-+#define CONFIG_MTD_BCM947XX 1
-+#undef CONFIG_MTD_PB1000
-+#undef CONFIG_MTD_PB1500
-+#undef CONFIG_MTD_PB1100
-+#undef CONFIG_MTD_BOSPORUS
-+#undef CONFIG_MTD_XXS1500
-+#undef CONFIG_MTD_MTX1
-+#undef CONFIG_MTD_DB1X00
-+#undef CONFIG_MTD_PB1550
-+#undef CONFIG_MTD_HYDROGEN3
-+#undef CONFIG_MTD_MIRAGE
-+#undef CONFIG_MTD_CSTM_MIPS_IXX
-+#undef CONFIG_MTD_OCELOT
-+#undef CONFIG_MTD_LASAT
-+#undef CONFIG_MTD_PCI
-+#undef CONFIG_MTD_PCMCIA
-+
-+/*
-+ * Self-contained MTD device drivers
-+ */
-+#undef CONFIG_MTD_PMC551
-+#undef CONFIG_MTD_SLRAM
-+#undef CONFIG_MTD_MTDRAM
-+#undef CONFIG_MTD_BLKMTD
-+
-+/*
-+ * Disk-On-Chip Device Drivers
-+ */
-+#undef CONFIG_MTD_DOC1000
-+#undef CONFIG_MTD_DOC2000
-+#undef CONFIG_MTD_DOC2001
-+#undef CONFIG_MTD_DOCPROBE
-+
-+/*
-+ * NAND Flash Device Drivers
-+ */
-+#undef CONFIG_MTD_NAND
-+
-+/*
-+ * Parallel port support
-+ */
-+#undef CONFIG_PARPORT
-+#define CONFIG_PARPORT_MODULE 1
-+#undef CONFIG_PARPORT_PC
-+#undef CONFIG_PARPORT_SPLINK
-+#define CONFIG_PARPORT_SPLINK_MODULE 1
-+#undef CONFIG_PARPORT_AMIGA
-+#undef CONFIG_PARPORT_MFC3
-+#undef CONFIG_PARPORT_ATARI
-+#undef CONFIG_PARPORT_GSC
-+#undef CONFIG_PARPORT_SUNBPP
-+#undef CONFIG_PARPORT_IP22
-+#undef CONFIG_PARPORT_OTHER
-+#undef CONFIG_PARPORT_1284
-+
-+/*
-+ * Plug and Play configuration
-+ */
-+#undef CONFIG_PNP
-+#undef CONFIG_ISAPNP
-+
-+/*
-+ * Block devices
-+ */
-+#undef CONFIG_BLK_DEV_FD
-+#undef CONFIG_BLK_DEV_XD
-+#undef CONFIG_PARIDE
-+#undef CONFIG_BLK_CPQ_DA
-+#undef CONFIG_BLK_CPQ_CISS_DA
-+#undef CONFIG_CISS_SCSI_TAPE
-+#undef CONFIG_CISS_MONITOR_THREAD
-+#undef CONFIG_BLK_DEV_DAC960
-+#undef CONFIG_BLK_DEV_UMEM
-+#undef CONFIG_BLK_DEV_SX8
-+#undef CONFIG_BLK_DEV_LOOP
-+#define CONFIG_BLK_DEV_LOOP_MODULE 1
-+#undef CONFIG_BLK_DEV_NBD
-+#define CONFIG_BLK_DEV_NBD_MODULE 1
-+#undef CONFIG_BLK_DEV_RAM
-+#undef CONFIG_BLK_DEV_INITRD
-+#undef CONFIG_BLK_STATS
-+
-+/*
-+ * Multi-device support (RAID and LVM)
-+ */
-+#undef CONFIG_MD
-+#undef CONFIG_BLK_DEV_MD
-+#undef CONFIG_MD_LINEAR
-+#undef CONFIG_MD_RAID0
-+#undef CONFIG_MD_RAID1
-+#undef CONFIG_MD_RAID5
-+#undef CONFIG_MD_MULTIPATH
-+#undef CONFIG_BLK_DEV_LVM
-+
-+/*
-+ * Networking options
-+ */
-+#define CONFIG_PACKET 1
-+#define CONFIG_PACKET_MMAP 1
-+#undef CONFIG_NETLINK_DEV
-+#define CONFIG_NETLINK_DEV_MODULE 1
-+#define CONFIG_NETFILTER 1
-+#undef CONFIG_NETFILTER_DEBUG
-+#define CONFIG_FILTER 1
-+#define CONFIG_UNIX 1
-+#define CONFIG_INET 1
-+#define CONFIG_IP_MULTICAST 1
-+#define CONFIG_IP_ADVANCED_ROUTER 1
-+#define CONFIG_IP_MULTIPLE_TABLES 1
-+#define CONFIG_IP_ROUTE_FWMARK 1
-+#define CONFIG_IP_ROUTE_NAT 1
-+#define CONFIG_IP_ROUTE_MULTIPATH 1
-+#define CONFIG_IP_ROUTE_TOS 1
-+#undef CONFIG_IP_ROUTE_VERBOSE
-+#undef CONFIG_IP_PNP
-+#undef CONFIG_NET_IPIP
-+#define CONFIG_NET_IPIP_MODULE 1
-+#undef CONFIG_NET_IPGRE
-+#define CONFIG_NET_IPGRE_MODULE 1
-+#undef CONFIG_NET_IPGRE_BROADCAST
-+#undef CONFIG_IP_MROUTE
-+#undef CONFIG_ARPD
-+#undef CONFIG_INET_ECN
-+#undef CONFIG_SYN_COOKIES
-+
-+/*
-+ * IP: Netfilter Configuration
-+ */
-+#define CONFIG_IP_NF_CONNTRACK 1
-+#define CONFIG_IP_NF_CONNTRACK_MARK 1
-+#define CONFIG_IP_NF_FTP 1
-+#undef CONFIG_IP_NF_AMANDA
-+#define CONFIG_IP_NF_AMANDA_MODULE 1
-+#undef CONFIG_IP_NF_TFTP
-+#define CONFIG_IP_NF_TFTP_MODULE 1
-+#define CONFIG_IP_NF_IRC 1
-+#undef CONFIG_IP_NF_CT_ACCT
-+#define CONFIG_IP_NF_CT_ACCT_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_CONNBYTES
-+#define CONFIG_IP_NF_MATCH_CONNBYTES_MODULE 1
-+#undef CONFIG_IP_NF_CT_PROTO_GRE
-+#define CONFIG_IP_NF_CT_PROTO_GRE_MODULE 1
-+#undef CONFIG_IP_NF_PPTP
-+#define CONFIG_IP_NF_PPTP_MODULE 1
-+#undef CONFIG_IP_NF_H323
-+#define CONFIG_IP_NF_H323_MODULE 1
-+#undef CONFIG_IP_NF_RTSP
-+#define CONFIG_IP_NF_RTSP_MODULE 1
-+#undef CONFIG_IP_NF_MMS
-+#define CONFIG_IP_NF_MMS_MODULE 1
-+#undef CONFIG_IP_NF_QUEUE
-+#define CONFIG_IP_NF_QUEUE_MODULE 1
-+#define CONFIG_IP_NF_IPTABLES 1
-+#undef CONFIG_IP_NF_MATCH_LIMIT
-+#define CONFIG_IP_NF_MATCH_LIMIT_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_QUOTA
-+#define CONFIG_IP_NF_MATCH_QUOTA_MODULE 1
-+#undef CONFIG_IP_NF_SET
-+#define CONFIG_IP_NF_SET_MODULE 1
-+#define CONFIG_IP_NF_SET_MAX (256)
-+#define CONFIG_IP_NF_SET_HASHSIZE (1024)
-+#undef CONFIG_IP_NF_MATCH_SET
-+#define CONFIG_IP_NF_MATCH_SET_MODULE 1
-+#undef CONFIG_IP_NF_TARGET_SET
-+#define CONFIG_IP_NF_TARGET_SET_MODULE 1
-+#undef CONFIG_IP_NF_SET_IPMAP
-+#define CONFIG_IP_NF_SET_IPMAP_MODULE 1
-+#undef CONFIG_IP_NF_SET_PORTMAP
-+#define CONFIG_IP_NF_SET_PORTMAP_MODULE 1
-+#undef CONFIG_IP_NF_SET_MACIPMAP
-+#define CONFIG_IP_NF_SET_MACIPMAP_MODULE 1
-+#undef CONFIG_IP_NF_SET_IPHASH
-+#define CONFIG_IP_NF_SET_IPHASH_MODULE 1
-+#undef CONFIG_IP_NF_SET_NETHASH
-+#define CONFIG_IP_NF_SET_NETHASH_MODULE 1
-+#undef CONFIG_IP_NF_SET_IPTREE
-+#define CONFIG_IP_NF_SET_IPTREE_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_MAC
-+#define CONFIG_IP_NF_MATCH_MAC_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_PKTTYPE
-+#define CONFIG_IP_NF_MATCH_PKTTYPE_MODULE 1
-+#define CONFIG_IP_NF_MATCH_MARK 1
-+#define CONFIG_IP_NF_MATCH_MULTIPORT 1
-+#undef CONFIG_IP_NF_MATCH_TOS
-+#define CONFIG_IP_NF_MATCH_TOS_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_TIME
-+#define CONFIG_IP_NF_MATCH_TIME_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_CONDITION
-+#define CONFIG_IP_NF_MATCH_CONDITION_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_RECENT
-+#define CONFIG_IP_NF_MATCH_RECENT_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_ECN
-+#define CONFIG_IP_NF_MATCH_ECN_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_IPP2P
-+#define CONFIG_IP_NF_MATCH_IPP2P_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_DSCP
-+#define CONFIG_IP_NF_MATCH_DSCP_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_AH_ESP
-+#define CONFIG_IP_NF_MATCH_AH_ESP_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_LENGTH
-+#define CONFIG_IP_NF_MATCH_LENGTH_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_TTL
-+#define CONFIG_IP_NF_MATCH_TTL_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_TCPMSS
-+#define CONFIG_IP_NF_MATCH_TCPMSS_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_HELPER
-+#define CONFIG_IP_NF_MATCH_HELPER_MODULE 1
-+#define CONFIG_IP_NF_MATCH_STATE 1
-+#undef CONFIG_IP_NF_MATCH_CONNTRACK
-+#define CONFIG_IP_NF_MATCH_CONNTRACK_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_CONNMARK
-+#define CONFIG_IP_NF_MATCH_CONNMARK_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_UNCLEAN
-+#define CONFIG_IP_NF_MATCH_UNCLEAN_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_STRING
-+#define CONFIG_IP_NF_MATCH_STRING_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_OWNER
-+#define CONFIG_IP_NF_MATCH_OWNER_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_LAYER7
-+#define CONFIG_IP_NF_MATCH_LAYER7_MODULE 1
-+#undef CONFIG_IP_NF_MATCH_LAYER7_DEBUG
-+#define CONFIG_IP_NF_FILTER 1
-+#define CONFIG_IP_NF_TARGET_REJECT 1
-+#undef CONFIG_IP_NF_TARGET_MIRROR
-+#define CONFIG_IP_NF_TARGET_MIRROR_MODULE 1
-+#define CONFIG_IP_NF_NAT 1
-+#define CONFIG_IP_NF_NAT_NEEDED 1
-+#define CONFIG_IP_NF_TARGET_MASQUERADE 1
-+#undef CONFIG_IP_NF_TARGET_REDIRECT
-+#define CONFIG_IP_NF_TARGET_REDIRECT_MODULE 1
-+#undef CONFIG_IP_NF_TARGET_NETMAP
-+#define CONFIG_IP_NF_TARGET_NETMAP_MODULE 1
-+#undef CONFIG_IP_NF_NAT_PPTP
-+#define CONFIG_IP_NF_NAT_PPTP_MODULE 1
-+#undef CONFIG_IP_NF_NAT_PROTO_GRE
-+#define CONFIG_IP_NF_NAT_PROTO_GRE_MODULE 1
-+#undef CONFIG_IP_NF_NAT_AMANDA
-+#define CONFIG_IP_NF_NAT_AMANDA_MODULE 1
-+#undef CONFIG_IP_NF_NAT_H323
-+#define CONFIG_IP_NF_NAT_H323_MODULE 1
-+#undef CONFIG_IP_NF_NAT_RTSP
-+#define CONFIG_IP_NF_NAT_RTSP_MODULE 1
-+#undef CONFIG_IP_NF_NAT_MMS
-+#define CONFIG_IP_NF_NAT_MMS_MODULE 1
-+#undef CONFIG_IP_NF_NAT_SNMP_BASIC
-+#define CONFIG_IP_NF_NAT_SNMP_BASIC_MODULE 1
-+#define CONFIG_IP_NF_NAT_IRC 1
-+#define CONFIG_IP_NF_NAT_FTP 1
-+#undef CONFIG_IP_NF_NAT_TFTP
-+#define CONFIG_IP_NF_NAT_TFTP_MODULE 1
-+#define CONFIG_IP_NF_MANGLE 1
-+#undef CONFIG_IP_NF_TARGET_TOS
-+#define CONFIG_IP_NF_TARGET_TOS_MODULE 1
-+#undef CONFIG_IP_NF_TARGET_ECN
-+#define CONFIG_IP_NF_TARGET_ECN_MODULE 1
-+#undef CONFIG_IP_NF_TARGET_DSCP
-+#define CONFIG_IP_NF_TARGET_DSCP_MODULE 1
-+#define CONFIG_IP_NF_TARGET_MARK 1
-+#undef CONFIG_IP_NF_TARGET_IMQ
-+#define CONFIG_IP_NF_TARGET_IMQ_MODULE 1
-+#undef CONFIG_IP_NF_TARGET_CONNMARK
-+#define CONFIG_IP_NF_TARGET_CONNMARK_MODULE 1
-+#undef CONFIG_IP_NF_TARGET_LOG
-+#define CONFIG_IP_NF_TARGET_LOG_MODULE 1
-+#undef CONFIG_IP_NF_TARGET_TTL
-+#define CONFIG_IP_NF_TARGET_TTL_MODULE 1
-+#undef CONFIG_IP_NF_TARGET_ULOG
-+#define CONFIG_IP_NF_TARGET_ULOG_MODULE 1
-+#define CONFIG_IP_NF_TARGET_TCPMSS 1
-+#undef CONFIG_IP_NF_ARPTABLES
-+#define CONFIG_IP_NF_ARPTABLES_MODULE 1
-+#undef CONFIG_IP_NF_ARPFILTER
-+#define CONFIG_IP_NF_ARPFILTER_MODULE 1
-+#undef CONFIG_IP_NF_ARP_MANGLE
-+#define CONFIG_IP_NF_ARP_MANGLE_MODULE 1
-+
-+/*
-+ * IP: Virtual Server Configuration
-+ */
-+#undef CONFIG_IP_VS
-+#define CONFIG_IP_VS_MODULE 1
-+#undef CONFIG_IP_VS_DEBUG
-+#define CONFIG_IP_VS_TAB_BITS (12)
-+
-+/*
-+ * IPVS scheduler
-+ */
-+#undef CONFIG_IP_VS_RR
-+#define CONFIG_IP_VS_RR_MODULE 1
-+#undef CONFIG_IP_VS_WRR
-+#define CONFIG_IP_VS_WRR_MODULE 1
-+#undef CONFIG_IP_VS_LC
-+#define CONFIG_IP_VS_LC_MODULE 1
-+#undef CONFIG_IP_VS_WLC
-+#define CONFIG_IP_VS_WLC_MODULE 1
-+#undef CONFIG_IP_VS_LBLC
-+#define CONFIG_IP_VS_LBLC_MODULE 1
-+#undef CONFIG_IP_VS_LBLCR
-+#define CONFIG_IP_VS_LBLCR_MODULE 1
-+#undef CONFIG_IP_VS_DH
-+#define CONFIG_IP_VS_DH_MODULE 1
-+#undef CONFIG_IP_VS_SH
-+#define CONFIG_IP_VS_SH_MODULE 1
-+#undef CONFIG_IP_VS_SED
-+#define CONFIG_IP_VS_SED_MODULE 1
-+#undef CONFIG_IP_VS_NQ
-+#define CONFIG_IP_VS_NQ_MODULE 1
-+
-+/*
-+ * IPVS application helper
-+ */
-+#undef CONFIG_IP_VS_FTP
-+#define CONFIG_IP_VS_FTP_MODULE 1
-+#undef CONFIG_IPV6
-+#define CONFIG_IPV6_MODULE 1
-+
-+/*
-+ * IPv6: Netfilter Configuration
-+ */
-+#undef CONFIG_IP6_NF_QUEUE
-+#define CONFIG_IP6_NF_QUEUE_MODULE 1
-+#undef CONFIG_IP6_NF_IPTABLES
-+#define CONFIG_IP6_NF_IPTABLES_MODULE 1
-+#undef CONFIG_IP6_NF_MATCH_LIMIT
-+#define CONFIG_IP6_NF_MATCH_LIMIT_MODULE 1
-+#undef CONFIG_IP6_NF_MATCH_CONDITION
-+#define CONFIG_IP6_NF_MATCH_CONDITION_MODULE 1
-+#undef CONFIG_IP6_NF_MATCH_MAC
-+#define CONFIG_IP6_NF_MATCH_MAC_MODULE 1
-+#undef CONFIG_IP6_NF_MATCH_RT
-+#undef CONFIG_IP6_NF_MATCH_OPTS
-+#undef CONFIG_IP6_NF_MATCH_FRAG
-+#undef CONFIG_IP6_NF_MATCH_HL
-+#undef CONFIG_IP6_NF_MATCH_MULTIPORT
-+#define CONFIG_IP6_NF_MATCH_MULTIPORT_MODULE 1
-+#undef CONFIG_IP6_NF_MATCH_OWNER
-+#define CONFIG_IP6_NF_MATCH_OWNER_MODULE 1
-+#undef CONFIG_IP6_NF_MATCH_MARK
-+#define CONFIG_IP6_NF_MATCH_MARK_MODULE 1
-+#undef CONFIG_IP6_NF_MATCH_IPV6HEADER
-+#undef CONFIG_IP6_NF_MATCH_AHESP
-+#undef CONFIG_IP6_NF_MATCH_LENGTH
-+#define CONFIG_IP6_NF_MATCH_LENGTH_MODULE 1
-+#undef CONFIG_IP6_NF_MATCH_EUI64
-+#define CONFIG_IP6_NF_MATCH_EUI64_MODULE 1
-+#undef CONFIG_IP6_NF_FILTER
-+#define CONFIG_IP6_NF_FILTER_MODULE 1
-+#undef CONFIG_IP6_NF_TARGET_LOG
-+#define CONFIG_IP6_NF_TARGET_LOG_MODULE 1
-+#undef CONFIG_IP6_NF_MANGLE
-+#define CONFIG_IP6_NF_MANGLE_MODULE 1
-+#undef CONFIG_IP6_NF_TARGET_MARK
-+#define CONFIG_IP6_NF_TARGET_MARK_MODULE 1
-+#undef CONFIG_IP6_NF_TARGET_IMQ
-+#define CONFIG_IP6_NF_TARGET_IMQ_MODULE 1
-+#undef CONFIG_KHTTPD
-+
-+/*
-+ * SCTP Configuration (EXPERIMENTAL)
-+ */
-+#undef CONFIG_IP_SCTP
-+#undef CONFIG_ATM
-+#define CONFIG_VLAN_8021Q 1
-+
-+/*
-+ *
-+ */
-+#undef CONFIG_IPX
-+#undef CONFIG_ATALK
-+#undef CONFIG_DECNET
-+#define CONFIG_BRIDGE 1
-+#undef CONFIG_X25
-+#undef CONFIG_LAPB
-+#undef CONFIG_LLC
-+#undef CONFIG_NET_DIVERT
-+#undef CONFIG_ECONET
-+#undef CONFIG_WAN_ROUTER
-+#define CONFIG_WAN_ROUTER_MODULE 1
-+#undef CONFIG_NET_FASTROUTE
-+#undef CONFIG_NET_HW_FLOWCONTROL
-+
-+/*
-+ * QoS and/or fair queueing
-+ */
-+#define CONFIG_NET_SCHED 1
-+#undef CONFIG_NET_SCH_CBQ
-+#define CONFIG_NET_SCH_CBQ_MODULE 1
-+#undef CONFIG_NET_SCH_HTB
-+#define CONFIG_NET_SCH_HTB_MODULE 1
-+#undef CONFIG_NET_SCH_CSZ
-+#define CONFIG_NET_SCH_CSZ_MODULE 1
-+#undef CONFIG_NET_SCH_HFSC
-+#define CONFIG_NET_SCH_HFSC_MODULE 1
-+#undef CONFIG_NET_SCH_PRIO
-+#define CONFIG_NET_SCH_PRIO_MODULE 1
-+#undef CONFIG_NET_SCH_RED
-+#define CONFIG_NET_SCH_RED_MODULE 1
-+#undef CONFIG_NET_SCH_SFQ
-+#define CONFIG_NET_SCH_SFQ_MODULE 1
-+#undef CONFIG_NET_SCH_TEQL
-+#define CONFIG_NET_SCH_TEQL_MODULE 1
-+#undef CONFIG_NET_SCH_TBF
-+#define CONFIG_NET_SCH_TBF_MODULE 1
-+#undef CONFIG_NET_SCH_GRED
-+#define CONFIG_NET_SCH_GRED_MODULE 1
-+#undef CONFIG_NET_SCH_NETEM
-+#undef CONFIG_NET_SCH_DSMARK
-+#define CONFIG_NET_SCH_DSMARK_MODULE 1
-+#undef CONFIG_NET_SCH_INGRESS
-+#define CONFIG_NET_SCH_INGRESS_MODULE 1
-+#define CONFIG_NET_QOS 1
-+#define CONFIG_NET_ESTIMATOR 1
-+#define CONFIG_NET_CLS 1
-+#undef CONFIG_NET_CLS_TCINDEX
-+#define CONFIG_NET_CLS_TCINDEX_MODULE 1
-+#undef CONFIG_NET_CLS_ROUTE4
-+#define CONFIG_NET_CLS_ROUTE4_MODULE 1
-+#define CONFIG_NET_CLS_ROUTE 1
-+#undef CONFIG_NET_CLS_FW
-+#define CONFIG_NET_CLS_FW_MODULE 1
-+#undef CONFIG_NET_CLS_U32
-+#define CONFIG_NET_CLS_U32_MODULE 1
-+#undef CONFIG_NET_CLS_RSVP
-+#define CONFIG_NET_CLS_RSVP_MODULE 1
-+#undef CONFIG_NET_CLS_RSVP6
-+#define CONFIG_NET_CLS_RSVP6_MODULE 1
-+#define CONFIG_NET_CLS_POLICE 1
-+
-+/*
-+ * Network testing
-+ */
-+#undef CONFIG_NET_PKTGEN
-+#define CONFIG_IPSEC_NAT_TRAVERSAL 1
-+
-+/*
-+ * Telephony Support
-+ */
-+#undef CONFIG_PHONE
-+#undef CONFIG_PHONE_IXJ
-+#undef CONFIG_PHONE_IXJ_PCMCIA
-+
-+/*
-+ * ATA/IDE/MFM/RLL support
-+ */
-+#undef CONFIG_IDE
-+#define CONFIG_IDE_MODULE 1
-+
-+/*
-+ * IDE, ATA and ATAPI Block devices
-+ */
-+#undef CONFIG_BLK_DEV_IDE
-+#define CONFIG_BLK_DEV_IDE_MODULE 1
-+
-+/*
-+ * Please see Documentation/ide.txt for help/info on IDE drives
-+ */
-+#undef CONFIG_BLK_DEV_HD_IDE
-+#undef CONFIG_BLK_DEV_HD
-+#undef CONFIG_BLK_DEV_IDE_SATA
-+#undef CONFIG_BLK_DEV_IDEDISK
-+#define CONFIG_BLK_DEV_IDEDISK_MODULE 1
-+#undef CONFIG_IDEDISK_MULTI_MODE
-+#define CONFIG_IDEDISK_STROKE 1
-+#undef CONFIG_BLK_DEV_IDECS
-+#undef CONFIG_BLK_DEV_DELKIN
-+#undef CONFIG_BLK_DEV_IDECD
-+#undef CONFIG_BLK_DEV_IDETAPE
-+#undef CONFIG_BLK_DEV_IDEFLOPPY
-+#undef CONFIG_BLK_DEV_IDESCSI
-+#undef CONFIG_IDE_TASK_IOCTL
-+
-+/*
-+ * IDE chipset support/bugfixes
-+ */
-+#undef CONFIG_BLK_DEV_CMD640
-+#undef CONFIG_BLK_DEV_CMD640_ENHANCED
-+#undef CONFIG_BLK_DEV_ISAPNP
-+#define CONFIG_BLK_DEV_IDEPCI 1
-+#undef CONFIG_BLK_DEV_GENERIC
-+#undef CONFIG_IDEPCI_SHARE_IRQ
-+#define CONFIG_BLK_DEV_IDEDMA_PCI 1
-+#define CONFIG_BLK_DEV_OFFBOARD 1
-+#undef CONFIG_BLK_DEV_IDEDMA_FORCED
-+#define CONFIG_IDEDMA_PCI_AUTO 1
-+#undef CONFIG_IDEDMA_ONLYDISK
-+#define CONFIG_BLK_DEV_IDEDMA 1
-+#undef CONFIG_IDEDMA_PCI_WIP
-+#undef CONFIG_BLK_DEV_ADMA100
-+#undef CONFIG_BLK_DEV_AEC62XX
-+#undef CONFIG_BLK_DEV_ALI15X3
-+#undef CONFIG_WDC_ALI15X3
-+#undef CONFIG_BLK_DEV_AMD74XX
-+#undef CONFIG_AMD74XX_OVERRIDE
-+#undef CONFIG_BLK_DEV_ATIIXP
-+#undef CONFIG_BLK_DEV_CMD64X
-+#undef CONFIG_BLK_DEV_TRIFLEX
-+#undef CONFIG_BLK_DEV_CY82C693
-+#undef CONFIG_BLK_DEV_CS5530
-+#undef CONFIG_BLK_DEV_HPT34X
-+#undef CONFIG_HPT34X_AUTODMA
-+#undef CONFIG_BLK_DEV_HPT366
-+#undef CONFIG_BLK_DEV_PIIX
-+#undef CONFIG_BLK_DEV_NS87415
-+#undef CONFIG_BLK_DEV_OPTI621
-+#undef CONFIG_BLK_DEV_PDC202XX_OLD
-+#define CONFIG_BLK_DEV_PDC202XX_OLD_MODULE 1
-+#define CONFIG_PDC202XX_BURST 1
-+#undef CONFIG_BLK_DEV_PDC202XX_NEW
-+#undef CONFIG_PDC202XX_FORCE
-+#undef CONFIG_BLK_DEV_RZ1000
-+#undef CONFIG_BLK_DEV_SC1200
-+#undef CONFIG_BLK_DEV_SVWKS
-+#undef CONFIG_BLK_DEV_SIIMAGE
-+#undef CONFIG_BLK_DEV_SIS5513
-+#undef CONFIG_BLK_DEV_SLC90E66
-+#undef CONFIG_BLK_DEV_TRM290
-+#undef CONFIG_BLK_DEV_VIA82CXXX
-+#undef CONFIG_IDE_CHIPSETS
-+#define CONFIG_IDEDMA_AUTO 1
-+#define CONFIG_IDEDMA_IVB 1
-+#undef CONFIG_DMA_NONPCI
-+#define CONFIG_BLK_DEV_PDC202XX 1
-+#undef CONFIG_BLK_DEV_ATARAID
-+#undef CONFIG_BLK_DEV_ATARAID_PDC
-+#undef CONFIG_BLK_DEV_ATARAID_HPT
-+#undef CONFIG_BLK_DEV_ATARAID_MEDLEY
-+#undef CONFIG_BLK_DEV_ATARAID_SII
-+
-+/*
-+ * SCSI support
-+ */
-+#undef CONFIG_SCSI
-+#define CONFIG_SCSI_MODULE 1
-+
-+/*
-+ * SCSI support type (disk, tape, CD-ROM)
-+ */
-+#undef CONFIG_BLK_DEV_SD
-+#define CONFIG_BLK_DEV_SD_MODULE 1
-+#define CONFIG_SD_EXTRA_DEVS (5)
-+#undef CONFIG_CHR_DEV_ST
-+#undef CONFIG_CHR_DEV_OSST
-+#undef CONFIG_BLK_DEV_SR
-+#undef CONFIG_CHR_DEV_SG
-+#define CONFIG_CHR_DEV_SG_MODULE 1
-+
-+/*
-+ * Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+ */
-+#undef CONFIG_SCSI_DEBUG_QUEUES
-+#define CONFIG_SCSI_MULTI_LUN 1
-+#undef CONFIG_SCSI_CONSTANTS
-+#undef CONFIG_SCSI_LOGGING
-+
-+/*
-+ * SCSI low-level drivers
-+ */
-+#undef CONFIG_BLK_DEV_3W_XXXX_RAID
-+#undef CONFIG_SCSI_7000FASST
-+#undef CONFIG_SCSI_ACARD
-+#undef CONFIG_SCSI_AHA152X
-+#undef CONFIG_SCSI_AHA1542
-+#undef CONFIG_SCSI_AHA1740
-+#undef CONFIG_SCSI_AACRAID
-+#undef CONFIG_SCSI_AIC7XXX
-+#undef CONFIG_SCSI_AIC79XX
-+#undef CONFIG_SCSI_AIC7XXX_OLD
-+#undef CONFIG_SCSI_DPT_I2O
-+#undef CONFIG_SCSI_ADVANSYS
-+#undef CONFIG_SCSI_IN2000
-+#undef CONFIG_SCSI_AM53C974
-+#undef CONFIG_SCSI_MEGARAID
-+#undef CONFIG_SCSI_MEGARAID2
-+#undef CONFIG_SCSI_SATA
-+#undef CONFIG_SCSI_SATA_AHCI
-+#undef CONFIG_SCSI_SATA_SVW
-+#undef CONFIG_SCSI_ATA_PIIX
-+#undef CONFIG_SCSI_SATA_NV
-+#undef CONFIG_SCSI_SATA_QSTOR
-+#undef CONFIG_SCSI_SATA_PROMISE
-+#undef CONFIG_SCSI_SATA_SX4
-+#undef CONFIG_SCSI_SATA_SIL
-+#undef CONFIG_SCSI_SATA_SIS
-+#undef CONFIG_SCSI_SATA_ULI
-+#undef CONFIG_SCSI_SATA_VIA
-+#undef CONFIG_SCSI_SATA_VITESSE
-+#undef CONFIG_SCSI_BUSLOGIC
-+#undef CONFIG_SCSI_CPQFCTS
-+#undef CONFIG_SCSI_DMX3191D
-+#undef CONFIG_SCSI_DTC3280
-+#undef CONFIG_SCSI_EATA
-+#undef CONFIG_SCSI_EATA_DMA
-+#undef CONFIG_SCSI_EATA_PIO
-+#undef CONFIG_SCSI_FUTURE_DOMAIN
-+#undef CONFIG_SCSI_GDTH
-+#undef CONFIG_SCSI_GENERIC_NCR5380
-+#undef CONFIG_SCSI_INITIO
-+#undef CONFIG_SCSI_INIA100
-+#undef CONFIG_SCSI_PPA
-+#undef CONFIG_SCSI_IMM
-+#undef CONFIG_SCSI_NCR53C406A
-+#undef CONFIG_SCSI_NCR53C7xx
-+#undef CONFIG_SCSI_SYM53C8XX_2
-+#undef CONFIG_SCSI_NCR53C8XX
-+#undef CONFIG_SCSI_SYM53C8XX
-+#undef CONFIG_SCSI_PAS16
-+#undef CONFIG_SCSI_PCI2000
-+#undef CONFIG_SCSI_PCI2220I
-+#undef CONFIG_SCSI_PSI240I
-+#undef CONFIG_SCSI_QLOGIC_FAS
-+#undef CONFIG_SCSI_QLOGIC_ISP
-+#undef CONFIG_SCSI_QLOGIC_FC
-+#undef CONFIG_SCSI_QLOGIC_1280
-+#undef CONFIG_SCSI_SIM710
-+#undef CONFIG_SCSI_SYM53C416
-+#undef CONFIG_SCSI_DC390T
-+#undef CONFIG_SCSI_T128
-+#undef CONFIG_SCSI_U14_34F
-+#undef CONFIG_SCSI_NSP32
-+#undef CONFIG_SCSI_DEBUG
-+
-+/*
-+ * PCMCIA SCSI adapter support
-+ */
-+#undef CONFIG_SCSI_PCMCIA
-+
-+/*
-+ * Fusion MPT device support
-+ */
-+#undef CONFIG_FUSION
-+#undef CONFIG_FUSION_BOOT
-+#undef CONFIG_FUSION_ISENSE
-+#undef CONFIG_FUSION_CTL
-+#undef CONFIG_FUSION_LAN
-+
-+/*
-+ * IEEE 1394 (FireWire) support (EXPERIMENTAL)
-+ */
-+#undef CONFIG_IEEE1394
-+
-+/*
-+ * I2O device support
-+ */
-+#undef CONFIG_I2O
-+#undef CONFIG_I2O_PCI
-+#undef CONFIG_I2O_BLOCK
-+#undef CONFIG_I2O_LAN
-+#undef CONFIG_I2O_SCSI
-+#undef CONFIG_I2O_PROC
-+
-+/*
-+ * Network device support
-+ */
-+#define CONFIG_NETDEVICES 1
-+#define CONFIG_HND 1
-+
-+/*
-+ * ARCnet devices
-+ */
-+#undef CONFIG_ARCNET
-+#undef CONFIG_DUMMY
-+#undef CONFIG_BONDING
-+#undef CONFIG_EQUALIZER
-+#undef CONFIG_IMQ
-+#define CONFIG_IMQ_MODULE 1
-+#undef CONFIG_TUN
-+#define CONFIG_TUN_MODULE 1
-+#define CONFIG_NET_RANDOM 1
-+#undef CONFIG_ETHERTAP
-+
-+/*
-+ * Ethernet (10 or 100Mbit)
-+ */
-+#define CONFIG_NET_ETHERNET 1
-+#undef CONFIG_SUNLANCE
-+#undef CONFIG_HAPPYMEAL
-+#undef CONFIG_SUNBMAC
-+#undef CONFIG_SUNQE
-+#undef CONFIG_SUNGEM
-+#undef CONFIG_NET_VENDOR_3COM
-+#undef CONFIG_LANCE
-+#undef CONFIG_NET_VENDOR_SMC
-+#undef CONFIG_NET_VENDOR_RACAL
-+#undef CONFIG_HP100
-+#undef CONFIG_NET_ISA
-+#define CONFIG_NET_PCI 1
-+#undef CONFIG_PCNET32
-+#undef CONFIG_AMD8111_ETH
-+#undef CONFIG_ADAPTEC_STARFIRE
-+#undef CONFIG_APRICOT
-+#define CONFIG_B44 1
-+#undef CONFIG_CS89x0
-+#undef CONFIG_TULIP
-+#undef CONFIG_DE4X5
-+#undef CONFIG_DGRS
-+#undef CONFIG_DM9102
-+#undef CONFIG_EEPRO100
-+#undef CONFIG_EEPRO100_PIO
-+#undef CONFIG_E100
-+#undef CONFIG_LNE390
-+#undef CONFIG_FEALNX
-+#undef CONFIG_NATSEMI
-+#undef CONFIG_NE2K_PCI
-+#undef CONFIG_FORCEDETH
-+#undef CONFIG_NE3210
-+#undef CONFIG_ES3210
-+#undef CONFIG_8139CP
-+#undef CONFIG_8139TOO
-+#undef CONFIG_8139TOO_PIO
-+#undef CONFIG_8139TOO_TUNE_TWISTER
-+#undef CONFIG_8139TOO_8129
-+#undef CONFIG_8139_OLD_RX_RESET
-+#undef CONFIG_SIS900
-+#undef CONFIG_EPIC100
-+#undef CONFIG_SUNDANCE
-+#undef CONFIG_SUNDANCE_MMIO
-+#undef CONFIG_TLAN
-+#undef CONFIG_VIA_RHINE
-+#undef CONFIG_VIA_RHINE_MMIO
-+#undef CONFIG_WINBOND_840
-+#undef CONFIG_LAN_SAA9730
-+#undef CONFIG_NET_POCKET
-+
-+/*
-+ * Ethernet (1000 Mbit)
-+ */
-+#undef CONFIG_ACENIC
-+#undef CONFIG_DL2K
-+#undef CONFIG_E1000
-+#undef CONFIG_MYRI_SBUS
-+#undef CONFIG_NS83820
-+#undef CONFIG_HAMACHI
-+#undef CONFIG_YELLOWFIN
-+#undef CONFIG_R8169
-+#undef CONFIG_SK98LIN
-+#undef CONFIG_TIGON3
-+#undef CONFIG_FDDI
-+#undef CONFIG_HIPPI
-+#undef CONFIG_PLIP
-+#undef CONFIG_PPP
-+#define CONFIG_PPP_MODULE 1
-+#undef CONFIG_PPP_MULTILINK
-+#define CONFIG_PPP_FILTER 1
-+#undef CONFIG_PPP_ASYNC
-+#define CONFIG_PPP_ASYNC_MODULE 1
-+#undef CONFIG_PPP_SYNC_TTY
-+#undef CONFIG_PPP_DEFLATE
-+#define CONFIG_PPP_DEFLATE_MODULE 1
-+#undef CONFIG_PPP_BSDCOMP
-+#define CONFIG_PPP_BSDCOMP_MODULE 1
-+#undef CONFIG_PPP_MPPE_MPPC
-+#define CONFIG_PPP_MPPE_MPPC_MODULE 1
-+#undef CONFIG_PPPOE
-+#define CONFIG_PPPOE_MODULE 1
-+#undef CONFIG_SLIP
-+
-+/*
-+ * Wireless LAN (non-hamradio)
-+ */
-+#define CONFIG_NET_RADIO 1
-+#undef CONFIG_STRIP
-+#undef CONFIG_WAVELAN
-+#undef CONFIG_ARLAN
-+#undef CONFIG_AIRONET4500
-+#undef CONFIG_AIRONET4500_NONCS
-+#undef CONFIG_AIRONET4500_PROC
-+#undef CONFIG_AIRO
-+#undef CONFIG_HERMES
-+#undef CONFIG_WL
-+#define CONFIG_WL_MODULE 1
-+#undef CONFIG_PLX_HERMES
-+#undef CONFIG_TMD_HERMES
-+#undef CONFIG_PCI_HERMES
-+
-+/*
-+ * Wireless Pcmcia cards support
-+ */
-+#undef CONFIG_PCMCIA_HERMES
-+#undef CONFIG_AIRO_CS
-+#undef CONFIG_PCMCIA_ATMEL
-+
-+/*
-+ * Prism54 PCI/PCMCIA GT/Duette Driver - 802.11(a/b/g)
-+ */
-+#undef CONFIG_PRISM54
-+#define CONFIG_NET_WIRELESS 1
-+
-+/*
-+ * Token Ring devices
-+ */
-+#undef CONFIG_TR
-+#undef CONFIG_NET_FC
-+#undef CONFIG_RCPCI
-+#undef CONFIG_SHAPER
-+#define CONFIG_SHAPER_MODULE 1
-+
-+/*
-+ * Wan interfaces
-+ */
-+#undef CONFIG_WAN
-+
-+/*
-+ * PCMCIA network device support
-+ */
-+#undef CONFIG_NET_PCMCIA
-+
-+/*
-+ * Amateur Radio support
-+ */
-+#define CONFIG_HAMRADIO 1
-+
-+/*
-+ * Packet Radio protocols
-+ */
-+#undef CONFIG_AX25
-+#define CONFIG_AX25_MODULE 1
-+#undef CONFIG_AX25_DAMA_SLAVE
-+#undef CONFIG_NETROM
-+#undef CONFIG_ROSE
-+
-+/*
-+ * AX.25 network device drivers
-+ */
-+
-+/*
-+ * AX.25 network device drivers
-+ */
-+#undef CONFIG_MKISS
-+#define CONFIG_MKISS_MODULE 1
-+#undef CONFIG_6PACK
-+#undef CONFIG_BPQETHER
-+#undef CONFIG_SCC_DELAY
-+#undef CONFIG_SCC_TRXECHO
-+#undef CONFIG_BAYCOM_SER_FDX
-+#undef CONFIG_BAYCOM_SER_HDX
-+#undef CONFIG_BAYCOM_PAR
-+#undef CONFIG_BAYCOM_EPP
-+#undef CONFIG_SOUNDMODEM
-+#undef CONFIG_YAM
-+
-+/*
-+ * IrDA (infrared) support
-+ */
-+#undef CONFIG_IRDA
-+
-+/*
-+ * ISDN subsystem
-+ */
-+#undef CONFIG_ISDN
-+
-+/*
-+ * Input core support
-+ */
-+#undef CONFIG_INPUT
-+#undef CONFIG_INPUT_KEYBDEV
-+#undef CONFIG_INPUT_MOUSEDEV
-+#undef CONFIG_INPUT_JOYDEV
-+#undef CONFIG_INPUT_EVDEV
-+#undef CONFIG_INPUT_UINPUT
-+
-+/*
-+ * Character devices
-+ */
-+#undef CONFIG_VT
-+#define CONFIG_SERIAL 1
-+#define CONFIG_SERIAL_CONSOLE 1
-+#undef CONFIG_SERIAL_EXTENDED
-+#undef CONFIG_SERIAL_NONSTANDARD
-+#define CONFIG_UNIX98_PTYS 1
-+#define CONFIG_UNIX98_PTY_COUNT (128)
-+#undef CONFIG_PRINTER
-+#define CONFIG_PRINTER_MODULE 1
-+#undef CONFIG_LP_CONSOLE
-+#undef CONFIG_PPDEV
-+#define CONFIG_PPDEV_MODULE 1
-+#undef CONFIG_TIPAR
-+
-+/*
-+ * I2C support
-+ */
-+#undef CONFIG_I2C
-+
-+/*
-+ * Mice
-+ */
-+#undef CONFIG_BUSMOUSE
-+#undef CONFIG_MOUSE
-+
-+/*
-+ * Joysticks
-+ */
-+#undef CONFIG_INPUT_GAMEPORT
-+
-+/*
-+ * Input core support is needed for gameports
-+ */
-+
-+/*
-+ * Input core support is needed for joysticks
-+ */
-+#undef CONFIG_QIC02_TAPE
-+#undef CONFIG_IPMI_HANDLER
-+#undef CONFIG_IPMI_PANIC_EVENT
-+#undef CONFIG_IPMI_DEVICE_INTERFACE
-+#undef CONFIG_IPMI_KCS
-+#undef CONFIG_IPMI_WATCHDOG
-+
-+/*
-+ * Watchdog Cards
-+ */
-+#define CONFIG_WATCHDOG 1
-+#define CONFIG_WATCHDOG_NOWAYOUT 1
-+#undef CONFIG_ACQUIRE_WDT
-+#undef CONFIG_ADVANTECH_WDT
-+#undef CONFIG_ALIM1535_WDT
-+#undef CONFIG_ALIM7101_WDT
-+#undef CONFIG_SC520_WDT
-+#undef CONFIG_PCWATCHDOG
-+#undef CONFIG_EUROTECH_WDT
-+#undef CONFIG_IB700_WDT
-+#undef CONFIG_WAFER_WDT
-+#undef CONFIG_I810_TCO
-+#undef CONFIG_MIXCOMWD
-+#undef CONFIG_60XX_WDT
-+#undef CONFIG_SC1200_WDT
-+#undef CONFIG_SCx200_WDT
-+#undef CONFIG_SOFT_WATCHDOG
-+#define CONFIG_SOFT_WATCHDOG_MODULE 1
-+#undef CONFIG_W83877F_WDT
-+#undef CONFIG_WDT
-+#undef CONFIG_WDTPCI
-+#undef CONFIG_MACHZ_WDT
-+#undef CONFIG_SCx200
-+#undef CONFIG_SCx200_GPIO
-+#undef CONFIG_AMD_PM768
-+#undef CONFIG_NVRAM
-+#undef CONFIG_RTC
-+#undef CONFIG_DTLK
-+#undef CONFIG_R3964
-+#undef CONFIG_APPLICOM
-+
-+/*
-+ * Ftape, the floppy tape device driver
-+ */
-+#undef CONFIG_FTAPE
-+#undef CONFIG_AGP
-+
-+/*
-+ * Direct Rendering Manager (XFree86 DRI support)
-+ */
-+#undef CONFIG_DRM
-+
-+/*
-+ * PCMCIA character devices
-+ */
-+#undef CONFIG_PCMCIA_SERIAL_CS
-+#define CONFIG_PCMCIA_SERIAL_CS_MODULE 1
-+#undef CONFIG_SYNCLINK_CS
-+
-+/*
-+ * File systems
-+ */
-+#undef CONFIG_QUOTA
-+#undef CONFIG_QFMT_V2
-+#undef CONFIG_AUTOFS_FS
-+#undef CONFIG_AUTOFS4_FS
-+#undef CONFIG_REISERFS_FS
-+#undef CONFIG_REISERFS_CHECK
-+#undef CONFIG_REISERFS_PROC_INFO
-+#undef CONFIG_ADFS_FS
-+#undef CONFIG_ADFS_FS_RW
-+#undef CONFIG_AFFS_FS
-+#undef CONFIG_HFS_FS
-+#undef CONFIG_HFSPLUS_FS
-+#define CONFIG_HFSPLUS_FS_MODULE 1
-+#undef CONFIG_BEFS_FS
-+#undef CONFIG_BEFS_DEBUG
-+#undef CONFIG_BFS_FS
-+#undef CONFIG_EXT3_FS
-+#define CONFIG_EXT3_FS_MODULE 1
-+#undef CONFIG_JBD
-+#define CONFIG_JBD_MODULE 1
-+#undef CONFIG_JBD_DEBUG
-+#undef CONFIG_FAT_FS
-+#define CONFIG_FAT_FS_MODULE 1
-+#undef CONFIG_MSDOS_FS
-+#undef CONFIG_UMSDOS_FS
-+#undef CONFIG_VFAT_FS
-+#define CONFIG_VFAT_FS_MODULE 1
-+#undef CONFIG_EFS_FS
-+#undef CONFIG_JFFS_FS
-+#define CONFIG_JFFS2_FS 1
-+#define CONFIG_JFFS2_FS_DEBUG (0)
-+#undef CONFIG_JFFS2_BBC_ARMLIB
-+#undef CONFIG_JFFS2_BBC_LZO
-+#define CONFIG_JFFS2_BBC_LZARI 1
-+#undef CONFIG_JFFS2_BBC_LZHD
-+#undef CONFIG_JFFS2_BBC_LZSS
-+#undef CONFIG_CRAMFS
-+#define CONFIG_SQUASHFS 1
-+#undef CONFIG_SQUASHFS_EMBEDDED
-+#define CONFIG_TMPFS 1
-+#define CONFIG_RAMFS 1
-+#undef CONFIG_ISO9660_FS
-+#define CONFIG_ISO9660_FS_MODULE 1
-+#define CONFIG_JOLIET 1
-+#undef CONFIG_ZISOFS
-+#undef CONFIG_JFS_FS
-+#undef CONFIG_JFS_DEBUG
-+#undef CONFIG_JFS_STATISTICS
-+#undef CONFIG_MINIX_FS
-+#define CONFIG_MINIX_FS_MODULE 1
-+#undef CONFIG_VXFS_FS
-+#undef CONFIG_NTFS_FS
-+#undef CONFIG_NTFS_RW
-+#undef CONFIG_HPFS_FS
-+#define CONFIG_PROC_FS 1
-+#define CONFIG_DEVFS_FS 1
-+#define CONFIG_DEVFS_MOUNT 1
-+#undef CONFIG_DEVFS_DEBUG
-+#define CONFIG_DEVPTS_FS 1
-+#undef CONFIG_QNX4FS_FS
-+#undef CONFIG_QNX4FS_RW
-+#undef CONFIG_ROMFS_FS
-+#undef CONFIG_EXT2_FS
-+#define CONFIG_EXT2_FS_MODULE 1
-+#undef CONFIG_SYSV_FS
-+#undef CONFIG_UDF_FS
-+#undef CONFIG_UDF_RW
-+#undef CONFIG_UFS_FS
-+#undef CONFIG_UFS_FS_WRITE
-+#undef CONFIG_XFS_FS
-+#define CONFIG_XFS_FS_MODULE 1
-+#undef CONFIG_XFS_QUOTA
-+#undef CONFIG_XFS_RT
-+#undef CONFIG_XFS_TRACE
-+#undef CONFIG_XFS_DEBUG
-+
-+/*
-+ * Network File Systems
-+ */
-+#undef CONFIG_CODA_FS
-+#undef CONFIG_INTERMEZZO_FS
-+#undef CONFIG_NFS_FS
-+#define CONFIG_NFS_FS_MODULE 1
-+#define CONFIG_NFS_V3 1
-+#undef CONFIG_NFS_DIRECTIO
-+#undef CONFIG_ROOT_NFS
-+#undef CONFIG_NFSD
-+#undef CONFIG_NFSD_V3
-+#undef CONFIG_NFSD_TCP
-+#undef CONFIG_SUNRPC
-+#define CONFIG_SUNRPC_MODULE 1
-+#undef CONFIG_LOCKD
-+#define CONFIG_LOCKD_MODULE 1
-+#define CONFIG_LOCKD_V4 1
-+#undef CONFIG_CIFS
-+#define CONFIG_CIFS_MODULE 1
-+#undef CONFIG_CIFS_STATS
-+#define CONFIG_CIFS_POSIX 1
-+#undef CONFIG_SMB_FS
-+#undef CONFIG_NCP_FS
-+#undef CONFIG_NCPFS_PACKET_SIGNING
-+#undef CONFIG_NCPFS_IOCTL_LOCKING
-+#undef CONFIG_NCPFS_STRONG
-+#undef CONFIG_NCPFS_NFS_NS
-+#undef CONFIG_NCPFS_OS2_NS
-+#undef CONFIG_NCPFS_SMALLDOS
-+#undef CONFIG_NCPFS_NLS
-+#undef CONFIG_NCPFS_EXTRAS
-+#undef CONFIG_ZISOFS_FS
-+
-+/*
-+ * Partition Types
-+ */
-+#define CONFIG_PARTITION_ADVANCED 1
-+#undef CONFIG_ACORN_PARTITION
-+#undef CONFIG_OSF_PARTITION
-+#undef CONFIG_AMIGA_PARTITION
-+#undef CONFIG_ATARI_PARTITION
-+#define CONFIG_MAC_PARTITION 1
-+#define CONFIG_MSDOS_PARTITION 1
-+#undef CONFIG_BSD_DISKLABEL
-+#undef CONFIG_MINIX_SUBPARTITION
-+#undef CONFIG_SOLARIS_X86_PARTITION
-+#undef CONFIG_UNIXWARE_DISKLABEL
-+#undef CONFIG_LDM_PARTITION
-+#undef CONFIG_SGI_PARTITION
-+#undef CONFIG_ULTRIX_PARTITION
-+#undef CONFIG_SUN_PARTITION
-+#undef CONFIG_EFI_PARTITION
-+#undef CONFIG_SMB_NLS
-+#define CONFIG_NLS 1
-+
-+/*
-+ * Native Language Support
-+ */
-+#define CONFIG_NLS_DEFAULT "iso8859-1"
-+#undef CONFIG_NLS_CODEPAGE_437
-+#undef CONFIG_NLS_CODEPAGE_737
-+#undef CONFIG_NLS_CODEPAGE_775
-+#undef CONFIG_NLS_CODEPAGE_850
-+#undef CONFIG_NLS_CODEPAGE_852
-+#undef CONFIG_NLS_CODEPAGE_855
-+#undef CONFIG_NLS_CODEPAGE_857
-+#undef CONFIG_NLS_CODEPAGE_860
-+#undef CONFIG_NLS_CODEPAGE_861
-+#undef CONFIG_NLS_CODEPAGE_862
-+#undef CONFIG_NLS_CODEPAGE_863
-+#undef CONFIG_NLS_CODEPAGE_864
-+#undef CONFIG_NLS_CODEPAGE_865
-+#undef CONFIG_NLS_CODEPAGE_866
-+#undef CONFIG_NLS_CODEPAGE_869
-+#undef CONFIG_NLS_CODEPAGE_936
-+#undef CONFIG_NLS_CODEPAGE_950
-+#undef CONFIG_NLS_CODEPAGE_932
-+#undef CONFIG_NLS_CODEPAGE_949
-+#undef CONFIG_NLS_CODEPAGE_874
-+#undef CONFIG_NLS_ISO8859_8
-+#undef CONFIG_NLS_CODEPAGE_1250
-+#undef CONFIG_NLS_CODEPAGE_1251
-+#undef CONFIG_NLS_ISO8859_1
-+#undef CONFIG_NLS_ISO8859_2
-+#undef CONFIG_NLS_ISO8859_3
-+#undef CONFIG_NLS_ISO8859_4
-+#undef CONFIG_NLS_ISO8859_5
-+#undef CONFIG_NLS_ISO8859_6
-+#undef CONFIG_NLS_ISO8859_7
-+#undef CONFIG_NLS_ISO8859_9
-+#undef CONFIG_NLS_ISO8859_13
-+#undef CONFIG_NLS_ISO8859_14
-+#undef CONFIG_NLS_ISO8859_15
-+#undef CONFIG_NLS_KOI8_R
-+#undef CONFIG_NLS_KOI8_U
-+#undef CONFIG_NLS_UTF8
-+
-+/*
-+ * Multimedia devices
-+ */
-+#undef CONFIG_VIDEO_DEV
-+#define CONFIG_VIDEO_DEV_MODULE 1
-+
-+/*
-+ * Video For Linux
-+ */
-+#define CONFIG_VIDEO_PROC_FS 1
-+#undef CONFIG_I2C_PARPORT
-+
-+/*
-+ * Video Adapters
-+ */
-+#undef CONFIG_VIDEO_BT848
-+#undef CONFIG_VIDEO_PMS
-+#undef CONFIG_VIDEO_BWQCAM
-+#undef CONFIG_VIDEO_CQCAM
-+#undef CONFIG_VIDEO_CPIA
-+#undef CONFIG_VIDEO_SAA5249
-+#undef CONFIG_TUNER_3036
-+#undef CONFIG_VIDEO_STRADIS
-+#undef CONFIG_VIDEO_ZORAN
-+#undef CONFIG_VIDEO_ZORAN_BUZ
-+#undef CONFIG_VIDEO_ZORAN_DC10
-+#undef CONFIG_VIDEO_ZORAN_LML33
-+#undef CONFIG_VIDEO_ZR36120
-+#undef CONFIG_VIDEO_MEYE
-+
-+/*
-+ * Radio Adapters
-+ */
-+#undef CONFIG_RADIO_GEMTEK_PCI
-+#undef CONFIG_RADIO_MAXIRADIO
-+#undef CONFIG_RADIO_MAESTRO
-+#undef CONFIG_RADIO_MIROPCM20
-+
-+/*
-+ * Sound
-+ */
-+#undef CONFIG_SOUND
-+#define CONFIG_SOUND_MODULE 1
-+#undef CONFIG_SOUND_ALI5455
-+#undef CONFIG_SOUND_BT878
-+#undef CONFIG_SOUND_CMPCI
-+#undef CONFIG_SOUND_EMU10K1
-+#undef CONFIG_MIDI_EMU10K1
-+#undef CONFIG_SOUND_FUSION
-+#undef CONFIG_SOUND_CS4281
-+#undef CONFIG_SOUND_ES1370
-+#undef CONFIG_SOUND_ES1371
-+#undef CONFIG_SOUND_ESSSOLO1
-+#undef CONFIG_SOUND_MAESTRO
-+#undef CONFIG_SOUND_MAESTRO3
-+#undef CONFIG_SOUND_FORTE
-+#undef CONFIG_SOUND_ICH
-+#undef CONFIG_SOUND_RME96XX
-+#undef CONFIG_SOUND_SONICVIBES
-+#undef CONFIG_SOUND_TRIDENT
-+#undef CONFIG_SOUND_MSNDCLAS
-+#undef CONFIG_SOUND_MSNDPIN
-+#undef CONFIG_SOUND_VIA82CXXX
-+#undef CONFIG_MIDI_VIA82CXXX
-+#undef CONFIG_SOUND_OSS
-+#undef CONFIG_SOUND_TVMIXER
-+#undef CONFIG_SOUND_AD1980
-+#undef CONFIG_SOUND_WM97XX
-+
-+/*
-+ * USB support
-+ */
-+#undef CONFIG_USB
-+#define CONFIG_USB_MODULE 1
-+#undef CONFIG_USB_DEBUG
-+
-+/*
-+ * Miscellaneous USB options
-+ */
-+#define CONFIG_USB_DEVICEFS 1
-+#undef CONFIG_USB_BANDWIDTH
-+
-+/*
-+ * USB Host Controller Drivers
-+ */
-+#undef CONFIG_USB_EHCI_HCD
-+#define CONFIG_USB_EHCI_HCD_MODULE 1
-+#undef CONFIG_USB_UHCI
-+#undef CONFIG_USB_UHCI_ALT
-+#define CONFIG_USB_UHCI_ALT_MODULE 1
-+#undef CONFIG_USB_OHCI
-+#define CONFIG_USB_OHCI_MODULE 1
-+
-+/*
-+ * USB Device Class drivers
-+ */
-+#undef CONFIG_USB_AUDIO
-+#define CONFIG_USB_AUDIO_MODULE 1
-+#undef CONFIG_USB_EMI26
-+
-+/*
-+ * USB Bluetooth can only be used with disabled Bluetooth subsystem
-+ */
-+#undef CONFIG_USB_MIDI
-+#undef CONFIG_USB_STORAGE
-+#define CONFIG_USB_STORAGE_MODULE 1
-+#undef CONFIG_USB_STORAGE_DEBUG
-+#define CONFIG_USB_STORAGE_DATAFAB 1
-+#define CONFIG_USB_STORAGE_FREECOM 1
-+#undef CONFIG_USB_STORAGE_ISD200
-+#define CONFIG_USB_STORAGE_DPCM 1
-+#define CONFIG_USB_STORAGE_HP8200e 1
-+#define CONFIG_USB_STORAGE_SDDR09 1
-+#define CONFIG_USB_STORAGE_SDDR55 1
-+#define CONFIG_USB_STORAGE_JUMPSHOT 1
-+#undef CONFIG_USB_ACM
-+#define CONFIG_USB_ACM_MODULE 1
-+#undef CONFIG_USB_PRINTER
-+#define CONFIG_USB_PRINTER_MODULE 1
-+
-+/*
-+ * USB Human Interface Devices (HID)
-+ */
-+#undef CONFIG_USB_HID
-+
-+/*
-+ * Input core support is needed for USB HID input layer or HIDBP support
-+ */
-+#undef CONFIG_USB_HIDINPUT
-+#undef CONFIG_USB_HIDDEV
-+#undef CONFIG_USB_KBD
-+#undef CONFIG_USB_MOUSE
-+#undef CONFIG_USB_AIPTEK
-+#undef CONFIG_USB_WACOM
-+#undef CONFIG_USB_KBTAB
-+#undef CONFIG_USB_POWERMATE
-+
-+/*
-+ * USB Imaging devices
-+ */
-+#undef CONFIG_USB_DC2XX
-+#undef CONFIG_USB_MDC800
-+#undef CONFIG_USB_SCANNER
-+#undef CONFIG_USB_MICROTEK
-+#undef CONFIG_USB_HPUSBSCSI
-+
-+/*
-+ * USB Multimedia devices
-+ */
-+#undef CONFIG_USB_IBMCAM
-+#undef CONFIG_USB_KONICAWC
-+#undef CONFIG_USB_OV511
-+#undef CONFIG_USB_PWC
-+#define CONFIG_USB_PWC_MODULE 1
-+#undef CONFIG_USB_SE401
-+#undef CONFIG_USB_STV680
-+#undef CONFIG_USB_W9968CF
-+#undef CONFIG_USB_VICAM
-+#undef CONFIG_USB_DSBR
-+#undef CONFIG_USB_DABUSB
-+
-+/*
-+ * USB Network adaptors
-+ */
-+#undef CONFIG_USB_PEGASUS
-+#undef CONFIG_USB_RTL8150
-+#undef CONFIG_USB_KAWETH
-+#undef CONFIG_USB_CATC
-+#undef CONFIG_USB_CDCETHER
-+#undef CONFIG_USB_USBNET
-+
-+/*
-+ * USB port drivers
-+ */
-+#undef CONFIG_USB_USS720
-+
-+/*
-+ * USB Serial Converter support
-+ */
-+#undef CONFIG_USB_SERIAL
-+#define CONFIG_USB_SERIAL_MODULE 1
-+#undef CONFIG_USB_SERIAL_DEBUG
-+#define CONFIG_USB_SERIAL_GENERIC 1
-+#undef CONFIG_USB_SERIAL_BELKIN
-+#define CONFIG_USB_SERIAL_BELKIN_MODULE 1
-+#undef CONFIG_USB_SERIAL_WHITEHEAT
-+#undef CONFIG_USB_SERIAL_DIGI_ACCELEPORT
-+#undef CONFIG_USB_SERIAL_EMPEG
-+#undef CONFIG_USB_SERIAL_FTDI_SIO
-+#define CONFIG_USB_SERIAL_FTDI_SIO_MODULE 1
-+#undef CONFIG_USB_SERIAL_VISOR
-+#define CONFIG_USB_SERIAL_VISOR_MODULE 1
-+#undef CONFIG_USB_SERIAL_IPAQ
-+#undef CONFIG_USB_SERIAL_IR
-+#undef CONFIG_USB_SERIAL_EDGEPORT
-+#undef CONFIG_USB_SERIAL_EDGEPORT_TI
-+#undef CONFIG_USB_SERIAL_KEYSPAN_PDA
-+#undef CONFIG_USB_SERIAL_KEYSPAN
-+#undef CONFIG_USB_SERIAL_MCT_U232
-+#define CONFIG_USB_SERIAL_MCT_U232_MODULE 1
-+#undef CONFIG_USB_SERIAL_KLSI
-+#undef CONFIG_USB_SERIAL_KOBIL_SCT
-+#undef CONFIG_USB_SERIAL_PL2303
-+#define CONFIG_USB_SERIAL_PL2303_MODULE 1
-+#undef CONFIG_USB_SERIAL_CYBERJACK
-+#undef CONFIG_USB_SERIAL_XIRCOM
-+#undef CONFIG_USB_SERIAL_OMNINET
-+
-+/*
-+ * USB Miscellaneous drivers
-+ */
-+#undef CONFIG_USB_RIO500
-+#undef CONFIG_USB_AUERSWALD
-+#undef CONFIG_USB_TIGL
-+#undef CONFIG_USB_BRLVGER
-+#undef CONFIG_USB_LCD
-+
-+/*
-+ * Support for USB gadgets
-+ */
-+#undef CONFIG_USB_GADGET
-+
-+/*
-+ * Bluetooth support
-+ */
-+#undef CONFIG_BLUEZ
-+#define CONFIG_BLUEZ_MODULE 1
-+#undef CONFIG_BLUEZ_L2CAP
-+#define CONFIG_BLUEZ_L2CAP_MODULE 1
-+#undef CONFIG_BLUEZ_SCO
-+#define CONFIG_BLUEZ_SCO_MODULE 1
-+#undef CONFIG_BLUEZ_RFCOMM
-+#define CONFIG_BLUEZ_RFCOMM_MODULE 1
-+#define CONFIG_BLUEZ_RFCOMM_TTY 1
-+#undef CONFIG_BLUEZ_BNEP
-+#define CONFIG_BLUEZ_BNEP_MODULE 1
-+#define CONFIG_BLUEZ_BNEP_MC_FILTER 1
-+#define CONFIG_BLUEZ_BNEP_PROTO_FILTER 1
-+
-+/*
-+ * Bluetooth device drivers
-+ */
-+#undef CONFIG_BLUEZ_HCIUSB
-+#define CONFIG_BLUEZ_HCIUSB_MODULE 1
-+#define CONFIG_BLUEZ_HCIUSB_SCO 1
-+#undef CONFIG_BLUEZ_HCIUART
-+#define CONFIG_BLUEZ_HCIUART_MODULE 1
-+#define CONFIG_BLUEZ_HCIUART_H4 1
-+#define CONFIG_BLUEZ_HCIUART_BCSP 1
-+#define CONFIG_BLUEZ_HCIUART_BCSP_TXCRC 1
-+#undef CONFIG_BLUEZ_HCIBFUSB
-+#undef CONFIG_BLUEZ_HCIDTL1
-+#undef CONFIG_BLUEZ_HCIBT3C
-+#undef CONFIG_BLUEZ_HCIBLUECARD
-+#undef CONFIG_BLUEZ_HCIBTUART
-+#undef CONFIG_BLUEZ_HCIVHCI
-+
-+/*
-+ * Kernel hacking
-+ */
-+#define CONFIG_CROSSCOMPILE 1
-+#undef CONFIG_RUNTIME_DEBUG
-+#undef CONFIG_REMOTE_DEBUG
-+#undef CONFIG_GDB_CONSOLE
-+#undef CONFIG_DEBUG_INFO
-+#define CONFIG_MAGIC_SYSRQ 1
-+#undef CONFIG_MIPS_UNCACHED
-+#define CONFIG_LOG_BUF_SHIFT (0)
-+
-+/*
-+ * Cryptographic options
-+ */
-+#define CONFIG_CRYPTO 1
-+#define CONFIG_CRYPTO_HMAC 1
-+#undef CONFIG_CRYPTO_NULL
-+#undef CONFIG_CRYPTO_MD4
-+#undef CONFIG_CRYPTO_MD5
-+#define CONFIG_CRYPTO_MD5_MODULE 1
-+#undef CONFIG_CRYPTO_SHA1
-+#define CONFIG_CRYPTO_SHA1_MODULE 1
-+#undef CONFIG_CRYPTO_SHA256
-+#undef CONFIG_CRYPTO_SHA512
-+#undef CONFIG_CRYPTO_WP512
-+#undef CONFIG_CRYPTO_DES
-+#define CONFIG_CRYPTO_DES_MODULE 1
-+#undef CONFIG_CRYPTO_BLOWFISH
-+#undef CONFIG_CRYPTO_TWOFISH
-+#undef CONFIG_CRYPTO_SERPENT
-+#undef CONFIG_CRYPTO_AES
-+#define CONFIG_CRYPTO_AES_MODULE 1
-+#undef CONFIG_CRYPTO_CAST5
-+#undef CONFIG_CRYPTO_CAST6
-+#undef CONFIG_CRYPTO_TEA
-+#undef CONFIG_CRYPTO_KHAZAD
-+#undef CONFIG_CRYPTO_ANUBIS
-+#undef CONFIG_CRYPTO_ARC4
-+#define CONFIG_CRYPTO_ARC4_MODULE 1
-+#undef CONFIG_CRYPTO_DEFLATE
-+#define CONFIG_CRYPTO_DEFLATE_MODULE 1
-+#undef CONFIG_CRYPTO_MICHAEL_MIC
-+#define CONFIG_CRYPTO_MICHAEL_MIC_MODULE 1
-+#undef CONFIG_CRYPTO_TEST
-+
-+/*
-+ * Library routines
-+ */
-+#undef CONFIG_CRC32
-+#define CONFIG_ZLIB_INFLATE 1
-+#define CONFIG_ZLIB_DEFLATE 1
-+#undef CONFIG_FW_LOADER
-diff -Nur linux-2.4.32/include/linux/b1lli.h linux-2.4.32.patched/include/linux/b1lli.h
---- linux-2.4.32/include/linux/b1lli.h 2001-10-11 18:47:33.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/b1lli.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: b1lli.h,v 1.8.8.3 2001/09/23 22:25:05 kai Exp $
-+/* $Id$
- *
- * ISDN lowlevel-module for AVM B1-card.
- *
-diff -Nur linux-2.4.32/include/linux/b1pcmcia.h linux-2.4.32.patched/include/linux/b1pcmcia.h
---- linux-2.4.32/include/linux/b1pcmcia.h 2001-10-11 18:47:33.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/b1pcmcia.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: b1pcmcia.h,v 1.1.8.2 2001/09/23 22:25:05 kai Exp $
-+/* $Id$
- *
- * Exported functions of module b1pcmcia to be called by
- * avm_cs card services module.
-diff -Nur linux-2.4.32/include/linux/byteorder/swab.h linux-2.4.32.patched/include/linux/byteorder/swab.h
---- linux-2.4.32/include/linux/byteorder/swab.h 2002-11-29 00:53:15.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/byteorder/swab.h 2006-03-13 18:55:55.000000000 +0100
-@@ -15,6 +15,8 @@
- *
- */
-
-+#include <linux/compiler.h>
-+
- /* casts are necessary for constants, because we never know how for sure
- * how U/UL/ULL map to __u16, __u32, __u64. At least not in a portable way.
- */
-@@ -156,7 +158,7 @@
- #endif /* OPTIMIZE */
-
-
--static __inline__ __const__ __u16 __fswab16(__u16 x)
-+static __inline__ __attribute_const__ __u16 __fswab16(__u16 x)
- {
- return __arch__swab16(x);
- }
-@@ -169,7 +171,7 @@
- __arch__swab16s(addr);
- }
-
--static __inline__ __const__ __u32 __fswab24(__u32 x)
-+static __inline__ __attribute_const__ __u32 __fswab24(__u32 x)
- {
- return __arch__swab24(x);
- }
-@@ -182,7 +184,7 @@
- __arch__swab24s(addr);
- }
-
--static __inline__ __const__ __u32 __fswab32(__u32 x)
-+static __inline__ __attribute_const__ __u32 __fswab32(__u32 x)
- {
- return __arch__swab32(x);
- }
-@@ -196,7 +198,7 @@
- }
-
- #ifdef __BYTEORDER_HAS_U64__
--static __inline__ __const__ __u64 __fswab64(__u64 x)
-+static __inline__ __attribute_const__ __u64 __fswab64(__u64 x)
- {
- # ifdef __SWAB_64_THRU_32__
- __u32 h = x >> 32;
-diff -Nur linux-2.4.32/include/linux/capi.h linux-2.4.32.patched/include/linux/capi.h
---- linux-2.4.32/include/linux/capi.h 2002-02-25 20:38:13.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/capi.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
-+/* $Id$
- *
- * CAPI 2.0 Interface for Linux
- *
-diff -Nur linux-2.4.32/include/linux/compiler.h linux-2.4.32.patched/include/linux/compiler.h
---- linux-2.4.32/include/linux/compiler.h 2004-11-17 12:54:22.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/compiler.h 2006-03-13 18:55:55.000000000 +0100
-@@ -27,6 +27,12 @@
- #define __attribute_used__ /* not implemented */
- #endif /* __GNUC__ */
-
-+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
-+#define __attribute_const__ __attribute__((__const__))
-+#else
-+#define __attribute_const__ /* unimplemented */
-+#endif
-+
- #if __GNUC__ == 3
- #if __GNUC_MINOR__ >= 1
- # define inline __inline__ __attribute__((always_inline))
-diff -Nur linux-2.4.32/include/linux/concap.h linux-2.4.32.patched/include/linux/concap.h
---- linux-2.4.32/include/linux/concap.h 2001-09-30 21:26:42.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/concap.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: concap.h,v 1.2.8.1 2001/09/23 22:25:05 kai Exp $
-+/* $Id: concap.h,v 1.3 2001/09/24 13:23:13 kai Exp $
- *
- * Copyright 1997 by Henner Eisen <eis@baty.hanse.de>
- *
-@@ -11,6 +11,7 @@
- #ifdef __KERNEL__
- #include <linux/skbuff.h>
- #include <linux/netdevice.h>
-+#include <linux/isdn_compat.h>
-
- /* Stuff to support encapsulation protocols genericly. The encapsulation
- protocol is processed at the uppermost layer of the network interface.
-diff -Nur linux-2.4.32/include/linux/fsfilter.h linux-2.4.32.patched/include/linux/fsfilter.h
---- linux-2.4.32/include/linux/fsfilter.h 2004-11-17 12:54:22.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/fsfilter.h 2006-03-13 18:55:55.000000000 +0100
-@@ -70,7 +70,6 @@
- #define FILTER_FS_XFS 3
- #define FILTER_FS_OBDFS 4
- #define FILTER_FS_TMPFS 5
--extern struct filter_fs filter_oppar[FILTER_FS_TYPES];
-
- struct filter_fs *filter_get_filter_fs(const char *cache_type);
- void filter_setup_journal_ops(struct filter_fs *ops, char *cache_type);
-diff -Nur linux-2.4.32/include/linux/fs.h linux-2.4.32.patched/include/linux/fs.h
---- linux-2.4.32/include/linux/fs.h 2005-04-04 03:42:20.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -324,6 +324,7 @@
- #include <linux/usbdev_fs_i.h>
- #include <linux/jffs2_fs_i.h>
- #include <linux/cramfs_fs_sb.h>
-+#include <linux/squashfs_fs_i.h>
-
- /*
- * Attribute flags. These should be or-ed together to figure out what
-@@ -519,6 +520,7 @@
- struct socket socket_i;
- struct usbdev_inode_info usbdev_i;
- struct jffs2_inode_info jffs2_i;
-+ struct squashfs_inode_info squashfs_i;
- void *generic_ip;
- } u;
- };
-@@ -734,6 +736,7 @@
- #include <linux/usbdev_fs_sb.h>
- #include <linux/cramfs_fs_sb.h>
- #include <linux/jffs2_fs_sb.h>
-+#include <linux/squashfs_fs_sb.h>
-
- extern struct list_head super_blocks;
- extern spinlock_t sb_lock;
-@@ -793,6 +796,7 @@
- struct usbdev_sb_info usbdevfs_sb;
- struct jffs2_sb_info jffs2_sb;
- struct cramfs_sb_info cramfs_sb;
-+ struct squashfs_sb_info squashfs_sb;
- void *generic_sbp;
- } u;
- /*
-@@ -1559,7 +1563,6 @@
- unsigned long generate_cluster(kdev_t, int b[], int);
- unsigned long generate_cluster_swab32(kdev_t, int b[], int);
- extern kdev_t ROOT_DEV;
--extern char root_device_name[];
-
-
- extern void show_buffers(void);
-diff -Nur linux-2.4.32/include/linux/generic_serial.h linux-2.4.32.patched/include/linux/generic_serial.h
---- linux-2.4.32/include/linux/generic_serial.h 2002-02-25 20:38:13.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/generic_serial.h 2006-03-13 18:55:55.000000000 +0100
-@@ -98,6 +98,4 @@
- int gs_getserial(struct gs_port *port, struct serial_struct *sp);
- void gs_got_break(struct gs_port *port);
-
--extern int gs_debug;
--
- #endif
-diff -Nur linux-2.4.32/include/linux/hysdn_if.h linux-2.4.32.patched/include/linux/hysdn_if.h
---- linux-2.4.32/include/linux/hysdn_if.h 2001-09-30 21:26:42.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/hysdn_if.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: hysdn_if.h,v 1.1.8.3 2001/09/23 22:25:05 kai Exp $
-+/* $Id$
- *
- * Linux driver for HYSDN cards
- * ioctl definitions shared by hynetmgr and driver.
-diff -Nur linux-2.4.32/include/linux/i2c-algo-au1550.h linux-2.4.32.patched/include/linux/i2c-algo-au1550.h
---- linux-2.4.32/include/linux/i2c-algo-au1550.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/i2c-algo-au1550.h 2006-03-13 18:55:54.000000000 +0100
-@@ -0,0 +1,31 @@
-+/*
-+ * Copyright (C) 2004 Embedded Edge, LLC <dan@embeddededge.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+ */
-+
-+#ifndef I2C_ALGO_AU1550_H
-+#define I2C_ALGO_AU1550_H 1
-+
-+struct i2c_algo_au1550_data {
-+ u32 psc_base;
-+ int xfer_timeout;
-+ int ack_timeout;
-+};
-+
-+int i2c_au1550_add_bus(struct i2c_adapter *);
-+int i2c_au1550_del_bus(struct i2c_adapter *);
-+
-+#endif /* I2C_ALGO_AU1550_H */
-diff -Nur linux-2.4.32/include/linux/i2c.h linux-2.4.32.patched/include/linux/i2c.h
---- linux-2.4.32/include/linux/i2c.h 2005-06-01 02:56:56.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/i2c.h 2006-03-13 18:55:55.000000000 +0100
-@@ -70,7 +70,7 @@
-
- /* Transfer num messages.
- */
--extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg msg[],int num);
-+extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msg,int num);
-
- /*
- * Some adapter types (i.e. PCF 8584 based ones) may support slave behaviuor.
-@@ -197,7 +197,7 @@
- to NULL. If an adapter algorithm can do SMBus access, set
- smbus_xfer. If set to NULL, the SMBus protocol is simulated
- using common I2C messages */
-- int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg msgs[],
-+ int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg *msgs,
- int num);
- int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr,
- unsigned short flags, char read_write,
-diff -Nur linux-2.4.32/include/linux/i2c-id.h linux-2.4.32.patched/include/linux/i2c-id.h
---- linux-2.4.32/include/linux/i2c-id.h 2004-02-18 14:36:32.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/i2c-id.h 2006-03-13 18:55:54.000000000 +0100
-@@ -156,6 +156,8 @@
-
- #define I2C_ALGO_SGI 0x130000 /* SGI algorithm */
-
-+#define I2C_ALGO_AU1550 0x140000 /* Alchemy Au1550 PSC */
-+
- #define I2C_ALGO_EXP 0x800000 /* experimental */
-
- #define I2C_ALGO_MASK 0xff0000 /* Mask for algorithms */
-@@ -204,6 +206,9 @@
- #define I2C_HW_SGI_VINO 0x00
- #define I2C_HW_SGI_MACE 0x01
-
-+/* --- Au1550 PSC adapters */
-+#define I2C_HW_AU1550_PSC 0x00
-+
- /* --- SMBus only adapters */
- #define I2C_HW_SMBUS_PIIX4 0x00
- #define I2C_HW_SMBUS_ALI15X3 0x01
-diff -Nur linux-2.4.32/include/linux/imq.h linux-2.4.32.patched/include/linux/imq.h
---- linux-2.4.32/include/linux/imq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/imq.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,9 @@
-+#ifndef _IMQ_H
-+#define _IMQ_H
-+
-+#define IMQ_MAX_DEVS 16
-+
-+#define IMQ_F_IFMASK 0x7f
-+#define IMQ_F_ENQUEUE 0x80
-+
-+#endif /* _IMQ_H */
-diff -Nur linux-2.4.32/include/linux/intermezzo_fs.h linux-2.4.32.patched/include/linux/intermezzo_fs.h
---- linux-2.4.32/include/linux/intermezzo_fs.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/intermezzo_fs.h 2006-03-13 18:55:55.000000000 +0100
-@@ -321,7 +321,6 @@
- int presto_ispresto(struct inode *);
-
- /* super.c */
--extern struct file_system_type presto_fs_type;
- extern int init_intermezzo_fs(void);
-
- /* fileset.c */
-diff -Nur linux-2.4.32/include/linux/isdn/tpam.h linux-2.4.32.patched/include/linux/isdn/tpam.h
---- linux-2.4.32/include/linux/isdn/tpam.h 2001-12-21 18:42:03.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/isdn/tpam.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:38 kai Exp $
-+/* $Id$
- *
- * Turbo PAM ISDN driver for Linux. (Kernel Driver)
- *
-diff -Nur linux-2.4.32/include/linux/isdn_compat.h linux-2.4.32.patched/include/linux/isdn_compat.h
---- linux-2.4.32/include/linux/isdn_compat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/isdn_compat.h 2006-03-13 18:55:56.000000000 +0100
-@@ -0,0 +1,261 @@
-+/* $Id: isdn_compat.h,v 1.53 2001/09/24 13:23:13 kai Exp $
-+ *
-+ * Linux ISDN subsystem
-+ * Compatibility for various Linux kernel versions
-+ *
-+ * This software may be used and distributed according to the terms
-+ * of the GNU General Public License, incorporated herein by reference.
-+ *
-+ */
-+
-+#ifndef _LINUX_ISDN_COMPAT_H
-+#define _LINUX_ISDN_COMPAT_H
-+
-+#ifdef __KERNEL__
-+
-+#ifndef ISDN_COMPAT_NOT_GENERIC
-+/* when using std2kern -u, this part is left out and instead provided
-+ by the .ctrl files */
-+
-+#include <linux/version.h>
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,2,18)
-+
-+#define set_current_state(sta) (current->state = sta)
-+#define module_init(x) int init_module(void) { return x(); }
-+#define module_exit(x) void cleanup_module(void) { x(); }
-+#define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0 = 0; } while (0)
-+#define init_MUTEX(x) *(x)=MUTEX
-+#define init_MUTEX_LOCKED(x) *(x)=MUTEX_LOCKED
-+#define __devinit
-+#define __devinitdata
-+
-+#else /* 2.2.18 and later */
-+
-+#define COMPAT_HAS_NEW_SETUP
-+#define COMPAT_HAS_NEW_WAITQ
-+
-+#endif
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
-+
-+#define dev_kfree_skb_irq(a) dev_kfree_skb(a)
-+#define dev_kfree_skb_any(a) dev_kfree_skb(a)
-+#define COMPAT_HAS_2_2_PCI
-+#define get_pcibase(ps, nr) ps->base_address[nr]
-+#define pci_resource_start_io(pdev, nr) ((pdev)->base_address[nr] & PCI_BASE_ADDRESS_IO_MASK)
-+#define pci_resource_start_mem(pdev, nr) ((pdev)->base_address[nr] & PCI_BASE_ADDRESS_MEM_MASK)
-+#define pci_get_sub_vendor(pdev, id) pci_read_config_word(pdev, PCI_SUBSYSTEM_VENDOR_ID, &id)
-+#define pci_get_sub_system(pdev, id) pci_read_config_word(pdev, PCI_SUBSYSTEM_ID, &id)
-+
-+#define __exit
-+#define __devinit
-+#define __devinitdata
-+
-+#define net_device device
-+#define COMPAT_NO_SOFTNET
-+#define netif_running(d) test_bit(LINK_STATE_START, &d->state)
-+#define COMPAT_NEED_MPPP_DEFS
-+#define spin_lock_bh(lock)
-+#define spin_unlock_bh(lock)
-+#define COMPAT_NEED_SPIN_LOCK_BH
-+#define i_count_read(ic) ic
-+#define i_count_inc(ic) ic++
-+#define COMPAT_USE_MODCOUNT_LOCK
-+#define devfs_register_chrdev(m,n,f) register_chrdev(m,n,f)
-+#define devfs_unregister_chrdev(m,n) unregister_chrdev(m,n)
-+#define COMPAT_NEED_PCI_IDS
-+#define in_irq() (local_irq_count[smp_processor_id()] != 0)
-+
-+#else /* 2.4.0 and later */
-+
-+#define pci_resource_start_io(pdev, nr) pci_resource_start(pdev, nr)
-+#define pci_resource_start_mem(pdev, nr) pci_resource_start(pdev, nr)
-+#define get_pcibase(ps, nr) ps->resource[nr].start
-+#define pci_get_sub_system(pdev, id) id = pdev->subsystem_device
-+#define pci_get_sub_vendor(pdev, id) id = pdev->subsystem_vendor
-+
-+#define BIG_PHONE_NUMBERS
-+#define COMPAT_HAS_ISA_IOREMAP
-+#define i_count_read(ic) atomic_read(&ic)
-+#define i_count_inc(ic) atomic_inc(&ic)
-+#define COMPAT_HAS_FILEOP_OWNER
-+#define COMPAT_HAVE_NEW_FILLDIR
-+#define COMPAT_has_fileops_in_inode
-+#define COMPAT_HAS_init_special_inode
-+#define COMPAT_d_alloc_root_one_parameter
-+#define HAVE_DEVFS_FS
-+#define COMPAT_HAS_SCHEDULE_TASK
-+#define COMPAT_HAS_USB_IDTAB
-+
-+#endif
-+
-+#endif /* ISDN_COMPAT_GENERIC */
-+
-+#ifdef COMPAT_HAS_2_2_PCI
-+#include <linux/pci.h>
-+#ifdef __powerpc__
-+static inline int pci_enable_device(struct pci_dev *dev)
-+{
-+ u16 cmd;
-+ pci_read_config_word(dev, PCI_COMMAND, &cmd);
-+ cmd |= PCI_COMMAND_MEMORY | PCI_COMMAND_IO | PCI_COMMAND_SERR;
-+ cmd &= ~PCI_COMMAND_FAST_BACK;
-+ pci_write_config_word(dev, PCI_COMMAND, cmd);
-+ return(0);
-+}
-+#else
-+static inline int pci_enable_device(struct pci_dev *dev)
-+{
-+ return 0;
-+}
-+#endif /* __powerpc__ */
-+
-+#define PCI_ANY_ID (~0)
-+
-+/* as this is included multiple times, we make it inline */
-+
-+static inline struct pci_dev * pci_find_subsys(unsigned int vendor, unsigned int device,
-+ unsigned int ss_vendor, unsigned int ss_device,
-+ struct pci_dev *from)
-+{
-+ unsigned short subsystem_vendor, subsystem_device;
-+
-+ while ((from = pci_find_device(vendor, device, from))) {
-+ pci_read_config_word(from, PCI_SUBSYSTEM_VENDOR_ID, &subsystem_vendor);
-+ pci_read_config_word(from, PCI_SUBSYSTEM_ID, &subsystem_device);
-+ if ((ss_vendor == PCI_ANY_ID || subsystem_vendor == ss_vendor) &&
-+ (ss_device == PCI_ANY_ID || subsystem_device == ss_device))
-+ return from;
-+ }
-+ return NULL;
-+}
-+#endif
-+
-+#ifdef COMPAT_NO_SOFTNET
-+#include <linux/netdevice.h>
-+
-+/*
-+ * Tell upper layers that the network device is ready to xmit more frames.
-+ */
-+static void __inline__ netif_wake_queue(struct net_device * dev)
-+{
-+ dev->tbusy = 0;
-+ mark_bh(NET_BH);
-+}
-+
-+/*
-+ * called during net_device open()
-+ */
-+static void __inline__ netif_start_queue(struct net_device * dev)
-+{
-+ dev->tbusy = 0;
-+ /* actually, we never use the interrupt flag at all */
-+ dev->interrupt = 0;
-+ dev->start = 1;
-+}
-+
-+/*
-+ * Ask upper layers to temporarily cease passing us more xmit frames.
-+ */
-+static void __inline__ netif_stop_queue(struct net_device * dev)
-+{
-+ dev->tbusy = 1;
-+}
-+
-+#endif /* COMPAT_NO_SOFTNET */
-+
-+#ifndef COMPAT_HAS_NEW_WAITQ
-+typedef struct wait_queue wait_queue_t;
-+typedef struct wait_queue *wait_queue_head_t;
-+
-+#define DECLARE_WAITQUEUE(wait, current) struct wait_queue wait = { current, NULL }
-+#define DECLARE_WAIT_QUEUE_HEAD(wait) wait_queue_head_t wait
-+#define init_waitqueue_head(x) *(x)=NULL
-+#define init_waitqueue_entry(q,p) ((q)->task)=(p)
-+#endif /* COMPAT_HAS_NEW_WAITQ */
-+
-+#ifdef COMPAT_NEED_PCI_IDS
-+
-+#define PCI_ANY_ID (~0)
-+
-+#define PCI_VENDOR_ID_DYNALINK 0x0675
-+#define PCI_DEVICE_ID_DYNALINK_IS64PH 0x1702
-+
-+#define PCI_DEVICE_ID_WINBOND2_6692 0x6692
-+
-+#define PCI_DEVICE_ID_PLX_R685 0x1030
-+#define PCI_DEVICE_ID_PLX_DJINN_ITOO 0x1151
-+#define PCI_DEVICE_ID_PLX_R753 0x1152
-+
-+#define PCI_VENDOR_ID_ELSA 0x1048
-+#define PCI_DEVICE_ID_ELSA_MICROLINK 0x1000
-+#define PCI_DEVICE_ID_ELSA_QS3000 0x3000
-+
-+#define PCI_VENDOR_ID_EICON 0x1133
-+#define PCI_DEVICE_ID_EICON_DIVA20PRO 0xe001
-+#define PCI_DEVICE_ID_EICON_DIVA20 0xe002
-+#define PCI_DEVICE_ID_EICON_DIVA20PRO_U 0xe003
-+#define PCI_DEVICE_ID_EICON_DIVA20_U 0xe004
-+#define PCI_DEVICE_ID_EICON_DIVA201 0xe005
-+#define PCI_DEVICE_ID_EICON_MAESTRA 0xe010
-+#define PCI_DEVICE_ID_EICON_MAESTRAQ 0xe012
-+#define PCI_DEVICE_ID_EICON_MAESTRAQ_U 0xe013
-+#define PCI_DEVICE_ID_EICON_MAESTRAP 0xe014
-+
-+#define PCI_VENDOR_ID_CCD 0x1397
-+#define PCI_DEVICE_ID_CCD_2BD0 0x2BD0
-+#define PCI_DEVICE_ID_CCD_B000 0xB000
-+#define PCI_DEVICE_ID_CCD_B006 0xB006
-+#define PCI_DEVICE_ID_CCD_B007 0xB007
-+#define PCI_DEVICE_ID_CCD_B008 0xB008
-+#define PCI_DEVICE_ID_CCD_B009 0xB009
-+#define PCI_DEVICE_ID_CCD_B00A 0xB00A
-+#define PCI_DEVICE_ID_CCD_B00B 0xB00B
-+#define PCI_DEVICE_ID_CCD_B00C 0xB00C
-+#define PCI_DEVICE_ID_CCD_B100 0xB100
-+
-+#define PCI_VENDOR_ID_ASUSTEK 0x1043
-+#define PCI_DEVICE_ID_ASUSTEK_0675 0x0675
-+
-+#define PCI_VENDOR_ID_BERKOM 0x0871
-+#define PCI_DEVICE_ID_BERKOM_A1T 0xFFA1
-+#define PCI_DEVICE_ID_BERKOM_T_CONCEPT 0xFFA2
-+#define PCI_DEVICE_ID_BERKOM_A4T 0xFFA4
-+#define PCI_DEVICE_ID_BERKOM_SCITEL_QUADRO 0xFFA8
-+
-+#define PCI_DEVICE_ID_SATSAGEM_NICCY 0x1016
-+
-+#define PCI_DEVICE_ID_TIGERJET_100 0x0002
-+
-+#define PCI_VENDOR_ID_ANIGMA 0x1051
-+#define PCI_DEVICE_ID_ANIGMA_MC145575 0x0100
-+
-+#define PCI_VENDOR_ID_ZOLTRIX 0x15b0
-+#define PCI_DEVICE_ID_ZOLTRIX_2BD0 0x2BD0
-+
-+#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_E 0x0070
-+#define PCI_DEVICE_ID_DIGI_DF_M_E 0x0071
-+#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_A 0x0072
-+#define PCI_DEVICE_ID_DIGI_DF_M_A 0x0073
-+
-+#define PCI_DEVICE_ID_AVM_B1 0x0700
-+#define PCI_DEVICE_ID_AVM_C4 0x0800
-+#define PCI_DEVICE_ID_AVM_C2 0x1100
-+#define PCI_DEVICE_ID_AVM_T1 0x1200
-+
-+#define PCI_VENDOR_ID_HYPERCOPE 0x1365
-+#define PCI_DEVICE_ID_HYPERCOPE_PLX 0x9050
-+#define PCI_SUBDEVICE_ID_HYPERCOPE_OLD_ERGO 0x0104
-+#define PCI_SUBDEVICE_ID_HYPERCOPE_ERGO 0x0106
-+#define PCI_SUBDEVICE_ID_HYPERCOPE_METRO 0x0107
-+#define PCI_SUBDEVICE_ID_HYPERCOPE_CHAMP2 0x0108
-+#define PCI_SUBDEVICE_ID_HYPERCOPE_PLEXUS 0x0109
-+
-+#define PCI_VENDOR_ID_ABOCOM 0x13D1
-+#define PCI_DEVICE_ID_ABOCOM_2BD1 0x2BD1
-+
-+#endif /* COMPAT_NEED_PCI_IDS */
-+
-+#endif /* __KERNEL__ */
-+#endif /* _LINUX_ISDN_COMPAT_H */
-diff -Nur linux-2.4.32/include/linux/isdn_divertif.h linux-2.4.32.patched/include/linux/isdn_divertif.h
---- linux-2.4.32/include/linux/isdn_divertif.h 2001-12-21 18:42:03.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/isdn_divertif.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: isdn_divertif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
-+/* $Id$
- *
- * Header for the diversion supplementary interface for i4l.
- *
-@@ -14,7 +14,7 @@
- /***********************************************************/
- /* magic value is also used to control version information */
- /***********************************************************/
--#define DIVERT_IF_MAGIC 0x25873401
-+#define DIVERT_IF_MAGIC 0x25873402
- #define DIVERT_CMD_REG 0x00 /* register command */
- #define DIVERT_CMD_REL 0x01 /* release command */
- #define DIVERT_NO_ERR 0x00 /* return value no error */
-@@ -34,6 +34,7 @@
- int (*ll_cmd)(isdn_ctrl *); /* supplied by hl on return */
- char * (*drv_to_name)(int); /* map a driver id to name, supplied by hl */
- int (*name_to_drv)(char *); /* map a driver id to name, supplied by hl */
-+ int (*dial_net_name)(char *); /* force dial of a ll net interface */
- } isdn_divert_if;
-
- /*********************/
-diff -Nur linux-2.4.32/include/linux/isdn_dwabc.h linux-2.4.32.patched/include/linux/isdn_dwabc.h
---- linux-2.4.32/include/linux/isdn_dwabc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/isdn_dwabc.h 2006-03-13 18:55:56.000000000 +0100
-@@ -0,0 +1,84 @@
-+/* $Id: isdn_dwabc.h,v 1.9 2001/09/26 20:32:08 detabc Exp $
-+ *
-+ * Header for the Linux ISDN abc-extension.
-+ *
-+ * Copyright by abc GmbH
-+ * written by Detlef Wengorz <detlefw@isdn4linux.de>
-+ *
-+ * This software may be used and distributed according to the terms
-+ * of the GNU General Public License, incorporated herein by reference.
-+ *
-+ */
-+
-+#ifndef ISDN_DWABC_H
-+#define ISDN_DWABC_H
-+
-+#ifdef __KERNEL__
-+#include <linux/types.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/smp.h>
-+#include <linux/spinlock.h>
-+#include <linux/errno.h>
-+
-+
-+typedef struct ISDN_DWSPINLOCK {
-+
-+ spinlock_t spin;
-+ short owner;
-+ short my_flags;
-+ ulong irq_flags;
-+
-+} ISDN_DWSPINLOCK;
-+
-+#define ISDN_DWSPIN_UNLOCKED \
-+ (ISDN_DWSPINLOCK) { \
-+ spin: SPIN_LOCK_UNLOCKED, \
-+ owner: -1, \
-+ my_flags: 0, \
-+ irq_flags: 0, \
-+ }
-+
-+#define ISDN_DWSPIN_INIT(x) \
-+ do { *(x) = ISDN_DWSPIN_UNLOCKED; } while(0);
-+
-+static __inline__ int isdn_dwspin_trylock(ISDN_DWSPINLOCK *spin)
-+{
-+ if(!spin_trylock(&spin->spin)) {
-+
-+ if(spin->owner == smp_processor_id())
-+ return(-EAGAIN);
-+
-+ spin_lock(&spin->spin);
-+ }
-+
-+ spin->owner = smp_processor_id();
-+ return(0);
-+}
-+
-+static __inline__ void isdn_dwspin_unlock(ISDN_DWSPINLOCK *spin)
-+{
-+ spin->owner = -1;
-+ spin_unlock(&spin->spin);
-+}
-+
-+
-+#else
-+#include <sys/types.h>
-+#endif
-+
-+#define DWABC_LCR_FLG_NEWNUMBER 0x00000001L
-+#define DWABC_LCR_FLG_DISABLE 0x00000002L
-+#define DWABC_LCR_FLG_NEWHUPTIME 0x00000004L
-+
-+
-+struct ISDN_DWABC_LCR_IOCTL {
-+
-+ int lcr_ioctl_sizeof; /* mustbe sizeof(ISDN_DWABC_LCR_IOCTL) */
-+ u_short lcr_ioctl_onhtime; /* new hanguptime */
-+ u_long lcr_ioctl_callid; /* callid from lcr-subsystem */
-+ u_long lcr_ioctl_flags; /* see above */
-+ char lcr_ioctl_nr[32]; /* new destination phonenumber */
-+};
-+
-+#endif
-diff -Nur linux-2.4.32/include/linux/isdn.h linux-2.4.32.patched/include/linux/isdn.h
---- linux-2.4.32/include/linux/isdn.h 2001-12-21 18:42:03.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/isdn.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: isdn.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
-+/* $Id: isdn.h,v 1.125 2001/12/01 23:18:21 detabc Exp $
- *
- * Main header for the Linux ISDN subsystem (linklevel).
- *
-@@ -14,6 +14,7 @@
- #ifndef __ISDN_H__
- #define __ISDN_H__
-
-+#include <linux/isdn_compat.h>
- #include <linux/ioctl.h>
-
- #ifdef CONFIG_COBALT_MICRO_SERVER
-@@ -93,9 +94,15 @@
- #define ISDN_LMSNLEN 255 /* Length of tty's Listen-MSN string */
- #define ISDN_CMSGLEN 50 /* Length of CONNECT-Message to add for Modem */
-
-+#ifdef BIG_PHONE_NUMBERS
- #define ISDN_MSNLEN 32
- #define NET_DV 0x06 /* Data version for isdn_net_ioctl_cfg */
- #define TTY_DV 0x06 /* Data version for iprofd etc. */
-+#else
-+#define ISDN_MSNLEN 20
-+#define NET_DV 0x05 /* Data version for isdn_net_ioctl_cfg */
-+#define TTY_DV 0x05 /* Data version for iprofd etc. */
-+#endif
-
- #define INF_DV 0x01 /* Data version for /dev/isdninfo */
-
-@@ -187,6 +194,61 @@
- #define ISDN_MINOR_PPPMAX (128 + (ISDN_MAX_CHANNELS-1))
- #define ISDN_MINOR_STATUS 255
-
-+#ifndef CONFIG_ISDN_WITH_ABC
-+#undef CONFIG_ISDN_WITH_ABC_CALLB
-+#undef CONFIG_ISDN_WITH_ABC_UDP_CHECK
-+#undef CONFIG_ISDN_WITH_ABC_UDP_CHECK_HANGUP
-+#undef CONFIG_ISDN_WITH_ABC_UDP_CHECK_DIAL
-+#undef CONFIG_ISDN_WITH_ABC_OUTGOING_EAZ
-+#undef CONFIG_ISDN_WITH_ABC_LCR_SUPPORT
-+#undef CONFIG_ISDN_WITH_ABC_RCV_NO_HUPTIMER
-+#undef CONFIG_ISDN_WITH_ABC_CH_EXTINUSE
-+#undef CONFIG_ISDN_WITH_ABC_CONN_ERROR
-+#undef CONFIG_ISDN_WITH_ABC_RAWIPCOMPRESS
-+#else /* CONFIG_ISDN_WITH_ABC */
-+#include <linux/isdn_dwabc.h>
-+
-+
-+typedef struct DWABCJIFFIES {
-+
-+ u_long msec_1000;
-+ u_long msec_500;
-+ u_long msec_400;
-+ u_long msec_200;
-+ u_long msec_100;
-+
-+} DWABCJIFFIES;
-+
-+
-+#ifdef CONFIG_ISDN_WITH_ABC_NEED_DWSJIFFIES
-+DWABCJIFFIES isdn_dwabc_jiffies;
-+#else
-+extern DWABCJIFFIES isdn_dwabc_jiffies;
-+#endif
-+#define dwsjiffies (isdn_dwabc_jiffies.msec_1000)
-+
-+#define ISDN_DW_ABC_FLAG_UNUSED00001 0x00000001L
-+#define ISDN_DW_ABC_FLAG_NO_UDP_CHECK 0x00000002L
-+#define ISDN_DW_ABC_FLAG_NO_UDP_HANGUP 0x00000004L
-+#define ISDN_DW_ABC_FLAG_NO_UDP_DIAL 0x00000008L
-+#define ISDN_DW_ABC_FLAG_UNUSED00010 0x00000010L
-+#define ISDN_DW_ABC_FLAG_RCV_NO_HUPTIMER 0x00000020L
-+#define ISDN_DW_ABC_FLAG_NO_CH_EXTINUSE 0x00000040L
-+#define ISDN_DW_ABC_FLAG_NO_CONN_ERROR 0x00000080L
-+#define ISDN_DW_ABC_FLAG_BSD_COMPRESS 0x00000100L
-+#define ISDN_DW_ABC_FLAG_NO_LCR 0x00000200L
-+#define ISDN_DW_ABC_FLAG_LEASED_LINE 0x00001000L
-+
-+#define ISDN_DW_ABC_IFFLAG_NODCHAN 0x00000001L
-+#define ISDN_DW_ABC_IFFLAG_BSDAKTIV 0x00000002L
-+
-+#define ISDN_DW_ABC_BITLOCK_SEND 0
-+#define ISDN_DW_ABC_BITLOCK_RECEIVE 1
-+
-+#endif /* CONFIG_ISDN_WITH_ABC */
-+
-+
-+
- #ifdef CONFIG_ISDN_PPP
-
- #ifdef CONFIG_ISDN_PPP_VJ
-@@ -204,9 +266,11 @@
- # include <linux/concap.h>
- #endif
-
-+#ifdef HAVE_DEVFS_FS
- #ifdef CONFIG_DEVFS_FS
- # include <linux/devfs_fs_kernel.h>
- #endif
-+#endif /* HAVE_DEVFS_FS */
-
- #include <linux/isdnif.h>
-
-@@ -272,6 +336,12 @@
- #define ISDN_NET_CALLBACK 0x04 /* activate callback */
- #define ISDN_NET_CBHUP 0x08 /* hangup before callback */
- #define ISDN_NET_CBOUT 0x10 /* remote machine does callback */
-+#if 0
-+/* Unused??? */
-+#define ISDN_NET_CLONE 0x08 /* clone a tmp interface when called */
-+#define ISDN_NET_TMP 0x10 /* tmp interface until getting an IP */
-+#define ISDN_NET_DYNAMIC 0x20 /* this link is dynamically allocated */
-+#endif
-
- #define ISDN_NET_MAGIC 0x49344C02 /* for paranoia-checking */
-
-@@ -386,6 +456,38 @@
- char cisco_debserint; /* debugging flag of cisco hdlc with slarp */
- struct timer_list cisco_timer;
- struct tq_struct tqueue;
-+#ifdef CONFIG_ISDN_WITH_ABC
-+ ulong dw_abc_flags;
-+ ulong dw_abc_if_flags;
-+ int dw_abc_inuse_secure;
-+ ulong dw_abc_dialstart;
-+ int dw_abc_old_onhtime;
-+ int dw_abc_remote_version;
-+ int dw_abc_bitlocks;
-+#ifdef CONFIG_ISDN_WITH_ABC_OUTGOING_EAZ
-+ char dw_out_msn[ISDN_MSNLEN]; /* eaz for outgoing call if *out_msn != 0 */
-+#endif
-+#ifdef CONFIG_ISDN_WITH_ABC_LCR_SUPPORT
-+ ulong dw_abc_lcr_callid;
-+ ulong dw_abc_lcr_start_request;
-+ ulong dw_abc_lcr_end_request;
-+ isdn_ctrl *dw_abc_lcr_cmd;
-+ struct ISDN_DWABC_LCR_IOCTL *dw_abc_lcr_io;
-+#endif
-+ ulong dw_abc_bchan_last_connect;
-+#ifdef CONFIG_ISDN_WITH_ABC_CONN_ERROR
-+ short dw_abc_bchan_errcnt;
-+#endif
-+#ifdef CONFIG_ISDN_WITH_ABC_RAWIPCOMPRESS
-+ void *dw_abc_bsd_compressor;
-+ void *dw_abc_bsd_stat_rx;
-+ void *dw_abc_bsd_stat_tx;
-+#endif
-+ ulong dw_abc_bsd_snd;
-+ ulong dw_abc_bsd_bsd_snd;
-+ ulong dw_abc_bsd_rcv;
-+ ulong dw_abc_bsd_bsd_rcv;
-+#endif
- } isdn_net_local;
-
- /* the interface itself */
-@@ -608,12 +710,13 @@
- int tflags; /* Timer-Flags: */
- /* see ISDN_TIMER_..defines */
- int global_flags;
-- infostruct *infochain; /* List of open info-devs. */
-- wait_queue_head_t info_waitq; /* Wait-Queue for isdninfo */
- struct timer_list timer; /* Misc.-function Timer */
- int chanmap[ISDN_MAX_CHANNELS];/* Map minor->device-channel */
- int drvmap[ISDN_MAX_CHANNELS]; /* Map minor->driver-index */
- int usage[ISDN_MAX_CHANNELS]; /* Used by tty/ip/voice */
-+#ifdef CONFIG_ISDN_WITH_ABC_CH_EXTINUSE
-+ ulong dwabc_chan_external_inuse[ISDN_MAX_CHANNELS];
-+#endif
- char num[ISDN_MAX_CHANNELS][ISDN_MSNLEN];
- /* Remote number of active ch.*/
- int m_idx[ISDN_MAX_CHANNELS]; /* Index for mdm.... */
-@@ -631,6 +734,7 @@
- isdn_v110_stream *v110[ISDN_MAX_CHANNELS]; /* V.110 private data */
- struct semaphore sem; /* serialize list access*/
- unsigned long global_features;
-+#ifdef HAVE_DEVFS_FS
- #ifdef CONFIG_DEVFS_FS
- devfs_handle_t devfs_handle_isdninfo;
- devfs_handle_t devfs_handle_isdnctrl;
-@@ -640,10 +744,41 @@
- devfs_handle_t devfs_handle_ipppX[ISDN_MAX_CHANNELS];
- #endif
- #endif /* CONFIG_DEVFS_FS */
-+#endif /* HAVE_DEVFS_FS */
- } isdn_dev;
-
- extern isdn_dev *dev;
-
-+#ifdef CONFIG_ISDN_WITH_ABC
-+extern int isdn_auto_dial_helper(isdn_net_local *,struct sk_buff *,int);
-+extern void dwisdn_nfw_send(isdn_net_local *lp,int drop_only);
-+extern void isdn_net_unreachable(struct net_device *,struct sk_buff *,char *);
-+extern void isdn_net_log_skb_dwabc(struct sk_buff *,isdn_net_local *,char *);
-+extern void isdn_net_hangup(struct net_device *d);
-+extern void isdn_dw_clear_if(ulong pm,isdn_net_local *);
-+extern void isdn_dwabc_test_phone(isdn_net_local *);
-+extern void isdn_dw_abc_init_func(void);
-+extern void isdn_dw_abc_release_func(void);
-+extern int isdn_dw_abc_reset_interface(isdn_net_local *,int);
-+extern int dwabc_bsd_init(isdn_net_local *lp);
-+extern void dwabc_bsd_free(isdn_net_local *lp);
-+extern struct sk_buff *dwabc_bsd_compress(isdn_net_local *,struct sk_buff *,struct net_device *);
-+extern void dwabc_bsd_first_gen(isdn_net_local *);
-+extern struct sk_buff *dwabc_bsd_rx_pkt(isdn_net_local *,struct sk_buff *,struct net_device *);
-+#ifdef CONFIG_ISDN_WITH_ABC_LCR_SUPPORT
-+extern size_t isdn_dw_abc_lcr_readstat(char *,size_t);
-+extern ulong isdn_dw_abc_lcr_call_number(isdn_net_local *,isdn_ctrl *);
-+extern void isdn_dw_abc_lcr_open(void);
-+extern void isdn_dw_abc_lcr_close(void);
-+extern int isdn_dw_abc_lcr_ioctl(ulong);
-+extern void isdn_dw_abc_lcr_clear(isdn_net_local *);
-+extern int isdn_dw_abc_lcr_lock(void);
-+extern void isdn_dw_abc_lcr_ulock(void);
-+#endif
-+#ifdef CONFIG_ISDN_WITH_ABC_UDP_CHECK
-+extern int dw_abc_udp_test(struct sk_buff *skb,struct net_device *ndev);
-+#endif
-+#endif
-
- #endif /* __KERNEL__ */
-
-diff -Nur linux-2.4.32/include/linux/isdnif.h linux-2.4.32.patched/include/linux/isdnif.h
---- linux-2.4.32/include/linux/isdnif.h 2001-12-21 18:42:03.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/isdnif.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: isdnif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
-+/* $Id: isdnif.h,v 1.43 2002/02/09 21:19:11 keil Exp $
- *
- * Linux ISDN subsystem
- * Definition of the interface between the subsystem and its low-level drivers.
-@@ -14,6 +14,7 @@
- #ifndef __ISDNIF_H__
- #define __ISDNIF_H__
-
-+#include <linux/isdn_compat.h>
-
- /*
- * Values for general protocol-selection
-@@ -213,6 +214,8 @@
- #define ISDN_STAT_FAXIND 276 /* FAX indications from HL-driver */
- #define ISDN_STAT_AUDIO 277 /* DTMF, DSP indications */
- #define ISDN_STAT_DISCH 278 /* Disable/Enable channel usage */
-+#define ISDN_STAT_ALERT 279 /* Signal alerting */
-+#define ISDN_STAT_PROCEED 280 /* Signal proceeding */
-
- /*
- * Audio commands
-diff -Nur linux-2.4.32/include/linux/isdn_lzscomp.h linux-2.4.32.patched/include/linux/isdn_lzscomp.h
---- linux-2.4.32/include/linux/isdn_lzscomp.h 2001-12-21 18:42:03.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/isdn_lzscomp.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,4 +1,4 @@
--/* $Id: isdn_lzscomp.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
-+/* $Id$
- *
- * Header for isdn_lzscomp.c
- * Concentrated here to not mess up half a dozen kernel headers with code
-diff -Nur linux-2.4.32/include/linux/isdn_ppp.h linux-2.4.32.patched/include/linux/isdn_ppp.h
---- linux-2.4.32/include/linux/isdn_ppp.h 2003-08-25 13:44:44.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/isdn_ppp.h 2006-03-13 18:55:56.000000000 +0100
-@@ -8,6 +8,7 @@
- #ifndef _LINUX_ISDN_PPP_H
- #define _LINUX_ISDN_PPP_H
-
-+#include <linux/isdn_compat.h>
-
- #define CALLTYPE_INCOMING 0x1
- #define CALLTYPE_OUTGOING 0x2
-@@ -33,6 +34,11 @@
- #define PPPIOCSCOMPRESSOR _IOW('t',135,int)
- #define PPPIOCGIFNAME _IOR('t',136, char [IFNAMSIZ] )
-
-+#ifdef COMPAT_NEED_MPPP_DEFS
-+#define PPP_MP 0x003d
-+#define PPP_COMPFRAG 0x00fb
-+#define PPP_CCPFRAG 0x80fb
-+#endif
-
- #define SC_MP_PROT 0x00000200
- #define SC_REJ_MP_PROT 0x00000400
-@@ -65,9 +71,6 @@
-
- #include <linux/config.h>
-
--#ifdef CONFIG_IPPP_FILTER
--#include <linux/filter.h>
--#endif
-
- #define DECOMP_ERR_NOMEM (-10)
-
-@@ -226,10 +229,6 @@
- unsigned char *cbuf;
- struct slcompress *slcomp;
- #endif
--#ifdef CONFIG_IPPP_FILTER
-- struct sock_fprog pass_filter; /* filter for packets to pass */
-- struct sock_fprog active_filter; /* filter for pkts to reset idle */
--#endif
- unsigned long debug;
- struct isdn_ppp_compressor *compressor,*decompressor;
- struct isdn_ppp_compressor *link_compressor,*link_decompressor;
-diff -Nur linux-2.4.32/include/linux/kernelcapi.h linux-2.4.32.patched/include/linux/kernelcapi.h
---- linux-2.4.32/include/linux/kernelcapi.h 2002-02-25 20:38:13.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/kernelcapi.h 2006-03-13 18:55:56.000000000 +0100
-@@ -1,12 +1,10 @@
--/* $Id: kernelcapi.h,v 1.1.4.2 2002/01/28 18:25:10 kai Exp $
-+/*
-+ * $Id: kernelcapi.h,v 1.9 2000/11/28 09:34:02 kai Exp $
- *
- * Kernel CAPI 2.0 Interface for Linux
- *
- * (c) Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
- *
-- * This software may be used and distributed according to the terms
-- * of the GNU General Public License, incorporated herein by reference.
-- *
- */
-
- #ifndef __KERNELCAPI_H__
-diff -Nur linux-2.4.32/include/linux/modversions.h linux-2.4.32.patched/include/linux/modversions.h
---- linux-2.4.32/include/linux/modversions.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/modversions.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1 @@
-+#include <linux/modsetver.h>
-diff -Nur linux-2.4.32/include/linux/nbd.h linux-2.4.32.patched/include/linux/nbd.h
---- linux-2.4.32/include/linux/nbd.h 2002-08-03 02:39:45.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/nbd.h 2006-03-13 18:57:13.000000000 +0100
-@@ -29,34 +29,6 @@
-
- #include <linux/blk.h>
-
--#ifdef PARANOIA
--extern int requests_in;
--extern int requests_out;
--#endif
--
--static void
--nbd_end_request(struct request *req)
--{
-- struct buffer_head *bh;
-- unsigned nsect;
-- unsigned long flags;
-- int uptodate = (req->errors == 0) ? 1 : 0;
--
--#ifdef PARANOIA
-- requests_out++;
--#endif
-- spin_lock_irqsave(&io_request_lock, flags);
-- while((bh = req->bh) != NULL) {
-- nsect = bh->b_size >> 9;
-- blk_finished_io(nsect);
-- req->bh = bh->b_reqnext;
-- bh->b_reqnext = NULL;
-- bh->b_end_io(bh, uptodate);
-- }
-- blkdev_release_request(req);
-- spin_unlock_irqrestore(&io_request_lock, flags);
--}
--
- #define MAX_NBD 128
-
- struct nbd_device {
-diff -Nur linux-2.4.32/include/linux/netdevice.h linux-2.4.32.patched/include/linux/netdevice.h
---- linux-2.4.32/include/linux/netdevice.h 2004-11-17 12:54:22.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netdevice.h 2006-03-13 18:57:13.000000000 +0100
-@@ -295,9 +295,11 @@
-
- /* List of functions to handle Wireless Extensions (instead of ioctl).
- * See <net/iw_handler.h> for details. Jean II */
-- struct iw_handler_def * wireless_handlers;
-+ const struct iw_handler_def * wireless_handlers;
-+ /* Instance data managed by the core of Wireless Extensions. */
-+ struct iw_public_data * wireless_data;
-+
-
-- struct ethtool_ops *ethtool_ops;
-
- /*
- * This marks the end of the "visible" part of the structure. All
-@@ -352,8 +354,8 @@
-
- struct Qdisc *qdisc;
- struct Qdisc *qdisc_sleeping;
-+ struct Qdisc *qdisc_list;
- struct Qdisc *qdisc_ingress;
-- struct list_head qdisc_list;
- unsigned long tx_queue_len; /* Max frames per queue allowed */
-
- /* hard_start_xmit synchronizer */
-@@ -453,6 +455,7 @@
- /* this will get initialized at each interface type init routine */
- struct divert_blk *divert;
- #endif /* CONFIG_NET_DIVERT */
-+ struct ethtool_ops *ethtool_ops;
- };
-
- /* 2.6 compatibility */
-diff -Nur linux-2.4.32/include/linux/netfilter_helpers.h linux-2.4.32.patched/include/linux/netfilter_helpers.h
---- linux-2.4.32/include/linux/netfilter_helpers.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_helpers.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,133 @@
-+/*
-+ * Helpers for netfiler modules. This file provides implementations for basic
-+ * functions such as strncasecmp(), etc.
-+ *
-+ * gcc will warn for defined but unused functions, so we only include the
-+ * functions requested. The following macros are used:
-+ * NF_NEED_STRNCASECMP nf_strncasecmp()
-+ * NF_NEED_STRTOU16 nf_strtou16()
-+ * NF_NEED_STRTOU32 nf_strtou32()
-+ */
-+#ifndef _NETFILTER_HELPERS_H
-+#define _NETFILTER_HELPERS_H
-+
-+/* Only include these functions for kernel code. */
-+#ifdef __KERNEL__
-+
-+#include <linux/ctype.h>
-+#define iseol(c) ( (c) == '\r' || (c) == '\n' )
-+
-+/*
-+ * The standard strncasecmp()
-+ */
-+#ifdef NF_NEED_STRNCASECMP
-+static int
-+nf_strncasecmp(const char* s1, const char* s2, u_int32_t len)
-+{
-+ if (s1 == NULL || s2 == NULL)
-+ {
-+ if (s1 == NULL && s2 == NULL)
-+ {
-+ return 0;
-+ }
-+ return (s1 == NULL) ? -1 : 1;
-+ }
-+ while (len > 0 && tolower(*s1) == tolower(*s2))
-+ {
-+ len--;
-+ s1++;
-+ s2++;
-+ }
-+ return ( (len == 0) ? 0 : (tolower(*s1) - tolower(*s2)) );
-+}
-+#endif /* NF_NEED_STRNCASECMP */
-+
-+/*
-+ * Parse a string containing a 16-bit unsigned integer.
-+ * Returns the number of chars used, or zero if no number is found.
-+ */
-+#ifdef NF_NEED_STRTOU16
-+static int
-+nf_strtou16(const char* pbuf, u_int16_t* pval)
-+{
-+ int n = 0;
-+
-+ *pval = 0;
-+ while (isdigit(pbuf[n]))
-+ {
-+ *pval = (*pval * 10) + (pbuf[n] - '0');
-+ n++;
-+ }
-+
-+ return n;
-+}
-+#endif /* NF_NEED_STRTOU16 */
-+
-+/*
-+ * Parse a string containing a 32-bit unsigned integer.
-+ * Returns the number of chars used, or zero if no number is found.
-+ */
-+#ifdef NF_NEED_STRTOU32
-+static int
-+nf_strtou32(const char* pbuf, u_int32_t* pval)
-+{
-+ int n = 0;
-+
-+ *pval = 0;
-+ while (pbuf[n] >= '0' && pbuf[n] <= '9')
-+ {
-+ *pval = (*pval * 10) + (pbuf[n] - '0');
-+ n++;
-+ }
-+
-+ return n;
-+}
-+#endif /* NF_NEED_STRTOU32 */
-+
-+/*
-+ * Given a buffer and length, advance to the next line and mark the current
-+ * line.
-+ */
-+#ifdef NF_NEED_NEXTLINE
-+static int
-+nf_nextline(char* p, uint len, uint* poff, uint* plineoff, uint* plinelen)
-+{
-+ uint off = *poff;
-+ uint physlen = 0;
-+
-+ if (off >= len)
-+ {
-+ return 0;
-+ }
-+
-+ while (p[off] != '\n')
-+ {
-+ if (len-off <= 1)
-+ {
-+ return 0;
-+ }
-+
-+ physlen++;
-+ off++;
-+ }
-+
-+ /* if we saw a crlf, physlen needs adjusted */
-+ if (physlen > 0 && p[off] == '\n' && p[off-1] == '\r')
-+ {
-+ physlen--;
-+ }
-+
-+ /* advance past the newline */
-+ off++;
-+
-+ *plineoff = *poff;
-+ *plinelen = physlen;
-+ *poff = off;
-+
-+ return 1;
-+}
-+#endif /* NF_NEED_NEXTLINE */
-+
-+#endif /* __KERNEL__ */
-+
-+#endif /* _NETFILTER_HELPERS_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack.h 2005-11-16 20:12:54.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack.h 2006-03-13 19:01:41.000000000 +0100
-@@ -50,16 +50,19 @@
-
- #include <linux/netfilter_ipv4/ip_conntrack_tcp.h>
- #include <linux/netfilter_ipv4/ip_conntrack_icmp.h>
-+#include <linux/netfilter_ipv4/ip_conntrack_proto_gre.h>
-
- /* per conntrack: protocol private data */
- union ip_conntrack_proto {
- /* insert conntrack proto private data here */
- struct ip_ct_tcp tcp;
- struct ip_ct_icmp icmp;
-+ struct ip_ct_gre gre;
- };
-
- union ip_conntrack_expect_proto {
- /* insert expect proto private data here */
-+ struct ip_ct_gre_expect gre;
- };
-
- /* Add protocol helper include file here */
-@@ -67,6 +70,10 @@
-
- #include <linux/netfilter_ipv4/ip_conntrack_ftp.h>
- #include <linux/netfilter_ipv4/ip_conntrack_irc.h>
-+#include <linux/netfilter_ipv4/ip_conntrack_pptp.h>
-+#include <linux/netfilter_ipv4/ip_conntrack_h323.h>
-+#include <linux/netfilter_ipv4/ip_conntrack_rtsp.h>
-+#include <linux/netfilter_ipv4/ip_conntrack_mms.h>
-
- /* per expectation: application helper private data */
- union ip_conntrack_expect_help {
-@@ -74,6 +81,10 @@
- struct ip_ct_amanda_expect exp_amanda_info;
- struct ip_ct_ftp_expect exp_ftp_info;
- struct ip_ct_irc_expect exp_irc_info;
-+ struct ip_ct_pptp_expect exp_pptp_info;
-+ struct ip_ct_h225_expect exp_h225_info;
-+ struct ip_ct_rtsp_expect exp_rtsp_info;
-+ struct ip_ct_mms_expect exp_mms_info;
-
- #ifdef CONFIG_IP_NF_NAT_NEEDED
- union {
-@@ -87,14 +98,20 @@
- /* insert conntrack helper private data (master) here */
- struct ip_ct_ftp_master ct_ftp_info;
- struct ip_ct_irc_master ct_irc_info;
-+ struct ip_ct_pptp_master ct_pptp_info;
-+ struct ip_ct_h225_master ct_h225_info;
-+ struct ip_ct_rtsp_master ct_rtsp_info;
-+ struct ip_ct_mms_master ct_mms_info;
- };
-
- #ifdef CONFIG_IP_NF_NAT_NEEDED
- #include <linux/netfilter_ipv4/ip_nat.h>
-+#include <linux/netfilter_ipv4/ip_nat_pptp.h>
-
- /* per conntrack: nat application helper private data */
- union ip_conntrack_nat_help {
- /* insert nat helper private data here */
-+ struct ip_nat_pptp nat_pptp_info;
- };
- #endif
-
-@@ -156,6 +173,12 @@
- union ip_conntrack_expect_help help;
- };
-
-+struct ip_conntrack_counter
-+{
-+ u_int64_t packets;
-+ u_int64_t bytes;
-+};
-+
- struct ip_conntrack_helper;
-
- struct ip_conntrack
-@@ -173,6 +196,12 @@
- /* Timer function; drops refcnt when it goes off. */
- struct timer_list timeout;
-
-+#if defined(CONFIG_IP_NF_CT_ACCT) || \
-+ defined(CONFIG_IP_NF_CT_ACCT_MODULE)
-+ /* Accounting Information (same cache line as other written members) */
-+ struct ip_conntrack_counter counters[IP_CT_DIR_MAX];
-+#endif
-+
- /* If we're expecting another related connection, this will be
- in expected linked list */
- struct list_head sibling_list;
-@@ -207,6 +236,20 @@
- } nat;
- #endif /* CONFIG_IP_NF_NAT_NEEDED */
-
-+#if defined(CONFIG_IP_NF_MATCH_LAYER7) || defined(CONFIG_IP_NF_MATCH_LAYER7_MODULE)
-+ struct {
-+ unsigned int numpackets; /* surely this is kept track of somewhere else, right? I can't find it... */
-+ char * app_proto; /* "http", "ftp", etc. NULL if unclassifed */
-+
-+ /* the application layer data so far. NULL if ->numpackets > numpackets */
-+ char * app_data;
-+
-+ unsigned int app_data_len;
-+ } layer7;
-+#endif
-+#if defined(CONFIG_IP_NF_CONNTRACK_MARK)
-+ unsigned long mark;
-+#endif
- };
-
- /* get master conntrack via master expectation */
-@@ -242,8 +285,10 @@
- const struct ip_conntrack_tuple *orig);
-
- /* Refresh conntrack for this many jiffies */
--extern void ip_ct_refresh(struct ip_conntrack *ct,
-- unsigned long extra_jiffies);
-+extern void ip_ct_refresh_acct(struct ip_conntrack *ct,
-+ enum ip_conntrack_info ctinfo,
-+ const struct iphdr *iph,
-+ unsigned long extra_jiffies);
-
- /* These are for NAT. Icky. */
- /* Call me when a conntrack is destroyed. */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_h323.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_h323.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_h323.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_h323.h 2006-03-13 19:01:41.000000000 +0100
-@@ -0,0 +1,30 @@
-+#ifndef _IP_CONNTRACK_H323_H
-+#define _IP_CONNTRACK_H323_H
-+/* H.323 connection tracking. */
-+
-+#ifdef __KERNEL__
-+/* Protects H.323 related data */
-+DECLARE_LOCK_EXTERN(ip_h323_lock);
-+#endif
-+
-+/* Default H.225 port */
-+#define H225_PORT 1720
-+
-+/* This structure is per expected connection */
-+struct ip_ct_h225_expect {
-+ u_int16_t port; /* Port of the H.225 helper/RTCP/RTP channel */
-+ enum ip_conntrack_dir dir; /* Direction of the original connection */
-+ unsigned int offset; /* offset of the address in the payload */
-+};
-+
-+/* This structure exists only once per master */
-+struct ip_ct_h225_master {
-+ int is_h225; /* H.225 or H.245 connection */
-+#ifdef CONFIG_IP_NF_NAT_NEEDED
-+ enum ip_conntrack_dir dir; /* Direction of the original connection */
-+ u_int32_t seq[IP_CT_DIR_MAX]; /* Exceptional packet mangling for signal addressess... */
-+ unsigned int offset[IP_CT_DIR_MAX]; /* ...and the offset of the addresses in the payload */
-+#endif
-+};
-+
-+#endif /* _IP_CONNTRACK_H323_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_mms.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_mms.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_mms.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_mms.h 2006-03-13 19:01:41.000000000 +0100
-@@ -0,0 +1,31 @@
-+#ifndef _IP_CONNTRACK_MMS_H
-+#define _IP_CONNTRACK_MMS_H
-+/* MMS tracking. */
-+
-+#ifdef __KERNEL__
-+#include <linux/netfilter_ipv4/lockhelp.h>
-+
-+DECLARE_LOCK_EXTERN(ip_mms_lock);
-+
-+#define MMS_PORT 1755
-+#define MMS_SRV_MSG_ID 196610
-+
-+#define MMS_SRV_MSG_OFFSET 36
-+#define MMS_SRV_UNICODE_STRING_OFFSET 60
-+#define MMS_SRV_CHUNKLENLV_OFFSET 16
-+#define MMS_SRV_CHUNKLENLM_OFFSET 32
-+#define MMS_SRV_MESSAGELENGTH_OFFSET 8
-+#endif
-+
-+/* This structure is per expected connection */
-+struct ip_ct_mms_expect {
-+ u_int32_t len;
-+ u_int32_t padding;
-+ u_int16_t port;
-+};
-+
-+/* This structure exists only once per master */
-+struct ip_ct_mms_master {
-+};
-+
-+#endif /* _IP_CONNTRACK_MMS_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_pptp.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_pptp.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_pptp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_pptp.h 2006-03-13 19:01:41.000000000 +0100
-@@ -0,0 +1,313 @@
-+/* PPTP constants and structs */
-+#ifndef _CONNTRACK_PPTP_H
-+#define _CONNTRACK_PPTP_H
-+
-+/* state of the control session */
-+enum pptp_ctrlsess_state {
-+ PPTP_SESSION_NONE, /* no session present */
-+ PPTP_SESSION_ERROR, /* some session error */
-+ PPTP_SESSION_STOPREQ, /* stop_sess request seen */
-+ PPTP_SESSION_REQUESTED, /* start_sess request seen */
-+ PPTP_SESSION_CONFIRMED, /* session established */
-+};
-+
-+/* state of the call inside the control session */
-+enum pptp_ctrlcall_state {
-+ PPTP_CALL_NONE,
-+ PPTP_CALL_ERROR,
-+ PPTP_CALL_OUT_REQ,
-+ PPTP_CALL_OUT_CONF,
-+ PPTP_CALL_IN_REQ,
-+ PPTP_CALL_IN_REP,
-+ PPTP_CALL_IN_CONF,
-+ PPTP_CALL_CLEAR_REQ,
-+};
-+
-+
-+/* conntrack private data */
-+struct ip_ct_pptp_master {
-+ enum pptp_ctrlsess_state sstate; /* session state */
-+
-+ /* everything below is going to be per-expectation in newnat,
-+ * since there could be more than one call within one session */
-+ enum pptp_ctrlcall_state cstate; /* call state */
-+ u_int16_t pac_call_id; /* call id of PAC, host byte order */
-+ u_int16_t pns_call_id; /* call id of PNS, host byte order */
-+};
-+
-+/* conntrack_expect private member */
-+struct ip_ct_pptp_expect {
-+ enum pptp_ctrlcall_state cstate; /* call state */
-+ u_int16_t pac_call_id; /* call id of PAC */
-+ u_int16_t pns_call_id; /* call id of PNS */
-+};
-+
-+
-+#ifdef __KERNEL__
-+
-+#include <linux/netfilter_ipv4/lockhelp.h>
-+DECLARE_LOCK_EXTERN(ip_pptp_lock);
-+
-+#define IP_CONNTR_PPTP PPTP_CONTROL_PORT
-+
-+union pptp_ctrl_union {
-+ void *rawreq;
-+ struct PptpStartSessionRequest *sreq;
-+ struct PptpStartSessionReply *srep;
-+ struct PptpStopSessionRequest *streq;
-+ struct PptpStopSessionReply *strep;
-+ struct PptpOutCallRequest *ocreq;
-+ struct PptpOutCallReply *ocack;
-+ struct PptpInCallRequest *icreq;
-+ struct PptpInCallReply *icack;
-+ struct PptpInCallConnected *iccon;
-+ struct PptpClearCallRequest *clrreq;
-+ struct PptpCallDisconnectNotify *disc;
-+ struct PptpWanErrorNotify *wanerr;
-+ struct PptpSetLinkInfo *setlink;
-+};
-+
-+
-+
-+#define PPTP_CONTROL_PORT 1723
-+
-+#define PPTP_PACKET_CONTROL 1
-+#define PPTP_PACKET_MGMT 2
-+
-+#define PPTP_MAGIC_COOKIE 0x1a2b3c4d
-+
-+struct pptp_pkt_hdr {
-+ __u16 packetLength;
-+ __u16 packetType;
-+ __u32 magicCookie;
-+};
-+
-+/* PptpControlMessageType values */
-+#define PPTP_START_SESSION_REQUEST 1
-+#define PPTP_START_SESSION_REPLY 2
-+#define PPTP_STOP_SESSION_REQUEST 3
-+#define PPTP_STOP_SESSION_REPLY 4
-+#define PPTP_ECHO_REQUEST 5
-+#define PPTP_ECHO_REPLY 6
-+#define PPTP_OUT_CALL_REQUEST 7
-+#define PPTP_OUT_CALL_REPLY 8
-+#define PPTP_IN_CALL_REQUEST 9
-+#define PPTP_IN_CALL_REPLY 10
-+#define PPTP_IN_CALL_CONNECT 11
-+#define PPTP_CALL_CLEAR_REQUEST 12
-+#define PPTP_CALL_DISCONNECT_NOTIFY 13
-+#define PPTP_WAN_ERROR_NOTIFY 14
-+#define PPTP_SET_LINK_INFO 15
-+
-+#define PPTP_MSG_MAX 15
-+
-+/* PptpGeneralError values */
-+#define PPTP_ERROR_CODE_NONE 0
-+#define PPTP_NOT_CONNECTED 1
-+#define PPTP_BAD_FORMAT 2
-+#define PPTP_BAD_VALUE 3
-+#define PPTP_NO_RESOURCE 4
-+#define PPTP_BAD_CALLID 5
-+#define PPTP_REMOVE_DEVICE_ERROR 6
-+
-+struct PptpControlHeader {
-+ __u16 messageType;
-+ __u16 reserved;
-+};
-+
-+/* FramingCapability Bitmap Values */
-+#define PPTP_FRAME_CAP_ASYNC 0x1
-+#define PPTP_FRAME_CAP_SYNC 0x2
-+
-+/* BearerCapability Bitmap Values */
-+#define PPTP_BEARER_CAP_ANALOG 0x1
-+#define PPTP_BEARER_CAP_DIGITAL 0x2
-+
-+struct PptpStartSessionRequest {
-+ __u16 protocolVersion;
-+ __u8 reserved1;
-+ __u8 reserved2;
-+ __u32 framingCapability;
-+ __u32 bearerCapability;
-+ __u16 maxChannels;
-+ __u16 firmwareRevision;
-+ __u8 hostName[64];
-+ __u8 vendorString[64];
-+};
-+
-+/* PptpStartSessionResultCode Values */
-+#define PPTP_START_OK 1
-+#define PPTP_START_GENERAL_ERROR 2
-+#define PPTP_START_ALREADY_CONNECTED 3
-+#define PPTP_START_NOT_AUTHORIZED 4
-+#define PPTP_START_UNKNOWN_PROTOCOL 5
-+
-+struct PptpStartSessionReply {
-+ __u16 protocolVersion;
-+ __u8 resultCode;
-+ __u8 generalErrorCode;
-+ __u32 framingCapability;
-+ __u32 bearerCapability;
-+ __u16 maxChannels;
-+ __u16 firmwareRevision;
-+ __u8 hostName[64];
-+ __u8 vendorString[64];
-+};
-+
-+/* PptpStopReasons */
-+#define PPTP_STOP_NONE 1
-+#define PPTP_STOP_PROTOCOL 2
-+#define PPTP_STOP_LOCAL_SHUTDOWN 3
-+
-+struct PptpStopSessionRequest {
-+ __u8 reason;
-+};
-+
-+/* PptpStopSessionResultCode */
-+#define PPTP_STOP_OK 1
-+#define PPTP_STOP_GENERAL_ERROR 2
-+
-+struct PptpStopSessionReply {
-+ __u8 resultCode;
-+ __u8 generalErrorCode;
-+};
-+
-+struct PptpEchoRequest {
-+ __u32 identNumber;
-+};
-+
-+/* PptpEchoReplyResultCode */
-+#define PPTP_ECHO_OK 1
-+#define PPTP_ECHO_GENERAL_ERROR 2
-+
-+struct PptpEchoReply {
-+ __u32 identNumber;
-+ __u8 resultCode;
-+ __u8 generalErrorCode;
-+ __u16 reserved;
-+};
-+
-+/* PptpFramingType */
-+#define PPTP_ASYNC_FRAMING 1
-+#define PPTP_SYNC_FRAMING 2
-+#define PPTP_DONT_CARE_FRAMING 3
-+
-+/* PptpCallBearerType */
-+#define PPTP_ANALOG_TYPE 1
-+#define PPTP_DIGITAL_TYPE 2
-+#define PPTP_DONT_CARE_BEARER_TYPE 3
-+
-+struct PptpOutCallRequest {
-+ __u16 callID;
-+ __u16 callSerialNumber;
-+ __u32 minBPS;
-+ __u32 maxBPS;
-+ __u32 bearerType;
-+ __u32 framingType;
-+ __u16 packetWindow;
-+ __u16 packetProcDelay;
-+ __u16 reserved1;
-+ __u16 phoneNumberLength;
-+ __u16 reserved2;
-+ __u8 phoneNumber[64];
-+ __u8 subAddress[64];
-+};
-+
-+/* PptpCallResultCode */
-+#define PPTP_OUTCALL_CONNECT 1
-+#define PPTP_OUTCALL_GENERAL_ERROR 2
-+#define PPTP_OUTCALL_NO_CARRIER 3
-+#define PPTP_OUTCALL_BUSY 4
-+#define PPTP_OUTCALL_NO_DIAL_TONE 5
-+#define PPTP_OUTCALL_TIMEOUT 6
-+#define PPTP_OUTCALL_DONT_ACCEPT 7
-+
-+struct PptpOutCallReply {
-+ __u16 callID;
-+ __u16 peersCallID;
-+ __u8 resultCode;
-+ __u8 generalErrorCode;
-+ __u16 causeCode;
-+ __u32 connectSpeed;
-+ __u16 packetWindow;
-+ __u16 packetProcDelay;
-+ __u32 physChannelID;
-+};
-+
-+struct PptpInCallRequest {
-+ __u16 callID;
-+ __u16 callSerialNumber;
-+ __u32 callBearerType;
-+ __u32 physChannelID;
-+ __u16 dialedNumberLength;
-+ __u16 dialingNumberLength;
-+ __u8 dialedNumber[64];
-+ __u8 dialingNumber[64];
-+ __u8 subAddress[64];
-+};
-+
-+/* PptpInCallResultCode */
-+#define PPTP_INCALL_ACCEPT 1
-+#define PPTP_INCALL_GENERAL_ERROR 2
-+#define PPTP_INCALL_DONT_ACCEPT 3
-+
-+struct PptpInCallReply {
-+ __u16 callID;
-+ __u16 peersCallID;
-+ __u8 resultCode;
-+ __u8 generalErrorCode;
-+ __u16 packetWindow;
-+ __u16 packetProcDelay;
-+ __u16 reserved;
-+};
-+
-+struct PptpInCallConnected {
-+ __u16 peersCallID;
-+ __u16 reserved;
-+ __u32 connectSpeed;
-+ __u16 packetWindow;
-+ __u16 packetProcDelay;
-+ __u32 callFramingType;
-+};
-+
-+struct PptpClearCallRequest {
-+ __u16 callID;
-+ __u16 reserved;
-+};
-+
-+struct PptpCallDisconnectNotify {
-+ __u16 callID;
-+ __u8 resultCode;
-+ __u8 generalErrorCode;
-+ __u16 causeCode;
-+ __u16 reserved;
-+ __u8 callStatistics[128];
-+};
-+
-+struct PptpWanErrorNotify {
-+ __u16 peersCallID;
-+ __u16 reserved;
-+ __u32 crcErrors;
-+ __u32 framingErrors;
-+ __u32 hardwareOverRuns;
-+ __u32 bufferOverRuns;
-+ __u32 timeoutErrors;
-+ __u32 alignmentErrors;
-+};
-+
-+struct PptpSetLinkInfo {
-+ __u16 peersCallID;
-+ __u16 reserved;
-+ __u32 sendAccm;
-+ __u32 recvAccm;
-+};
-+
-+
-+struct pptp_priv_data {
-+ __u16 call_id;
-+ __u16 mcall_id;
-+ __u16 pcall_id;
-+};
-+
-+#endif /* __KERNEL__ */
-+#endif /* _CONNTRACK_PPTP_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h 2006-03-13 19:01:41.000000000 +0100
-@@ -0,0 +1,123 @@
-+#ifndef _CONNTRACK_PROTO_GRE_H
-+#define _CONNTRACK_PROTO_GRE_H
-+#include <asm/byteorder.h>
-+
-+/* GRE PROTOCOL HEADER */
-+
-+/* GRE Version field */
-+#define GRE_VERSION_1701 0x0
-+#define GRE_VERSION_PPTP 0x1
-+
-+/* GRE Protocol field */
-+#define GRE_PROTOCOL_PPTP 0x880B
-+
-+/* GRE Flags */
-+#define GRE_FLAG_C 0x80
-+#define GRE_FLAG_R 0x40
-+#define GRE_FLAG_K 0x20
-+#define GRE_FLAG_S 0x10
-+#define GRE_FLAG_A 0x80
-+
-+#define GRE_IS_C(f) ((f)&GRE_FLAG_C)
-+#define GRE_IS_R(f) ((f)&GRE_FLAG_R)
-+#define GRE_IS_K(f) ((f)&GRE_FLAG_K)
-+#define GRE_IS_S(f) ((f)&GRE_FLAG_S)
-+#define GRE_IS_A(f) ((f)&GRE_FLAG_A)
-+
-+/* GRE is a mess: Four different standards */
-+struct gre_hdr {
-+#if defined(__LITTLE_ENDIAN_BITFIELD)
-+ __u16 rec:3,
-+ srr:1,
-+ seq:1,
-+ key:1,
-+ routing:1,
-+ csum:1,
-+ version:3,
-+ reserved:4,
-+ ack:1;
-+#elif defined(__BIG_ENDIAN_BITFIELD)
-+ __u16 csum:1,
-+ routing:1,
-+ key:1,
-+ seq:1,
-+ srr:1,
-+ rec:3,
-+ ack:1,
-+ reserved:4,
-+ version:3;
-+#else
-+#error "Adjust your <asm/byteorder.h> defines"
-+#endif
-+ __u16 protocol;
-+};
-+
-+/* modified GRE header for PPTP */
-+struct gre_hdr_pptp {
-+ __u8 flags; /* bitfield */
-+ __u8 version; /* should be GRE_VERSION_PPTP */
-+ __u16 protocol; /* should be GRE_PROTOCOL_PPTP */
-+ __u16 payload_len; /* size of ppp payload, not inc. gre header */
-+ __u16 call_id; /* peer's call_id for this session */
-+ __u32 seq; /* sequence number. Present if S==1 */
-+ __u32 ack; /* seq number of highest packet recieved by */
-+ /* sender in this session */
-+};
-+
-+
-+/* this is part of ip_conntrack */
-+struct ip_ct_gre {
-+ unsigned int stream_timeout;
-+ unsigned int timeout;
-+};
-+
-+/* this is part of ip_conntrack_expect */
-+struct ip_ct_gre_expect {
-+ struct ip_ct_gre_keymap *keymap_orig, *keymap_reply;
-+};
-+
-+#ifdef __KERNEL__
-+struct ip_conntrack_expect;
-+
-+/* structure for original <-> reply keymap */
-+struct ip_ct_gre_keymap {
-+ struct list_head list;
-+
-+ struct ip_conntrack_tuple tuple;
-+};
-+
-+
-+/* add new tuple->key_reply pair to keymap */
-+int ip_ct_gre_keymap_add(struct ip_conntrack_expect *exp,
-+ struct ip_conntrack_tuple *t,
-+ int reply);
-+
-+/* change an existing keymap entry */
-+void ip_ct_gre_keymap_change(struct ip_ct_gre_keymap *km,
-+ struct ip_conntrack_tuple *t);
-+
-+/* delete keymap entries */
-+void ip_ct_gre_keymap_destroy(struct ip_conntrack_expect *exp);
-+
-+
-+/* get pointer to gre key, if present */
-+static inline u_int32_t *gre_key(struct gre_hdr *greh)
-+{
-+ if (!greh->key)
-+ return NULL;
-+ if (greh->csum || greh->routing)
-+ return (u_int32_t *) (greh+sizeof(*greh)+4);
-+ return (u_int32_t *) (greh+sizeof(*greh));
-+}
-+
-+/* get pointer ot gre csum, if present */
-+static inline u_int16_t *gre_csum(struct gre_hdr *greh)
-+{
-+ if (!greh->csum)
-+ return NULL;
-+ return (u_int16_t *) (greh+sizeof(*greh));
-+}
-+
-+#endif /* __KERNEL__ */
-+
-+#endif /* _CONNTRACK_PROTO_GRE_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_rtsp.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_rtsp.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_rtsp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_rtsp.h 2006-03-13 19:01:41.000000000 +0100
-@@ -0,0 +1,68 @@
-+/*
-+ * RTSP extension for IP connection tracking.
-+ * (C) 2003 by Tom Marshall <tmarshall@real.com>
-+ * based on ip_conntrack_irc.h
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version
-+ * 2 of the License, or (at your option) any later version.
-+ */
-+#ifndef _IP_CONNTRACK_RTSP_H
-+#define _IP_CONNTRACK_RTSP_H
-+
-+/* #define IP_NF_RTSP_DEBUG */
-+#define IP_NF_RTSP_VERSION "0.01"
-+
-+/* port block types */
-+typedef enum {
-+ pb_single, /* client_port=x */
-+ pb_range, /* client_port=x-y */
-+ pb_discon /* client_port=x/y (rtspbis) */
-+} portblock_t;
-+
-+/* We record seq number and length of rtsp headers here, all in host order. */
-+
-+/*
-+ * This structure is per expected connection. It is a member of struct
-+ * ip_conntrack_expect. The TCP SEQ for the conntrack expect is stored
-+ * there and we are expected to only store the length of the data which
-+ * needs replaced. If a packet contains multiple RTSP messages, we create
-+ * one expected connection per message.
-+ *
-+ * We use these variables to mark the entire header block. This may seem
-+ * like overkill, but the nature of RTSP requires it. A header may appear
-+ * multiple times in a message. We must treat two Transport headers the
-+ * same as one Transport header with two entries.
-+ */
-+struct ip_ct_rtsp_expect
-+{
-+ u_int32_t len; /* length of header block */
-+ portblock_t pbtype; /* Type of port block that was requested */
-+ u_int16_t loport; /* Port that was requested, low or first */
-+ u_int16_t hiport; /* Port that was requested, high or second */
-+#if 0
-+ uint method; /* RTSP method */
-+ uint cseq; /* CSeq from request */
-+#endif
-+};
-+
-+/* This structure exists only once per master */
-+struct ip_ct_rtsp_master
-+{
-+ /* Empty (?) */
-+};
-+
-+
-+#ifdef __KERNEL__
-+
-+#include <linux/netfilter_ipv4/lockhelp.h>
-+
-+#define RTSP_PORT 554
-+
-+/* Protects rtsp part of conntracks */
-+DECLARE_LOCK_EXTERN(ip_rtsp_lock);
-+
-+#endif /* __KERNEL__ */
-+
-+#endif /* _IP_CONNTRACK_RTSP_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_tuple.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_conntrack_tuple.h 2003-11-28 19:26:21.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_conntrack_tuple.h 2006-03-13 18:55:57.000000000 +0100
-@@ -14,7 +14,7 @@
- union ip_conntrack_manip_proto
- {
- /* Add other protocols here. */
-- u_int16_t all;
-+ u_int32_t all;
-
- struct {
- u_int16_t port;
-@@ -25,6 +25,9 @@
- struct {
- u_int16_t id;
- } icmp;
-+ struct {
-+ u_int32_t key;
-+ } gre;
- };
-
- /* The manipulable part of the tuple. */
-@@ -44,7 +47,7 @@
- u_int32_t ip;
- union {
- /* Add other protocols here. */
-- u_int16_t all;
-+ u_int32_t all;
-
- struct {
- u_int16_t port;
-@@ -55,6 +58,9 @@
- struct {
- u_int8_t type, code;
- } icmp;
-+ struct {
-+ u_int32_t key;
-+ } gre;
- } u;
-
- /* The protocol. */
-@@ -80,10 +86,16 @@
- #ifdef __KERNEL__
-
- #define DUMP_TUPLE(tp) \
--DEBUGP("tuple %p: %u %u.%u.%u.%u:%hu -> %u.%u.%u.%u:%hu\n", \
-+DEBUGP("tuple %p: %u %u.%u.%u.%u:%u -> %u.%u.%u.%u:%u\n", \
- (tp), (tp)->dst.protonum, \
-- NIPQUAD((tp)->src.ip), ntohs((tp)->src.u.all), \
-- NIPQUAD((tp)->dst.ip), ntohs((tp)->dst.u.all))
-+ NIPQUAD((tp)->src.ip), ntohl((tp)->src.u.all), \
-+ NIPQUAD((tp)->dst.ip), ntohl((tp)->dst.u.all))
-+
-+#define DUMP_TUPLE_RAW(x) \
-+ DEBUGP("tuple %p: %u %u.%u.%u.%u:0x%08x -> %u.%u.%u.%u:0x%08x\n",\
-+ (x), (x)->dst.protonum, \
-+ NIPQUAD((x)->src.ip), ntohl((x)->src.u.all), \
-+ NIPQUAD((x)->dst.ip), ntohl((x)->dst.u.all))
-
- #define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL)
-
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_nat_pptp.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_nat_pptp.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_nat_pptp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_nat_pptp.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,11 @@
-+/* PPTP constants and structs */
-+#ifndef _NAT_PPTP_H
-+#define _NAT_PPTP_H
-+
-+/* conntrack private data */
-+struct ip_nat_pptp {
-+ u_int16_t pns_call_id; /* NAT'ed PNS call id */
-+ u_int16_t pac_call_id; /* NAT'ed PAC call id */
-+};
-+
-+#endif /* _NAT_PPTP_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,489 @@
-+#ifndef _IP_SET_H
-+#define _IP_SET_H
-+
-+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
-+ * Patrick Schaaf <bof@bof.de>
-+ * Martin Josefsson <gandalf@wlug.westbo.se>
-+ * Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+/*
-+ * A sockopt of such quality has hardly ever been seen before on the open
-+ * market! This little beauty, hardly ever used: above 64, so it's
-+ * traditionally used for firewalling, not touched (even once!) by the
-+ * 2.0, 2.2 and 2.4 kernels!
-+ *
-+ * Comes with its own certificate of authenticity, valid anywhere in the
-+ * Free world!
-+ *
-+ * Rusty, 19.4.2000
-+ */
-+#define SO_IP_SET 83
-+
-+/*
-+ * Heavily modify by Joakim Axelsson 08.03.2002
-+ * - Made it more modulebased
-+ *
-+ * Additional heavy modifications by Jozsef Kadlecsik 22.02.2004
-+ * - bindings added
-+ * - in order to "deal with" backward compatibility, renamed to ipset
-+ */
-+
-+/*
-+ * Used so that the kernel module and ipset-binary can match their versions
-+ */
-+#define IP_SET_PROTOCOL_VERSION 2
-+
-+#define IP_SET_MAXNAMELEN 32 /* set names and set typenames */
-+
-+/* Lets work with our own typedef for representing an IP address.
-+ * We hope to make the code more portable, possibly to IPv6...
-+ *
-+ * The representation works in HOST byte order, because most set types
-+ * will perform arithmetic operations and compare operations.
-+ *
-+ * For now the type is an uint32_t.
-+ *
-+ * Make sure to ONLY use the functions when translating and parsing
-+ * in order to keep the host byte order and make it more portable:
-+ * parse_ip()
-+ * parse_mask()
-+ * parse_ipandmask()
-+ * ip_tostring()
-+ * (Joakim: where are they???)
-+ */
-+
-+typedef uint32_t ip_set_ip_t;
-+
-+/* Sets are identified by an id in kernel space. Tweak with ip_set_id_t
-+ * and IP_SET_INVALID_ID if you want to increase the max number of sets.
-+ */
-+typedef uint16_t ip_set_id_t;
-+
-+#define IP_SET_INVALID_ID 65535
-+
-+/* How deep we follow bindings */
-+#define IP_SET_MAX_BINDINGS 6
-+
-+/*
-+ * Option flags for kernel operations (ipt_set_info)
-+ */
-+#define IPSET_SRC 0x01 /* Source match/add */
-+#define IPSET_DST 0x02 /* Destination match/add */
-+#define IPSET_MATCH_INV 0x04 /* Inverse matching */
-+
-+/*
-+ * Set types (flavours)
-+ */
-+#define IPSET_TYPE_IP 0 /* IP address type of set */
-+#define IPSET_TYPE_PORT 1 /* Port type of set */
-+
-+/* Reserved keywords */
-+#define IPSET_TOKEN_DEFAULT ":default:"
-+#define IPSET_TOKEN_ALL ":all:"
-+
-+/* SO_IP_SET operation constants, and their request struct types.
-+ *
-+ * Operation ids:
-+ * 0-99: commands with version checking
-+ * 100-199: add/del/test/bind/unbind
-+ * 200-299: list, save, restore
-+ */
-+
-+/* Single shot operations:
-+ * version, create, destroy, flush, rename and swap
-+ *
-+ * Sets are identified by name.
-+ */
-+
-+#define IP_SET_REQ_STD \
-+ unsigned op; \
-+ unsigned version; \
-+ char name[IP_SET_MAXNAMELEN]
-+
-+#define IP_SET_OP_CREATE 0x00000001 /* Create a new (empty) set */
-+struct ip_set_req_create {
-+ IP_SET_REQ_STD;
-+ char typename[IP_SET_MAXNAMELEN];
-+};
-+
-+#define IP_SET_OP_DESTROY 0x00000002 /* Remove a (empty) set */
-+struct ip_set_req_std {
-+ IP_SET_REQ_STD;
-+};
-+
-+#define IP_SET_OP_FLUSH 0x00000003 /* Remove all IPs in a set */
-+/* Uses ip_set_req_std */
-+
-+#define IP_SET_OP_RENAME 0x00000004 /* Rename a set */
-+/* Uses ip_set_req_create */
-+
-+#define IP_SET_OP_SWAP 0x00000005 /* Swap two sets */
-+/* Uses ip_set_req_create */
-+
-+union ip_set_name_index {
-+ char name[IP_SET_MAXNAMELEN];
-+ ip_set_id_t index;
-+};
-+
-+#define IP_SET_OP_GET_BYNAME 0x00000006 /* Get set index by name */
-+struct ip_set_req_get_set {
-+ unsigned op;
-+ unsigned version;
-+ union ip_set_name_index set;
-+};
-+
-+#define IP_SET_OP_GET_BYINDEX 0x00000007 /* Get set name by index */
-+/* Uses ip_set_req_get_set */
-+
-+#define IP_SET_OP_VERSION 0x00000100 /* Ask kernel version */
-+struct ip_set_req_version {
-+ unsigned op;
-+ unsigned version;
-+};
-+
-+/* Double shots operations:
-+ * add, del, test, bind and unbind.
-+ *
-+ * First we query the kernel to get the index and type of the target set,
-+ * then issue the command. Validity of IP is checked in kernel in order
-+ * to minimalize sockopt operations.
-+ */
-+
-+/* Get minimal set data for add/del/test/bind/unbind IP */
-+#define IP_SET_OP_ADT_GET 0x00000010 /* Get set and type */
-+struct ip_set_req_adt_get {
-+ unsigned op;
-+ unsigned version;
-+ union ip_set_name_index set;
-+ char typename[IP_SET_MAXNAMELEN];
-+};
-+
-+#define IP_SET_REQ_BYINDEX \
-+ unsigned op; \
-+ ip_set_id_t index;
-+
-+struct ip_set_req_adt {
-+ IP_SET_REQ_BYINDEX;
-+};
-+
-+#define IP_SET_OP_ADD_IP 0x00000101 /* Add an IP to a set */
-+/* Uses ip_set_req_adt, with type specific addage */
-+
-+#define IP_SET_OP_DEL_IP 0x00000102 /* Remove an IP from a set */
-+/* Uses ip_set_req_adt, with type specific addage */
-+
-+#define IP_SET_OP_TEST_IP 0x00000103 /* Test an IP in a set */
-+/* Uses ip_set_req_adt, with type specific addage */
-+
-+#define IP_SET_OP_BIND_SET 0x00000104 /* Bind an IP to a set */
-+/* Uses ip_set_req_bind, with type specific addage */
-+struct ip_set_req_bind {
-+ IP_SET_REQ_BYINDEX;
-+ char binding[IP_SET_MAXNAMELEN];
-+};
-+
-+#define IP_SET_OP_UNBIND_SET 0x00000105 /* Unbind an IP from a set */
-+/* Uses ip_set_req_bind, with type speficic addage
-+ * index = 0 means unbinding for all sets */
-+
-+#define IP_SET_OP_TEST_BIND_SET 0x00000106 /* Test binding an IP to a set */
-+/* Uses ip_set_req_bind, with type specific addage */
-+
-+/* Multiple shots operations: list, save, restore.
-+ *
-+ * - check kernel version and query the max number of sets
-+ * - get the basic information on all sets
-+ * and size required for the next step
-+ * - get actual set data: header, data, bindings
-+ */
-+
-+/* Get max_sets and the index of a queried set
-+ */
-+#define IP_SET_OP_MAX_SETS 0x00000020
-+struct ip_set_req_max_sets {
-+ unsigned op;
-+ unsigned version;
-+ ip_set_id_t max_sets; /* max_sets */
-+ ip_set_id_t sets; /* real number of sets */
-+ union ip_set_name_index set; /* index of set if name used */
-+};
-+
-+/* Get the id and name of the sets plus size for next step */
-+#define IP_SET_OP_LIST_SIZE 0x00000201
-+#define IP_SET_OP_SAVE_SIZE 0x00000202
-+struct ip_set_req_setnames {
-+ unsigned op;
-+ ip_set_id_t index; /* set to list/save */
-+ size_t size; /* size to get setdata/bindings */
-+ /* followed by sets number of struct ip_set_name_list */
-+};
-+
-+struct ip_set_name_list {
-+ char name[IP_SET_MAXNAMELEN];
-+ char typename[IP_SET_MAXNAMELEN];
-+ ip_set_id_t index;
-+ ip_set_id_t id;
-+};
-+
-+/* The actual list operation */
-+#define IP_SET_OP_LIST 0x00000203
-+struct ip_set_req_list {
-+ IP_SET_REQ_BYINDEX;
-+ /* sets number of struct ip_set_list in reply */
-+};
-+
-+struct ip_set_list {
-+ ip_set_id_t index;
-+ ip_set_id_t binding;
-+ u_int32_t ref;
-+ size_t header_size; /* Set header data of header_size */
-+ size_t members_size; /* Set members data of members_size */
-+ size_t bindings_size; /* Set bindings data of bindings_size */
-+};
-+
-+struct ip_set_hash_list {
-+ ip_set_ip_t ip;
-+ ip_set_id_t binding;
-+};
-+
-+/* The save operation */
-+#define IP_SET_OP_SAVE 0x00000204
-+/* Uses ip_set_req_list, in the reply replaced by
-+ * sets number of struct ip_set_save plus a marker
-+ * ip_set_save followed by ip_set_hash_save structures.
-+ */
-+struct ip_set_save {
-+ ip_set_id_t index;
-+ ip_set_id_t binding;
-+ size_t header_size; /* Set header data of header_size */
-+ size_t members_size; /* Set members data of members_size */
-+};
-+
-+/* At restoring, ip == 0 means default binding for the given set: */
-+struct ip_set_hash_save {
-+ ip_set_ip_t ip;
-+ ip_set_id_t id;
-+ ip_set_id_t binding;
-+};
-+
-+/* The restore operation */
-+#define IP_SET_OP_RESTORE 0x00000205
-+/* Uses ip_set_req_setnames followed by ip_set_restore structures
-+ * plus a marker ip_set_restore, followed by ip_set_hash_save
-+ * structures.
-+ */
-+struct ip_set_restore {
-+ char name[IP_SET_MAXNAMELEN];
-+ char typename[IP_SET_MAXNAMELEN];
-+ ip_set_id_t index;
-+ size_t header_size; /* Create data of header_size */
-+ size_t members_size; /* Set members data of members_size */
-+};
-+
-+static inline int bitmap_bytes(ip_set_ip_t a, ip_set_ip_t b)
-+{
-+ return 4 * ((((b - a + 8) / 8) + 3) / 4);
-+}
-+
-+#ifdef __KERNEL__
-+
-+#define ip_set_printk(format, args...) \
-+ do { \
-+ printk("%s: %s: ", __FILE__, __FUNCTION__); \
-+ printk(format "\n" , ## args); \
-+ } while (0)
-+
-+#if defined(IP_SET_DEBUG)
-+#define DP(format, args...) \
-+ do { \
-+ printk("%s: %s (DBG): ", __FILE__, __FUNCTION__);\
-+ printk(format "\n" , ## args); \
-+ } while (0)
-+#define IP_SET_ASSERT(x) \
-+ do { \
-+ if (!(x)) \
-+ printk("IP_SET_ASSERT: %s:%i(%s)\n", \
-+ __FILE__, __LINE__, __FUNCTION__); \
-+ } while (0)
-+#else
-+#define DP(format, args...)
-+#define IP_SET_ASSERT(x)
-+#endif
-+
-+struct ip_set;
-+
-+/*
-+ * The ip_set_type definition - one per set type, e.g. "ipmap".
-+ *
-+ * Each individual set has a pointer, set->type, going to one
-+ * of these structures. Function pointers inside the structure implement
-+ * the real behaviour of the sets.
-+ *
-+ * If not mentioned differently, the implementation behind the function
-+ * pointers of a set_type, is expected to return 0 if ok, and a negative
-+ * errno (e.g. -EINVAL) on error.
-+ */
-+struct ip_set_type {
-+ struct list_head list; /* next in list of set types */
-+
-+ /* test for IP in set (kernel: iptables -m set src|dst)
-+ * return 0 if not in set, 1 if in set.
-+ */
-+ int (*testip_kernel) (struct ip_set *set,
-+ const struct sk_buff * skb,
-+ u_int32_t flags,
-+ ip_set_ip_t *ip);
-+
-+ /* test for IP in set (userspace: ipset -T set IP)
-+ * return 0 if not in set, 1 if in set.
-+ */
-+ int (*testip) (struct ip_set *set,
-+ const void *data, size_t size,
-+ ip_set_ip_t *ip);
-+
-+ /*
-+ * Size of the data structure passed by when
-+ * adding/deletin/testing an entry.
-+ */
-+ size_t reqsize;
-+
-+ /* Add IP into set (userspace: ipset -A set IP)
-+ * Return -EEXIST if the address is already in the set,
-+ * and -ERANGE if the address lies outside the set bounds.
-+ * If the address was not already in the set, 0 is returned.
-+ */
-+ int (*addip) (struct ip_set *set,
-+ const void *data, size_t size,
-+ ip_set_ip_t *ip);
-+
-+ /* Add IP into set (kernel: iptables ... -j SET set src|dst)
-+ * Return -EEXIST if the address is already in the set,
-+ * and -ERANGE if the address lies outside the set bounds.
-+ * If the address was not already in the set, 0 is returned.
-+ */
-+ int (*addip_kernel) (struct ip_set *set,
-+ const struct sk_buff * skb,
-+ u_int32_t flags,
-+ ip_set_ip_t *ip);
-+
-+ /* remove IP from set (userspace: ipset -D set --entry x)
-+ * Return -EEXIST if the address is NOT in the set,
-+ * and -ERANGE if the address lies outside the set bounds.
-+ * If the address really was in the set, 0 is returned.
-+ */
-+ int (*delip) (struct ip_set *set,
-+ const void *data, size_t size,
-+ ip_set_ip_t *ip);
-+
-+ /* remove IP from set (kernel: iptables ... -j SET --entry x)
-+ * Return -EEXIST if the address is NOT in the set,
-+ * and -ERANGE if the address lies outside the set bounds.
-+ * If the address really was in the set, 0 is returned.
-+ */
-+ int (*delip_kernel) (struct ip_set *set,
-+ const struct sk_buff * skb,
-+ u_int32_t flags,
-+ ip_set_ip_t *ip);
-+
-+ /* new set creation - allocated type specific items
-+ */
-+ int (*create) (struct ip_set *set,
-+ const void *data, size_t size);
-+
-+ /* retry the operation after successfully tweaking the set
-+ */
-+ int (*retry) (struct ip_set *set);
-+
-+ /* set destruction - free type specific items
-+ * There is no return value.
-+ * Can be called only when child sets are destroyed.
-+ */
-+ void (*destroy) (struct ip_set *set);
-+
-+ /* set flushing - reset all bits in the set, or something similar.
-+ * There is no return value.
-+ */
-+ void (*flush) (struct ip_set *set);
-+
-+ /* Listing: size needed for header
-+ */
-+ size_t header_size;
-+
-+ /* Listing: Get the header
-+ *
-+ * Fill in the information in "data".
-+ * This function is always run after list_header_size() under a
-+ * writelock on the set. Therefor is the length of "data" always
-+ * correct.
-+ */
-+ void (*list_header) (const struct ip_set *set,
-+ void *data);
-+
-+ /* Listing: Get the size for the set members
-+ */
-+ int (*list_members_size) (const struct ip_set *set);
-+
-+ /* Listing: Get the set members
-+ *
-+ * Fill in the information in "data".
-+ * This function is always run after list_member_size() under a
-+ * writelock on the set. Therefor is the length of "data" always
-+ * correct.
-+ */
-+ void (*list_members) (const struct ip_set *set,
-+ void *data);
-+
-+ char typename[IP_SET_MAXNAMELEN];
-+ char typecode;
-+ int protocol_version;
-+
-+ /* Set this to THIS_MODULE if you are a module, otherwise NULL */
-+ struct module *me;
-+};
-+
-+extern int ip_set_register_set_type(struct ip_set_type *set_type);
-+extern void ip_set_unregister_set_type(struct ip_set_type *set_type);
-+
-+/* A generic ipset */
-+struct ip_set {
-+ char name[IP_SET_MAXNAMELEN]; /* the name of the set */
-+ rwlock_t lock; /* lock for concurrency control */
-+ ip_set_id_t id; /* set id for swapping */
-+ ip_set_id_t binding; /* default binding for the set */
-+ atomic_t ref; /* in kernel and in hash references */
-+ struct ip_set_type *type; /* the set types */
-+ void *data; /* pooltype specific data */
-+};
-+
-+/* Structure to bind set elements to sets */
-+struct ip_set_hash {
-+ struct list_head list; /* list of clashing entries in hash */
-+ ip_set_ip_t ip; /* ip from set */
-+ ip_set_id_t id; /* set id */
-+ ip_set_id_t binding; /* set we bind the element to */
-+};
-+
-+/* register and unregister set references */
-+extern ip_set_id_t ip_set_get_byname(const char name[IP_SET_MAXNAMELEN]);
-+extern ip_set_id_t ip_set_get_byindex(ip_set_id_t id);
-+extern void ip_set_put(ip_set_id_t id);
-+
-+/* API for iptables set match, and SET target */
-+extern void ip_set_addip_kernel(ip_set_id_t id,
-+ const struct sk_buff *skb,
-+ const u_int32_t *flags);
-+extern void ip_set_delip_kernel(ip_set_id_t id,
-+ const struct sk_buff *skb,
-+ const u_int32_t *flags);
-+extern int ip_set_testip_kernel(ip_set_id_t id,
-+ const struct sk_buff *skb,
-+ const u_int32_t *flags);
-+
-+#endif /* __KERNEL__ */
-+
-+#endif /*_IP_SET_H*/
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_iphash.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_iphash.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_iphash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_iphash.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,30 @@
-+#ifndef __IP_SET_IPHASH_H
-+#define __IP_SET_IPHASH_H
-+
-+#include <linux/netfilter_ipv4/ip_set.h>
-+
-+#define SETTYPE_NAME "iphash"
-+#define MAX_RANGE 0x0000FFFF
-+
-+struct ip_set_iphash {
-+ ip_set_ip_t *members; /* the iphash proper */
-+ uint32_t initval; /* initval for jhash_1word */
-+ uint32_t prime; /* prime for double hashing */
-+ uint32_t hashsize; /* hash size */
-+ uint16_t probes; /* max number of probes */
-+ uint16_t resize; /* resize factor in percent */
-+ ip_set_ip_t netmask; /* netmask */
-+};
-+
-+struct ip_set_req_iphash_create {
-+ uint32_t hashsize;
-+ uint16_t probes;
-+ uint16_t resize;
-+ ip_set_ip_t netmask;
-+};
-+
-+struct ip_set_req_iphash {
-+ ip_set_ip_t ip;
-+};
-+
-+#endif /* __IP_SET_IPHASH_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_ipmap.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_ipmap.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_ipmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_ipmap.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,56 @@
-+#ifndef __IP_SET_IPMAP_H
-+#define __IP_SET_IPMAP_H
-+
-+#include <linux/netfilter_ipv4/ip_set.h>
-+
-+#define SETTYPE_NAME "ipmap"
-+#define MAX_RANGE 0x0000FFFF
-+
-+struct ip_set_ipmap {
-+ void *members; /* the ipmap proper */
-+ ip_set_ip_t first_ip; /* host byte order, included in range */
-+ ip_set_ip_t last_ip; /* host byte order, included in range */
-+ ip_set_ip_t netmask; /* subnet netmask */
-+ ip_set_ip_t sizeid; /* size of set in IPs */
-+ u_int16_t hosts; /* number of hosts in a subnet */
-+};
-+
-+struct ip_set_req_ipmap_create {
-+ ip_set_ip_t from;
-+ ip_set_ip_t to;
-+ ip_set_ip_t netmask;
-+};
-+
-+struct ip_set_req_ipmap {
-+ ip_set_ip_t ip;
-+};
-+
-+unsigned int
-+mask_to_bits(ip_set_ip_t mask)
-+{
-+ unsigned int bits = 32;
-+ ip_set_ip_t maskaddr;
-+
-+ if (mask == 0xFFFFFFFF)
-+ return bits;
-+
-+ maskaddr = 0xFFFFFFFE;
-+ while (--bits >= 0 && maskaddr != mask)
-+ maskaddr <<= 1;
-+
-+ return bits;
-+}
-+
-+ip_set_ip_t
-+range_to_mask(ip_set_ip_t from, ip_set_ip_t to, unsigned int *bits)
-+{
-+ ip_set_ip_t mask = 0xFFFFFFFE;
-+
-+ *bits = 32;
-+ while (--(*bits) >= 0 && mask && (to & mask) != from)
-+ mask <<= 1;
-+
-+ return mask;
-+}
-+
-+#endif /* __IP_SET_IPMAP_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_iptree.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_iptree.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_iptree.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_iptree.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,39 @@
-+#ifndef __IP_SET_IPTREE_H
-+#define __IP_SET_IPTREE_H
-+
-+#include <linux/netfilter_ipv4/ip_set.h>
-+
-+#define SETTYPE_NAME "iptree"
-+#define MAX_RANGE 0x0000FFFF
-+
-+struct ip_set_iptreed {
-+ unsigned long expires[255]; /* x.x.x.ADDR */
-+};
-+
-+struct ip_set_iptreec {
-+ struct ip_set_iptreed *tree[255]; /* x.x.ADDR.* */
-+};
-+
-+struct ip_set_iptreeb {
-+ struct ip_set_iptreec *tree[255]; /* x.ADDR.*.* */
-+};
-+
-+struct ip_set_iptree {
-+ unsigned int timeout;
-+ unsigned int gc_interval;
-+#ifdef __KERNEL__
-+ struct timer_list gc;
-+ struct ip_set_iptreeb *tree[255]; /* ADDR.*.*.* */
-+#endif
-+};
-+
-+struct ip_set_req_iptree_create {
-+ unsigned int timeout;
-+};
-+
-+struct ip_set_req_iptree {
-+ ip_set_ip_t ip;
-+ unsigned int timeout;
-+};
-+
-+#endif /* __IP_SET_IPTREE_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_jhash.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_jhash.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_jhash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_jhash.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,148 @@
-+#ifndef _LINUX_IPSET_JHASH_H
-+#define _LINUX_IPSET_JHASH_H
-+
-+/* This is a copy of linux/jhash.h but the types u32/u8 are changed
-+ * to __u32/__u8 so that the header file can be included into
-+ * userspace code as well. Jozsef Kadlecsik (kadlec@blackhole.kfki.hu)
-+ */
-+
-+/* jhash.h: Jenkins hash support.
-+ *
-+ * Copyright (C) 1996 Bob Jenkins (bob_jenkins@burtleburtle.net)
-+ *
-+ * http://burtleburtle.net/bob/hash/
-+ *
-+ * These are the credits from Bob's sources:
-+ *
-+ * lookup2.c, by Bob Jenkins, December 1996, Public Domain.
-+ * hash(), hash2(), hash3, and mix() are externally useful functions.
-+ * Routines to test the hash are included if SELF_TEST is defined.
-+ * You can use this free for any purpose. It has no warranty.
-+ *
-+ * Copyright (C) 2003 David S. Miller (davem@redhat.com)
-+ *
-+ * I've modified Bob's hash to be useful in the Linux kernel, and
-+ * any bugs present are surely my fault. -DaveM
-+ */
-+
-+/* NOTE: Arguments are modified. */
-+#define __jhash_mix(a, b, c) \
-+{ \
-+ a -= b; a -= c; a ^= (c>>13); \
-+ b -= c; b -= a; b ^= (a<<8); \
-+ c -= a; c -= b; c ^= (b>>13); \
-+ a -= b; a -= c; a ^= (c>>12); \
-+ b -= c; b -= a; b ^= (a<<16); \
-+ c -= a; c -= b; c ^= (b>>5); \
-+ a -= b; a -= c; a ^= (c>>3); \
-+ b -= c; b -= a; b ^= (a<<10); \
-+ c -= a; c -= b; c ^= (b>>15); \
-+}
-+
-+/* The golden ration: an arbitrary value */
-+#define JHASH_GOLDEN_RATIO 0x9e3779b9
-+
-+/* The most generic version, hashes an arbitrary sequence
-+ * of bytes. No alignment or length assumptions are made about
-+ * the input key.
-+ */
-+static inline __u32 jhash(void *key, __u32 length, __u32 initval)
-+{
-+ __u32 a, b, c, len;
-+ __u8 *k = key;
-+
-+ len = length;
-+ a = b = JHASH_GOLDEN_RATIO;
-+ c = initval;
-+
-+ while (len >= 12) {
-+ a += (k[0] +((__u32)k[1]<<8) +((__u32)k[2]<<16) +((__u32)k[3]<<24));
-+ b += (k[4] +((__u32)k[5]<<8) +((__u32)k[6]<<16) +((__u32)k[7]<<24));
-+ c += (k[8] +((__u32)k[9]<<8) +((__u32)k[10]<<16)+((__u32)k[11]<<24));
-+
-+ __jhash_mix(a,b,c);
-+
-+ k += 12;
-+ len -= 12;
-+ }
-+
-+ c += length;
-+ switch (len) {
-+ case 11: c += ((__u32)k[10]<<24);
-+ case 10: c += ((__u32)k[9]<<16);
-+ case 9 : c += ((__u32)k[8]<<8);
-+ case 8 : b += ((__u32)k[7]<<24);
-+ case 7 : b += ((__u32)k[6]<<16);
-+ case 6 : b += ((__u32)k[5]<<8);
-+ case 5 : b += k[4];
-+ case 4 : a += ((__u32)k[3]<<24);
-+ case 3 : a += ((__u32)k[2]<<16);
-+ case 2 : a += ((__u32)k[1]<<8);
-+ case 1 : a += k[0];
-+ };
-+
-+ __jhash_mix(a,b,c);
-+
-+ return c;
-+}
-+
-+/* A special optimized version that handles 1 or more of __u32s.
-+ * The length parameter here is the number of __u32s in the key.
-+ */
-+static inline __u32 jhash2(__u32 *k, __u32 length, __u32 initval)
-+{
-+ __u32 a, b, c, len;
-+
-+ a = b = JHASH_GOLDEN_RATIO;
-+ c = initval;
-+ len = length;
-+
-+ while (len >= 3) {
-+ a += k[0];
-+ b += k[1];
-+ c += k[2];
-+ __jhash_mix(a, b, c);
-+ k += 3; len -= 3;
-+ }
-+
-+ c += length * 4;
-+
-+ switch (len) {
-+ case 2 : b += k[1];
-+ case 1 : a += k[0];
-+ };
-+
-+ __jhash_mix(a,b,c);
-+
-+ return c;
-+}
-+
-+
-+/* A special ultra-optimized versions that knows they are hashing exactly
-+ * 3, 2 or 1 word(s).
-+ *
-+ * NOTE: In partilar the "c += length; __jhash_mix(a,b,c);" normally
-+ * done at the end is not done here.
-+ */
-+static inline __u32 jhash_3words(__u32 a, __u32 b, __u32 c, __u32 initval)
-+{
-+ a += JHASH_GOLDEN_RATIO;
-+ b += JHASH_GOLDEN_RATIO;
-+ c += initval;
-+
-+ __jhash_mix(a, b, c);
-+
-+ return c;
-+}
-+
-+static inline __u32 jhash_2words(__u32 a, __u32 b, __u32 initval)
-+{
-+ return jhash_3words(a, b, 0, initval);
-+}
-+
-+static inline __u32 jhash_1word(__u32 a, __u32 initval)
-+{
-+ return jhash_3words(a, 0, 0, initval);
-+}
-+
-+#endif /* _LINUX_IPSET_JHASH_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_macipmap.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_macipmap.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_macipmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_macipmap.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,38 @@
-+#ifndef __IP_SET_MACIPMAP_H
-+#define __IP_SET_MACIPMAP_H
-+
-+#include <linux/netfilter_ipv4/ip_set.h>
-+
-+#define SETTYPE_NAME "macipmap"
-+#define MAX_RANGE 0x0000FFFF
-+
-+/* general flags */
-+#define IPSET_MACIP_MATCHUNSET 1
-+
-+/* per ip flags */
-+#define IPSET_MACIP_ISSET 1
-+
-+struct ip_set_macipmap {
-+ void *members; /* the macipmap proper */
-+ ip_set_ip_t first_ip; /* host byte order, included in range */
-+ ip_set_ip_t last_ip; /* host byte order, included in range */
-+ u_int32_t flags;
-+};
-+
-+struct ip_set_req_macipmap_create {
-+ ip_set_ip_t from;
-+ ip_set_ip_t to;
-+ u_int32_t flags;
-+};
-+
-+struct ip_set_req_macipmap {
-+ ip_set_ip_t ip;
-+ unsigned char ethernet[ETH_ALEN];
-+};
-+
-+struct ip_set_macip {
-+ unsigned short flags;
-+ unsigned char ethernet[ETH_ALEN];
-+};
-+
-+#endif /* __IP_SET_MACIPMAP_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_malloc.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_malloc.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_malloc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_malloc.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,27 @@
-+#ifndef _IP_SET_MALLOC_H
-+#define _IP_SET_MALLOC_H
-+
-+#ifdef __KERNEL__
-+
-+/* Memory allocation and deallocation */
-+static size_t max_malloc_size = 131072; /* Guaranteed: slab.c */
-+
-+static inline void * ip_set_malloc(size_t bytes)
-+{
-+ if (bytes > max_malloc_size)
-+ return vmalloc(bytes);
-+ else
-+ return kmalloc(bytes, GFP_KERNEL);
-+}
-+
-+static inline void ip_set_free(void * data, size_t bytes)
-+{
-+ if (bytes > max_malloc_size)
-+ vfree(data);
-+ else
-+ kfree(data);
-+}
-+
-+#endif /* __KERNEL__ */
-+
-+#endif /*_IP_SET_MALLOC_H*/
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_nethash.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_nethash.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_nethash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_nethash.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,55 @@
-+#ifndef __IP_SET_NETHASH_H
-+#define __IP_SET_NETHASH_H
-+
-+#include <linux/netfilter_ipv4/ip_set.h>
-+
-+#define SETTYPE_NAME "nethash"
-+#define MAX_RANGE 0x0000FFFF
-+
-+struct ip_set_nethash {
-+ ip_set_ip_t *members; /* the nethash proper */
-+ uint32_t initval; /* initval for jhash_1word */
-+ uint32_t prime; /* prime for double hashing */
-+ uint32_t hashsize; /* hash size */
-+ uint16_t probes; /* max number of probes */
-+ uint16_t resize; /* resize factor in percent */
-+ unsigned char cidr[30]; /* CIDR sizes */
-+};
-+
-+struct ip_set_req_nethash_create {
-+ uint32_t hashsize;
-+ uint16_t probes;
-+ uint16_t resize;
-+};
-+
-+struct ip_set_req_nethash {
-+ ip_set_ip_t ip;
-+ unsigned char cidr;
-+};
-+
-+static unsigned char shifts[] = {255, 253, 249, 241, 225, 193, 129, 1};
-+
-+static inline ip_set_ip_t
-+pack(ip_set_ip_t ip, unsigned char cidr)
-+{
-+ ip_set_ip_t addr, *paddr = &addr;
-+ unsigned char n, t, *a;
-+
-+ addr = htonl(ip & (0xFFFFFFFF << (32 - (cidr))));
-+#ifdef __KERNEL__
-+ DP("ip:%u.%u.%u.%u/%u", NIPQUAD(addr), cidr);
-+#endif
-+ n = cidr / 8;
-+ t = cidr % 8;
-+ a = &((unsigned char *)paddr)[n];
-+ *a = *a /(1 << (8 - t)) + shifts[t];
-+#ifdef __KERNEL__
-+ DP("n: %u, t: %u, a: %u", n, t, *a);
-+ DP("ip:%u.%u.%u.%u/%u, %u.%u.%u.%u",
-+ HIPQUAD(ip), cidr, NIPQUAD(addr));
-+#endif
-+
-+ return ntohl(addr);
-+}
-+
-+#endif /* __IP_SET_NETHASH_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_portmap.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_portmap.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_portmap.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_portmap.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,25 @@
-+#ifndef __IP_SET_PORTMAP_H
-+#define __IP_SET_PORTMAP_H
-+
-+#include <linux/netfilter_ipv4/ip_set.h>
-+
-+#define SETTYPE_NAME "portmap"
-+#define MAX_RANGE 0x0000FFFF
-+#define INVALID_PORT (MAX_RANGE + 1)
-+
-+struct ip_set_portmap {
-+ void *members; /* the portmap proper */
-+ ip_set_ip_t first_port; /* host byte order, included in range */
-+ ip_set_ip_t last_port; /* host byte order, included in range */
-+};
-+
-+struct ip_set_req_portmap_create {
-+ ip_set_ip_t from;
-+ ip_set_ip_t to;
-+};
-+
-+struct ip_set_req_portmap {
-+ ip_set_ip_t port;
-+};
-+
-+#endif /* __IP_SET_PORTMAP_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ip_set_prime.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_prime.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ip_set_prime.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ip_set_prime.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,34 @@
-+#ifndef __IP_SET_PRIME_H
-+#define __IP_SET_PRIME_H
-+
-+static inline unsigned make_prime_bound(unsigned nr)
-+{
-+ unsigned long long nr64 = nr;
-+ unsigned long long x = 1;
-+ nr = 1;
-+ while (x <= nr64) { x <<= 2; nr <<= 1; }
-+ return nr;
-+}
-+
-+static inline int make_prime_check(unsigned nr)
-+{
-+ unsigned x = 3;
-+ unsigned b = make_prime_bound(nr);
-+ while (x <= b) {
-+ if (0 == (nr % x)) return 0;
-+ x += 2;
-+ }
-+ return 1;
-+}
-+
-+static unsigned make_prime(unsigned nr)
-+{
-+ if (0 == (nr & 1)) nr--;
-+ while (nr > 1) {
-+ if (make_prime_check(nr)) return nr;
-+ nr -= 2;
-+ }
-+ return 2;
-+}
-+
-+#endif /* __IP_SET_PRIME_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_condition.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_condition.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_condition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_condition.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,11 @@
-+#ifndef __IPT_CONDITION_MATCH__
-+#define __IPT_CONDITION_MATCH__
-+
-+#define CONDITION_NAME_LEN 32
-+
-+struct condition_info {
-+ char name[CONDITION_NAME_LEN];
-+ int invert;
-+};
-+
-+#endif
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_connbytes.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_connbytes.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_connbytes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_connbytes.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,25 @@
-+#ifndef _IPT_CONNBYTES_H
-+#define _IPT_CONNBYTES_H
-+enum ipt_connbytes_what {
-+ IPT_CONNBYTES_PKTS,
-+ IPT_CONNBYTES_BYTES,
-+ IPT_CONNBYTES_AVGPKT,
-+};
-+
-+enum ipt_connbytes_direction {
-+ IPT_CONNBYTES_DIR_ORIGINAL,
-+ IPT_CONNBYTES_DIR_REPLY,
-+ IPT_CONNBYTES_DIR_BOTH,
-+};
-+
-+struct ipt_connbytes_info
-+{
-+ struct {
-+ u_int64_t from; /* count to be matched */
-+ u_int64_t to; /* count to be matched */
-+ } count;
-+ u_int8_t what; /* ipt_connbytes_what */
-+ u_int8_t direction; /* ipt_connbytes_direction */
-+};
-+
-+#endif
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_connmark.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_connmark.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_connmark.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_connmark.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,18 @@
-+#ifndef _IPT_CONNMARK_H
-+#define _IPT_CONNMARK_H
-+
-+/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com>
-+ * by Henrik Nordstrom <hno@marasystems.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ */
-+
-+struct ipt_connmark_info {
-+ unsigned long mark, mask;
-+ u_int8_t invert;
-+};
-+
-+#endif /*_IPT_CONNMARK_H*/
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_CONNMARK.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_CONNMARK.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_CONNMARK.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_CONNMARK.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,25 @@
-+#ifndef _IPT_CONNMARK_H_target
-+#define _IPT_CONNMARK_H_target
-+
-+/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com>
-+ * by Henrik Nordstrom <hno@marasystems.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ */
-+
-+enum {
-+ IPT_CONNMARK_SET = 0,
-+ IPT_CONNMARK_SAVE,
-+ IPT_CONNMARK_RESTORE
-+};
-+
-+struct ipt_connmark_target_info {
-+ unsigned long mark;
-+ unsigned long mask;
-+ u_int8_t mode;
-+};
-+
-+#endif /*_IPT_CONNMARK_H_target*/
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_IMQ.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_IMQ.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_IMQ.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_IMQ.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,8 @@
-+#ifndef _IPT_IMQ_H
-+#define _IPT_IMQ_H
-+
-+struct ipt_imq_info {
-+ unsigned int todev; /* target imq device */
-+};
-+
-+#endif /* _IPT_IMQ_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_ipp2p.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_ipp2p.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_ipp2p.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_ipp2p.h 2006-03-13 18:55:56.000000000 +0100
-@@ -0,0 +1,29 @@
-+#ifndef __IPT_IPP2P_H
-+#define __IPT_IPP2P_H
-+#define IPP2P_VERSION "0.7.4"
-+
-+struct ipt_p2p_info {
-+ int cmd;
-+ int debug;
-+};
-+
-+#endif //__IPT_IPP2P_H
-+
-+#define SHORT_HAND_IPP2P 1 /* --ipp2p switch*/
-+#define SHORT_HAND_DATA 4 /* --ipp2p-data switch*/
-+#define SHORT_HAND_NONE 5 /* no short hand*/
-+
-+#define IPP2P_EDK 2
-+#define IPP2P_DATA_KAZAA 8
-+#define IPP2P_DATA_EDK 16
-+#define IPP2P_DATA_DC 32
-+#define IPP2P_DC 64
-+#define IPP2P_DATA_GNU 128
-+#define IPP2P_GNU 256
-+#define IPP2P_KAZAA 512
-+#define IPP2P_BIT 1024
-+#define IPP2P_APPLE 2048
-+#define IPP2P_SOUL 4096
-+#define IPP2P_WINMX 8192
-+#define IPP2P_ARES 16384
-+
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_layer7.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_layer7.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_layer7.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_layer7.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,27 @@
-+/*
-+ By Matthew Strait <quadong@users.sf.net>, Dec 2003.
-+ http://l7-filter.sf.net
-+
-+ This program is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU General Public License
-+ as published by the Free Software Foundation; either version
-+ 2 of the License, or (at your option) any later version.
-+ http://www.gnu.org/licenses/gpl.txt
-+*/
-+
-+#ifndef _IPT_LAYER7_H
-+#define _IPT_LAYER7_H
-+
-+#define MAX_PATTERN_LEN 8192
-+#define MAX_PROTOCOL_LEN 256
-+
-+typedef char *(*proc_ipt_search) (char *, char, char *);
-+
-+struct ipt_layer7_info {
-+ char protocol[MAX_PROTOCOL_LEN];
-+ char invert:1;
-+ char pattern[MAX_PATTERN_LEN];
-+ char pkt;
-+};
-+
-+#endif /* _IPT_LAYER7_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_multiport.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_multiport.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_multiport.h 2000-12-11 22:31:30.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_multiport.h 2006-03-13 18:55:58.000000000 +0100
-@@ -11,11 +11,12 @@
-
- #define IPT_MULTI_PORTS 15
-
--/* Must fit inside union ipt_matchinfo: 16 bytes */
--struct ipt_multiport
-+struct ipt_multiport_v1
- {
- u_int8_t flags; /* Type of comparison */
- u_int8_t count; /* Number of ports */
- u_int16_t ports[IPT_MULTI_PORTS]; /* Ports */
-+ u_int8_t pflags[IPT_MULTI_PORTS]; /* Port flags */
-+ u_int8_t invert; /* Invert flag */
- };
- #endif /*_IPT_MULTIPORT_H*/
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_quota.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_quota.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_quota.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_quota.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,12 @@
-+#ifndef _IPT_QUOTA_H
-+#define _IPT_QUOTA_H
-+
-+/* print debug info in both kernel/netfilter module & iptable library */
-+//#define DEBUG_IPT_QUOTA
-+
-+struct ipt_quota_info {
-+ u_int64_t quota;
-+ struct ipt_quota_info *master;
-+};
-+
-+#endif /*_IPT_QUOTA_H*/
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_set.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_set.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_set.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_set.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,21 @@
-+#ifndef _IPT_SET_H
-+#define _IPT_SET_H
-+
-+#include <linux/netfilter_ipv4/ip_set.h>
-+
-+struct ipt_set_info {
-+ ip_set_id_t index;
-+ u_int32_t flags[IP_SET_MAX_BINDINGS + 1];
-+};
-+
-+/* match info */
-+struct ipt_set_info_match {
-+ struct ipt_set_info match_set;
-+};
-+
-+struct ipt_set_info_target {
-+ struct ipt_set_info add_set;
-+ struct ipt_set_info del_set;
-+};
-+
-+#endif /*_IPT_SET_H*/
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_string.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_string.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_string.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_string.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,18 @@
-+#ifndef _IPT_STRING_H
-+#define _IPT_STRING_H
-+
-+#define IPT_STRING_MAX_PATTERN_SIZE 128
-+#define IPT_STRING_MAX_ALGO_NAME_SIZE 16
-+
-+struct ipt_string_info
-+{
-+ u_int16_t from_offset;
-+ u_int16_t to_offset;
-+ char algo[IPT_STRING_MAX_ALGO_NAME_SIZE];
-+ char pattern[IPT_STRING_MAX_PATTERN_SIZE];
-+ u_int8_t patlen;
-+ u_int8_t invert;
-+ struct ts_config __attribute__((aligned(8))) *config;
-+};
-+
-+#endif /*_IPT_STRING_H*/
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_time.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_time.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_time.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_time.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,15 @@
-+#ifndef __ipt_time_h_included__
-+#define __ipt_time_h_included__
-+
-+
-+struct ipt_time_info {
-+ u_int8_t days_match; /* 1 bit per day. -SMTWTFS */
-+ u_int16_t time_start; /* 0 < time_start < 23*60+59 = 1439 */
-+ u_int16_t time_stop; /* 0:0 < time_stat < 23:59 */
-+ u_int8_t kerneltime; /* ignore skb time (and use kerneltime) or not. */
-+ time_t date_start;
-+ time_t date_stop;
-+};
-+
-+
-+#endif /* __ipt_time_h_included__ */
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv4/ipt_TTL.h linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_TTL.h
---- linux-2.4.32/include/linux/netfilter_ipv4/ipt_TTL.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv4/ipt_TTL.h 2006-03-13 18:55:57.000000000 +0100
-@@ -0,0 +1,21 @@
-+/* TTL modification module for IP tables
-+ * (C) 2000 by Harald Welte <laforge@gnumonks.org> */
-+
-+#ifndef _IPT_TTL_H
-+#define _IPT_TTL_H
-+
-+enum {
-+ IPT_TTL_SET = 0,
-+ IPT_TTL_INC,
-+ IPT_TTL_DEC
-+};
-+
-+#define IPT_TTL_MAXMODE IPT_TTL_DEC
-+
-+struct ipt_TTL_info {
-+ u_int8_t mode;
-+ u_int8_t ttl;
-+};
-+
-+
-+#endif
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv6/ip6t_condition.h linux-2.4.32.patched/include/linux/netfilter_ipv6/ip6t_condition.h
---- linux-2.4.32/include/linux/netfilter_ipv6/ip6t_condition.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv6/ip6t_condition.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,11 @@
-+#ifndef __IP6T_CONDITION_MATCH__
-+#define __IP6T_CONDITION_MATCH__
-+
-+#define CONDITION6_NAME_LEN 32
-+
-+struct condition6_info {
-+ char name[CONDITION6_NAME_LEN];
-+ int invert;
-+};
-+
-+#endif
-diff -Nur linux-2.4.32/include/linux/netfilter_ipv6/ip6t_IMQ.h linux-2.4.32.patched/include/linux/netfilter_ipv6/ip6t_IMQ.h
---- linux-2.4.32/include/linux/netfilter_ipv6/ip6t_IMQ.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_ipv6/ip6t_IMQ.h 2006-03-13 18:55:58.000000000 +0100
-@@ -0,0 +1,8 @@
-+#ifndef _IP6T_IMQ_H
-+#define _IP6T_IMQ_H
-+
-+struct ip6t_imq_info {
-+ unsigned int todev; /* target imq device */
-+};
-+
-+#endif /* _IP6T_IMQ_H */
-diff -Nur linux-2.4.32/include/linux/netfilter_mime.h linux-2.4.32.patched/include/linux/netfilter_mime.h
---- linux-2.4.32/include/linux/netfilter_mime.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/netfilter_mime.h 2006-03-13 19:01:42.000000000 +0100
-@@ -0,0 +1,90 @@
-+/*
-+ * MIME functions for netfilter modules. This file provides implementations
-+ * for basic MIME parsing. MIME headers are used in many protocols, such as
-+ * HTTP, RTSP, SIP, etc.
-+ *
-+ * gcc will warn for defined but unused functions, so we only include the
-+ * functions requested. The following macros are used:
-+ * NF_NEED_MIME_NEXTLINE nf_mime_nextline()
-+ */
-+#ifndef _NETFILTER_MIME_H
-+#define _NETFILTER_MIME_H
-+
-+/* Only include these functions for kernel code. */
-+#ifdef __KERNEL__
-+
-+#include <linux/kernel.h>
-+#include <linux/ctype.h>
-+
-+/*
-+ * Given a buffer and length, advance to the next line and mark the current
-+ * line. If the current line is empty, *plinelen will be set to zero. If
-+ * not, it will be set to the actual line length (including CRLF).
-+ *
-+ * 'line' in this context means logical line (includes LWS continuations).
-+ * Returns 1 on success, 0 on failure.
-+ */
-+#ifdef NF_NEED_MIME_NEXTLINE
-+static int
-+nf_mime_nextline(char* p, uint len, uint* poff, uint* plineoff, uint* plinelen)
-+{
-+ uint off = *poff;
-+ uint physlen = 0;
-+ int is_first_line = 1;
-+
-+ if (off >= len)
-+ {
-+ return 0;
-+ }
-+
-+ do
-+ {
-+ while (p[off] != '\n')
-+ {
-+ if (len-off <= 1)
-+ {
-+ return 0;
-+ }
-+
-+ physlen++;
-+ off++;
-+ }
-+
-+ /* if we saw a crlf, physlen needs adjusted */
-+ if (physlen > 0 && p[off] == '\n' && p[off-1] == '\r')
-+ {
-+ physlen--;
-+ }
-+
-+ /* advance past the newline */
-+ off++;
-+
-+ /* check for an empty line */
-+ if (physlen == 0)
-+ {
-+ break;
-+ }
-+
-+ /* check for colon on the first physical line */
-+ if (is_first_line)
-+ {
-+ is_first_line = 0;
-+ if (memchr(p+(*poff), ':', physlen) == NULL)
-+ {
-+ return 0;
-+ }
-+ }
-+ }
-+ while (p[off] == ' ' || p[off] == '\t');
-+
-+ *plineoff = *poff;
-+ *plinelen = (physlen == 0) ? 0 : (off - *poff);
-+ *poff = off;
-+
-+ return 1;
-+}
-+#endif /* NF_NEED_MIME_NEXTLINE */
-+
-+#endif /* __KERNEL__ */
-+
-+#endif /* _NETFILTER_MIME_H */
-diff -Nur linux-2.4.32/include/linux/pci_ids.h linux-2.4.32.patched/include/linux/pci_ids.h
---- linux-2.4.32/include/linux/pci_ids.h 2005-11-16 20:12:54.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/pci_ids.h 2006-03-13 18:55:59.000000000 +0100
-@@ -1741,6 +1741,7 @@
- #define PCI_DEVICE_ID_TIGON3_5901_2 0x170e
- #define PCI_DEVICE_ID_BCM4401 0x4401
- #define PCI_DEVICE_ID_BCM4401B0 0x4402
-+#define PCI_DEVICE_ID_BCM4713 0x4713
-
- #define PCI_VENDOR_ID_ENE 0x1524
- #define PCI_DEVICE_ID_ENE_1211 0x1211
-diff -Nur linux-2.4.32/include/linux/ppp-comp.h linux-2.4.32.patched/include/linux/ppp-comp.h
---- linux-2.4.32/include/linux/ppp-comp.h 1999-08-06 19:44:11.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/ppp-comp.h 2006-03-13 18:55:55.000000000 +0100
-@@ -28,7 +28,7 @@
- */
-
- /*
-- * ==FILEVERSION 980319==
-+ * ==FILEVERSION 20040509==
- *
- * NOTE TO MAINTAINERS:
- * If you modify this file at all, please set the above date.
-@@ -78,7 +78,7 @@
-
- /* Compress a packet */
- int (*compress) (void *state, unsigned char *rptr,
-- unsigned char *obuf, int isize, int osize);
-+ unsigned char *obuf, int isize, int osize);
-
- /* Return compression statistics */
- void (*comp_stat) (void *state, struct compstat *stats);
-@@ -99,7 +99,7 @@
-
- /* Decompress a packet. */
- int (*decompress) (void *state, unsigned char *ibuf, int isize,
-- unsigned char *obuf, int osize);
-+ unsigned char *obuf, int osize);
-
- /* Update state for an incompressible packet received */
- void (*incomp) (void *state, unsigned char *ibuf, int icnt);
-@@ -187,6 +187,42 @@
- #define DEFLATE_CHK_SEQUENCE 0
-
- /*
-+ * Definitions for MPPE/MPPC.
-+ */
-+
-+#define CI_MPPE 18 /* config option for MPPE */
-+#define CILEN_MPPE 6 /* length of config option */
-+
-+#define MPPE_OVHD 4 /* MPPE overhead */
-+#define MPPE_MAX_KEY_LEN 16 /* largest key length (128-bit) */
-+
-+#define MPPE_STATELESS 0x01 /* configuration bit H */
-+#define MPPE_40BIT 0x20 /* configuration bit L */
-+#define MPPE_56BIT 0x80 /* configuration bit M */
-+#define MPPE_128BIT 0x40 /* configuration bit S */
-+#define MPPE_MPPC 0x01 /* configuration bit C */
-+
-+/*
-+ * Definitions for Stac LZS.
-+ */
-+
-+#define CI_LZS 17 /* config option for Stac LZS */
-+#define CILEN_LZS 5 /* length of config option */
-+
-+#define LZS_OVHD 4 /* max. LZS overhead */
-+#define LZS_HIST_LEN 2048 /* LZS history size */
-+#define LZS_MAX_CCOUNT 0x0FFF /* max. coherency counter value */
-+
-+#define LZS_MODE_NONE 0
-+#define LZS_MODE_LCB 1
-+#define LZS_MODE_CRC 2
-+#define LZS_MODE_SEQ 3
-+#define LZS_MODE_EXT 4
-+
-+#define LZS_EXT_BIT_FLUSHED 0x80 /* bit A */
-+#define LZS_EXT_BIT_COMP 0x20 /* bit C */
-+
-+/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-
-diff -Nur linux-2.4.32/include/linux/sched.h linux-2.4.32.patched/include/linux/sched.h
---- linux-2.4.32/include/linux/sched.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/sched.h 2006-03-13 18:57:11.000000000 +0100
-@@ -617,6 +617,10 @@
- extern int in_group_p(gid_t);
- extern int in_egroup_p(gid_t);
-
-+extern ATTRIB_NORET void cpu_idle(void);
-+
-+extern void release_task(struct task_struct * p);
-+
- extern void proc_caches_init(void);
- extern void flush_signals(struct task_struct *);
- extern void flush_signal_handlers(struct task_struct *);
-diff -Nur linux-2.4.32/include/linux/serial.h linux-2.4.32.patched/include/linux/serial.h
---- linux-2.4.32/include/linux/serial.h 2002-08-03 02:39:45.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/serial.h 2006-03-13 18:57:18.000000000 +0100
-@@ -75,7 +75,8 @@
- #define PORT_16654 11
- #define PORT_16850 12
- #define PORT_RSA 13 /* RSA-DV II/S card */
--#define PORT_MAX 13
-+#define PORT_SB1250 14
-+#define PORT_MAX 14
-
- #define SERIAL_IO_PORT 0
- #define SERIAL_IO_HUB6 1
-diff -Nur linux-2.4.32/include/linux/skbuff.h linux-2.4.32.patched/include/linux/skbuff.h
---- linux-2.4.32/include/linux/skbuff.h 2005-04-04 03:42:20.000000000 +0200
-+++ linux-2.4.32.patched/include/linux/skbuff.h 2006-03-13 18:57:13.000000000 +0100
-@@ -93,6 +93,9 @@
- struct nf_conntrack *master;
- };
- #endif
-+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
-+struct nf_info;
-+#endif
-
- struct sk_buff_head {
- /* These two members must be first. */
-@@ -135,10 +138,6 @@
- struct sock *sk; /* Socket we are owned by */
- struct timeval stamp; /* Time we arrived */
- struct net_device *dev; /* Device we arrived on/are leaving by */
-- struct net_device *real_dev; /* For support of point to point protocols
-- (e.g. 802.3ad) over bonding, we must save the
-- physical device that got the packet before
-- replacing skb->dev with the virtual device. */
-
- /* Transport layer header */
- union
-@@ -182,7 +181,7 @@
- unsigned int len; /* Length of actual data */
- unsigned int data_len;
- unsigned int csum; /* Checksum */
-- unsigned char __unused, /* Dead field, may be reused */
-+ unsigned char imq_flags, /* intermediate queueing device */
- cloned, /* head may be cloned (check refcnt to be sure). */
- pkt_type, /* Packet class */
- ip_summed; /* Driver fed us an IP checksum */
-@@ -219,6 +218,13 @@
- #ifdef CONFIG_NET_SCHED
- __u32 tc_index; /* traffic control index */
- #endif
-+#if defined(CONFIG_IMQ) || defined(CONFIG_IMQ_MODULE)
-+ struct nf_info *nf_info;
-+#endif
-+ struct net_device *real_dev; /* For support of point to point protocols
-+ (e.g. 802.3ad) over bonding, we must save the
-+ physical device that got the packet before
-+ replacing skb->dev with the virtual device. */
- };
-
- #ifdef __KERNEL__
-diff -Nur linux-2.4.32/include/linux/squashfs_fs.h linux-2.4.32.patched/include/linux/squashfs_fs.h
---- linux-2.4.32/include/linux/squashfs_fs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/squashfs_fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1,523 @@
-+#ifndef SQUASHFS_FS
-+#define SQUASHFS_FS
-+/*
-+ * Squashfs
-+ *
-+ * Copyright (c) 2002, 2003, 2004, 2005 Phillip Lougher <phillip@lougher.demon.co.uk>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * squashfs_fs.h
-+ */
-+
-+#ifdef CONFIG_SQUASHFS_VMALLOC
-+#define SQUASHFS_ALLOC(a) vmalloc(a)
-+#define SQUASHFS_FREE(a) vfree(a)
-+#else
-+#define SQUASHFS_ALLOC(a) kmalloc(a, GFP_KERNEL)
-+#define SQUASHFS_FREE(a) kfree(a)
-+#endif
-+#ifdef CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE
-+#define SQUASHFS_CACHED_FRAGMENTS CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE
-+#else
-+#define SQUASHFS_CACHED_FRAGMENTS 3
-+#endif
-+#define SQUASHFS_MAJOR 2
-+#define SQUASHFS_MINOR 1
-+#define SQUASHFS_MAGIC 0x73717368
-+#define SQUASHFS_MAGIC_SWAP 0x68737173
-+#define SQUASHFS_START 0
-+
-+/* size of metadata (inode and directory) blocks */
-+#define SQUASHFS_METADATA_SIZE 8192
-+#define SQUASHFS_METADATA_LOG 13
-+
-+/* default size of data blocks */
-+#define SQUASHFS_FILE_SIZE 65536
-+#define SQUASHFS_FILE_LOG 16
-+
-+#define SQUASHFS_FILE_MAX_SIZE 65536
-+
-+/* Max number of uids and gids */
-+#define SQUASHFS_UIDS 256
-+#define SQUASHFS_GUIDS 255
-+
-+/* Max length of filename (not 255) */
-+#define SQUASHFS_NAME_LEN 256
-+
-+#define SQUASHFS_INVALID ((long long) 0xffffffffffff)
-+#define SQUASHFS_INVALID_BLK ((long long) 0xffffffff)
-+#define SQUASHFS_USED_BLK ((long long) 0xfffffffe)
-+
-+/* Filesystem flags */
-+#define SQUASHFS_NOI 0
-+#define SQUASHFS_NOD 1
-+#define SQUASHFS_CHECK 2
-+#define SQUASHFS_NOF 3
-+#define SQUASHFS_NO_FRAG 4
-+#define SQUASHFS_ALWAYS_FRAG 5
-+#define SQUASHFS_DUPLICATE 6
-+#define SQUASHFS_BIT(flag, bit) ((flag >> bit) & 1)
-+#define SQUASHFS_UNCOMPRESSED_INODES(flags) SQUASHFS_BIT(flags, SQUASHFS_NOI)
-+#define SQUASHFS_UNCOMPRESSED_DATA(flags) SQUASHFS_BIT(flags, SQUASHFS_NOD)
-+#define SQUASHFS_UNCOMPRESSED_FRAGMENTS(flags) SQUASHFS_BIT(flags, SQUASHFS_NOF)
-+#define SQUASHFS_NO_FRAGMENTS(flags) SQUASHFS_BIT(flags, SQUASHFS_NO_FRAG)
-+#define SQUASHFS_ALWAYS_FRAGMENTS(flags) SQUASHFS_BIT(flags, SQUASHFS_ALWAYS_FRAG)
-+#define SQUASHFS_DUPLICATES(flags) SQUASHFS_BIT(flags, SQUASHFS_DUPLICATE)
-+#define SQUASHFS_CHECK_DATA(flags) SQUASHFS_BIT(flags, SQUASHFS_CHECK)
-+#define SQUASHFS_MKFLAGS(noi, nod, check_data, nof, no_frag, always_frag, duplicate_checking) (noi | (nod << 1) | (check_data << 2) | (nof << 3) | (no_frag << 4) | (always_frag << 5) | (duplicate_checking << 6))
-+
-+/* Max number of types and file types */
-+#define SQUASHFS_DIR_TYPE 1
-+#define SQUASHFS_FILE_TYPE 2
-+#define SQUASHFS_SYMLINK_TYPE 3
-+#define SQUASHFS_BLKDEV_TYPE 4
-+#define SQUASHFS_CHRDEV_TYPE 5
-+#define SQUASHFS_FIFO_TYPE 6
-+#define SQUASHFS_SOCKET_TYPE 7
-+#define SQUASHFS_LDIR_TYPE 8
-+
-+/* 1.0 filesystem type definitions */
-+#define SQUASHFS_TYPES 5
-+#define SQUASHFS_IPC_TYPE 0
-+
-+/* Flag whether block is compressed or uncompressed, bit is set if block is uncompressed */
-+#define SQUASHFS_COMPRESSED_BIT (1 << 15)
-+#define SQUASHFS_COMPRESSED_SIZE(B) (((B) & ~SQUASHFS_COMPRESSED_BIT) ? \
-+ (B) & ~SQUASHFS_COMPRESSED_BIT : SQUASHFS_COMPRESSED_BIT)
-+
-+#define SQUASHFS_COMPRESSED(B) (!((B) & SQUASHFS_COMPRESSED_BIT))
-+
-+#define SQUASHFS_COMPRESSED_BIT_BLOCK (1 << 24)
-+#define SQUASHFS_COMPRESSED_SIZE_BLOCK(B) (((B) & ~SQUASHFS_COMPRESSED_BIT_BLOCK) ? \
-+ (B) & ~SQUASHFS_COMPRESSED_BIT_BLOCK : SQUASHFS_COMPRESSED_BIT_BLOCK)
-+
-+#define SQUASHFS_COMPRESSED_BLOCK(B) (!((B) & SQUASHFS_COMPRESSED_BIT_BLOCK))
-+
-+/*
-+ * Inode number ops. Inodes consist of a compressed block number, and an uncompressed
-+ * offset within that block
-+ */
-+#define SQUASHFS_INODE_BLK(a) ((unsigned int) ((a) >> 16))
-+#define SQUASHFS_INODE_OFFSET(a) ((unsigned int) ((a) & 0xffff))
-+#define SQUASHFS_MKINODE(A, B) ((squashfs_inode)(((squashfs_inode) (A) << 16)\
-+ + (B)))
-+
-+/* Compute 32 bit VFS inode number from squashfs inode number */
-+#define SQUASHFS_MK_VFS_INODE(a, b) ((unsigned int) (((a) << 8) + ((b) >> 2) + 1))
-+
-+/* Translate between VFS mode and squashfs mode */
-+#define SQUASHFS_MODE(a) ((a) & 0xfff)
-+
-+/* fragment and fragment table defines */
-+typedef unsigned int squashfs_fragment_index;
-+#define SQUASHFS_FRAGMENT_BYTES(A) (A * sizeof(squashfs_fragment_entry))
-+#define SQUASHFS_FRAGMENT_INDEX(A) (SQUASHFS_FRAGMENT_BYTES(A) / SQUASHFS_METADATA_SIZE)
-+#define SQUASHFS_FRAGMENT_INDEX_OFFSET(A) (SQUASHFS_FRAGMENT_BYTES(A) % SQUASHFS_METADATA_SIZE)
-+#define SQUASHFS_FRAGMENT_INDEXES(A) ((SQUASHFS_FRAGMENT_BYTES(A) + SQUASHFS_METADATA_SIZE - 1) / SQUASHFS_METADATA_SIZE)
-+#define SQUASHFS_FRAGMENT_INDEX_BYTES(A) (SQUASHFS_FRAGMENT_INDEXES(A) * sizeof(squashfs_fragment_index))
-+
-+/* cached data constants for filesystem */
-+#define SQUASHFS_CACHED_BLKS 8
-+
-+#define SQUASHFS_MAX_FILE_SIZE_LOG 32
-+#define SQUASHFS_MAX_FILE_SIZE ((long long) 1 << (SQUASHFS_MAX_FILE_SIZE_LOG - 1))
-+
-+#define SQUASHFS_MARKER_BYTE 0xff
-+
-+
-+/*
-+ * definitions for structures on disk
-+ */
-+
-+typedef unsigned int squashfs_block;
-+typedef long long squashfs_inode;
-+
-+typedef unsigned int squashfs_uid;
-+
-+typedef struct squashfs_super_block {
-+ unsigned int s_magic;
-+ unsigned int inodes;
-+ unsigned int bytes_used;
-+ unsigned int uid_start;
-+ unsigned int guid_start;
-+ unsigned int inode_table_start;
-+ unsigned int directory_table_start;
-+ unsigned int s_major:16;
-+ unsigned int s_minor:16;
-+ unsigned int block_size_1:16;
-+ unsigned int block_log:16;
-+ unsigned int flags:8;
-+ unsigned int no_uids:8;
-+ unsigned int no_guids:8;
-+ unsigned int mkfs_time /* time of filesystem creation */;
-+ squashfs_inode root_inode;
-+ unsigned int block_size;
-+ unsigned int fragments;
-+ unsigned int fragment_table_start;
-+} __attribute__ ((packed)) squashfs_super_block;
-+
-+typedef struct {
-+ unsigned int index:27;
-+ unsigned int start_block:29;
-+ unsigned char size;
-+ unsigned char name[0];
-+} __attribute__ ((packed)) squashfs_dir_index;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:8; /* index into uid table */
-+ unsigned int guid:8; /* index into guid table */
-+} __attribute__ ((packed)) squashfs_base_inode_header;
-+
-+typedef squashfs_base_inode_header squashfs_ipc_inode_header;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:8; /* index into uid table */
-+ unsigned int guid:8; /* index into guid table */
-+ unsigned short rdev;
-+} __attribute__ ((packed)) squashfs_dev_inode_header;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:8; /* index into uid table */
-+ unsigned int guid:8; /* index into guid table */
-+ unsigned short symlink_size;
-+ char symlink[0];
-+} __attribute__ ((packed)) squashfs_symlink_inode_header;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:8; /* index into uid table */
-+ unsigned int guid:8; /* index into guid table */
-+ unsigned int mtime;
-+ squashfs_block start_block;
-+ unsigned int fragment;
-+ unsigned int offset;
-+ unsigned int file_size:SQUASHFS_MAX_FILE_SIZE_LOG;
-+ unsigned short block_list[0];
-+} __attribute__ ((packed)) squashfs_reg_inode_header;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:8; /* index into uid table */
-+ unsigned int guid:8; /* index into guid table */
-+ unsigned int file_size:19;
-+ unsigned int offset:13;
-+ unsigned int mtime;
-+ unsigned int start_block:24;
-+} __attribute__ ((packed)) squashfs_dir_inode_header;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:8; /* index into uid table */
-+ unsigned int guid:8; /* index into guid table */
-+ unsigned int file_size:27;
-+ unsigned int offset:13;
-+ unsigned int mtime;
-+ unsigned int start_block:24;
-+ unsigned int i_count:16;
-+ squashfs_dir_index index[0];
-+} __attribute__ ((packed)) squashfs_ldir_inode_header;
-+
-+typedef union {
-+ squashfs_base_inode_header base;
-+ squashfs_dev_inode_header dev;
-+ squashfs_symlink_inode_header symlink;
-+ squashfs_reg_inode_header reg;
-+ squashfs_dir_inode_header dir;
-+ squashfs_ldir_inode_header ldir;
-+ squashfs_ipc_inode_header ipc;
-+} squashfs_inode_header;
-+
-+typedef struct {
-+ unsigned int offset:13;
-+ unsigned int type:3;
-+ unsigned int size:8;
-+ char name[0];
-+} __attribute__ ((packed)) squashfs_dir_entry;
-+
-+typedef struct {
-+ unsigned int count:8;
-+ unsigned int start_block:24;
-+} __attribute__ ((packed)) squashfs_dir_header;
-+
-+typedef struct {
-+ unsigned int start_block;
-+ unsigned int size;
-+} __attribute__ ((packed)) squashfs_fragment_entry;
-+
-+extern int squashfs_uncompress_block(void *d, int dstlen, void *s, int srclen);
-+extern int squashfs_uncompress_init(void);
-+extern int squashfs_uncompress_exit(void);
-+
-+/*
-+ * macros to convert each packed bitfield structure from little endian to big
-+ * endian and vice versa. These are needed when creating or using a filesystem on a
-+ * machine with different byte ordering to the target architecture.
-+ *
-+ */
-+
-+#define SQUASHFS_SWAP_SUPER_BLOCK(s, d) {\
-+ SQUASHFS_MEMSET(s, d, sizeof(squashfs_super_block));\
-+ SQUASHFS_SWAP((s)->s_magic, d, 0, 32);\
-+ SQUASHFS_SWAP((s)->inodes, d, 32, 32);\
-+ SQUASHFS_SWAP((s)->bytes_used, d, 64, 32);\
-+ SQUASHFS_SWAP((s)->uid_start, d, 96, 32);\
-+ SQUASHFS_SWAP((s)->guid_start, d, 128, 32);\
-+ SQUASHFS_SWAP((s)->inode_table_start, d, 160, 32);\
-+ SQUASHFS_SWAP((s)->directory_table_start, d, 192, 32);\
-+ SQUASHFS_SWAP((s)->s_major, d, 224, 16);\
-+ SQUASHFS_SWAP((s)->s_minor, d, 240, 16);\
-+ SQUASHFS_SWAP((s)->block_size_1, d, 256, 16);\
-+ SQUASHFS_SWAP((s)->block_log, d, 272, 16);\
-+ SQUASHFS_SWAP((s)->flags, d, 288, 8);\
-+ SQUASHFS_SWAP((s)->no_uids, d, 296, 8);\
-+ SQUASHFS_SWAP((s)->no_guids, d, 304, 8);\
-+ SQUASHFS_SWAP((s)->mkfs_time, d, 312, 32);\
-+ SQUASHFS_SWAP((s)->root_inode, d, 344, 64);\
-+ SQUASHFS_SWAP((s)->block_size, d, 408, 32);\
-+ SQUASHFS_SWAP((s)->fragments, d, 440, 32);\
-+ SQUASHFS_SWAP((s)->fragment_table_start, d, 472, 32);\
-+}
-+
-+#define SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, n) {\
-+ SQUASHFS_MEMSET(s, d, n);\
-+ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
-+ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
-+ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
-+ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
-+}
-+
-+#define SQUASHFS_SWAP_IPC_INODE_HEADER(s, d) SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_ipc_inode_header))
-+
-+#define SQUASHFS_SWAP_DEV_INODE_HEADER(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_dev_inode_header));\
-+ SQUASHFS_SWAP((s)->rdev, d, 32, 16);\
-+}
-+
-+#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_symlink_inode_header));\
-+ SQUASHFS_SWAP((s)->symlink_size, d, 32, 16);\
-+}
-+
-+#define SQUASHFS_SWAP_REG_INODE_HEADER(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_reg_inode_header));\
-+ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
-+ SQUASHFS_SWAP((s)->start_block, d, 64, 32);\
-+ SQUASHFS_SWAP((s)->fragment, d, 96, 32);\
-+ SQUASHFS_SWAP((s)->offset, d, 128, 32);\
-+ SQUASHFS_SWAP((s)->file_size, d, 160, SQUASHFS_MAX_FILE_SIZE_LOG);\
-+}
-+
-+#define SQUASHFS_SWAP_DIR_INODE_HEADER(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_dir_inode_header));\
-+ SQUASHFS_SWAP((s)->file_size, d, 32, 19);\
-+ SQUASHFS_SWAP((s)->offset, d, 51, 13);\
-+ SQUASHFS_SWAP((s)->mtime, d, 64, 32);\
-+ SQUASHFS_SWAP((s)->start_block, d, 96, 24);\
-+}
-+
-+#define SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_ldir_inode_header));\
-+ SQUASHFS_SWAP((s)->file_size, d, 32, 27);\
-+ SQUASHFS_SWAP((s)->offset, d, 59, 13);\
-+ SQUASHFS_SWAP((s)->mtime, d, 72, 32);\
-+ SQUASHFS_SWAP((s)->start_block, d, 104, 24);\
-+ SQUASHFS_SWAP((s)->i_count, d, 128, 16);\
-+}
-+
-+#define SQUASHFS_SWAP_DIR_INDEX(s, d) {\
-+ SQUASHFS_MEMSET(s, d, sizeof(squashfs_dir_index));\
-+ SQUASHFS_SWAP((s)->index, d, 0, 27);\
-+ SQUASHFS_SWAP((s)->start_block, d, 27, 29);\
-+ SQUASHFS_SWAP((s)->size, d, 56, 8);\
-+}
-+
-+#define SQUASHFS_SWAP_DIR_HEADER(s, d) {\
-+ SQUASHFS_MEMSET(s, d, sizeof(squashfs_dir_header));\
-+ SQUASHFS_SWAP((s)->count, d, 0, 8);\
-+ SQUASHFS_SWAP((s)->start_block, d, 8, 24);\
-+}
-+
-+#define SQUASHFS_SWAP_DIR_ENTRY(s, d) {\
-+ SQUASHFS_MEMSET(s, d, sizeof(squashfs_dir_entry));\
-+ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
-+ SQUASHFS_SWAP((s)->type, d, 13, 3);\
-+ SQUASHFS_SWAP((s)->size, d, 16, 8);\
-+}
-+
-+#define SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d) {\
-+ SQUASHFS_MEMSET(s, d, sizeof(squashfs_fragment_entry));\
-+ SQUASHFS_SWAP((s)->start_block, d, 0, 32);\
-+ SQUASHFS_SWAP((s)->size, d, 32, 32);\
-+}
-+
-+#define SQUASHFS_SWAP_SHORTS(s, d, n) {\
-+ int entry;\
-+ int bit_position;\
-+ SQUASHFS_MEMSET(s, d, n * 2);\
-+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += 16)\
-+ SQUASHFS_SWAP(s[entry], d, bit_position, 16);\
-+}
-+
-+#define SQUASHFS_SWAP_INTS(s, d, n) {\
-+ int entry;\
-+ int bit_position;\
-+ SQUASHFS_MEMSET(s, d, n * 4);\
-+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += 32)\
-+ SQUASHFS_SWAP(s[entry], d, bit_position, 32);\
-+}
-+
-+#define SQUASHFS_SWAP_DATA(s, d, n, bits) {\
-+ int entry;\
-+ int bit_position;\
-+ SQUASHFS_MEMSET(s, d, n * bits / 8);\
-+ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += bits)\
-+ SQUASHFS_SWAP(s[entry], d, bit_position, bits);\
-+}
-+
-+#define SQUASHFS_SWAP_FRAGMENT_INDEXES(s, d, n) SQUASHFS_SWAP_INTS(s, d, n)
-+
-+#ifdef SQUASHFS_1_0_COMPATIBILITY
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:4; /* index into uid table */
-+ unsigned int guid:4; /* index into guid table */
-+} __attribute__ ((packed)) squashfs_base_inode_header_1;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:4; /* index into uid table */
-+ unsigned int guid:4; /* index into guid table */
-+ unsigned int type:4;
-+ unsigned int offset:4;
-+} __attribute__ ((packed)) squashfs_ipc_inode_header_1;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:4; /* index into uid table */
-+ unsigned int guid:4; /* index into guid table */
-+ unsigned short rdev;
-+} __attribute__ ((packed)) squashfs_dev_inode_header_1;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:4; /* index into uid table */
-+ unsigned int guid:4; /* index into guid table */
-+ unsigned short symlink_size;
-+ char symlink[0];
-+} __attribute__ ((packed)) squashfs_symlink_inode_header_1;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:4; /* index into uid table */
-+ unsigned int guid:4; /* index into guid table */
-+ unsigned int mtime;
-+ squashfs_block start_block;
-+ unsigned int file_size:SQUASHFS_MAX_FILE_SIZE_LOG;
-+ unsigned short block_list[0];
-+} __attribute__ ((packed)) squashfs_reg_inode_header_1;
-+
-+typedef struct {
-+ unsigned int inode_type:4;
-+ unsigned int mode:12; /* protection */
-+ unsigned int uid:4; /* index into uid table */
-+ unsigned int guid:4; /* index into guid table */
-+ unsigned int file_size:19;
-+ unsigned int offset:13;
-+ unsigned int mtime;
-+ unsigned int start_block:24;
-+} __attribute__ ((packed)) squashfs_dir_inode_header_1;
-+
-+#define SQUASHFS_SWAP_BASE_INODE_HEADER_1(s, d, n) {\
-+ SQUASHFS_MEMSET(s, d, n);\
-+ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
-+ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
-+ SQUASHFS_SWAP((s)->uid, d, 16, 4);\
-+ SQUASHFS_SWAP((s)->guid, d, 20, 4);\
-+}
-+
-+#define SQUASHFS_SWAP_IPC_INODE_HEADER_1(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER_1(s, d, sizeof(squashfs_ipc_inode_header_1));\
-+ SQUASHFS_SWAP((s)->type, d, 24, 4);\
-+ SQUASHFS_SWAP((s)->offset, d, 28, 4);\
-+}
-+
-+#define SQUASHFS_SWAP_DEV_INODE_HEADER_1(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER_1(s, d, sizeof(squashfs_dev_inode_header_1));\
-+ SQUASHFS_SWAP((s)->rdev, d, 24, 16);\
-+}
-+
-+#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_1(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_symlink_inode_header_1));\
-+ SQUASHFS_SWAP((s)->symlink_size, d, 24, 16);\
-+}
-+
-+#define SQUASHFS_SWAP_REG_INODE_HEADER_1(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_reg_inode_header_1));\
-+ SQUASHFS_SWAP((s)->mtime, d, 24, 32);\
-+ SQUASHFS_SWAP((s)->start_block, d, 56, 32);\
-+ SQUASHFS_SWAP((s)->file_size, d, 88, SQUASHFS_MAX_FILE_SIZE_LOG);\
-+}
-+
-+#define SQUASHFS_SWAP_DIR_INODE_HEADER_1(s, d) {\
-+ SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, sizeof(squashfs_dir_inode_header_1));\
-+ SQUASHFS_SWAP((s)->file_size, d, 24, 19);\
-+ SQUASHFS_SWAP((s)->offset, d, 43, 13);\
-+ SQUASHFS_SWAP((s)->mtime, d, 56, 32);\
-+ SQUASHFS_SWAP((s)->start_block, d, 88, 24);\
-+}
-+#endif
-+
-+#ifdef __KERNEL__
-+/*
-+ * macros used to swap each structure entry, taking into account
-+ * bitfields and different bitfield placing conventions on differing architectures
-+ */
-+#include <asm/byteorder.h>
-+#ifdef __BIG_ENDIAN
-+ /* convert from little endian to big endian */
-+#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, tbits, b_pos)
-+#else
-+ /* convert from big endian to little endian */
-+#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, tbits, 64 - tbits - b_pos)
-+#endif
-+
-+#define _SQUASHFS_SWAP(value, p, pos, tbits, SHIFT) {\
-+ int bits;\
-+ int b_pos = pos % 8;\
-+ unsigned long long val = 0;\
-+ unsigned char *s = (unsigned char *)p + (pos / 8);\
-+ unsigned char *d = ((unsigned char *) &val) + 7;\
-+ for(bits = 0; bits < (tbits + b_pos); bits += 8) \
-+ *d-- = *s++;\
-+ value = (val >> (SHIFT))/* & ((1 << tbits) - 1)*/;\
-+}
-+#define SQUASHFS_MEMSET(s, d, n) memset(s, 0, n);
-+#endif
-+#endif
-diff -Nur linux-2.4.32/include/linux/squashfs_fs_i.h linux-2.4.32.patched/include/linux/squashfs_fs_i.h
---- linux-2.4.32/include/linux/squashfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/squashfs_fs_i.h 2006-03-13 18:55:54.000000000 +0100
-@@ -0,0 +1,42 @@
-+#ifndef SQUASHFS_FS_I
-+#define SQUASHFS_FS_I
-+/*
-+ * Squashfs
-+ *
-+ * Copyright (c) 2002, 2003, 2004, 2005 Phillip Lougher <phillip@lougher.demon.co.uk>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * squashfs_fs_i.h
-+ */
-+
-+typedef struct squashfs_inode_info {
-+ unsigned int start_block;
-+ unsigned int block_list_start;
-+ unsigned int offset;
-+ union {
-+ struct {
-+ unsigned int fragment_start_block;
-+ unsigned int fragment_size;
-+ unsigned int fragment_offset;
-+ } s1;
-+ struct {
-+ unsigned int directory_index_start;
-+ unsigned int directory_index_offset;
-+ unsigned int directory_index_count;
-+ } s2;
-+ } u;
-+ } squashfs_inode_info;
-+#endif
-diff -Nur linux-2.4.32/include/linux/squashfs_fs_sb.h linux-2.4.32.patched/include/linux/squashfs_fs_sb.h
---- linux-2.4.32/include/linux/squashfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/squashfs_fs_sb.h 2006-03-13 18:57:11.000000000 +0100
-@@ -0,0 +1,65 @@
-+#ifndef SQUASHFS_FS_SB
-+#define SQUASHFS_FS_SB
-+/*
-+ * Squashfs
-+ *
-+ * Copyright (c) 2002, 2003, 2004, 2005 Phillip Lougher <phillip@lougher.demon.co.uk>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version 2,
-+ * or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * squashfs_fs_sb.h
-+ */
-+
-+#include <linux/squashfs_fs.h>
-+
-+typedef struct {
-+ unsigned int block;
-+ int length;
-+ unsigned int next_index;
-+ char *data;
-+ } squashfs_cache;
-+
-+struct squashfs_fragment_cache {
-+ unsigned int block;
-+ int length;
-+ unsigned int locked;
-+ char *data;
-+ };
-+
-+typedef struct squashfs_sb_info {
-+ squashfs_super_block sBlk;
-+ int devblksize;
-+ int devblksize_log2;
-+ int swap;
-+ squashfs_cache *block_cache;
-+ struct squashfs_fragment_cache *fragment;
-+ int next_cache;
-+ int next_fragment;
-+ squashfs_uid *uid;
-+ squashfs_uid *guid;
-+ squashfs_fragment_index *fragment_index;
-+ unsigned int read_size;
-+ char *read_data;
-+ char *read_page;
-+ struct semaphore read_page_mutex;
-+ struct semaphore block_cache_mutex;
-+ struct semaphore fragment_mutex;
-+ wait_queue_head_t waitq;
-+ wait_queue_head_t fragment_wait_queue;
-+ struct inode *(*iget)(struct super_block *s, squashfs_inode inode);
-+ unsigned int (*read_blocklist)(struct inode *inode, int index, int readahead_blks,
-+ char *block_list, unsigned short **block_p, unsigned int *bsize);
-+ } squashfs_sb_info;
-+#endif
-diff -Nur linux-2.4.32/include/linux/swap.h linux-2.4.32.patched/include/linux/swap.h
---- linux-2.4.32/include/linux/swap.h 2005-01-19 15:10:12.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/swap.h 2006-03-13 18:57:11.000000000 +0100
-@@ -1,6 +1,12 @@
- #ifndef _LINUX_SWAP_H
- #define _LINUX_SWAP_H
-
-+#include <linux/config.h>
-+
-+#define MAX_SWAPFILES 32
-+
-+#ifdef __KERNEL__
-+
- #include <linux/spinlock.h>
- #include <asm/page.h>
-
-@@ -8,8 +14,6 @@
- #define SWAP_FLAG_PRIO_MASK 0x7fff
- #define SWAP_FLAG_PRIO_SHIFT 0
-
--#define MAX_SWAPFILES 32
--
- /*
- * Magic header for a swap area. The first part of the union is
- * what the swap magic looks like for the old (limited to 128MB)
-@@ -39,8 +43,6 @@
- } info;
- };
-
--#ifdef __KERNEL__
--
- /*
- * Max bad pages in the new format..
- */
-diff -Nur linux-2.4.32/include/linux/textsearch.h linux-2.4.32.patched/include/linux/textsearch.h
---- linux-2.4.32/include/linux/textsearch.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/textsearch.h 2006-03-13 19:01:58.000000000 +0100
-@@ -0,0 +1,205 @@
-+#ifndef __LINUX_TEXTSEARCH_H
-+#define __LINUX_TEXTSEARCH_H
-+
-+#ifdef __KERNEL__
-+
-+#include <linux/types.h>
-+#include <linux/list.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/slab.h>
-+
-+#ifdef __CHECKER__
-+#define __bitwise__ __attribute__((bitwise))
-+#else
-+#define __bitwise__
-+#endif
-+#ifdef __CHECK_ENDIAN__
-+#define __bitwise __bitwise__
-+#else
-+#define __bitwise
-+#endif
-+
-+typedef __u16 __bitwise __le16;
-+typedef __u16 __bitwise __be16;
-+typedef __u32 __bitwise __le32;
-+typedef __u32 __bitwise __be32;
-+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
-+typedef __u64 __bitwise __le64;
-+typedef __u64 __bitwise __be64;
-+#endif
-+
-+#ifdef __KERNEL__
-+typedef unsigned __bitwise__ gfp_t;
-+#endif
-+
-+struct ts_config;
-+
-+/**
-+ * TS_AUTOLOAD - Automatically load textsearch modules when needed
-+ */
-+#define TS_AUTOLOAD 1
-+
-+/**
-+ * struct ts_state - search state
-+ * @offset: offset for next match
-+ * @cb: control buffer, for persistant variables of get_next_block()
-+ */
-+struct ts_state
-+{
-+ unsigned int offset;
-+ char cb[40];
-+};
-+
-+/**
-+ * struct ts_ops - search module operations
-+ * @name: name of search algorithm
-+ * @init: initialization function to prepare a search
-+ * @find: find the next occurrence of the pattern
-+ * @destroy: destroy algorithm specific parts of a search configuration
-+ * @get_pattern: return head of pattern
-+ * @get_pattern_len: return length of pattern
-+ * @owner: module reference to algorithm
-+ */
-+struct ts_ops
-+{
-+ const char *name;
-+ struct ts_config * (*init)(const void *, unsigned int, gfp_t);
-+ unsigned int (*find)(struct ts_config *,
-+ struct ts_state *);
-+ void (*destroy)(struct ts_config *);
-+ void * (*get_pattern)(struct ts_config *);
-+ unsigned int (*get_pattern_len)(struct ts_config *);
-+ struct module *owner;
-+ struct list_head list;
-+};
-+
-+/**
-+ * struct ts_config - search configuration
-+ * @ops: operations of chosen algorithm
-+ * @get_next_block: callback to fetch the next block to search in
-+ * @finish: callback to finalize a search
-+ */
-+struct ts_config
-+{
-+ struct ts_ops *ops;
-+
-+ /**
-+ * get_next_block - fetch next block of data
-+ * @consumed: number of bytes consumed by the caller
-+ * @dst: destination buffer
-+ * @conf: search configuration
-+ * @state: search state
-+ *
-+ * Called repeatedly until 0 is returned. Must assign the
-+ * head of the next block of data to &*dst and return the length
-+ * of the block or 0 if at the end. consumed == 0 indicates
-+ * a new search. May store/read persistant values in state->cb.
-+ */
-+ unsigned int (*get_next_block)(unsigned int consumed,
-+ const u8 **dst,
-+ struct ts_config *conf,
-+ struct ts_state *state);
-+
-+ /**
-+ * finish - finalize/clean a series of get_next_block() calls
-+ * @conf: search configuration
-+ * @state: search state
-+ *
-+ * Called after the last use of get_next_block(), may be used
-+ * to cleanup any leftovers.
-+ */
-+ void (*finish)(struct ts_config *conf,
-+ struct ts_state *state);
-+};
-+
-+/**
-+ * textsearch_next - continue searching for a pattern
-+ * @conf: search configuration
-+ * @state: search state
-+ *
-+ * Continues a search looking for more occurrences of the pattern.
-+ * textsearch_find() must be called to find the first occurrence
-+ * in order to reset the state.
-+ *
-+ * Returns the position of the next occurrence of the pattern or
-+ * UINT_MAX if not match was found.
-+ */
-+static inline unsigned int textsearch_next(struct ts_config *conf,
-+ struct ts_state *state)
-+{
-+ unsigned int ret = conf->ops->find(conf, state);
-+
-+ if (conf->finish)
-+ conf->finish(conf, state);
-+
-+ return ret;
-+}
-+
-+/**
-+ * textsearch_find - start searching for a pattern
-+ * @conf: search configuration
-+ * @state: search state
-+ *
-+ * Returns the position of first occurrence of the pattern or
-+ * UINT_MAX if no match was found.
-+ */
-+static inline unsigned int textsearch_find(struct ts_config *conf,
-+ struct ts_state *state)
-+{
-+ state->offset = 0;
-+ return textsearch_next(conf, state);
-+}
-+
-+/**
-+ * textsearch_get_pattern - return head of the pattern
-+ * @conf: search configuration
-+ */
-+static inline void *textsearch_get_pattern(struct ts_config *conf)
-+{
-+ return conf->ops->get_pattern(conf);
-+}
-+
-+/**
-+ * textsearch_get_pattern_len - return length of the pattern
-+ * @conf: search configuration
-+ */
-+static inline unsigned int textsearch_get_pattern_len(struct ts_config *conf)
-+{
-+ return conf->ops->get_pattern_len(conf);
-+}
-+
-+extern int textsearch_register(struct ts_ops *);
-+extern int textsearch_unregister(struct ts_ops *);
-+extern struct ts_config *textsearch_prepare(const char *, const void *,
-+ unsigned int, gfp_t, int);
-+extern void textsearch_destroy(struct ts_config *conf);
-+extern unsigned int textsearch_find_continuous(struct ts_config *,
-+ struct ts_state *,
-+ const void *, unsigned int);
-+
-+
-+#define TS_PRIV_ALIGNTO 8
-+#define TS_PRIV_ALIGN(len) (((len) + TS_PRIV_ALIGNTO-1) & ~(TS_PRIV_ALIGNTO-1))
-+
-+static inline struct ts_config *alloc_ts_config(size_t payload,
-+ gfp_t gfp_mask)
-+{
-+ struct ts_config *conf;
-+
-+ conf = kmalloc(TS_PRIV_ALIGN(sizeof(*conf)) + payload, gfp_mask);
-+ if (conf == NULL)
-+ return -ENOMEM;
-+
-+ memset(conf, 0, TS_PRIV_ALIGN(sizeof(*conf)) + payload);
-+ return conf;
-+}
-+
-+static inline void *ts_config_priv(struct ts_config *conf)
-+{
-+ return ((u8 *) conf + TS_PRIV_ALIGN(sizeof(struct ts_config)));
-+}
-+
-+#endif /* __KERNEL__ */
-+
-+#endif
-diff -Nur linux-2.4.32/include/linux/ufs_fs.h linux-2.4.32.patched/include/linux/ufs_fs.h
---- linux-2.4.32/include/linux/ufs_fs.h 2001-11-22 20:46:18.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/ufs_fs.h 2006-03-13 18:57:11.000000000 +0100
-@@ -555,7 +555,6 @@
- extern struct file_operations ufs_dir_operations;
-
- /* super.c */
--extern struct file_system_type ufs_fs_type;
- extern void ufs_warning (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
- extern void ufs_error (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
- extern void ufs_panic (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
-diff -Nur linux-2.4.32/include/linux/usbdevice_fs.h linux-2.4.32.patched/include/linux/usbdevice_fs.h
---- linux-2.4.32/include/linux/usbdevice_fs.h 2003-11-28 19:26:21.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/usbdevice_fs.h 2006-03-13 18:58:17.000000000 +0100
-@@ -185,8 +185,6 @@
- extern struct file_operations usbdevfs_devices_fops;
- extern struct file_operations usbdevfs_device_file_operations;
- extern struct inode_operations usbdevfs_device_inode_operations;
--extern struct inode_operations usbdevfs_bus_inode_operations;
--extern struct file_operations usbdevfs_bus_file_operations;
- extern void usbdevfs_conn_disc_event(void);
-
- #endif /* __KERNEL__ */
-diff -Nur linux-2.4.32/include/linux/version.h linux-2.4.32.patched/include/linux/version.h
---- linux-2.4.32/include/linux/version.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/version.h 2006-03-13 18:56:05.000000000 +0100
-@@ -0,0 +1,3 @@
-+#define UTS_RELEASE "2.4.32"
-+#define LINUX_VERSION_CODE 132128
-+#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
-diff -Nur linux-2.4.32/include/linux/wireless.h linux-2.4.32.patched/include/linux/wireless.h
---- linux-2.4.32/include/linux/wireless.h 2003-11-28 19:26:21.000000000 +0100
-+++ linux-2.4.32.patched/include/linux/wireless.h 2006-03-13 18:55:55.000000000 +0100
-@@ -1,10 +1,10 @@
- /*
- * This file define a set of standard wireless extensions
- *
-- * Version : 16 2.4.03
-+ * Version : 18 12.3.05
- *
- * Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com>
-- * Copyright (c) 1997-2002 Jean Tourrilhes, All Rights Reserved.
-+ * Copyright (c) 1997-2005 Jean Tourrilhes, All Rights Reserved.
- */
-
- #ifndef _LINUX_WIRELESS_H
-@@ -47,12 +47,12 @@
- * # include/net/iw_handler.h
- *
- * Note as well that /proc/net/wireless implementation has now moved in :
-- * # include/linux/wireless.c
-+ * # net/core/wireless.c
- *
- * Wireless Events (2002 -> onward) :
- * --------------------------------
- * Events are defined at the end of this file, and implemented in :
-- * # include/linux/wireless.c
-+ * # net/core/wireless.c
- *
- * Other comments :
- * --------------
-@@ -82,7 +82,7 @@
- * (there is some stuff that will be added in the future...)
- * I just plan to increment with each new version.
- */
--#define WIRELESS_EXT 16
-+#define WIRELESS_EXT 18
-
- /*
- * Changes :
-@@ -175,6 +175,28 @@
- * - Remove IW_MAX_GET_SPY because conflict with enhanced spy support
- * - Add SIOCSIWTHRSPY/SIOCGIWTHRSPY and "struct iw_thrspy"
- * - Add IW_ENCODE_TEMP and iw_range->encoding_login_index
-+ *
-+ * V16 to V17
-+ * ----------
-+ * - Add flags to frequency -> auto/fixed
-+ * - Document (struct iw_quality *)->updated, add new flags (INVALID)
-+ * - Wireless Event capability in struct iw_range
-+ * - Add support for relative TxPower (yick !)
-+ *
-+ * V17 to V18 (From Jouni Malinen <jkmaline@cc.hut.fi>)
-+ * ----------
-+ * - Add support for WPA/WPA2
-+ * - Add extended encoding configuration (SIOCSIWENCODEEXT and
-+ * SIOCGIWENCODEEXT)
-+ * - Add SIOCSIWGENIE/SIOCGIWGENIE
-+ * - Add SIOCSIWMLME
-+ * - Add SIOCSIWPMKSA
-+ * - Add struct iw_range bit field for supported encoding capabilities
-+ * - Add optional scan request parameters for SIOCSIWSCAN
-+ * - Add SIOCSIWAUTH/SIOCGIWAUTH for setting authentication and WPA
-+ * related parameters (extensible up to 4096 parameter values)
-+ * - Add wireless events: IWEVGENIE, IWEVMICHAELMICFAILURE,
-+ * IWEVASSOCREQIE, IWEVASSOCRESPIE, IWEVPMKIDCAND
- */
-
- /**************************** CONSTANTS ****************************/
-@@ -249,9 +271,33 @@
- #define SIOCSIWPOWER 0x8B2C /* set Power Management settings */
- #define SIOCGIWPOWER 0x8B2D /* get Power Management settings */
-
-+/* WPA : Generic IEEE 802.11 informatiom element (e.g., for WPA/RSN/WMM).
-+ * This ioctl uses struct iw_point and data buffer that includes IE id and len
-+ * fields. More than one IE may be included in the request. Setting the generic
-+ * IE to empty buffer (len=0) removes the generic IE from the driver. Drivers
-+ * are allowed to generate their own WPA/RSN IEs, but in these cases, drivers
-+ * are required to report the used IE as a wireless event, e.g., when
-+ * associating with an AP. */
-+#define SIOCSIWGENIE 0x8B30 /* set generic IE */
-+#define SIOCGIWGENIE 0x8B31 /* get generic IE */
-+
-+/* WPA : IEEE 802.11 MLME requests */
-+#define SIOCSIWMLME 0x8B16 /* request MLME operation; uses
-+ * struct iw_mlme */
-+/* WPA : Authentication mode parameters */
-+#define SIOCSIWAUTH 0x8B32 /* set authentication mode params */
-+#define SIOCGIWAUTH 0x8B33 /* get authentication mode params */
-+
-+/* WPA : Extended version of encoding configuration */
-+#define SIOCSIWENCODEEXT 0x8B34 /* set encoding token & mode */
-+#define SIOCGIWENCODEEXT 0x8B35 /* get encoding token & mode */
-+
-+/* WPA2 : PMKSA cache management */
-+#define SIOCSIWPMKSA 0x8B36 /* PMKSA cache operation */
-+
- /* -------------------- DEV PRIVATE IOCTL LIST -------------------- */
-
--/* These 16 ioctl are wireless device private.
-+/* These 32 ioctl are wireless device private, for 16 commands.
- * Each driver is free to use them for whatever purpose it chooses,
- * however the driver *must* export the description of those ioctls
- * with SIOCGIWPRIV and *must* use arguments as defined below.
-@@ -266,8 +312,8 @@
- * We now have 32 commands, so a bit more space ;-).
- * Also, all 'odd' commands are only usable by root and don't return the
- * content of ifr/iwr to user (but you are not obliged to use the set/get
-- * convention, just use every other two command).
-- * And I repeat : you are not obliged to use them with iwspy, but you
-+ * convention, just use every other two command). More details in iwpriv.c.
-+ * And I repeat : you are not forced to use them with iwpriv, but you
- * must be compliant with it.
- */
-
-@@ -290,6 +336,34 @@
- #define IWEVCUSTOM 0x8C02 /* Driver specific ascii string */
- #define IWEVREGISTERED 0x8C03 /* Discovered a new node (AP mode) */
- #define IWEVEXPIRED 0x8C04 /* Expired a node (AP mode) */
-+#define IWEVGENIE 0x8C05 /* Generic IE (WPA, RSN, WMM, ..)
-+ * (scan results); This includes id and
-+ * length fields. One IWEVGENIE may
-+ * contain more than one IE. Scan
-+ * results may contain one or more
-+ * IWEVGENIE events. */
-+#define IWEVMICHAELMICFAILURE 0x8C06 /* Michael MIC failure
-+ * (struct iw_michaelmicfailure)
-+ */
-+#define IWEVASSOCREQIE 0x8C07 /* IEs used in (Re)Association Request.
-+ * The data includes id and length
-+ * fields and may contain more than one
-+ * IE. This event is required in
-+ * Managed mode if the driver
-+ * generates its own WPA/RSN IE. This
-+ * should be sent just before
-+ * IWEVREGISTERED event for the
-+ * association. */
-+#define IWEVASSOCRESPIE 0x8C08 /* IEs used in (Re)Association
-+ * Response. The data includes id and
-+ * length fields and may contain more
-+ * than one IE. This may be sent
-+ * between IWEVASSOCREQIE and
-+ * IWEVREGISTERED events for the
-+ * association. */
-+#define IWEVPMKIDCAND 0x8C09 /* PMKID candidate for RSN
-+ * pre-authentication
-+ * (struct iw_pmkid_cand) */
-
- #define IWEVFIRST 0x8C00
-
-@@ -352,6 +426,18 @@
- #define IW_MODE_SECOND 5 /* Secondary master/repeater (backup) */
- #define IW_MODE_MONITOR 6 /* Passive monitor (listen only) */
-
-+/* Statistics flags (bitmask in updated) */
-+#define IW_QUAL_QUAL_UPDATED 0x1 /* Value was updated since last read */
-+#define IW_QUAL_LEVEL_UPDATED 0x2
-+#define IW_QUAL_NOISE_UPDATED 0x4
-+#define IW_QUAL_QUAL_INVALID 0x10 /* Driver doesn't provide value */
-+#define IW_QUAL_LEVEL_INVALID 0x20
-+#define IW_QUAL_NOISE_INVALID 0x40
-+
-+/* Frequency flags */
-+#define IW_FREQ_AUTO 0x00 /* Let the driver decides */
-+#define IW_FREQ_FIXED 0x01 /* Force a specific value */
-+
- /* Maximum number of size of encoding token available
- * they are listed in the range structure */
- #define IW_MAX_ENCODING_SIZES 8
-@@ -390,6 +476,7 @@
- #define IW_TXPOW_TYPE 0x00FF /* Type of value */
- #define IW_TXPOW_DBM 0x0000 /* Value is in dBm */
- #define IW_TXPOW_MWATT 0x0001 /* Value is in mW */
-+#define IW_TXPOW_RELATIVE 0x0002 /* Value is in arbitrary units */
- #define IW_TXPOW_RANGE 0x1000 /* Range of value between min/max */
-
- /* Retry limits and lifetime flags available */
-@@ -412,12 +499,113 @@
- #define IW_SCAN_THIS_MODE 0x0020 /* Scan only this Mode */
- #define IW_SCAN_ALL_RATE 0x0040 /* Scan all Bit-Rates */
- #define IW_SCAN_THIS_RATE 0x0080 /* Scan only this Bit-Rate */
-+/* struct iw_scan_req scan_type */
-+#define IW_SCAN_TYPE_ACTIVE 0
-+#define IW_SCAN_TYPE_PASSIVE 1
- /* Maximum size of returned data */
- #define IW_SCAN_MAX_DATA 4096 /* In bytes */
-
- /* Max number of char in custom event - use multiple of them if needed */
- #define IW_CUSTOM_MAX 256 /* In bytes */
-
-+/* Generic information element */
-+#define IW_GENERIC_IE_MAX 1024
-+
-+/* MLME requests (SIOCSIWMLME / struct iw_mlme) */
-+#define IW_MLME_DEAUTH 0
-+#define IW_MLME_DISASSOC 1
-+
-+/* SIOCSIWAUTH/SIOCGIWAUTH struct iw_param flags */
-+#define IW_AUTH_INDEX 0x0FFF
-+#define IW_AUTH_FLAGS 0xF000
-+/* SIOCSIWAUTH/SIOCGIWAUTH parameters (0 .. 4095)
-+ * (IW_AUTH_INDEX mask in struct iw_param flags; this is the index of the
-+ * parameter that is being set/get to; value will be read/written to
-+ * struct iw_param value field) */
-+#define IW_AUTH_WPA_VERSION 0
-+#define IW_AUTH_CIPHER_PAIRWISE 1
-+#define IW_AUTH_CIPHER_GROUP 2
-+#define IW_AUTH_KEY_MGMT 3
-+#define IW_AUTH_TKIP_COUNTERMEASURES 4
-+#define IW_AUTH_DROP_UNENCRYPTED 5
-+#define IW_AUTH_80211_AUTH_ALG 6
-+#define IW_AUTH_WPA_ENABLED 7
-+#define IW_AUTH_RX_UNENCRYPTED_EAPOL 8
-+#define IW_AUTH_ROAMING_CONTROL 9
-+#define IW_AUTH_PRIVACY_INVOKED 10
-+
-+/* IW_AUTH_WPA_VERSION values (bit field) */
-+#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001
-+#define IW_AUTH_WPA_VERSION_WPA 0x00000002
-+#define IW_AUTH_WPA_VERSION_WPA2 0x00000004
-+
-+/* IW_AUTH_PAIRWISE_CIPHER and IW_AUTH_GROUP_CIPHER values (bit field) */
-+#define IW_AUTH_CIPHER_NONE 0x00000001
-+#define IW_AUTH_CIPHER_WEP40 0x00000002
-+#define IW_AUTH_CIPHER_TKIP 0x00000004
-+#define IW_AUTH_CIPHER_CCMP 0x00000008
-+#define IW_AUTH_CIPHER_WEP104 0x00000010
-+
-+/* IW_AUTH_KEY_MGMT values (bit field) */
-+#define IW_AUTH_KEY_MGMT_802_1X 1
-+#define IW_AUTH_KEY_MGMT_PSK 2
-+
-+/* IW_AUTH_80211_AUTH_ALG values (bit field) */
-+#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001
-+#define IW_AUTH_ALG_SHARED_KEY 0x00000002
-+#define IW_AUTH_ALG_LEAP 0x00000004
-+
-+/* IW_AUTH_ROAMING_CONTROL values */
-+#define IW_AUTH_ROAMING_ENABLE 0 /* driver/firmware based roaming */
-+#define IW_AUTH_ROAMING_DISABLE 1 /* user space program used for roaming
-+ * control */
-+
-+/* SIOCSIWENCODEEXT definitions */
-+#define IW_ENCODE_SEQ_MAX_SIZE 8
-+/* struct iw_encode_ext ->alg */
-+#define IW_ENCODE_ALG_NONE 0
-+#define IW_ENCODE_ALG_WEP 1
-+#define IW_ENCODE_ALG_TKIP 2
-+#define IW_ENCODE_ALG_CCMP 3
-+/* struct iw_encode_ext ->ext_flags */
-+#define IW_ENCODE_EXT_TX_SEQ_VALID 0x00000001
-+#define IW_ENCODE_EXT_RX_SEQ_VALID 0x00000002
-+#define IW_ENCODE_EXT_GROUP_KEY 0x00000004
-+#define IW_ENCODE_EXT_SET_TX_KEY 0x00000008
-+
-+/* IWEVMICHAELMICFAILURE : struct iw_michaelmicfailure ->flags */
-+#define IW_MICFAILURE_KEY_ID 0x00000003 /* Key ID 0..3 */
-+#define IW_MICFAILURE_GROUP 0x00000004
-+#define IW_MICFAILURE_PAIRWISE 0x00000008
-+#define IW_MICFAILURE_STAKEY 0x00000010
-+#define IW_MICFAILURE_COUNT 0x00000060 /* 1 or 2 (0 = count not supported)
-+ */
-+
-+/* Bit field values for enc_capa in struct iw_range */
-+#define IW_ENC_CAPA_WPA 0x00000001
-+#define IW_ENC_CAPA_WPA2 0x00000002
-+#define IW_ENC_CAPA_CIPHER_TKIP 0x00000004
-+#define IW_ENC_CAPA_CIPHER_CCMP 0x00000008
-+
-+/* Event capability macros - in (struct iw_range *)->event_capa
-+ * Because we have more than 32 possible events, we use an array of
-+ * 32 bit bitmasks. Note : 32 bits = 0x20 = 2^5. */
-+#define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ? \
-+ (cmd - SIOCIWFIRSTPRIV + 0x60) : \
-+ (cmd - SIOCSIWCOMMIT))
-+#define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5)
-+#define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F))
-+/* Event capability constants - event autogenerated by the kernel
-+ * This list is valid for most 802.11 devices, customise as needed... */
-+#define IW_EVENT_CAPA_K_0 (IW_EVENT_CAPA_MASK(0x8B04) | \
-+ IW_EVENT_CAPA_MASK(0x8B06) | \
-+ IW_EVENT_CAPA_MASK(0x8B1A))
-+#define IW_EVENT_CAPA_K_1 (IW_EVENT_CAPA_MASK(0x8B2A))
-+/* "Easy" macro to set events in iw_range (less efficient) */
-+#define IW_EVENT_CAPA_SET(event_capa, cmd) (event_capa[IW_EVENT_CAPA_INDEX(cmd)] |= IW_EVENT_CAPA_MASK(cmd))
-+#define IW_EVENT_CAPA_SET_KERNEL(event_capa) {event_capa[0] |= IW_EVENT_CAPA_K_0; event_capa[1] |= IW_EVENT_CAPA_K_1; }
-+
-+
- /****************************** TYPES ******************************/
-
- /* --------------------------- SUBTYPES --------------------------- */
-@@ -456,7 +644,7 @@
- __s32 m; /* Mantissa */
- __s16 e; /* Exponent */
- __u8 i; /* List index (when in range struct) */
-- __u8 pad; /* Unused - just for alignement */
-+ __u8 flags; /* Flags (fixed/auto) */
- };
-
- /*
-@@ -507,6 +695,132 @@
- struct iw_quality high; /* High threshold */
- };
-
-+/*
-+ * Optional data for scan request
-+ *
-+ * Note: these optional parameters are controlling parameters for the
-+ * scanning behavior, these do not apply to getting scan results
-+ * (SIOCGIWSCAN). Drivers are expected to keep a local BSS table and
-+ * provide a merged results with all BSSes even if the previous scan
-+ * request limited scanning to a subset, e.g., by specifying an SSID.
-+ * Especially, scan results are required to include an entry for the
-+ * current BSS if the driver is in Managed mode and associated with an AP.
-+ */
-+struct iw_scan_req
-+{
-+ __u8 scan_type; /* IW_SCAN_TYPE_{ACTIVE,PASSIVE} */
-+ __u8 essid_len;
-+ __u8 num_channels; /* num entries in channel_list;
-+ * 0 = scan all allowed channels */
-+ __u8 flags; /* reserved as padding; use zero, this may
-+ * be used in the future for adding flags
-+ * to request different scan behavior */
-+ struct sockaddr bssid; /* ff:ff:ff:ff:ff:ff for broadcast BSSID or
-+ * individual address of a specific BSS */
-+
-+ /*
-+ * Use this ESSID if IW_SCAN_THIS_ESSID flag is used instead of using
-+ * the current ESSID. This allows scan requests for specific ESSID
-+ * without having to change the current ESSID and potentially breaking
-+ * the current association.
-+ */
-+ __u8 essid[IW_ESSID_MAX_SIZE];
-+
-+ /*
-+ * Optional parameters for changing the default scanning behavior.
-+ * These are based on the MLME-SCAN.request from IEEE Std 802.11.
-+ * TU is 1.024 ms. If these are set to 0, driver is expected to use
-+ * reasonable default values. min_channel_time defines the time that
-+ * will be used to wait for the first reply on each channel. If no
-+ * replies are received, next channel will be scanned after this. If
-+ * replies are received, total time waited on the channel is defined by
-+ * max_channel_time.
-+ */
-+ __u32 min_channel_time; /* in TU */
-+ __u32 max_channel_time; /* in TU */
-+
-+ struct iw_freq channel_list[IW_MAX_FREQUENCIES];
-+};
-+
-+/* ------------------------- WPA SUPPORT ------------------------- */
-+
-+/*
-+ * Extended data structure for get/set encoding (this is used with
-+ * SIOCSIWENCODEEXT/SIOCGIWENCODEEXT. struct iw_point and IW_ENCODE_*
-+ * flags are used in the same way as with SIOCSIWENCODE/SIOCGIWENCODE and
-+ * only the data contents changes (key data -> this structure, including
-+ * key data).
-+ *
-+ * If the new key is the first group key, it will be set as the default
-+ * TX key. Otherwise, default TX key index is only changed if
-+ * IW_ENCODE_EXT_SET_TX_KEY flag is set.
-+ *
-+ * Key will be changed with SIOCSIWENCODEEXT in all cases except for
-+ * special "change TX key index" operation which is indicated by setting
-+ * key_len = 0 and ext_flags |= IW_ENCODE_EXT_SET_TX_KEY.
-+ *
-+ * tx_seq/rx_seq are only used when respective
-+ * IW_ENCODE_EXT_{TX,RX}_SEQ_VALID flag is set in ext_flags. Normal
-+ * TKIP/CCMP operation is to set RX seq with SIOCSIWENCODEEXT and start
-+ * TX seq from zero whenever key is changed. SIOCGIWENCODEEXT is normally
-+ * used only by an Authenticator (AP or an IBSS station) to get the
-+ * current TX sequence number. Using TX_SEQ_VALID for SIOCSIWENCODEEXT and
-+ * RX_SEQ_VALID for SIOCGIWENCODEEXT are optional, but can be useful for
-+ * debugging/testing.
-+ */
-+struct iw_encode_ext
-+{
-+ __u32 ext_flags; /* IW_ENCODE_EXT_* */
-+ __u8 tx_seq[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
-+ __u8 rx_seq[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
-+ struct sockaddr addr; /* ff:ff:ff:ff:ff:ff for broadcast/multicast
-+ * (group) keys or unicast address for
-+ * individual keys */
-+ __u16 alg; /* IW_ENCODE_ALG_* */
-+ __u16 key_len;
-+ __u8 key[0];
-+};
-+
-+/* SIOCSIWMLME data */
-+struct iw_mlme
-+{
-+ __u16 cmd; /* IW_MLME_* */
-+ __u16 reason_code;
-+ struct sockaddr addr;
-+};
-+
-+/* SIOCSIWPMKSA data */
-+#define IW_PMKSA_ADD 1
-+#define IW_PMKSA_REMOVE 2
-+#define IW_PMKSA_FLUSH 3
-+
-+#define IW_PMKID_LEN 16
-+
-+struct iw_pmksa
-+{
-+ __u32 cmd; /* IW_PMKSA_* */
-+ struct sockaddr bssid;
-+ __u8 pmkid[IW_PMKID_LEN];
-+};
-+
-+/* IWEVMICHAELMICFAILURE data */
-+struct iw_michaelmicfailure
-+{
-+ __u32 flags;
-+ struct sockaddr src_addr;
-+ __u8 tsc[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
-+};
-+
-+/* IWEVPMKIDCAND data */
-+#define IW_PMKID_CAND_PREAUTH 0x00000001 /* RNS pre-authentication enabled */
-+struct iw_pmkid_cand
-+{
-+ __u32 flags; /* IW_PMKID_CAND_* */
-+ __u32 index; /* the smaller the index, the higher the
-+ * priority */
-+ struct sockaddr bssid;
-+};
-+
- /* ------------------------ WIRELESS STATS ------------------------ */
- /*
- * Wireless statistics (used for /proc/net/wireless)
-@@ -610,11 +924,12 @@
- /* Old Frequency (backward compat - moved lower ) */
- __u16 old_num_channels;
- __u8 old_num_frequency;
-- /* Filler to keep "version" at the same offset */
-- __s32 old_freq[6];
-+
-+ /* Wireless event capability bitmasks */
-+ __u32 event_capa[6];
-
- /* signal level threshold range */
-- __s32 sensitivity;
-+ __s32 sensitivity;
-
- /* Quality of link & SNR stuff */
- /* Quality range (link, level, noise)
-@@ -685,6 +1000,8 @@
- struct iw_freq freq[IW_MAX_FREQUENCIES]; /* list */
- /* Note : this frequency list doesn't need to fit channel numbers,
- * because each entry contain its channel index */
-+
-+ __u32 enc_capa; /* IW_ENC_CAPA_* bit field */
- };
-
- /*
-diff -Nur linux-2.4.32/include/net/icmp.h linux-2.4.32.patched/include/net/icmp.h
---- linux-2.4.32/include/net/icmp.h 2001-11-22 20:47:15.000000000 +0100
-+++ linux-2.4.32.patched/include/net/icmp.h 2006-03-13 18:57:38.000000000 +0100
-@@ -23,6 +23,7 @@
-
- #include <net/sock.h>
- #include <net/protocol.h>
-+#include <net/snmp.h>
-
- struct icmp_err {
- int errno;
-diff -Nur linux-2.4.32/include/net/ipv6.h linux-2.4.32.patched/include/net/ipv6.h
---- linux-2.4.32/include/net/ipv6.h 2004-11-17 12:54:22.000000000 +0100
-+++ linux-2.4.32.patched/include/net/ipv6.h 2006-03-13 19:01:26.000000000 +0100
-@@ -101,6 +101,7 @@
- #ifdef __KERNEL__
-
- #include <net/sock.h>
-+#include <net/snmp.h>
-
- /* sysctls */
- extern int sysctl_ipv6_bindv6only;
-diff -Nur linux-2.4.32/include/net/irda/irlan_event.h linux-2.4.32.patched/include/net/irda/irlan_event.h
---- linux-2.4.32/include/net/irda/irlan_event.h 2000-12-11 22:33:09.000000000 +0100
-+++ linux-2.4.32.patched/include/net/irda/irlan_event.h 2006-03-13 18:55:55.000000000 +0100
-@@ -67,8 +67,6 @@
- IRLAN_WATCHDOG_TIMEOUT,
- } IRLAN_EVENT;
-
--extern char *irlan_state[];
--
- void irlan_do_client_event(struct irlan_cb *self, IRLAN_EVENT event,
- struct sk_buff *skb);
-
-diff -Nur linux-2.4.32/include/net/irda/irttp.h linux-2.4.32.patched/include/net/irda/irttp.h
---- linux-2.4.32/include/net/irda/irttp.h 2003-06-13 16:51:39.000000000 +0200
-+++ linux-2.4.32.patched/include/net/irda/irttp.h 2006-03-13 18:55:55.000000000 +0100
-@@ -209,6 +209,4 @@
- return(irlap_is_primary(self->lsap->lap->irlap));
- }
-
--extern struct irttp_cb *irttp;
--
- #endif /* IRTTP_H */
-diff -Nur linux-2.4.32/include/net/irda/qos.h linux-2.4.32.patched/include/net/irda/qos.h
---- linux-2.4.32/include/net/irda/qos.h 2001-11-22 20:47:11.000000000 +0100
-+++ linux-2.4.32.patched/include/net/irda/qos.h 2006-03-13 18:57:13.000000000 +0100
-@@ -83,7 +83,6 @@
- extern int sysctl_max_baud_rate;
- extern int sysctl_max_inactive_time;
-
--extern __u32 baud_rates[];
- extern __u32 data_sizes[];
- extern __u32 min_turn_times[];
- extern __u32 add_bofs[];
-diff -Nur linux-2.4.32/include/net/iw_handler.h linux-2.4.32.patched/include/net/iw_handler.h
---- linux-2.4.32/include/net/iw_handler.h 2003-11-28 19:26:21.000000000 +0100
-+++ linux-2.4.32.patched/include/net/iw_handler.h 2006-03-13 18:55:55.000000000 +0100
-@@ -1,10 +1,10 @@
- /*
- * This file define the new driver API for Wireless Extensions
- *
-- * Version : 5 4.12.02
-+ * Version : 6 21.6.04
- *
- * Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com>
-- * Copyright (c) 2001-2002 Jean Tourrilhes, All Rights Reserved.
-+ * Copyright (c) 2001-2004 Jean Tourrilhes, All Rights Reserved.
- */
-
- #ifndef _IW_HANDLER_H
-@@ -206,7 +206,7 @@
- * will be needed...
- * I just plan to increment with each new version.
- */
--#define IW_HANDLER_VERSION 5
-+#define IW_HANDLER_VERSION 6
-
- /*
- * Changes :
-@@ -224,11 +224,18 @@
- * V4 to V5
- * --------
- * - Add new spy support : struct iw_spy_data & prototypes
-+ *
-+ * V5 to V6
-+ * --------
-+ * - Change the way we get to spy_data method for added safety
-+ * - Remove spy #ifdef, they are always on -> cleaner code
-+ * - Add IW_DESCR_FLAG_NOMAX flag for very large requests
-+ * - Start migrating get_wireless_stats to struct iw_handler_def
- */
-
- /**************************** CONSTANTS ****************************/
-
--/* Enable enhanced spy support. Disable to reduce footprint */
-+/* Enhanced spy support available */
- #define IW_WIRELESS_SPY
- #define IW_WIRELESS_THRSPY
-
-@@ -258,6 +265,7 @@
- #define IW_DESCR_FLAG_EVENT 0x0002 /* Generate an event on SET */
- #define IW_DESCR_FLAG_RESTRICT 0x0004 /* GET : request is ROOT only */
- /* SET : Omit payload from generated iwevent */
-+#define IW_DESCR_FLAG_NOMAX 0x0008 /* GET : no limit on request size */
- /* Driver level flags */
- #define IW_DESCR_FLAG_WAIT 0x0100 /* Wait for driver event */
-
-@@ -311,23 +319,25 @@
- /* Array of handlers for standard ioctls
- * We will call dev->wireless_handlers->standard[ioctl - SIOCSIWNAME]
- */
-- iw_handler * standard;
-+ const iw_handler * standard;
-
- /* Array of handlers for private ioctls
- * Will call dev->wireless_handlers->private[ioctl - SIOCIWFIRSTPRIV]
- */
-- iw_handler * private;
-+ const iw_handler * private;
-
- /* Arguments of private handler. This one is just a list, so you
- * can put it in any order you want and should not leave holes...
- * We will automatically export that to user space... */
-- struct iw_priv_args * private_args;
-+ const struct iw_priv_args * private_args;
-
-- /* Driver enhanced spy support */
-- long spy_offset; /* Spy data offset */
-+ /* This field will be *removed* in the next version of WE */
-+ long spy_offset; /* DO NOT USE */
-
-- /* In the long term, get_wireless_stats will move from
-- * 'struct net_device' to here, to minimise bloat. */
-+ /* New location of get_wireless_stats, to de-bloat struct net_device.
-+ * The old pointer in struct net_device will be gradually phased
-+ * out, and drivers are encouraged to use this one... */
-+ struct iw_statistics* (*get_wireless_stats)(struct net_device *dev);
- };
-
- /* ---------------------- IOCTL DESCRIPTION ---------------------- */
-@@ -374,18 +384,29 @@
- */
- struct iw_spy_data
- {
--#ifdef IW_WIRELESS_SPY
- /* --- Standard spy support --- */
- int spy_number;
- u_char spy_address[IW_MAX_SPY][ETH_ALEN];
- struct iw_quality spy_stat[IW_MAX_SPY];
--#ifdef IW_WIRELESS_THRSPY
- /* --- Enhanced spy support (event) */
- struct iw_quality spy_thr_low; /* Low threshold */
- struct iw_quality spy_thr_high; /* High threshold */
- u_char spy_thr_under[IW_MAX_SPY];
--#endif /* IW_WIRELESS_THRSPY */
--#endif /* IW_WIRELESS_SPY */
-+};
-+
-+/* --------------------- DEVICE WIRELESS DATA --------------------- */
-+/*
-+ * This is all the wireless data specific to a device instance that
-+ * is managed by the core of Wireless Extensions.
-+ * We only keep pointer to those structures, so that a driver is free
-+ * to share them between instances.
-+ * This structure should be initialised before registering the device.
-+ * Access to this data follow the same rules as any other struct net_device
-+ * data (i.e. valid as long as struct net_device exist, same locking rules).
-+ */
-+struct iw_public_data {
-+ /* Driver enhanced spy support */
-+ struct iw_spy_data * spy_data;
- };
-
- /**************************** PROTOTYPES ****************************/
-diff -Nur linux-2.4.32/include/net/pkt_sched.h linux-2.4.32.patched/include/net/pkt_sched.h
---- linux-2.4.32/include/net/pkt_sched.h 2004-11-17 12:54:22.000000000 +0100
-+++ linux-2.4.32.patched/include/net/pkt_sched.h 2006-03-13 18:57:46.000000000 +0100
-@@ -5,7 +5,11 @@
- #define PSCHED_JIFFIES 2
- #define PSCHED_CPU 3
-
-+#ifdef __mips__
-+#define PSCHED_CLOCK_SOURCE PSCHED_CPU
-+#else
- #define PSCHED_CLOCK_SOURCE PSCHED_JIFFIES
-+#endif
-
- #include <linux/config.h>
- #include <linux/types.h>
-@@ -59,8 +63,11 @@
- int (*enqueue)(struct sk_buff *, struct Qdisc *);
- struct sk_buff * (*dequeue)(struct Qdisc *);
- int (*requeue)(struct sk_buff *, struct Qdisc *);
-- unsigned int (*drop)(struct Qdisc *);
--
-+#ifdef CONFIG_BCM4710
-+ int (*drop)(struct Qdisc *);
-+#else
-+ unsigned int (*drop)(struct Qdisc *);
-+#endif
- int (*init)(struct Qdisc *, struct rtattr *arg);
- void (*reset)(struct Qdisc *);
- void (*destroy)(struct Qdisc *);
-@@ -80,12 +87,19 @@
- #define TCQ_F_THROTTLED 2
- #define TCQ_F_INGRESS 4
- struct Qdisc_ops *ops;
-+#ifdef CONFIG_BCM4710
-+ struct Qdisc *next;
-+#endif
- u32 handle;
-- u32 parent;
-+#ifndef CONFIG_BCM4710
-+ u32 parent;
-+#endif
- atomic_t refcnt;
- struct sk_buff_head q;
- struct net_device *dev;
-- struct list_head list;
-+#ifndef CONFIG_BCM4710
-+ struct list_head list;
-+#endif
-
- struct tc_stats stats;
- int (*reshape_fail)(struct sk_buff *skb, struct Qdisc *q);
-@@ -261,7 +275,7 @@
- #define PSCHED_US2JIFFIE(delay) (((delay)+psched_clock_per_hz-1)/psched_clock_per_hz)
- #define PSCHED_JIFFIE2US(delay) ((delay)*psched_clock_per_hz)
-
--#ifdef CONFIG_X86_TSC
-+#if defined(CONFIG_X86_TSC) || defined(__mips__)
-
- #define PSCHED_GET_TIME(stamp) \
- ({ u64 __cur; \
-diff -Nur linux-2.4.32/include/net/sock.h linux-2.4.32.patched/include/net/sock.h
---- linux-2.4.32/include/net/sock.h 2004-11-17 12:54:22.000000000 +0100
-+++ linux-2.4.32.patched/include/net/sock.h 2006-03-13 18:57:13.000000000 +0100
-@@ -488,7 +488,13 @@
- } bictcp;
- };
-
--
-+#if 1
-+#define UDP_OPT_IN_SOCK 1
-+struct udp_opt {
-+ __u32 esp_in_udp;
-+};
-+#endif
-+
- /*
- * This structure really needs to be cleaned up.
- * Most of it is for TCP, and not used by any of
-@@ -655,6 +661,9 @@
- #if defined(CONFIG_SPX) || defined (CONFIG_SPX_MODULE)
- struct spx_opt af_spx;
- #endif /* CONFIG_SPX */
-+#if 1
-+ struct udp_opt af_udp;
-+#endif
-
- } tp_pinfo;
-
-diff -Nur linux-2.4.32/include/net/udp.h linux-2.4.32.patched/include/net/udp.h
---- linux-2.4.32/include/net/udp.h 2005-01-19 15:10:13.000000000 +0100
-+++ linux-2.4.32.patched/include/net/udp.h 2006-03-13 19:01:28.000000000 +0100
-@@ -25,6 +25,7 @@
- #include <linux/udp.h>
- #include <linux/poll.h>
- #include <net/sock.h>
-+#include <net/snmp.h>
-
- #define UDP_HTABLE_SIZE 128
-
-diff -Nur linux-2.4.32/include/video/newport.h linux-2.4.32.patched/include/video/newport.h
---- linux-2.4.32/include/video/newport.h 2001-04-12 21:20:31.000000000 +0200
-+++ linux-2.4.32.patched/include/video/newport.h 2006-03-13 18:55:54.000000000 +0100
-@@ -291,8 +291,6 @@
- unsigned int _unused2[0x1ef];
- struct newport_cregs cgo;
- };
--extern struct newport_regs *npregs;
--
-
- typedef struct {
- unsigned int drawmode1;
-@@ -450,38 +448,26 @@
-
- /* Miscellaneous NEWPORT routines. */
- #define BUSY_TIMEOUT 100000
--static __inline__ int newport_wait(void)
-+static __inline__ int newport_wait(struct newport_regs *regs)
- {
-- int i = 0;
-+ int t = BUSY_TIMEOUT;
-
-- while(i < BUSY_TIMEOUT)
-- if(!(npregs->cset.status & NPORT_STAT_GBUSY))
-+ while (t--)
-+ if (!(regs->cset.status & NPORT_STAT_GBUSY))
- break;
-- if(i == BUSY_TIMEOUT)
-- return 1;
-- return 0;
-+ return !t;
- }
-
--static __inline__ int newport_bfwait(void)
-+static __inline__ int newport_bfwait(struct newport_regs *regs)
- {
-- int i = 0;
-+ int t = BUSY_TIMEOUT;
-
-- while(i < BUSY_TIMEOUT)
-- if(!(npregs->cset.status & NPORT_STAT_BBUSY))
-+ while (t--)
-+ if(!(regs->cset.status & NPORT_STAT_BBUSY))
- break;
-- if(i == BUSY_TIMEOUT)
-- return 1;
-- return 0;
-+ return !t;
- }
-
--/* newport.c and cons_newport.c routines */
--extern struct graphics_ops *newport_probe (int, const char **);
--
--void newport_save (void *);
--void newport_restore (void *);
--void newport_reset (void);
--int newport_ioctl (int card, int cmd, unsigned long arg);
--
- /*
- * DCBMODE register defines:
- */
-@@ -564,7 +550,7 @@
- {
- rex->set.dcbmode = DCB_XMAP0 | XM9_CRS_FIFO_AVAIL |
- DCB_DATAWIDTH_1 | R_DCB_XMAP9_PROTOCOL;
-- newport_bfwait ();
-+ newport_bfwait (rex);
-
- while ((rex->set.dcbdata0.bybytes.b3 & 3) != XM9_FIFO_EMPTY)
- ;
diff --git a/openwrt/toolchain/libnotimpl/Makefile b/openwrt/toolchain/libnotimpl/Makefile
deleted file mode 100644
index f68346c..0000000
--- a/openwrt/toolchain/libnotimpl/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-LIBNOTIMPL_DIR:=$(TOOL_BUILD_DIR)/libnotimpl
-
-LIBNOTIMPL_SRCS+=./files/math.c
-LIBNOTIMPL_OBJS:=$(patsubst ./files/%.c,$(LIBNOTIMPL_DIR)/%.o,$(LIBNOTIMPL_SRCS))
-
-$(LIBNOTIMPL_DIR)/.prepared:
- mkdir -p $(LIBNOTIMPL_DIR)
- touch $@
-
-$(LIBNOTIMPL_OBJS): $(LIBNOTIMPL_DIR)/%.o : ./files/%.c
- $(TARGET_CC) $(TARGET_CFLAGS) -c $< -o $@
-
-$(LIBNOTIMPL_DIR)/libnotimpl.a: $(LIBNOTIMPL_OBJS)
- $(TARGET_CROSS)ar rc $(LIBNOTIMPL_DIR)/libnotimpl.a $(LIBNOTIMPL_OBJS)
-
-$(STAGING_DIR)/usr/lib/libnotimpl.a: $(LIBNOTIMPL_DIR)/libnotimpl.a
- mkdir -p $(STAGING_DIR)/usr/lib
- $(CP) $< $@
- touch -c $@
-
-source:
-prepare: $(LIBNOTIMPL_DIR)/.prepared
-compile: $(LIBNOTIMPL_DIR)/libnotimpl.a
-install: $(STAGING_DIR)/usr/lib/libnotimpl.a
-clean:
- rm -rf \
- $(STAGING_DIR)/usr/lib/libnotimpl.a \
- $(LIBNOTIMPL_DIR) \
diff --git a/openwrt/toolchain/libnotimpl/files/math.c b/openwrt/toolchain/libnotimpl/files/math.c
deleted file mode 100644
index 7333a36..0000000
--- a/openwrt/toolchain/libnotimpl/files/math.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* vi: set sw=4 ts=4: */
-
-#include "math.h"
-
-
-/* cosf for uClibc
- *
- * wrapper for cos(x)
- */
-
-#ifdef __STDC__
- float cosf(float x)
-#else
- float cosf(x)
- float x;
-#endif
-{
- return (float) cos( (double)x );
-}
-
-
-/* sinf for uClibc
- *
- * wrapper for sin(x)
- */
-
-#ifdef __STDC__
- float sinf(float x)
-#else
- float sinf(x)
- float x;
-#endif
-{
- return (float) sin( (double)x );
-}
-
-
-/* ceilf for uClibc
- *
- * wrapper for ceil(x)
- */
-
-#ifdef __STDC__
- float ceilf(float x)
-#else
- float ceilf(x)
- float x;
-#endif
-{
- return (float) ceil( (double)x );
-}
-
-
-/* rintf for uClibc
- *
- * wrapper for rint(x)
- */
-
-#ifdef __STDC__
- float rintf(float x)
-#else
- float rintf(x)
- float x;
-#endif
-{
- return (float) rint( (double)x );
-}
-
diff --git a/openwrt/toolchain/sed/Makefile b/openwrt/toolchain/sed/Makefile
deleted file mode 100644
index 637bc65..0000000
--- a/openwrt/toolchain/sed/Makefile
+++ /dev/null
@@ -1,75 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-#############################################################
-#
-# sed
-#
-#############################################################
-SED_VER:=4.1.2
-SED_SOURCE:=sed-$(SED_VER).tar.gz
-SED_SITE:=ftp://ftp.gnu.org/gnu/sed
-SED_CAT:=zcat
-SED_DIR1:=$(TOOL_BUILD_DIR)/sed-$(SED_VER)
-SED_DIR2:=$(BUILD_DIR)/sed-$(SED_VER)
-SED_BINARY:=sed/sed
-SED_TARGET_BINARY:=bin/sed
-ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true)
-SED_CPPFLAGS=-D_FILE_OFFSET_BITS=64
-endif
-HOST_SED_TARGET=$(shell ./sedcheck.sh)
-
-$(DL_DIR)/$(SED_SOURCE):
- mkdir -p $(DL_DIR)
- $(SCRIPT_DIR)/download.pl $(DL_DIR) $(SED_SOURCE) x $(SED_SITE)
-
-#############################################################
-#
-# build sed for use on the host system
-#
-#############################################################
-
-$(SED_DIR1)/.unpacked: $(DL_DIR)/$(SED_SOURCE)
- mkdir -p $(TOOL_BUILD_DIR)
- mkdir -p $(STAGING_DIR)/bin;
- $(SED_CAT) $(DL_DIR)/$(SED_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
- touch $(SED_DIR1)/.unpacked
-
-$(SED_DIR1)/.configured: $(SED_DIR1)/.unpacked
- (cd $(SED_DIR1); rm -rf config.cache; \
- ./configure \
- --prefix=$(STAGING_DIR) \
- --prefix=/usr \
- );
- touch $(SED_DIR1)/.configured
-
-$(SED_DIR1)/$(SED_BINARY): $(SED_DIR1)/.configured
- $(MAKE) -C $(SED_DIR1)
-
-# This stuff is needed to work around GNU make deficiencies
-build-sed-host-binary: $(SED_DIR1)/$(SED_BINARY)
- @if [ -L $(STAGING_DIR)/$(SED_TARGET_BINARY) ] ; then \
- rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY); fi;
- @if [ ! -f $(STAGING_DIR)/$(SED_TARGET_BINARY) -o $(STAGING_DIR)/$(SED_TARGET_BINARY) \
- -ot $(SED_DIR1)/$(SED_BINARY) ] ; then \
- set -x; \
- mkdir -p $(STAGING_DIR)/bin; \
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) install; \
- mv $(STAGING_DIR)/usr/bin/sed $(STAGING_DIR)/bin/; \
- rm -rf $(STAGING_DIR)/share/locale $(STAGING_DIR)/usr/info \
- $(STAGING_DIR)/usr/man $(STAGING_DIR)/usr/share/doc; fi
-
-use-sed-host-binary:
- @if [ -x /usr/bin/sed ]; then SED="/usr/bin/sed"; else \
- if [ -x /bin/sed ]; then SED="/bin/sed"; fi; fi; \
- mkdir -p $(STAGING_DIR)/bin; \
- rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY); \
- ln -s $$SED $(STAGING_DIR)/$(SED_TARGET_BINARY)
-
-source:
-prepare:
-compile:
-install: $(HOST_SED_TARGET)
-clean:
- rm -rf $(SED_DIR1)
- rm -f $(STAGING_DIR)/$(SED_TARGET_BINARY)
-
diff --git a/openwrt/toolchain/sed/sedcheck.sh b/openwrt/toolchain/sed/sedcheck.sh
deleted file mode 100755
index 4d645b6..0000000
--- a/openwrt/toolchain/sed/sedcheck.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-if [ -x /usr/bin/sed ]; then
- SED="/usr/bin/sed";
-else
- if [ -x /bin/sed ]; then
- SED="/bin/sed";
- fi;
-fi;
-
-echo "HELLO" > .sedtest
-$SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1
-
-if [ $? != 0 ] ; then
- echo build-sed-host-binary
-else
- echo use-sed-host-binary
-fi;
-rm -f .sedtest
-
-
diff --git a/openwrt/toolchain/uClibc/Config.in b/openwrt/toolchain/uClibc/Config.in
deleted file mode 100644
index 4b016c9..0000000
--- a/openwrt/toolchain/uClibc/Config.in
+++ /dev/null
@@ -1,18 +0,0 @@
-# Choose uClibc options
-#
-if CONFIG_DEVEL
- comment "uClibc Options"
-endif
-
-config BR2_UCLIBC_VERSION_SNAPSHOT
- bool
- prompt "Use the daily snapshot of uClibc?" if CONFIG_DEVEL
- default n
- help
- Would you like to use the latest daily snapshot?
-
-config BR2_USE_UCLIBC_SNAPSHOT
- string
- default "snapshot"
- depends on BR2_UCLIBC_VERSION_SNAPSHOT
-
diff --git a/openwrt/toolchain/uClibc/Makefile b/openwrt/toolchain/uClibc/Makefile
deleted file mode 100644
index d77f554..0000000
--- a/openwrt/toolchain/uClibc/Makefile
+++ /dev/null
@@ -1,103 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-#############################################################
-#
-# uClibc (the C library)
-#
-#############################################################
-
-ifeq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y)
-# Be aware that this changes daily....
-UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc
-UCLIBC_SOURCE:=uClibc-$(strip $(subst ",, $(BR2_USE_UCLIBC_SNAPSHOT))).tar.bz2
-#"
-UCLIBC_SITE:=http://www.uclibc.org/downloads/snapshots
-UCLIBC_VER:=PKG_VERSION:=0.${shell date +"%G%m%d"}
-else
-UCLIBC_VER:=0.9.28
-UCLIBC_DIR:=$(TOOL_BUILD_DIR)/uClibc-$(UCLIBC_VER)
-UCLIBC_SOURCE:=uClibc-$(UCLIBC_VER).tar.bz2
-UCLIBC_SITE:=http://www.uclibc.org/downloads
-endif
-
-UCLIBC_TARGET_ARCH:=$(shell echo $(ARCH) | sed -e s'/-.*//' \
- -e 's/i.86/i386/' \
- -e 's/sparc.*/sparc/' \
- -e 's/arm.*/arm/g' \
- -e 's/m68k.*/m68k/' \
- -e 's/ppc/powerpc/g' \
- -e 's/v850.*/v850/g' \
- -e 's/sh64/sh/' \
- -e 's/sh[234].*/sh/' \
- -e 's/mips.*/mips/' \
- -e 's/mipsel.*/mips/' \
- -e 's/cris.*/cris/' \
-)
-
-
-$(DL_DIR)/$(UCLIBC_SOURCE):
- mkdir -p $(DL_DIR)
- $(SCRIPT_DIR)/download.pl $(DL_DIR) $(UCLIBC_SOURCE) x $(UCLIBC_SITE)
-
-$(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE)
- mkdir -p $(TOOL_BUILD_DIR)
- bzcat $(DL_DIR)/$(UCLIBC_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
- $(PATCH) $(UCLIBC_DIR) ./patches
- touch $(UCLIBC_DIR)/.unpacked
-
-$(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.unpacked
- $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(UCLIBC_DIR)/Rules.mak
- $(CP) ./files/config.$(ARCH) $(UCLIBC_DIR)/.config
- $(SED) 's,^KERNEL_SOURCE=.*,KERNEL_SOURCE=\"$(LINUX_HEADERS_DIR)\",g' \
- $(UCLIBC_DIR)/.config
-ifeq ($(BR2_LARGEFILE),y)
- $(SED) 's,^.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=y,g' $(UCLIBC_DIR)/.config
-else
- $(SED) 's,^.*UCLIBC_HAS_LFS.*,UCLIBC_HAS_LFS=n,g' $(UCLIBC_DIR)/.config
-endif
- $(SED) 's,.*UCLIBC_HAS_WCHAR.*,UCLIBC_HAS_WCHAR=y,g' $(UCLIBC_DIR)/.config
-ifeq ($(BR2_SOFT_FLOAT),y)
- $(SED) 's,.*HAS_FPU.*,HAS_FPU=n\nUCLIBC_HAS_FLOATS=y\nUCLIBC_HAS_SOFT_FLOAT=y,g' $(UCLIBC_DIR)/.config
-endif
- mkdir -p $(TOOL_BUILD_DIR)/uClibc_dev/usr/include
- mkdir -p $(TOOL_BUILD_DIR)/uClibc_dev/usr/lib
- mkdir -p $(TOOL_BUILD_DIR)/uClibc_dev/lib
- $(MAKE1) -C $(UCLIBC_DIR) \
- PREFIX=$(TOOL_BUILD_DIR)/uClibc_dev/ \
- DEVEL_PREFIX=/usr/ \
- RUNTIME_PREFIX=$(TOOL_BUILD_DIR)/uClibc_dev/ \
- HOSTCC="$(HOSTCC)" \
- CPU_CFLAGS="$(TARGET_CFLAGS)" \
- pregen install_dev;
- touch $(UCLIBC_DIR)/.configured
-
-$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured $(LIBFLOAT_TARGET)
- $(MAKE1) -C $(UCLIBC_DIR) \
- PREFIX= \
- DEVEL_PREFIX=/ \
- RUNTIME_PREFIX=/ \
- HOSTCC="$(HOSTCC)" \
- CPU_CFLAGS="$(TARGET_CFLAGS)" \
- all
- touch -c $(UCLIBC_DIR)/lib/libc.a
-
-$(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a
- $(MAKE1) -C $(UCLIBC_DIR) \
- PREFIX=$(STAGING_DIR)/ \
- DEVEL_PREFIX=/ \
- RUNTIME_PREFIX=/ \
- install_runtime
- $(MAKE1) -C $(UCLIBC_DIR) \
- PREFIX=$(STAGING_DIR)/ \
- DEVEL_PREFIX=/ \
- RUNTIME_PREFIX=/ \
- install_dev
- echo $(UCLIBC_VER) > $(STAGING_DIR)/uclibc_version
- touch -c $(STAGING_DIR)/lib/libc.a
-
-source: $(DL_DIR)/$(UCLIBC_SOURCE)
-prepare: $(UCLIBC_DIR)/.configured
-compile: $(UCLIBC_DIR)/lib/libc.a
-install: $(STAGING_DIR)/lib/libc.a $(UCLIBC_TARGETS)
-clean:
- rm -rf $(UCLIBC_DIR) $(TOOL_BUILD_DIR)/uClibc_dev
diff --git a/openwrt/toolchain/uClibc/files/config.armeb b/openwrt/toolchain/uClibc/files/config.armeb
deleted file mode 100644
index ad01dc6..0000000
--- a/openwrt/toolchain/uClibc/files/config.armeb
+++ /dev/null
@@ -1,168 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-TARGET_arm=y
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_x86_64 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="arm"
-ARCH_SUPPORTS_BIG_ENDIAN=y
-# CONFIG_GENERIC_ARM is not set
-# CONFIG_ARM610 is not set
-# CONFIG_ARM710 is not set
-# CONFIG_ARM720T is not set
-# CONFIG_ARM920T is not set
-# CONFIG_ARM922T is not set
-# CONFIG_ARM926T is not set
-# CONFIG_ARM1136JF_S is not set
-# CONFIG_ARM_SA110 is not set
-# CONFIG_ARM_SA1100 is not set
-CONFIG_ARM_XSCALE=y
-# ARCH_LITTLE_ENDIAN is not set
-ARCH_BIG_ENDIAN=y
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-# HAS_FPU is not set
-UCLIBC_HAS_SOFT_FLOAT=y
-# DO_C99_MATH is not set
-KERNEL_SOURCE="./toolchain_build_armeb/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-# LDSO_RUNPATH is not set
-# DL_FINI_CRT_COMPAT is not set
-UCLIBC_CTOR_DTOR=y
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_LFS=y
-# UCLIBC_STATIC_LDCONFIG is not set
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-# UNIX98PTY_ONLY is not set
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-UCLIBC_HAS_IPV6=y
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_WORDEXP is not set
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-
-#
-# uClibc security related options
-#
-# UCLIBC_SECURITY is not set
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-WARNINGS="-Wall"
-# UCLIBC_MJN3_ONLY is not set
diff --git a/openwrt/toolchain/uClibc/files/config.i386 b/openwrt/toolchain/uClibc/files/config.i386
deleted file mode 100644
index b1a9ec3..0000000
--- a/openwrt/toolchain/uClibc/files/config.i386
+++ /dev/null
@@ -1,178 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-TARGET_i386=y
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_x86_64 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="i386"
-# CONFIG_GENERIC_386 is not set
-# CONFIG_386 is not set
-CONFIG_486=y
-# CONFIG_586 is not set
-# CONFIG_586MMX is not set
-# CONFIG_686 is not set
-# CONFIG_PENTIUMII is not set
-# CONFIG_PENTIUMIII is not set
-# CONFIG_PENTIUM4 is not set
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_ELAN is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-# CONFIG_NEHEMIAH is not set
-# CONFIG_MIPS_ISA_1 is not set
-# CONFIG_MIPS_ISA_2 is not set
-# CONFIG_MIPS_ISA_3 is not set
-# CONFIG_MIPS_ISA_4 is not set
-# CONFIG_MIPS_ISA_MIPS32 is not set
-# CONFIG_MIPS_ISA_MIPS64 is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-# DO_C99_MATH is not set
-KERNEL_SOURCE="./toolchain_build_i386/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-# LDSO_RUNPATH is not set
-# DL_FINI_CRT_COMPAT is not set
-UCLIBC_CTOR_DTOR=y
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_LFS=y
-# UCLIBC_STATIC_LDCONFIG is not set
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-# UNIX98PTY_ONLY is not set
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-UCLIBC_HAS_IPV6=y
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_WORDEXP is not set
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-
-#
-# uClibc security related options
-#
-# UCLIBC_SECURITY is not set
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-WARNINGS="-Wall"
-# UCLIBC_MJN3_ONLY is not set
diff --git a/openwrt/toolchain/uClibc/files/config.mips b/openwrt/toolchain/uClibc/files/config.mips
deleted file mode 100644
index 06c3d82..0000000
--- a/openwrt/toolchain/uClibc/files/config.mips
+++ /dev/null
@@ -1,163 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-TARGET_mips=y
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_x86_64 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="mips"
-ARCH_CFLAGS="-mno-split-addresses"
-ARCH_SUPPORTS_BIG_ENDIAN=y
-# CONFIG_MIPS_ISA_1 is not set
-# CONFIG_MIPS_ISA_2 is not set
-# CONFIG_MIPS_ISA_3 is not set
-# CONFIG_MIPS_ISA_4 is not set
-CONFIG_MIPS_ISA_MIPS32=y
-# CONFIG_MIPS_ISA_MIPS64 is not set
-# ARCH_LITTLE_ENDIAN is not set
-ARCH_BIG_ENDIAN=y
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-# DO_C99_MATH is not set
-KERNEL_SOURCE="./toolchain_build_mips/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-# LDSO_RUNPATH is not set
-DL_FINI_CRT_COMPAT=y
-UCLIBC_CTOR_DTOR=y
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_LFS=y
-# UCLIBC_STATIC_LDCONFIG is not set
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-# UNIX98PTY_ONLY is not set
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-UCLIBC_HAS_IPV6=y
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_WORDEXP is not set
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-
-#
-# uClibc security related options
-#
-# UCLIBC_SECURITY is not set
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-WARNINGS="-Wall"
-# UCLIBC_MJN3_ONLY is not set
diff --git a/openwrt/toolchain/uClibc/files/config.mipsel b/openwrt/toolchain/uClibc/files/config.mipsel
deleted file mode 100644
index 8a7db1a..0000000
--- a/openwrt/toolchain/uClibc/files/config.mipsel
+++ /dev/null
@@ -1,163 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-TARGET_mips=y
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_x86_64 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="mips"
-ARCH_CFLAGS="-mno-split-addresses"
-ARCH_SUPPORTS_BIG_ENDIAN=y
-# CONFIG_MIPS_ISA_1 is not set
-# CONFIG_MIPS_ISA_2 is not set
-# CONFIG_MIPS_ISA_3 is not set
-# CONFIG_MIPS_ISA_4 is not set
-CONFIG_MIPS_ISA_MIPS32=y
-# CONFIG_MIPS_ISA_MIPS64 is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-# DO_C99_MATH is not set
-KERNEL_SOURCE="./toolchain_build_mipsel/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-# LDSO_RUNPATH is not set
-DL_FINI_CRT_COMPAT=y
-UCLIBC_CTOR_DTOR=y
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_LFS=y
-# UCLIBC_STATIC_LDCONFIG is not set
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-# UNIX98PTY_ONLY is not set
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-UCLIBC_HAS_IPV6=y
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_WORDEXP is not set
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-
-#
-# uClibc security related options
-#
-# UCLIBC_SECURITY is not set
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-WARNINGS="-Wall"
-# UCLIBC_MJN3_ONLY is not set
diff --git a/openwrt/toolchain/uClibc/files/config.powerpc b/openwrt/toolchain/uClibc/files/config.powerpc
deleted file mode 100644
index 457c7d5..0000000
--- a/openwrt/toolchain/uClibc/files/config.powerpc
+++ /dev/null
@@ -1,161 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-# TARGET_i386 is not set
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-TARGET_powerpc=y
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_x86_64 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-TARGET_ARCH="powerpc"
-ARCH_SUPPORTS_BIG_ENDIAN=y
-# CONFIG_MIPS_ISA_1 is not set
-# CONFIG_MIPS_ISA_2 is not set
-# CONFIG_MIPS_ISA_3 is not set
-# CONFIG_MIPS_ISA_4 is not set
-# CONFIG_MIPS_ISA_MIPS32 is not set
-# CONFIG_MIPS_ISA_MIPS64 is not set
-# ARCH_LITTLE_ENDIAN is not set
-ARCH_BIG_ENDIAN=y
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-# DO_C99_MATH is not set
-KERNEL_SOURCE="./toolchain_build_powerpc/linux"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-# FORCE_SHAREABLE_TEXT_SEGMENTS is not set
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-# LDSO_RUNPATH is not set
-DL_FINI_CRT_COMPAT=y
-UCLIBC_CTOR_DTOR=y
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_LFS=y
-# UCLIBC_STATIC_LDCONFIG is not set
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-# UNIX98PTY_ONLY is not set
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-UCLIBC_HAS_IPV6=y
-UCLIBC_HAS_RPC=y
-UCLIBC_HAS_FULL_RPC=y
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-# UCLIBC_HAS_CTYPE_UNSAFE is not set
-UCLIBC_HAS_CTYPE_CHECKED=y
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-# UCLIBC_HAS_LOCALE is not set
-UCLIBC_HAS_HEXADECIMAL_FLOATS=y
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-UCLIBC_HAS_SCANF_GLIBC_A_FLAG=y
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE=y
-UCLIBC_HAS_GLIBC_CUSTOM_STREAMS=y
-UCLIBC_HAS_PRINTF_M_SPEC=y
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-# UCLIBC_HAS_SYS_SIGLIST is not set
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_WORDEXP is not set
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-
-#
-# uClibc security related options
-#
-# UCLIBC_SECURITY is not set
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-WARNINGS="-Wall"
-# UCLIBC_MJN3_ONLY is not set
diff --git a/openwrt/toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch b/openwrt/toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch
deleted file mode 100644
index 72cdb72..0000000
--- a/openwrt/toolchain/uClibc/patches/100-signal_handler_crash_workaround.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur uClibc-0.9.28/libc/sysdeps/linux/mips/sigaction.c uClibc-0.9.28.openwrt/libc/sysdeps/linux/mips/sigaction.c
---- uClibc-0.9.28/libc/sysdeps/linux/mips/sigaction.c 2005-08-18 00:49:44.000000000 +0200
-+++ uClibc-0.9.28.openwrt/libc/sysdeps/linux/mips/sigaction.c 2005-10-20 13:19:05.000000000 +0200
-@@ -49,7 +49,8 @@
- memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));
- kact.sa_flags = act->sa_flags;
-
-- kact.sa_flags = act->sa_flags | SA_RESTORER;
-+/* http://bugs.uclibc.org/view.php?id=480
-+ kact.sa_flags = act->sa_flags | SA_RESTORER; */
- #ifdef HAVE_SA_RESTORER
- kact.sa_restorer = act->sa_restorer;
- #endif
diff --git a/openwrt/toolchain/uClibc/patches/110-mips_pipe.patch b/openwrt/toolchain/uClibc/patches/110-mips_pipe.patch
deleted file mode 100644
index 734310f..0000000
--- a/openwrt/toolchain/uClibc/patches/110-mips_pipe.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -ur uClibc-0.9.28/libc/sysdeps/linux/mips/pipe.S uClibc-0.9.28.openwrt/libc/sysdeps/linux/mips/pipe.S
---- uClibc-0.9.28/libc/sysdeps/linux/mips/pipe.S 2005-08-18 00:49:44.000000000 +0200
-+++ uClibc-0.9.28.openwrt/libc/sysdeps/linux/mips/pipe.S 2005-10-20 12:34:52.000000000 +0200
-@@ -10,22 +10,17 @@
- .globl pipe
- .ent pipe, 0
- pipe:
-- addiu sp,sp,-24
-- sw a0,16(sp)
- li v0,__NR_pipe
- syscall
- beqz a3, 1f
-- la t3, errno
-- sw v0, (t3)
-+ sw v0, errno
- li v0, -1
- b 2f
- 1:
-- lw a0, 16(sp)
- sw v0, 0(a0)
- sw v1, 4(a0)
- li v0, 0
- 2:
-- addiu sp,sp,24
- j ra
- .end pipe
- .size pipe,.-pipe
diff --git a/openwrt/toolchain/uClibc/patches/120-more_standard_math.patch b/openwrt/toolchain/uClibc/patches/120-more_standard_math.patch
deleted file mode 100644
index f7d626a..0000000
--- a/openwrt/toolchain/uClibc/patches/120-more_standard_math.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN uClibc.old/libm/Makefile uClibc.dev/libm/Makefile
---- uClibc.old/libm/Makefile 2005-08-18 00:49:41.000000000 +0200
-+++ uClibc.dev/libm/Makefile 2005-10-22 00:56:03.106683500 +0200
-@@ -81,6 +81,8 @@
- w_cosh.c w_exp.c s_fabs.c s_floor.c w_fmod.c s_frexp.c \
- s_ldexp.c w_log.c w_log10.c s_modf.c w_pow.c s_sin.c \
- w_sinh.c w_sqrt.c s_tan.c s_tanh.c
-+# extra stuff required for some apps
-+CSRC+= fpmacros.c nan.c s_rint.c e_hypot.c w_hypot.c
- CSRC+= s_expm1.c s_scalbn.c s_copysign.c e_acos.c e_asin.c e_atan2.c \
- k_cos.c e_cosh.c e_exp.c e_fmod.c e_log.c e_log10.c e_pow.c \
- k_sin.c e_sinh.c e_sqrt.c k_tan.c e_rem_pio2.c k_rem_pio2.c \
diff --git a/openwrt/toolchain/uClibc/patches/140-uclibc_do_div_ldso.patch b/openwrt/toolchain/uClibc/patches/140-uclibc_do_div_ldso.patch
deleted file mode 100644
index b19d55f..0000000
--- a/openwrt/toolchain/uClibc/patches/140-uclibc_do_div_ldso.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-diff -ur uClibc-0.9.28/ldso/include/dl-string.h uClibc-0.9.28.openwrt/ldso/include/dl-string.h
---- uClibc-0.9.28/ldso/include/dl-string.h 2005-08-18 00:49:41.000000000 +0200
-+++ uClibc-0.9.28.openwrt/ldso/include/dl-string.h 2006-04-12 11:07:49.000000000 +0200
-@@ -4,6 +4,14 @@
- #include <dl-sysdep.h> // for do_rem
- #include <features.h>
-
-+/* provide some sane defaults */
-+#ifndef do_rem
-+# define do_rem(result, n, base) ((result) = (n) % (base))
-+#endif
-+#ifndef do_div_10
-+# define do_div_10(result, remain) ((result) /= 10)
-+#endif
-+
- static size_t _dl_strlen(const char * str);
- static char *_dl_strcat(char *dst, const char *src);
- static char * _dl_strcpy(char * dst,const char *src);
-@@ -228,7 +236,7 @@
- char temp;
- do_rem(temp, i, 10);
- *--p = '0' + temp;
-- i /= 10;
-+ do_div_10(i, temp);
- } while (i > 0);
- return p;
- }
-@@ -318,7 +326,7 @@
- do { \
- do_rem(v, (X), 10); \
- *--tmp2 = '0' + v; \
-- (X) /= 10; \
-+ do_div_10((X), v); \
- } while ((X) > 0); \
- _dl_write(2, tmp2, tmp1 - tmp2 + sizeof(tmp) - 1); \
- }
-diff -ur uClibc-0.9.28/ldso/ldso/arm/dl-sysdep.h uClibc-0.9.28.openwrt/ldso/ldso/arm/dl-sysdep.h
---- uClibc-0.9.28/ldso/ldso/arm/dl-sysdep.h 2005-08-18 00:49:41.000000000 +0200
-+++ uClibc-0.9.28.openwrt/ldso/ldso/arm/dl-sysdep.h 2006-04-12 11:31:58.000000000 +0200
-@@ -43,6 +43,7 @@
- return m;
- }
- #define do_rem(result, n, base) ((result) = arm_modulus(n, base))
-+#define do_div_10(result, remain) ((result) = (((result) - (remain)) / 2) * -(-1ul / 5ul))
-
- /* Here we define the magic numbers that this dynamic loader should accept */
- #define MAGIC1 EM_ARM
diff --git a/openwrt/toolchain/uClibc/patches/ipv6_missing_sockopts.patch b/openwrt/toolchain/uClibc/patches/ipv6_missing_sockopts.patch
deleted file mode 100644
index 8aed081..0000000
--- a/openwrt/toolchain/uClibc/patches/ipv6_missing_sockopts.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- uClibc-0.9.27-old/libc/sysdeps/linux/common/bits/in.h 2005-01-12 08:59:21.000000000 +0100
-+++ uClibc-0.9.27-new/libc/sysdeps/linux/common/bits/in.h 2005-08-23 02:12:47.000000000 +0200
-@@ -115,6 +115,9 @@
- #define IPV6_MTU_DISCOVER 23
- #define IPV6_MTU 24
- #define IPV6_RECVERR 25
-+#define IPV6_V6ONLY 26
-+#define IPV6_JOIN_ANYCAST 27
-+#define IPV6_LEAVE_ANYCAST 28
-
- #define SCM_SRCRT IPV6_RXSRCRT
-
diff --git a/openwrt/toolchain/utils/Makefile b/openwrt/toolchain/utils/Makefile
deleted file mode 100644
index 2af6b13..0000000
--- a/openwrt/toolchain/utils/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-TARGETS:=sstrip
-UTILS_BUILD_DIR:=$(TOOL_BUILD_DIR)/utils
-
-OS:=$(shell uname)
-ifeq ($(OS),Darwin)
-CFLAGS += -I./include
-endif
-
-prepare: $(UTILS_BUILD_DIR)
-compile: prepare $(patsubst %,$(UTILS_BUILD_DIR)/%,$(TARGETS))
-install: compile
- mkdir -p $(STAGING_DIR)/bin
- $(CP) $(UTILS_BUILD_DIR)/* $(STAGING_DIR)/bin/
-package:
-clean:
- rm -rf $(UTILS_BUILD_DIR)
-
-$(UTILS_BUILD_DIR):
- mkdir -p $(UTILS_BUILD_DIR)
-
-$(UTILS_BUILD_DIR)/%: src/%.c
- $(CC) $(CFLAGS) -o $@ $(patsubst $(UTILS_BUILD_DIR)/%,src/%.c,$@)
- chmod 755 $@
-
diff --git a/openwrt/toolchain/utils/include/elf.h b/openwrt/toolchain/utils/include/elf.h
deleted file mode 100644
index eae96d0..0000000
--- a/openwrt/toolchain/utils/include/elf.h
+++ /dev/null
@@ -1,2445 +0,0 @@
-/* This file defines standard ELF types, structures, and macros.
- Copyright (C) 1995-1999,2000,2001,2002,2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#ifndef _ELF_H
-#define _ELF_H 1
-
-__BEGIN_DECLS
-
-/* Standard ELF types. */
-
-#include <stdint.h>
-
-/* Type for a 16-bit quantity. */
-typedef uint16_t Elf32_Half;
-typedef uint16_t Elf64_Half;
-
-/* Types for signed and unsigned 32-bit quantities. */
-typedef uint32_t Elf32_Word;
-typedef int32_t Elf32_Sword;
-typedef uint32_t Elf64_Word;
-typedef int32_t Elf64_Sword;
-
-/* Types for signed and unsigned 64-bit quantities. */
-typedef uint64_t Elf32_Xword;
-typedef int64_t Elf32_Sxword;
-typedef uint64_t Elf64_Xword;
-typedef int64_t Elf64_Sxword;
-
-/* Type of addresses. */
-typedef uint32_t Elf32_Addr;
-typedef uint64_t Elf64_Addr;
-
-/* Type of file offsets. */
-typedef uint32_t Elf32_Off;
-typedef uint64_t Elf64_Off;
-
-/* Type for section indices, which are 16-bit quantities. */
-typedef uint16_t Elf32_Section;
-typedef uint16_t Elf64_Section;
-
-/* Type for version symbol information. */
-typedef Elf32_Half Elf32_Versym;
-typedef Elf64_Half Elf64_Versym;
-
-
-/* The ELF file header. This appears at the start of every ELF file. */
-
-#define EI_NIDENT (16)
-
-typedef struct
-{
- unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */
- Elf32_Half e_type; /* Object file type */
- Elf32_Half e_machine; /* Architecture */
- Elf32_Word e_version; /* Object file version */
- Elf32_Addr e_entry; /* Entry point virtual address */
- Elf32_Off e_phoff; /* Program header table file offset */
- Elf32_Off e_shoff; /* Section header table file offset */
- Elf32_Word e_flags; /* Processor-specific flags */
- Elf32_Half e_ehsize; /* ELF header size in bytes */
- Elf32_Half e_phentsize; /* Program header table entry size */
- Elf32_Half e_phnum; /* Program header table entry count */
- Elf32_Half e_shentsize; /* Section header table entry size */
- Elf32_Half e_shnum; /* Section header table entry count */
- Elf32_Half e_shstrndx; /* Section header string table index */
-} Elf32_Ehdr;
-
-typedef struct
-{
- unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */
- Elf64_Half e_type; /* Object file type */
- Elf64_Half e_machine; /* Architecture */
- Elf64_Word e_version; /* Object file version */
- Elf64_Addr e_entry; /* Entry point virtual address */
- Elf64_Off e_phoff; /* Program header table file offset */
- Elf64_Off e_shoff; /* Section header table file offset */
- Elf64_Word e_flags; /* Processor-specific flags */
- Elf64_Half e_ehsize; /* ELF header size in bytes */
- Elf64_Half e_phentsize; /* Program header table entry size */
- Elf64_Half e_phnum; /* Program header table entry count */
- Elf64_Half e_shentsize; /* Section header table entry size */
- Elf64_Half e_shnum; /* Section header table entry count */
- Elf64_Half e_shstrndx; /* Section header string table index */
-} Elf64_Ehdr;
-
-/* Fields in the e_ident array. The EI_* macros are indices into the
- array. The macros under each EI_* macro are the values the byte
- may have. */
-
-#define EI_MAG0 0 /* File identification byte 0 index */
-#define ELFMAG0 0x7f /* Magic number byte 0 */
-
-#define EI_MAG1 1 /* File identification byte 1 index */
-#define ELFMAG1 'E' /* Magic number byte 1 */
-
-#define EI_MAG2 2 /* File identification byte 2 index */
-#define ELFMAG2 'L' /* Magic number byte 2 */
-
-#define EI_MAG3 3 /* File identification byte 3 index */
-#define ELFMAG3 'F' /* Magic number byte 3 */
-
-/* Conglomeration of the identification bytes, for easy testing as a word. */
-#define ELFMAG "\177ELF"
-#define SELFMAG 4
-
-#define EI_CLASS 4 /* File class byte index */
-#define ELFCLASSNONE 0 /* Invalid class */
-#define ELFCLASS32 1 /* 32-bit objects */
-#define ELFCLASS64 2 /* 64-bit objects */
-#define ELFCLASSNUM 3
-
-#define EI_DATA 5 /* Data encoding byte index */
-#define ELFDATANONE 0 /* Invalid data encoding */
-#define ELFDATA2LSB 1 /* 2's complement, little endian */
-#define ELFDATA2MSB 2 /* 2's complement, big endian */
-#define ELFDATANUM 3
-
-#define EI_VERSION 6 /* File version byte index */
- /* Value must be EV_CURRENT */
-
-#define EI_OSABI 7 /* OS ABI identification */
-#define ELFOSABI_NONE 0 /* UNIX System V ABI */
-#define ELFOSABI_SYSV 0 /* Alias. */
-#define ELFOSABI_HPUX 1 /* HP-UX */
-#define ELFOSABI_NETBSD 2 /* NetBSD. */
-#define ELFOSABI_LINUX 3 /* Linux. */
-#define ELFOSABI_SOLARIS 6 /* Sun Solaris. */
-#define ELFOSABI_AIX 7 /* IBM AIX. */
-#define ELFOSABI_IRIX 8 /* SGI Irix. */
-#define ELFOSABI_FREEBSD 9 /* FreeBSD. */
-#define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */
-#define ELFOSABI_MODESTO 11 /* Novell Modesto. */
-#define ELFOSABI_OPENBSD 12 /* OpenBSD. */
-#define ELFOSABI_ARM 97 /* ARM */
-#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
-
-#define EI_ABIVERSION 8 /* ABI version */
-
-#define EI_PAD 9 /* Byte index of padding bytes */
-
-/* Legal values for e_type (object file type). */
-
-#define ET_NONE 0 /* No file type */
-#define ET_REL 1 /* Relocatable file */
-#define ET_EXEC 2 /* Executable file */
-#define ET_DYN 3 /* Shared object file */
-#define ET_CORE 4 /* Core file */
-#define ET_NUM 5 /* Number of defined types */
-#define ET_LOOS 0xfe00 /* OS-specific range start */
-#define ET_HIOS 0xfeff /* OS-specific range end */
-#define ET_LOPROC 0xff00 /* Processor-specific range start */
-#define ET_HIPROC 0xffff /* Processor-specific range end */
-
-/* Legal values for e_machine (architecture). */
-
-#define EM_NONE 0 /* No machine */
-#define EM_M32 1 /* AT&T WE 32100 */
-#define EM_SPARC 2 /* SUN SPARC */
-#define EM_386 3 /* Intel 80386 */
-#define EM_68K 4 /* Motorola m68k family */
-#define EM_88K 5 /* Motorola m88k family */
-#define EM_860 7 /* Intel 80860 */
-#define EM_MIPS 8 /* MIPS R3000 big-endian */
-#define EM_S370 9 /* IBM System/370 */
-#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian */
-
-#define EM_PARISC 15 /* HPPA */
-#define EM_VPP500 17 /* Fujitsu VPP500 */
-#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */
-#define EM_960 19 /* Intel 80960 */
-#define EM_PPC 20 /* PowerPC */
-#define EM_PPC64 21 /* PowerPC 64-bit */
-#define EM_S390 22 /* IBM S390 */
-
-#define EM_V800 36 /* NEC V800 series */
-#define EM_FR20 37 /* Fujitsu FR20 */
-#define EM_RH32 38 /* TRW RH-32 */
-#define EM_RCE 39 /* Motorola RCE */
-#define EM_ARM 40 /* ARM */
-#define EM_FAKE_ALPHA 41 /* Digital Alpha */
-#define EM_SH 42 /* Hitachi SH */
-#define EM_SPARCV9 43 /* SPARC v9 64-bit */
-#define EM_TRICORE 44 /* Siemens Tricore */
-#define EM_ARC 45 /* Argonaut RISC Core */
-#define EM_H8_300 46 /* Hitachi H8/300 */
-#define EM_H8_300H 47 /* Hitachi H8/300H */
-#define EM_H8S 48 /* Hitachi H8S */
-#define EM_H8_500 49 /* Hitachi H8/500 */
-#define EM_IA_64 50 /* Intel Merced */
-#define EM_MIPS_X 51 /* Stanford MIPS-X */
-#define EM_COLDFIRE 52 /* Motorola Coldfire */
-#define EM_68HC12 53 /* Motorola M68HC12 */
-#define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator*/
-#define EM_PCP 55 /* Siemens PCP */
-#define EM_NCPU 56 /* Sony nCPU embeeded RISC */
-#define EM_NDR1 57 /* Denso NDR1 microprocessor */
-#define EM_STARCORE 58 /* Motorola Start*Core processor */
-#define EM_ME16 59 /* Toyota ME16 processor */
-#define EM_ST100 60 /* STMicroelectronic ST100 processor */
-#define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/
-#define EM_X86_64 62 /* AMD x86-64 architecture */
-#define EM_PDSP 63 /* Sony DSP Processor */
-
-#define EM_FX66 66 /* Siemens FX66 microcontroller */
-#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */
-#define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */
-#define EM_68HC16 69 /* Motorola MC68HC16 microcontroller */
-#define EM_68HC11 70 /* Motorola MC68HC11 microcontroller */
-#define EM_68HC08 71 /* Motorola MC68HC08 microcontroller */
-#define EM_68HC05 72 /* Motorola MC68HC05 microcontroller */
-#define EM_SVX 73 /* Silicon Graphics SVx */
-#define EM_ST19 74 /* STMicroelectronics ST19 8 bit mc */
-#define EM_VAX 75 /* Digital VAX */
-#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */
-#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded processor */
-#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor */
-#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor */
-#define EM_MMIX 80 /* Donald Knuth's educational 64-bit processor */
-#define EM_HUANY 81 /* Harvard University machine-independent object files */
-#define EM_PRISM 82 /* SiTera Prism */
-#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */
-#define EM_FR30 84 /* Fujitsu FR30 */
-#define EM_D10V 85 /* Mitsubishi D10V */
-#define EM_D30V 86 /* Mitsubishi D30V */
-#define EM_V850 87 /* NEC v850 */
-#define EM_M32R 88 /* Mitsubishi M32R */
-#define EM_MN10300 89 /* Matsushita MN10300 */
-#define EM_MN10200 90 /* Matsushita MN10200 */
-#define EM_PJ 91 /* picoJava */
-#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
-#define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
-#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
-#define EM_NUM 95
-
-/* If it is necessary to assign new unofficial EM_* values, please
- pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the
- chances of collision with official or non-GNU unofficial values. */
-
-#define EM_ALPHA 0x9026
-
-/* Legal values for e_version (version). */
-
-#define EV_NONE 0 /* Invalid ELF version */
-#define EV_CURRENT 1 /* Current version */
-#define EV_NUM 2
-
-/* Section header. */
-
-typedef struct
-{
- Elf32_Word sh_name; /* Section name (string tbl index) */
- Elf32_Word sh_type; /* Section type */
- Elf32_Word sh_flags; /* Section flags */
- Elf32_Addr sh_addr; /* Section virtual addr at execution */
- Elf32_Off sh_offset; /* Section file offset */
- Elf32_Word sh_size; /* Section size in bytes */
- Elf32_Word sh_link; /* Link to another section */
- Elf32_Word sh_info; /* Additional section information */
- Elf32_Word sh_addralign; /* Section alignment */
- Elf32_Word sh_entsize; /* Entry size if section holds table */
-} Elf32_Shdr;
-
-typedef struct
-{
- Elf64_Word sh_name; /* Section name (string tbl index) */
- Elf64_Word sh_type; /* Section type */
- Elf64_Xword sh_flags; /* Section flags */
- Elf64_Addr sh_addr; /* Section virtual addr at execution */
- Elf64_Off sh_offset; /* Section file offset */
- Elf64_Xword sh_size; /* Section size in bytes */
- Elf64_Word sh_link; /* Link to another section */
- Elf64_Word sh_info; /* Additional section information */
- Elf64_Xword sh_addralign; /* Section alignment */
- Elf64_Xword sh_entsize; /* Entry size if section holds table */
-} Elf64_Shdr;
-
-/* Special section indices. */
-
-#define SHN_UNDEF 0 /* Undefined section */
-#define SHN_LORESERVE 0xff00 /* Start of reserved indices */
-#define SHN_LOPROC 0xff00 /* Start of processor-specific */
-#define SHN_HIPROC 0xff1f /* End of processor-specific */
-#define SHN_LOOS 0xff20 /* Start of OS-specific */
-#define SHN_HIOS 0xff3f /* End of OS-specific */
-#define SHN_ABS 0xfff1 /* Associated symbol is absolute */
-#define SHN_COMMON 0xfff2 /* Associated symbol is common */
-#define SHN_XINDEX 0xffff /* Index is in extra table. */
-#define SHN_HIRESERVE 0xffff /* End of reserved indices */
-
-/* Legal values for sh_type (section type). */
-
-#define SHT_NULL 0 /* Section header table entry unused */
-#define SHT_PROGBITS 1 /* Program data */
-#define SHT_SYMTAB 2 /* Symbol table */
-#define SHT_STRTAB 3 /* String table */
-#define SHT_RELA 4 /* Relocation entries with addends */
-#define SHT_HASH 5 /* Symbol hash table */
-#define SHT_DYNAMIC 6 /* Dynamic linking information */
-#define SHT_NOTE 7 /* Notes */
-#define SHT_NOBITS 8 /* Program space with no data (bss) */
-#define SHT_REL 9 /* Relocation entries, no addends */
-#define SHT_SHLIB 10 /* Reserved */
-#define SHT_DYNSYM 11 /* Dynamic linker symbol table */
-#define SHT_INIT_ARRAY 14 /* Array of constructors */
-#define SHT_FINI_ARRAY 15 /* Array of destructors */
-#define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */
-#define SHT_GROUP 17 /* Section group */
-#define SHT_SYMTAB_SHNDX 18 /* Extended section indeces */
-#define SHT_NUM 19 /* Number of defined types. */
-#define SHT_LOOS 0x60000000 /* Start OS-specific */
-#define SHT_GNU_LIBLIST 0x6ffffff7 /* Prelink library list */
-#define SHT_CHECKSUM 0x6ffffff8 /* Checksum for DSO content. */
-#define SHT_LOSUNW 0x6ffffffa /* Sun-specific low bound. */
-#define SHT_SUNW_move 0x6ffffffa
-#define SHT_SUNW_COMDAT 0x6ffffffb
-#define SHT_SUNW_syminfo 0x6ffffffc
-#define SHT_GNU_verdef 0x6ffffffd /* Version definition section. */
-#define SHT_GNU_verneed 0x6ffffffe /* Version needs section. */
-#define SHT_GNU_versym 0x6fffffff /* Version symbol table. */
-#define SHT_HISUNW 0x6fffffff /* Sun-specific high bound. */
-#define SHT_HIOS 0x6fffffff /* End OS-specific type */
-#define SHT_LOPROC 0x70000000 /* Start of processor-specific */
-#define SHT_HIPROC 0x7fffffff /* End of processor-specific */
-#define SHT_LOUSER 0x80000000 /* Start of application-specific */
-#define SHT_HIUSER 0x8fffffff /* End of application-specific */
-
-/* Legal values for sh_flags (section flags). */
-
-#define SHF_WRITE (1 << 0) /* Writable */
-#define SHF_ALLOC (1 << 1) /* Occupies memory during execution */
-#define SHF_EXECINSTR (1 << 2) /* Executable */
-#define SHF_MERGE (1 << 4) /* Might be merged */
-#define SHF_STRINGS (1 << 5) /* Contains nul-terminated strings */
-#define SHF_INFO_LINK (1 << 6) /* `sh_info' contains SHT index */
-#define SHF_LINK_ORDER (1 << 7) /* Preserve order after combining */
-#define SHF_OS_NONCONFORMING (1 << 8) /* Non-standard OS specific handling
- required */
-#define SHF_GROUP (1 << 9) /* Section is member of a group. */
-#define SHF_TLS (1 << 10) /* Section hold thread-local data. */
-#define SHF_MASKOS 0x0ff00000 /* OS-specific. */
-#define SHF_MASKPROC 0xf0000000 /* Processor-specific */
-
-/* Section group handling. */
-#define GRP_COMDAT 0x1 /* Mark group as COMDAT. */
-
-/* Symbol table entry. */
-
-typedef struct
-{
- Elf32_Word st_name; /* Symbol name (string tbl index) */
- Elf32_Addr st_value; /* Symbol value */
- Elf32_Word st_size; /* Symbol size */
- unsigned char st_info; /* Symbol type and binding */
- unsigned char st_other; /* Symbol visibility */
- Elf32_Section st_shndx; /* Section index */
-} Elf32_Sym;
-
-typedef struct
-{
- Elf64_Word st_name; /* Symbol name (string tbl index) */
- unsigned char st_info; /* Symbol type and binding */
- unsigned char st_other; /* Symbol visibility */
- Elf64_Section st_shndx; /* Section index */
- Elf64_Addr st_value; /* Symbol value */
- Elf64_Xword st_size; /* Symbol size */
-} Elf64_Sym;
-
-/* The syminfo section if available contains additional information about
- every dynamic symbol. */
-
-typedef struct
-{
- Elf32_Half si_boundto; /* Direct bindings, symbol bound to */
- Elf32_Half si_flags; /* Per symbol flags */
-} Elf32_Syminfo;
-
-typedef struct
-{
- Elf64_Half si_boundto; /* Direct bindings, symbol bound to */
- Elf64_Half si_flags; /* Per symbol flags */
-} Elf64_Syminfo;
-
-/* Possible values for si_boundto. */
-#define SYMINFO_BT_SELF 0xffff /* Symbol bound to self */
-#define SYMINFO_BT_PARENT 0xfffe /* Symbol bound to parent */
-#define SYMINFO_BT_LOWRESERVE 0xff00 /* Beginning of reserved entries */
-
-/* Possible bitmasks for si_flags. */
-#define SYMINFO_FLG_DIRECT 0x0001 /* Direct bound symbol */
-#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-thru symbol for translator */
-#define SYMINFO_FLG_COPY 0x0004 /* Symbol is a copy-reloc */
-#define SYMINFO_FLG_LAZYLOAD 0x0008 /* Symbol bound to object to be lazy
- loaded */
-/* Syminfo version values. */
-#define SYMINFO_NONE 0
-#define SYMINFO_CURRENT 1
-#define SYMINFO_NUM 2
-
-
-/* How to extract and insert information held in the st_info field. */
-
-#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
-#define ELF32_ST_TYPE(val) ((val) & 0xf)
-#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf))
-
-/* Both Elf32_Sym and Elf64_Sym use the same one-byte st_info field. */
-#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
-#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
-#define ELF64_ST_INFO(bind, type) ELF32_ST_INFO ((bind), (type))
-
-/* Legal values for ST_BIND subfield of st_info (symbol binding). */
-
-#define STB_LOCAL 0 /* Local symbol */
-#define STB_GLOBAL 1 /* Global symbol */
-#define STB_WEAK 2 /* Weak symbol */
-#define STB_NUM 3 /* Number of defined types. */
-#define STB_LOOS 10 /* Start of OS-specific */
-#define STB_HIOS 12 /* End of OS-specific */
-#define STB_LOPROC 13 /* Start of processor-specific */
-#define STB_HIPROC 15 /* End of processor-specific */
-
-/* Legal values for ST_TYPE subfield of st_info (symbol type). */
-
-#define STT_NOTYPE 0 /* Symbol type is unspecified */
-#define STT_OBJECT 1 /* Symbol is a data object */
-#define STT_FUNC 2 /* Symbol is a code object */
-#define STT_SECTION 3 /* Symbol associated with a section */
-#define STT_FILE 4 /* Symbol's name is file name */
-#define STT_COMMON 5 /* Symbol is a common data object */
-#define STT_TLS 6 /* Symbol is thread-local data object*/
-#define STT_NUM 7 /* Number of defined types. */
-#define STT_LOOS 10 /* Start of OS-specific */
-#define STT_HIOS 12 /* End of OS-specific */
-#define STT_LOPROC 13 /* Start of processor-specific */
-#define STT_HIPROC 15 /* End of processor-specific */
-
-
-/* Symbol table indices are found in the hash buckets and chain table
- of a symbol hash table section. This special index value indicates
- the end of a chain, meaning no further symbols are found in that bucket. */
-
-#define STN_UNDEF 0 /* End of a chain. */
-
-
-/* How to extract and insert information held in the st_other field. */
-
-#define ELF32_ST_VISIBILITY(o) ((o) & 0x03)
-
-/* For ELF64 the definitions are the same. */
-#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o)
-
-/* Symbol visibility specification encoded in the st_other field. */
-#define STV_DEFAULT 0 /* Default symbol visibility rules */
-#define STV_INTERNAL 1 /* Processor specific hidden class */
-#define STV_HIDDEN 2 /* Sym unavailable in other modules */
-#define STV_PROTECTED 3 /* Not preemptible, not exported */
-
-
-/* Relocation table entry without addend (in section of type SHT_REL). */
-
-typedef struct
-{
- Elf32_Addr r_offset; /* Address */
- Elf32_Word r_info; /* Relocation type and symbol index */
-} Elf32_Rel;
-
-/* I have seen two different definitions of the Elf64_Rel and
- Elf64_Rela structures, so we'll leave them out until Novell (or
- whoever) gets their act together. */
-/* The following, at least, is used on Sparc v9, MIPS, and Alpha. */
-
-typedef struct
-{
- Elf64_Addr r_offset; /* Address */
- Elf64_Xword r_info; /* Relocation type and symbol index */
-} Elf64_Rel;
-
-/* Relocation table entry with addend (in section of type SHT_RELA). */
-
-typedef struct
-{
- Elf32_Addr r_offset; /* Address */
- Elf32_Word r_info; /* Relocation type and symbol index */
- Elf32_Sword r_addend; /* Addend */
-} Elf32_Rela;
-
-typedef struct
-{
- Elf64_Addr r_offset; /* Address */
- Elf64_Xword r_info; /* Relocation type and symbol index */
- Elf64_Sxword r_addend; /* Addend */
-} Elf64_Rela;
-
-/* How to extract and insert information held in the r_info field. */
-
-#define ELF32_R_SYM(val) ((val) >> 8)
-#define ELF32_R_TYPE(val) ((val) & 0xff)
-#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff))
-
-#define ELF64_R_SYM(i) ((i) >> 32)
-#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
-#define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type))
-
-/* Program segment header. */
-
-typedef struct
-{
- Elf32_Word p_type; /* Segment type */
- Elf32_Off p_offset; /* Segment file offset */
- Elf32_Addr p_vaddr; /* Segment virtual address */
- Elf32_Addr p_paddr; /* Segment physical address */
- Elf32_Word p_filesz; /* Segment size in file */
- Elf32_Word p_memsz; /* Segment size in memory */
- Elf32_Word p_flags; /* Segment flags */
- Elf32_Word p_align; /* Segment alignment */
-} Elf32_Phdr;
-
-typedef struct
-{
- Elf64_Word p_type; /* Segment type */
- Elf64_Word p_flags; /* Segment flags */
- Elf64_Off p_offset; /* Segment file offset */
- Elf64_Addr p_vaddr; /* Segment virtual address */
- Elf64_Addr p_paddr; /* Segment physical address */
- Elf64_Xword p_filesz; /* Segment size in file */
- Elf64_Xword p_memsz; /* Segment size in memory */
- Elf64_Xword p_align; /* Segment alignment */
-} Elf64_Phdr;
-
-/* Legal values for p_type (segment type). */
-
-#define PT_NULL 0 /* Program header table entry unused */
-#define PT_LOAD 1 /* Loadable program segment */
-#define PT_DYNAMIC 2 /* Dynamic linking information */
-#define PT_INTERP 3 /* Program interpreter */
-#define PT_NOTE 4 /* Auxiliary information */
-#define PT_SHLIB 5 /* Reserved */
-#define PT_PHDR 6 /* Entry for header table itself */
-#define PT_TLS 7 /* Thread-local storage segment */
-#define PT_NUM 8 /* Number of defined types */
-#define PT_LOOS 0x60000000 /* Start of OS-specific */
-#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */
-#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
-#define PT_LOSUNW 0x6ffffffa
-#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
-#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
-#define PT_HISUNW 0x6fffffff
-#define PT_HIOS 0x6fffffff /* End of OS-specific */
-#define PT_LOPROC 0x70000000 /* Start of processor-specific */
-#define PT_HIPROC 0x7fffffff /* End of processor-specific */
-
-/* Legal values for p_flags (segment flags). */
-
-#define PF_X (1 << 0) /* Segment is executable */
-#define PF_W (1 << 1) /* Segment is writable */
-#define PF_R (1 << 2) /* Segment is readable */
-#define PF_MASKOS 0x0ff00000 /* OS-specific */
-#define PF_MASKPROC 0xf0000000 /* Processor-specific */
-
-/* Legal values for note segment descriptor types for core files. */
-
-#define NT_PRSTATUS 1 /* Contains copy of prstatus struct */
-#define NT_FPREGSET 2 /* Contains copy of fpregset struct */
-#define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */
-#define NT_PRXREG 4 /* Contains copy of prxregset struct */
-#define NT_TASKSTRUCT 4 /* Contains copy of task structure */
-#define NT_PLATFORM 5 /* String from sysinfo(SI_PLATFORM) */
-#define NT_AUXV 6 /* Contains copy of auxv array */
-#define NT_GWINDOWS 7 /* Contains copy of gwindows struct */
-#define NT_ASRS 8 /* Contains copy of asrset struct */
-#define NT_PSTATUS 10 /* Contains copy of pstatus struct */
-#define NT_PSINFO 13 /* Contains copy of psinfo struct */
-#define NT_PRCRED 14 /* Contains copy of prcred struct */
-#define NT_UTSNAME 15 /* Contains copy of utsname struct */
-#define NT_LWPSTATUS 16 /* Contains copy of lwpstatus struct */
-#define NT_LWPSINFO 17 /* Contains copy of lwpinfo struct */
-#define NT_PRFPXREG 20 /* Contains copy of fprxregset struct*/
-
-/* Legal values for the note segment descriptor types for object files. */
-
-#define NT_VERSION 1 /* Contains a version string. */
-
-
-/* Dynamic section entry. */
-
-typedef struct
-{
- Elf32_Sword d_tag; /* Dynamic entry type */
- union
- {
- Elf32_Word d_val; /* Integer value */
- Elf32_Addr d_ptr; /* Address value */
- } d_un;
-} Elf32_Dyn;
-
-typedef struct
-{
- Elf64_Sxword d_tag; /* Dynamic entry type */
- union
- {
- Elf64_Xword d_val; /* Integer value */
- Elf64_Addr d_ptr; /* Address value */
- } d_un;
-} Elf64_Dyn;
-
-/* Legal values for d_tag (dynamic entry type). */
-
-#define DT_NULL 0 /* Marks end of dynamic section */
-#define DT_NEEDED 1 /* Name of needed library */
-#define DT_PLTRELSZ 2 /* Size in bytes of PLT relocs */
-#define DT_PLTGOT 3 /* Processor defined value */
-#define DT_HASH 4 /* Address of symbol hash table */
-#define DT_STRTAB 5 /* Address of string table */
-#define DT_SYMTAB 6 /* Address of symbol table */
-#define DT_RELA 7 /* Address of Rela relocs */
-#define DT_RELASZ 8 /* Total size of Rela relocs */
-#define DT_RELAENT 9 /* Size of one Rela reloc */
-#define DT_STRSZ 10 /* Size of string table */
-#define DT_SYMENT 11 /* Size of one symbol table entry */
-#define DT_INIT 12 /* Address of init function */
-#define DT_FINI 13 /* Address of termination function */
-#define DT_SONAME 14 /* Name of shared object */
-#define DT_RPATH 15 /* Library search path (deprecated) */
-#define DT_SYMBOLIC 16 /* Start symbol search here */
-#define DT_REL 17 /* Address of Rel relocs */
-#define DT_RELSZ 18 /* Total size of Rel relocs */
-#define DT_RELENT 19 /* Size of one Rel reloc */
-#define DT_PLTREL 20 /* Type of reloc in PLT */
-#define DT_DEBUG 21 /* For debugging; unspecified */
-#define DT_TEXTREL 22 /* Reloc might modify .text */
-#define DT_JMPREL 23 /* Address of PLT relocs */
-#define DT_BIND_NOW 24 /* Process relocations of object */
-#define DT_INIT_ARRAY 25 /* Array with addresses of init fct */
-#define DT_FINI_ARRAY 26 /* Array with addresses of fini fct */
-#define DT_INIT_ARRAYSZ 27 /* Size in bytes of DT_INIT_ARRAY */
-#define DT_FINI_ARRAYSZ 28 /* Size in bytes of DT_FINI_ARRAY */
-#define DT_RUNPATH 29 /* Library search path */
-#define DT_FLAGS 30 /* Flags for the object being loaded */
-#define DT_ENCODING 32 /* Start of encoded range */
-#define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/
-#define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */
-#define DT_NUM 34 /* Number used */
-#define DT_LOOS 0x6000000d /* Start of OS-specific */
-#define DT_HIOS 0x6ffff000 /* End of OS-specific */
-#define DT_LOPROC 0x70000000 /* Start of processor-specific */
-#define DT_HIPROC 0x7fffffff /* End of processor-specific */
-#define DT_PROCNUM DT_MIPS_NUM /* Most used by any processor */
-
-/* DT_* entries which fall between DT_VALRNGHI & DT_VALRNGLO use the
- Dyn.d_un.d_val field of the Elf*_Dyn structure. This follows Sun's
- approach. */
-#define DT_VALRNGLO 0x6ffffd00
-#define DT_GNU_PRELINKED 0x6ffffdf5 /* Prelinking timestamp */
-#define DT_GNU_CONFLICTSZ 0x6ffffdf6 /* Size of conflict section */
-#define DT_GNU_LIBLISTSZ 0x6ffffdf7 /* Size of library list */
-#define DT_CHECKSUM 0x6ffffdf8
-#define DT_PLTPADSZ 0x6ffffdf9
-#define DT_MOVEENT 0x6ffffdfa
-#define DT_MOVESZ 0x6ffffdfb
-#define DT_FEATURE_1 0x6ffffdfc /* Feature selection (DTF_*). */
-#define DT_POSFLAG_1 0x6ffffdfd /* Flags for DT_* entries, effecting
- the following DT_* entry. */
-#define DT_SYMINSZ 0x6ffffdfe /* Size of syminfo table (in bytes) */
-#define DT_SYMINENT 0x6ffffdff /* Entry size of syminfo */
-#define DT_VALRNGHI 0x6ffffdff
-#define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag)) /* Reverse order! */
-#define DT_VALNUM 12
-
-/* DT_* entries which fall between DT_ADDRRNGHI & DT_ADDRRNGLO use the
- Dyn.d_un.d_ptr field of the Elf*_Dyn structure.
-
- If any adjustment is made to the ELF object after it has been
- built these entries will need to be adjusted. */
-#define DT_ADDRRNGLO 0x6ffffe00
-#define DT_GNU_CONFLICT 0x6ffffef8 /* Start of conflict section */
-#define DT_GNU_LIBLIST 0x6ffffef9 /* Library list */
-#define DT_CONFIG 0x6ffffefa /* Configuration information. */
-#define DT_DEPAUDIT 0x6ffffefb /* Dependency auditing. */
-#define DT_AUDIT 0x6ffffefc /* Object auditing. */
-#define DT_PLTPAD 0x6ffffefd /* PLT padding. */
-#define DT_MOVETAB 0x6ffffefe /* Move table. */
-#define DT_SYMINFO 0x6ffffeff /* Syminfo table. */
-#define DT_ADDRRNGHI 0x6ffffeff
-#define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag)) /* Reverse order! */
-#define DT_ADDRNUM 10
-
-/* The versioning entry types. The next are defined as part of the
- GNU extension. */
-#define DT_VERSYM 0x6ffffff0
-
-#define DT_RELACOUNT 0x6ffffff9
-#define DT_RELCOUNT 0x6ffffffa
-
-/* These were chosen by Sun. */
-#define DT_FLAGS_1 0x6ffffffb /* State flags, see DF_1_* below. */
-#define DT_VERDEF 0x6ffffffc /* Address of version definition
- table */
-#define DT_VERDEFNUM 0x6ffffffd /* Number of version definitions */
-#define DT_VERNEED 0x6ffffffe /* Address of table with needed
- versions */
-#define DT_VERNEEDNUM 0x6fffffff /* Number of needed versions */
-#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) /* Reverse order! */
-#define DT_VERSIONTAGNUM 16
-
-/* Sun added these machine-independent extensions in the "processor-specific"
- range. Be compatible. */
-#define DT_AUXILIARY 0x7ffffffd /* Shared object to load before self */
-#define DT_FILTER 0x7fffffff /* Shared object to get values from */
-#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
-#define DT_EXTRANUM 3
-
-/* Values of `d_un.d_val' in the DT_FLAGS entry. */
-#define DF_ORIGIN 0x00000001 /* Object may use DF_ORIGIN */
-#define DF_SYMBOLIC 0x00000002 /* Symbol resolutions starts here */
-#define DF_TEXTREL 0x00000004 /* Object contains text relocations */
-#define DF_BIND_NOW 0x00000008 /* No lazy binding for this object */
-#define DF_STATIC_TLS 0x00000010 /* Module uses the static TLS model */
-
-/* State flags selectable in the `d_un.d_val' element of the DT_FLAGS_1
- entry in the dynamic section. */
-#define DF_1_NOW 0x00000001 /* Set RTLD_NOW for this object. */
-#define DF_1_GLOBAL 0x00000002 /* Set RTLD_GLOBAL for this object. */
-#define DF_1_GROUP 0x00000004 /* Set RTLD_GROUP for this object. */
-#define DF_1_NODELETE 0x00000008 /* Set RTLD_NODELETE for this object.*/
-#define DF_1_LOADFLTR 0x00000010 /* Trigger filtee loading at runtime.*/
-#define DF_1_INITFIRST 0x00000020 /* Set RTLD_INITFIRST for this object*/
-#define DF_1_NOOPEN 0x00000040 /* Set RTLD_NOOPEN for this object. */
-#define DF_1_ORIGIN 0x00000080 /* $ORIGIN must be handled. */
-#define DF_1_DIRECT 0x00000100 /* Direct binding enabled. */
-#define DF_1_TRANS 0x00000200
-#define DF_1_INTERPOSE 0x00000400 /* Object is used to interpose. */
-#define DF_1_NODEFLIB 0x00000800 /* Ignore default lib search path. */
-#define DF_1_NODUMP 0x00001000 /* Object can't be dldump'ed. */
-#define DF_1_CONFALT 0x00002000 /* Configuration alternative created.*/
-#define DF_1_ENDFILTEE 0x00004000 /* Filtee terminates filters search. */
-#define DF_1_DISPRELDNE 0x00008000 /* Disp reloc applied at build time. */
-#define DF_1_DISPRELPND 0x00010000 /* Disp reloc applied at run-time. */
-
-/* Flags for the feature selection in DT_FEATURE_1. */
-#define DTF_1_PARINIT 0x00000001
-#define DTF_1_CONFEXP 0x00000002
-
-/* Flags in the DT_POSFLAG_1 entry effecting only the next DT_* entry. */
-#define DF_P1_LAZYLOAD 0x00000001 /* Lazyload following object. */
-#define DF_P1_GROUPPERM 0x00000002 /* Symbols from next object are not
- generally available. */
-
-/* Version definition sections. */
-
-typedef struct
-{
- Elf32_Half vd_version; /* Version revision */
- Elf32_Half vd_flags; /* Version information */
- Elf32_Half vd_ndx; /* Version Index */
- Elf32_Half vd_cnt; /* Number of associated aux entries */
- Elf32_Word vd_hash; /* Version name hash value */
- Elf32_Word vd_aux; /* Offset in bytes to verdaux array */
- Elf32_Word vd_next; /* Offset in bytes to next verdef
- entry */
-} Elf32_Verdef;
-
-typedef struct
-{
- Elf64_Half vd_version; /* Version revision */
- Elf64_Half vd_flags; /* Version information */
- Elf64_Half vd_ndx; /* Version Index */
- Elf64_Half vd_cnt; /* Number of associated aux entries */
- Elf64_Word vd_hash; /* Version name hash value */
- Elf64_Word vd_aux; /* Offset in bytes to verdaux array */
- Elf64_Word vd_next; /* Offset in bytes to next verdef
- entry */
-} Elf64_Verdef;
-
-
-/* Legal values for vd_version (version revision). */
-#define VER_DEF_NONE 0 /* No version */
-#define VER_DEF_CURRENT 1 /* Current version */
-#define VER_DEF_NUM 2 /* Given version number */
-
-/* Legal values for vd_flags (version information flags). */
-#define VER_FLG_BASE 0x1 /* Version definition of file itself */
-#define VER_FLG_WEAK 0x2 /* Weak version identifier */
-
-/* Versym symbol index values. */
-#define VER_NDX_LOCAL 0 /* Symbol is local. */
-#define VER_NDX_GLOBAL 1 /* Symbol is global. */
-#define VER_NDX_LORESERVE 0xff00 /* Beginning of reserved entries. */
-#define VER_NDX_ELIMINATE 0xff01 /* Symbol is to be eliminated. */
-
-/* Auxialiary version information. */
-
-typedef struct
-{
- Elf32_Word vda_name; /* Version or dependency names */
- Elf32_Word vda_next; /* Offset in bytes to next verdaux
- entry */
-} Elf32_Verdaux;
-
-typedef struct
-{
- Elf64_Word vda_name; /* Version or dependency names */
- Elf64_Word vda_next; /* Offset in bytes to next verdaux
- entry */
-} Elf64_Verdaux;
-
-
-/* Version dependency section. */
-
-typedef struct
-{
- Elf32_Half vn_version; /* Version of structure */
- Elf32_Half vn_cnt; /* Number of associated aux entries */
- Elf32_Word vn_file; /* Offset of filename for this
- dependency */
- Elf32_Word vn_aux; /* Offset in bytes to vernaux array */
- Elf32_Word vn_next; /* Offset in bytes to next verneed
- entry */
-} Elf32_Verneed;
-
-typedef struct
-{
- Elf64_Half vn_version; /* Version of structure */
- Elf64_Half vn_cnt; /* Number of associated aux entries */
- Elf64_Word vn_file; /* Offset of filename for this
- dependency */
- Elf64_Word vn_aux; /* Offset in bytes to vernaux array */
- Elf64_Word vn_next; /* Offset in bytes to next verneed
- entry */
-} Elf64_Verneed;
-
-
-/* Legal values for vn_version (version revision). */
-#define VER_NEED_NONE 0 /* No version */
-#define VER_NEED_CURRENT 1 /* Current version */
-#define VER_NEED_NUM 2 /* Given version number */
-
-/* Auxiliary needed version information. */
-
-typedef struct
-{
- Elf32_Word vna_hash; /* Hash value of dependency name */
- Elf32_Half vna_flags; /* Dependency specific information */
- Elf32_Half vna_other; /* Unused */
- Elf32_Word vna_name; /* Dependency name string offset */
- Elf32_Word vna_next; /* Offset in bytes to next vernaux
- entry */
-} Elf32_Vernaux;
-
-typedef struct
-{
- Elf64_Word vna_hash; /* Hash value of dependency name */
- Elf64_Half vna_flags; /* Dependency specific information */
- Elf64_Half vna_other; /* Unused */
- Elf64_Word vna_name; /* Dependency name string offset */
- Elf64_Word vna_next; /* Offset in bytes to next vernaux
- entry */
-} Elf64_Vernaux;
-
-
-/* Legal values for vna_flags. */
-#define VER_FLG_WEAK 0x2 /* Weak version identifier */
-
-
-/* Auxiliary vector. */
-
-/* This vector is normally only used by the program interpreter. The
- usual definition in an ABI supplement uses the name auxv_t. The
- vector is not usually defined in a standard <elf.h> file, but it
- can't hurt. We rename it to avoid conflicts. The sizes of these
- types are an arrangement between the exec server and the program
- interpreter, so we don't fully specify them here. */
-
-typedef struct
-{
- int a_type; /* Entry type */
- union
- {
- long int a_val; /* Integer value */
- void *a_ptr; /* Pointer value */
- void (*a_fcn) (void); /* Function pointer value */
- } a_un;
-} Elf32_auxv_t;
-
-typedef struct
-{
- long int a_type; /* Entry type */
- union
- {
- long int a_val; /* Integer value */
- void *a_ptr; /* Pointer value */
- void (*a_fcn) (void); /* Function pointer value */
- } a_un;
-} Elf64_auxv_t;
-
-/* Legal values for a_type (entry type). */
-
-#define AT_NULL 0 /* End of vector */
-#define AT_IGNORE 1 /* Entry should be ignored */
-#define AT_EXECFD 2 /* File descriptor of program */
-#define AT_PHDR 3 /* Program headers for program */
-#define AT_PHENT 4 /* Size of program header entry */
-#define AT_PHNUM 5 /* Number of program headers */
-#define AT_PAGESZ 6 /* System page size */
-#define AT_BASE 7 /* Base address of interpreter */
-#define AT_FLAGS 8 /* Flags */
-#define AT_ENTRY 9 /* Entry point of program */
-#define AT_NOTELF 10 /* Program is not ELF */
-#define AT_UID 11 /* Real uid */
-#define AT_EUID 12 /* Effective uid */
-#define AT_GID 13 /* Real gid */
-#define AT_EGID 14 /* Effective gid */
-#define AT_CLKTCK 17 /* Frequency of times() */
-
-/* Some more special a_type values describing the hardware. */
-#define AT_PLATFORM 15 /* String identifying platform. */
-#define AT_HWCAP 16 /* Machine dependent hints about
- processor capabilities. */
-
-/* This entry gives some information about the FPU initialization
- performed by the kernel. */
-#define AT_FPUCW 18 /* Used FPU control word. */
-
-/* Cache block sizes. */
-#define AT_DCACHEBSIZE 19 /* Data cache block size. */
-#define AT_ICACHEBSIZE 20 /* Instruction cache block size. */
-#define AT_UCACHEBSIZE 21 /* Unified cache block size. */
-
-/* A special ignored value for PPC, used by the kernel to control the
- interpretation of the AUXV. Must be > 16. */
-#define AT_IGNOREPPC 22 /* Entry should be ignored. */
-
-#define AT_SECURE 23 /* Boolean, was exec setuid-like? */
-
-/* Pointer to the global system page used for system calls and other
- nice things. */
-#define AT_SYSINFO 32
-#define AT_SYSINFO_EHDR 33
-
-
-/* Note section contents. Each entry in the note section begins with
- a header of a fixed form. */
-
-typedef struct
-{
- Elf32_Word n_namesz; /* Length of the note's name. */
- Elf32_Word n_descsz; /* Length of the note's descriptor. */
- Elf32_Word n_type; /* Type of the note. */
-} Elf32_Nhdr;
-
-typedef struct
-{
- Elf64_Word n_namesz; /* Length of the note's name. */
- Elf64_Word n_descsz; /* Length of the note's descriptor. */
- Elf64_Word n_type; /* Type of the note. */
-} Elf64_Nhdr;
-
-/* Known names of notes. */
-
-/* Solaris entries in the note section have this name. */
-#define ELF_NOTE_SOLARIS "SUNW Solaris"
-
-/* Note entries for GNU systems have this name. */
-#define ELF_NOTE_GNU "GNU"
-
-
-/* Defined types of notes for Solaris. */
-
-/* Value of descriptor (one word) is desired pagesize for the binary. */
-#define ELF_NOTE_PAGESIZE_HINT 1
-
-
-/* Defined note types for GNU systems. */
-
-/* ABI information. The descriptor consists of words:
- word 0: OS descriptor
- word 1: major version of the ABI
- word 2: minor version of the ABI
- word 3: subminor version of the ABI
-*/
-#define ELF_NOTE_ABI 1
-
-/* Known OSes. These value can appear in word 0 of an ELF_NOTE_ABI
- note section entry. */
-#define ELF_NOTE_OS_LINUX 0
-#define ELF_NOTE_OS_GNU 1
-#define ELF_NOTE_OS_SOLARIS2 2
-#define ELF_NOTE_OS_FREEBSD 3
-
-
-/* Move records. */
-typedef struct
-{
- Elf32_Xword m_value; /* Symbol value. */
- Elf32_Word m_info; /* Size and index. */
- Elf32_Word m_poffset; /* Symbol offset. */
- Elf32_Half m_repeat; /* Repeat count. */
- Elf32_Half m_stride; /* Stride info. */
-} Elf32_Move;
-
-typedef struct
-{
- Elf64_Xword m_value; /* Symbol value. */
- Elf64_Xword m_info; /* Size and index. */
- Elf64_Xword m_poffset; /* Symbol offset. */
- Elf64_Half m_repeat; /* Repeat count. */
- Elf64_Half m_stride; /* Stride info. */
-} Elf64_Move;
-
-/* Macro to construct move records. */
-#define ELF32_M_SYM(info) ((info) >> 8)
-#define ELF32_M_SIZE(info) ((unsigned char) (info))
-#define ELF32_M_INFO(sym, size) (((sym) << 8) + (unsigned char) (size))
-
-#define ELF64_M_SYM(info) ELF32_M_SYM (info)
-#define ELF64_M_SIZE(info) ELF32_M_SIZE (info)
-#define ELF64_M_INFO(sym, size) ELF32_M_INFO (sym, size)
-
-
-/* Motorola 68k specific definitions. */
-
-/* Values for Elf32_Ehdr.e_flags. */
-#define EF_CPU32 0x00810000
-
-/* m68k relocs. */
-
-#define R_68K_NONE 0 /* No reloc */
-#define R_68K_32 1 /* Direct 32 bit */
-#define R_68K_16 2 /* Direct 16 bit */
-#define R_68K_8 3 /* Direct 8 bit */
-#define R_68K_PC32 4 /* PC relative 32 bit */
-#define R_68K_PC16 5 /* PC relative 16 bit */
-#define R_68K_PC8 6 /* PC relative 8 bit */
-#define R_68K_GOT32 7 /* 32 bit PC relative GOT entry */
-#define R_68K_GOT16 8 /* 16 bit PC relative GOT entry */
-#define R_68K_GOT8 9 /* 8 bit PC relative GOT entry */
-#define R_68K_GOT32O 10 /* 32 bit GOT offset */
-#define R_68K_GOT16O 11 /* 16 bit GOT offset */
-#define R_68K_GOT8O 12 /* 8 bit GOT offset */
-#define R_68K_PLT32 13 /* 32 bit PC relative PLT address */
-#define R_68K_PLT16 14 /* 16 bit PC relative PLT address */
-#define R_68K_PLT8 15 /* 8 bit PC relative PLT address */
-#define R_68K_PLT32O 16 /* 32 bit PLT offset */
-#define R_68K_PLT16O 17 /* 16 bit PLT offset */
-#define R_68K_PLT8O 18 /* 8 bit PLT offset */
-#define R_68K_COPY 19 /* Copy symbol at runtime */
-#define R_68K_GLOB_DAT 20 /* Create GOT entry */
-#define R_68K_JMP_SLOT 21 /* Create PLT entry */
-#define R_68K_RELATIVE 22 /* Adjust by program base */
-/* Keep this the last entry. */
-#define R_68K_NUM 23
-
-/* Intel 80386 specific definitions. */
-
-/* i386 relocs. */
-
-#define R_386_NONE 0 /* No reloc */
-#define R_386_32 1 /* Direct 32 bit */
-#define R_386_PC32 2 /* PC relative 32 bit */
-#define R_386_GOT32 3 /* 32 bit GOT entry */
-#define R_386_PLT32 4 /* 32 bit PLT address */
-#define R_386_COPY 5 /* Copy symbol at runtime */
-#define R_386_GLOB_DAT 6 /* Create GOT entry */
-#define R_386_JMP_SLOT 7 /* Create PLT entry */
-#define R_386_RELATIVE 8 /* Adjust by program base */
-#define R_386_GOTOFF 9 /* 32 bit offset to GOT */
-#define R_386_GOTPC 10 /* 32 bit PC relative offset to GOT */
-#define R_386_32PLT 11
-#define R_386_TLS_TPOFF 14 /* Offset in static TLS block */
-#define R_386_TLS_IE 15 /* Address of GOT entry for static TLS
- block offset */
-#define R_386_TLS_GOTIE 16 /* GOT entry for static TLS block
- offset */
-#define R_386_TLS_LE 17 /* Offset relative to static TLS
- block */
-#define R_386_TLS_GD 18 /* Direct 32 bit for GNU version of
- general dynamic thread local data */
-#define R_386_TLS_LDM 19 /* Direct 32 bit for GNU version of
- local dynamic thread local data
- in LE code */
-#define R_386_16 20
-#define R_386_PC16 21
-#define R_386_8 22
-#define R_386_PC8 23
-#define R_386_TLS_GD_32 24 /* Direct 32 bit for general dynamic
- thread local data */
-#define R_386_TLS_GD_PUSH 25 /* Tag for pushl in GD TLS code */
-#define R_386_TLS_GD_CALL 26 /* Relocation for call to
- __tls_get_addr() */
-#define R_386_TLS_GD_POP 27 /* Tag for popl in GD TLS code */
-#define R_386_TLS_LDM_32 28 /* Direct 32 bit for local dynamic
- thread local data in LE code */
-#define R_386_TLS_LDM_PUSH 29 /* Tag for pushl in LDM TLS code */
-#define R_386_TLS_LDM_CALL 30 /* Relocation for call to
- __tls_get_addr() in LDM code */
-#define R_386_TLS_LDM_POP 31 /* Tag for popl in LDM TLS code */
-#define R_386_TLS_LDO_32 32 /* Offset relative to TLS block */
-#define R_386_TLS_IE_32 33 /* GOT entry for negated static TLS
- block offset */
-#define R_386_TLS_LE_32 34 /* Negated offset relative to static
- TLS block */
-#define R_386_TLS_DTPMOD32 35 /* ID of module containing symbol */
-#define R_386_TLS_DTPOFF32 36 /* Offset in TLS block */
-#define R_386_TLS_TPOFF32 37 /* Negated offset in static TLS block */
-/* Keep this the last entry. */
-#define R_386_NUM 38
-
-/* SUN SPARC specific definitions. */
-
-/* Legal values for ST_TYPE subfield of st_info (symbol type). */
-
-#define STT_REGISTER 13 /* Global register reserved to app. */
-
-/* Values for Elf64_Ehdr.e_flags. */
-
-#define EF_SPARCV9_MM 3
-#define EF_SPARCV9_TSO 0
-#define EF_SPARCV9_PSO 1
-#define EF_SPARCV9_RMO 2
-#define EF_SPARC_LEDATA 0x800000 /* little endian data */
-#define EF_SPARC_EXT_MASK 0xFFFF00
-#define EF_SPARC_32PLUS 0x000100 /* generic V8+ features */
-#define EF_SPARC_SUN_US1 0x000200 /* Sun UltraSPARC1 extensions */
-#define EF_SPARC_HAL_R1 0x000400 /* HAL R1 extensions */
-#define EF_SPARC_SUN_US3 0x000800 /* Sun UltraSPARCIII extensions */
-
-/* SPARC relocs. */
-
-#define R_SPARC_NONE 0 /* No reloc */
-#define R_SPARC_8 1 /* Direct 8 bit */
-#define R_SPARC_16 2 /* Direct 16 bit */
-#define R_SPARC_32 3 /* Direct 32 bit */
-#define R_SPARC_DISP8 4 /* PC relative 8 bit */
-#define R_SPARC_DISP16 5 /* PC relative 16 bit */
-#define R_SPARC_DISP32 6 /* PC relative 32 bit */
-#define R_SPARC_WDISP30 7 /* PC relative 30 bit shifted */
-#define R_SPARC_WDISP22 8 /* PC relative 22 bit shifted */
-#define R_SPARC_HI22 9 /* High 22 bit */
-#define R_SPARC_22 10 /* Direct 22 bit */
-#define R_SPARC_13 11 /* Direct 13 bit */
-#define R_SPARC_LO10 12 /* Truncated 10 bit */
-#define R_SPARC_GOT10 13 /* Truncated 10 bit GOT entry */
-#define R_SPARC_GOT13 14 /* 13 bit GOT entry */
-#define R_SPARC_GOT22 15 /* 22 bit GOT entry shifted */
-#define R_SPARC_PC10 16 /* PC relative 10 bit truncated */
-#define R_SPARC_PC22 17 /* PC relative 22 bit shifted */
-#define R_SPARC_WPLT30 18 /* 30 bit PC relative PLT address */
-#define R_SPARC_COPY 19 /* Copy symbol at runtime */
-#define R_SPARC_GLOB_DAT 20 /* Create GOT entry */
-#define R_SPARC_JMP_SLOT 21 /* Create PLT entry */
-#define R_SPARC_RELATIVE 22 /* Adjust by program base */
-#define R_SPARC_UA32 23 /* Direct 32 bit unaligned */
-
-/* Additional Sparc64 relocs. */
-
-#define R_SPARC_PLT32 24 /* Direct 32 bit ref to PLT entry */
-#define R_SPARC_HIPLT22 25 /* High 22 bit PLT entry */
-#define R_SPARC_LOPLT10 26 /* Truncated 10 bit PLT entry */
-#define R_SPARC_PCPLT32 27 /* PC rel 32 bit ref to PLT entry */
-#define R_SPARC_PCPLT22 28 /* PC rel high 22 bit PLT entry */
-#define R_SPARC_PCPLT10 29 /* PC rel trunc 10 bit PLT entry */
-#define R_SPARC_10 30 /* Direct 10 bit */
-#define R_SPARC_11 31 /* Direct 11 bit */
-#define R_SPARC_64 32 /* Direct 64 bit */
-#define R_SPARC_OLO10 33 /* 10bit with secondary 13bit addend */
-#define R_SPARC_HH22 34 /* Top 22 bits of direct 64 bit */
-#define R_SPARC_HM10 35 /* High middle 10 bits of ... */
-#define R_SPARC_LM22 36 /* Low middle 22 bits of ... */
-#define R_SPARC_PC_HH22 37 /* Top 22 bits of pc rel 64 bit */
-#define R_SPARC_PC_HM10 38 /* High middle 10 bit of ... */
-#define R_SPARC_PC_LM22 39 /* Low miggle 22 bits of ... */
-#define R_SPARC_WDISP16 40 /* PC relative 16 bit shifted */
-#define R_SPARC_WDISP19 41 /* PC relative 19 bit shifted */
-#define R_SPARC_7 43 /* Direct 7 bit */
-#define R_SPARC_5 44 /* Direct 5 bit */
-#define R_SPARC_6 45 /* Direct 6 bit */
-#define R_SPARC_DISP64 46 /* PC relative 64 bit */
-#define R_SPARC_PLT64 47 /* Direct 64 bit ref to PLT entry */
-#define R_SPARC_HIX22 48 /* High 22 bit complemented */
-#define R_SPARC_LOX10 49 /* Truncated 11 bit complemented */
-#define R_SPARC_H44 50 /* Direct high 12 of 44 bit */
-#define R_SPARC_M44 51 /* Direct mid 22 of 44 bit */
-#define R_SPARC_L44 52 /* Direct low 10 of 44 bit */
-#define R_SPARC_REGISTER 53 /* Global register usage */
-#define R_SPARC_UA64 54 /* Direct 64 bit unaligned */
-#define R_SPARC_UA16 55 /* Direct 16 bit unaligned */
-#define R_SPARC_TLS_GD_HI22 56
-#define R_SPARC_TLS_GD_LO10 57
-#define R_SPARC_TLS_GD_ADD 58
-#define R_SPARC_TLS_GD_CALL 59
-#define R_SPARC_TLS_LDM_HI22 60
-#define R_SPARC_TLS_LDM_LO10 61
-#define R_SPARC_TLS_LDM_ADD 62
-#define R_SPARC_TLS_LDM_CALL 63
-#define R_SPARC_TLS_LDO_HIX22 64
-#define R_SPARC_TLS_LDO_LOX10 65
-#define R_SPARC_TLS_LDO_ADD 66
-#define R_SPARC_TLS_IE_HI22 67
-#define R_SPARC_TLS_IE_LO10 68
-#define R_SPARC_TLS_IE_LD 69
-#define R_SPARC_TLS_IE_LDX 70
-#define R_SPARC_TLS_IE_ADD 71
-#define R_SPARC_TLS_LE_HIX22 72
-#define R_SPARC_TLS_LE_LOX10 73
-#define R_SPARC_TLS_DTPMOD32 74
-#define R_SPARC_TLS_DTPMOD64 75
-#define R_SPARC_TLS_DTPOFF32 76
-#define R_SPARC_TLS_DTPOFF64 77
-#define R_SPARC_TLS_TPOFF32 78
-#define R_SPARC_TLS_TPOFF64 79
-/* Keep this the last entry. */
-#define R_SPARC_NUM 80
-
-/* For Sparc64, legal values for d_tag of Elf64_Dyn. */
-
-#define DT_SPARC_REGISTER 0x70000001
-#define DT_SPARC_NUM 2
-
-/* Bits present in AT_HWCAP, primarily for Sparc32. */
-
-#define HWCAP_SPARC_FLUSH 1 /* The cpu supports flush insn. */
-#define HWCAP_SPARC_STBAR 2
-#define HWCAP_SPARC_SWAP 4
-#define HWCAP_SPARC_MULDIV 8
-#define HWCAP_SPARC_V9 16 /* The cpu is v9, so v8plus is ok. */
-#define HWCAP_SPARC_ULTRA3 32
-
-/* MIPS R3000 specific definitions. */
-
-/* Legal values for e_flags field of Elf32_Ehdr. */
-
-#define EF_MIPS_NOREORDER 1 /* A .noreorder directive was used */
-#define EF_MIPS_PIC 2 /* Contains PIC code */
-#define EF_MIPS_CPIC 4 /* Uses PIC calling sequence */
-#define EF_MIPS_XGOT 8
-#define EF_MIPS_64BIT_WHIRL 16
-#define EF_MIPS_ABI2 32
-#define EF_MIPS_ABI_ON32 64
-#define EF_MIPS_ARCH 0xf0000000 /* MIPS architecture level */
-
-/* Legal values for MIPS architecture level. */
-
-#define EF_MIPS_ARCH_1 0x00000000 /* -mips1 code. */
-#define EF_MIPS_ARCH_2 0x10000000 /* -mips2 code. */
-#define EF_MIPS_ARCH_3 0x20000000 /* -mips3 code. */
-#define EF_MIPS_ARCH_4 0x30000000 /* -mips4 code. */
-#define EF_MIPS_ARCH_5 0x40000000 /* -mips5 code. */
-#define EF_MIPS_ARCH_32 0x60000000 /* MIPS32 code. */
-#define EF_MIPS_ARCH_64 0x70000000 /* MIPS64 code. */
-
-/* The following are non-official names and should not be used. */
-
-#define E_MIPS_ARCH_1 0x00000000 /* -mips1 code. */
-#define E_MIPS_ARCH_2 0x10000000 /* -mips2 code. */
-#define E_MIPS_ARCH_3 0x20000000 /* -mips3 code. */
-#define E_MIPS_ARCH_4 0x30000000 /* -mips4 code. */
-#define E_MIPS_ARCH_5 0x40000000 /* -mips5 code. */
-#define E_MIPS_ARCH_32 0x60000000 /* MIPS32 code. */
-#define E_MIPS_ARCH_64 0x70000000 /* MIPS64 code. */
-
-/* Special section indices. */
-
-#define SHN_MIPS_ACOMMON 0xff00 /* Allocated common symbols */
-#define SHN_MIPS_TEXT 0xff01 /* Allocated test symbols. */
-#define SHN_MIPS_DATA 0xff02 /* Allocated data symbols. */
-#define SHN_MIPS_SCOMMON 0xff03 /* Small common symbols */
-#define SHN_MIPS_SUNDEFINED 0xff04 /* Small undefined symbols */
-
-/* Legal values for sh_type field of Elf32_Shdr. */
-
-#define SHT_MIPS_LIBLIST 0x70000000 /* Shared objects used in link */
-#define SHT_MIPS_MSYM 0x70000001
-#define SHT_MIPS_CONFLICT 0x70000002 /* Conflicting symbols */
-#define SHT_MIPS_GPTAB 0x70000003 /* Global data area sizes */
-#define SHT_MIPS_UCODE 0x70000004 /* Reserved for SGI/MIPS compilers */
-#define SHT_MIPS_DEBUG 0x70000005 /* MIPS ECOFF debugging information*/
-#define SHT_MIPS_REGINFO 0x70000006 /* Register usage information */
-#define SHT_MIPS_PACKAGE 0x70000007
-#define SHT_MIPS_PACKSYM 0x70000008
-#define SHT_MIPS_RELD 0x70000009
-#define SHT_MIPS_IFACE 0x7000000b
-#define SHT_MIPS_CONTENT 0x7000000c
-#define SHT_MIPS_OPTIONS 0x7000000d /* Miscellaneous options. */
-#define SHT_MIPS_SHDR 0x70000010
-#define SHT_MIPS_FDESC 0x70000011
-#define SHT_MIPS_EXTSYM 0x70000012
-#define SHT_MIPS_DENSE 0x70000013
-#define SHT_MIPS_PDESC 0x70000014
-#define SHT_MIPS_LOCSYM 0x70000015
-#define SHT_MIPS_AUXSYM 0x70000016
-#define SHT_MIPS_OPTSYM 0x70000017
-#define SHT_MIPS_LOCSTR 0x70000018
-#define SHT_MIPS_LINE 0x70000019
-#define SHT_MIPS_RFDESC 0x7000001a
-#define SHT_MIPS_DELTASYM 0x7000001b
-#define SHT_MIPS_DELTAINST 0x7000001c
-#define SHT_MIPS_DELTACLASS 0x7000001d
-#define SHT_MIPS_DWARF 0x7000001e /* DWARF debugging information. */
-#define SHT_MIPS_DELTADECL 0x7000001f
-#define SHT_MIPS_SYMBOL_LIB 0x70000020
-#define SHT_MIPS_EVENTS 0x70000021 /* Event section. */
-#define SHT_MIPS_TRANSLATE 0x70000022
-#define SHT_MIPS_PIXIE 0x70000023
-#define SHT_MIPS_XLATE 0x70000024
-#define SHT_MIPS_XLATE_DEBUG 0x70000025
-#define SHT_MIPS_WHIRL 0x70000026
-#define SHT_MIPS_EH_REGION 0x70000027
-#define SHT_MIPS_XLATE_OLD 0x70000028
-#define SHT_MIPS_PDR_EXCEPTION 0x70000029
-
-/* Legal values for sh_flags field of Elf32_Shdr. */
-
-#define SHF_MIPS_GPREL 0x10000000 /* Must be part of global data area */
-#define SHF_MIPS_MERGE 0x20000000
-#define SHF_MIPS_ADDR 0x40000000
-#define SHF_MIPS_STRINGS 0x80000000
-#define SHF_MIPS_NOSTRIP 0x08000000
-#define SHF_MIPS_LOCAL 0x04000000
-#define SHF_MIPS_NAMES 0x02000000
-#define SHF_MIPS_NODUPE 0x01000000
-
-
-/* Symbol tables. */
-
-/* MIPS specific values for `st_other'. */
-#define STO_MIPS_DEFAULT 0x0
-#define STO_MIPS_INTERNAL 0x1
-#define STO_MIPS_HIDDEN 0x2
-#define STO_MIPS_PROTECTED 0x3
-#define STO_MIPS_SC_ALIGN_UNUSED 0xff
-
-/* MIPS specific values for `st_info'. */
-#define STB_MIPS_SPLIT_COMMON 13
-
-/* Entries found in sections of type SHT_MIPS_GPTAB. */
-
-typedef union
-{
- struct
- {
- Elf32_Word gt_current_g_value; /* -G value used for compilation */
- Elf32_Word gt_unused; /* Not used */
- } gt_header; /* First entry in section */
- struct
- {
- Elf32_Word gt_g_value; /* If this value were used for -G */
- Elf32_Word gt_bytes; /* This many bytes would be used */
- } gt_entry; /* Subsequent entries in section */
-} Elf32_gptab;
-
-/* Entry found in sections of type SHT_MIPS_REGINFO. */
-
-typedef struct
-{
- Elf32_Word ri_gprmask; /* General registers used */
- Elf32_Word ri_cprmask[4]; /* Coprocessor registers used */
- Elf32_Sword ri_gp_value; /* $gp register value */
-} Elf32_RegInfo;
-
-/* Entries found in sections of type SHT_MIPS_OPTIONS. */
-
-typedef struct
-{
- unsigned char kind; /* Determines interpretation of the
- variable part of descriptor. */
- unsigned char size; /* Size of descriptor, including header. */
- Elf32_Section section; /* Section header index of section affected,
- 0 for global options. */
- Elf32_Word info; /* Kind-specific information. */
-} Elf_Options;
-
-/* Values for `kind' field in Elf_Options. */
-
-#define ODK_NULL 0 /* Undefined. */
-#define ODK_REGINFO 1 /* Register usage information. */
-#define ODK_EXCEPTIONS 2 /* Exception processing options. */
-#define ODK_PAD 3 /* Section padding options. */
-#define ODK_HWPATCH 4 /* Hardware workarounds performed */
-#define ODK_FILL 5 /* record the fill value used by the linker. */
-#define ODK_TAGS 6 /* reserve space for desktop tools to write. */
-#define ODK_HWAND 7 /* HW workarounds. 'AND' bits when merging. */
-#define ODK_HWOR 8 /* HW workarounds. 'OR' bits when merging. */
-
-/* Values for `info' in Elf_Options for ODK_EXCEPTIONS entries. */
-
-#define OEX_FPU_MIN 0x1f /* FPE's which MUST be enabled. */
-#define OEX_FPU_MAX 0x1f00 /* FPE's which MAY be enabled. */
-#define OEX_PAGE0 0x10000 /* page zero must be mapped. */
-#define OEX_SMM 0x20000 /* Force sequential memory mode? */
-#define OEX_FPDBUG 0x40000 /* Force floating point debug mode? */
-#define OEX_PRECISEFP OEX_FPDBUG
-#define OEX_DISMISS 0x80000 /* Dismiss invalid address faults? */
-
-#define OEX_FPU_INVAL 0x10
-#define OEX_FPU_DIV0 0x08
-#define OEX_FPU_OFLO 0x04
-#define OEX_FPU_UFLO 0x02
-#define OEX_FPU_INEX 0x01
-
-/* Masks for `info' in Elf_Options for an ODK_HWPATCH entry. */
-
-#define OHW_R4KEOP 0x1 /* R4000 end-of-page patch. */
-#define OHW_R8KPFETCH 0x2 /* may need R8000 prefetch patch. */
-#define OHW_R5KEOP 0x4 /* R5000 end-of-page patch. */
-#define OHW_R5KCVTL 0x8 /* R5000 cvt.[ds].l bug. clean=1. */
-
-#define OPAD_PREFIX 0x1
-#define OPAD_POSTFIX 0x2
-#define OPAD_SYMBOL 0x4
-
-/* Entry found in `.options' section. */
-
-typedef struct
-{
- Elf32_Word hwp_flags1; /* Extra flags. */
- Elf32_Word hwp_flags2; /* Extra flags. */
-} Elf_Options_Hw;
-
-/* Masks for `info' in ElfOptions for ODK_HWAND and ODK_HWOR entries. */
-
-#define OHWA0_R4KEOP_CHECKED 0x00000001
-#define OHWA1_R4KEOP_CLEAN 0x00000002
-
-/* MIPS relocs. */
-
-#define R_MIPS_NONE 0 /* No reloc */
-#define R_MIPS_16 1 /* Direct 16 bit */
-#define R_MIPS_32 2 /* Direct 32 bit */
-#define R_MIPS_REL32 3 /* PC relative 32 bit */
-#define R_MIPS_26 4 /* Direct 26 bit shifted */
-#define R_MIPS_HI16 5 /* High 16 bit */
-#define R_MIPS_LO16 6 /* Low 16 bit */
-#define R_MIPS_GPREL16 7 /* GP relative 16 bit */
-#define R_MIPS_LITERAL 8 /* 16 bit literal entry */
-#define R_MIPS_GOT16 9 /* 16 bit GOT entry */
-#define R_MIPS_PC16 10 /* PC relative 16 bit */
-#define R_MIPS_CALL16 11 /* 16 bit GOT entry for function */
-#define R_MIPS_GPREL32 12 /* GP relative 32 bit */
-
-#define R_MIPS_SHIFT5 16
-#define R_MIPS_SHIFT6 17
-#define R_MIPS_64 18
-#define R_MIPS_GOT_DISP 19
-#define R_MIPS_GOT_PAGE 20
-#define R_MIPS_GOT_OFST 21
-#define R_MIPS_GOT_HI16 22
-#define R_MIPS_GOT_LO16 23
-#define R_MIPS_SUB 24
-#define R_MIPS_INSERT_A 25
-#define R_MIPS_INSERT_B 26
-#define R_MIPS_DELETE 27
-#define R_MIPS_HIGHER 28
-#define R_MIPS_HIGHEST 29
-#define R_MIPS_CALL_HI16 30
-#define R_MIPS_CALL_LO16 31
-#define R_MIPS_SCN_DISP 32
-#define R_MIPS_REL16 33
-#define R_MIPS_ADD_IMMEDIATE 34
-#define R_MIPS_PJUMP 35
-#define R_MIPS_RELGOT 36
-#define R_MIPS_JALR 37
-/* Keep this the last entry. */
-#define R_MIPS_NUM 38
-
-/* Legal values for p_type field of Elf32_Phdr. */
-
-#define PT_MIPS_REGINFO 0x70000000 /* Register usage information */
-#define PT_MIPS_RTPROC 0x70000001 /* Runtime procedure table. */
-#define PT_MIPS_OPTIONS 0x70000002
-
-/* Special program header types. */
-
-#define PF_MIPS_LOCAL 0x10000000
-
-/* Legal values for d_tag field of Elf32_Dyn. */
-
-#define DT_MIPS_RLD_VERSION 0x70000001 /* Runtime linker interface version */
-#define DT_MIPS_TIME_STAMP 0x70000002 /* Timestamp */
-#define DT_MIPS_ICHECKSUM 0x70000003 /* Checksum */
-#define DT_MIPS_IVERSION 0x70000004 /* Version string (string tbl index) */
-#define DT_MIPS_FLAGS 0x70000005 /* Flags */
-#define DT_MIPS_BASE_ADDRESS 0x70000006 /* Base address */
-#define DT_MIPS_MSYM 0x70000007
-#define DT_MIPS_CONFLICT 0x70000008 /* Address of CONFLICT section */
-#define DT_MIPS_LIBLIST 0x70000009 /* Address of LIBLIST section */
-#define DT_MIPS_LOCAL_GOTNO 0x7000000a /* Number of local GOT entries */
-#define DT_MIPS_CONFLICTNO 0x7000000b /* Number of CONFLICT entries */
-#define DT_MIPS_LIBLISTNO 0x70000010 /* Number of LIBLIST entries */
-#define DT_MIPS_SYMTABNO 0x70000011 /* Number of DYNSYM entries */
-#define DT_MIPS_UNREFEXTNO 0x70000012 /* First external DYNSYM */
-#define DT_MIPS_GOTSYM 0x70000013 /* First GOT entry in DYNSYM */
-#define DT_MIPS_HIPAGENO 0x70000014 /* Number of GOT page table entries */
-#define DT_MIPS_RLD_MAP 0x70000016 /* Address of run time loader map. */
-#define DT_MIPS_DELTA_CLASS 0x70000017 /* Delta C++ class definition. */
-#define DT_MIPS_DELTA_CLASS_NO 0x70000018 /* Number of entries in
- DT_MIPS_DELTA_CLASS. */
-#define DT_MIPS_DELTA_INSTANCE 0x70000019 /* Delta C++ class instances. */
-#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a /* Number of entries in
- DT_MIPS_DELTA_INSTANCE. */
-#define DT_MIPS_DELTA_RELOC 0x7000001b /* Delta relocations. */
-#define DT_MIPS_DELTA_RELOC_NO 0x7000001c /* Number of entries in
- DT_MIPS_DELTA_RELOC. */
-#define DT_MIPS_DELTA_SYM 0x7000001d /* Delta symbols that Delta
- relocations refer to. */
-#define DT_MIPS_DELTA_SYM_NO 0x7000001e /* Number of entries in
- DT_MIPS_DELTA_SYM. */
-#define DT_MIPS_DELTA_CLASSSYM 0x70000020 /* Delta symbols that hold the
- class declaration. */
-#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021 /* Number of entries in
- DT_MIPS_DELTA_CLASSSYM. */
-#define DT_MIPS_CXX_FLAGS 0x70000022 /* Flags indicating for C++ flavor. */
-#define DT_MIPS_PIXIE_INIT 0x70000023
-#define DT_MIPS_SYMBOL_LIB 0x70000024
-#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025
-#define DT_MIPS_LOCAL_GOTIDX 0x70000026
-#define DT_MIPS_HIDDEN_GOTIDX 0x70000027
-#define DT_MIPS_PROTECTED_GOTIDX 0x70000028
-#define DT_MIPS_OPTIONS 0x70000029 /* Address of .options. */
-#define DT_MIPS_INTERFACE 0x7000002a /* Address of .interface. */
-#define DT_MIPS_DYNSTR_ALIGN 0x7000002b
-#define DT_MIPS_INTERFACE_SIZE 0x7000002c /* Size of the .interface section. */
-#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d /* Address of rld_text_rsolve
- function stored in GOT. */
-#define DT_MIPS_PERF_SUFFIX 0x7000002e /* Default suffix of dso to be added
- by rld on dlopen() calls. */
-#define DT_MIPS_COMPACT_SIZE 0x7000002f /* (O32)Size of compact rel section. */
-#define DT_MIPS_GP_VALUE 0x70000030 /* GP value for aux GOTs. */
-#define DT_MIPS_AUX_DYNAMIC 0x70000031 /* Address of aux .dynamic. */
-#define DT_MIPS_NUM 0x32
-
-/* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */
-
-#define RHF_NONE 0 /* No flags */
-#define RHF_QUICKSTART (1 << 0) /* Use quickstart */
-#define RHF_NOTPOT (1 << 1) /* Hash size not power of 2 */
-#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2) /* Ignore LD_LIBRARY_PATH */
-#define RHF_NO_MOVE (1 << 3)
-#define RHF_SGI_ONLY (1 << 4)
-#define RHF_GUARANTEE_INIT (1 << 5)
-#define RHF_DELTA_C_PLUS_PLUS (1 << 6)
-#define RHF_GUARANTEE_START_INIT (1 << 7)
-#define RHF_PIXIE (1 << 8)
-#define RHF_DEFAULT_DELAY_LOAD (1 << 9)
-#define RHF_REQUICKSTART (1 << 10)
-#define RHF_REQUICKSTARTED (1 << 11)
-#define RHF_CORD (1 << 12)
-#define RHF_NO_UNRES_UNDEF (1 << 13)
-#define RHF_RLD_ORDER_SAFE (1 << 14)
-
-/* Entries found in sections of type SHT_MIPS_LIBLIST. */
-
-typedef struct
-{
- Elf32_Word l_name; /* Name (string table index) */
- Elf32_Word l_time_stamp; /* Timestamp */
- Elf32_Word l_checksum; /* Checksum */
- Elf32_Word l_version; /* Interface version */
- Elf32_Word l_flags; /* Flags */
-} Elf32_Lib;
-
-typedef struct
-{
- Elf64_Word l_name; /* Name (string table index) */
- Elf64_Word l_time_stamp; /* Timestamp */
- Elf64_Word l_checksum; /* Checksum */
- Elf64_Word l_version; /* Interface version */
- Elf64_Word l_flags; /* Flags */
-} Elf64_Lib;
-
-
-/* Legal values for l_flags. */
-
-#define LL_NONE 0
-#define LL_EXACT_MATCH (1 << 0) /* Require exact match */
-#define LL_IGNORE_INT_VER (1 << 1) /* Ignore interface version */
-#define LL_REQUIRE_MINOR (1 << 2)
-#define LL_EXPORTS (1 << 3)
-#define LL_DELAY_LOAD (1 << 4)
-#define LL_DELTA (1 << 5)
-
-/* Entries found in sections of type SHT_MIPS_CONFLICT. */
-
-typedef Elf32_Addr Elf32_Conflict;
-
-
-/* HPPA specific definitions. */
-
-/* Legal values for e_flags field of Elf32_Ehdr. */
-
-#define EF_PARISC_TRAPNIL 0x00010000 /* Trap nil pointer dereference. */
-#define EF_PARISC_EXT 0x00020000 /* Program uses arch. extensions. */
-#define EF_PARISC_LSB 0x00040000 /* Program expects little endian. */
-#define EF_PARISC_WIDE 0x00080000 /* Program expects wide mode. */
-#define EF_PARISC_NO_KABP 0x00100000 /* No kernel assisted branch
- prediction. */
-#define EF_PARISC_LAZYSWAP 0x00400000 /* Allow lazy swapping. */
-#define EF_PARISC_ARCH 0x0000ffff /* Architecture version. */
-
-/* Defined values for `e_flags & EF_PARISC_ARCH' are: */
-
-#define EFA_PARISC_1_0 0x020b /* PA-RISC 1.0 big-endian. */
-#define EFA_PARISC_1_1 0x0210 /* PA-RISC 1.1 big-endian. */
-#define EFA_PARISC_2_0 0x0214 /* PA-RISC 2.0 big-endian. */
-
-/* Additional section indeces. */
-
-#define SHN_PARISC_ANSI_COMMON 0xff00 /* Section for tenatively declared
- symbols in ANSI C. */
-#define SHN_PARISC_HUGE_COMMON 0xff01 /* Common blocks in huge model. */
-
-/* Legal values for sh_type field of Elf32_Shdr. */
-
-#define SHT_PARISC_EXT 0x70000000 /* Contains product specific ext. */
-#define SHT_PARISC_UNWIND 0x70000001 /* Unwind information. */
-#define SHT_PARISC_DOC 0x70000002 /* Debug info for optimized code. */
-
-/* Legal values for sh_flags field of Elf32_Shdr. */
-
-#define SHF_PARISC_SHORT 0x20000000 /* Section with short addressing. */
-#define SHF_PARISC_HUGE 0x40000000 /* Section far from gp. */
-#define SHF_PARISC_SBP 0x80000000 /* Static branch prediction code. */
-
-/* Legal values for ST_TYPE subfield of st_info (symbol type). */
-
-#define STT_PARISC_MILLICODE 13 /* Millicode function entry point. */
-
-#define STT_HP_OPAQUE (STT_LOOS + 0x1)
-#define STT_HP_STUB (STT_LOOS + 0x2)
-
-/* HPPA relocs. */
-
-#define R_PARISC_NONE 0 /* No reloc. */
-#define R_PARISC_DIR32 1 /* Direct 32-bit reference. */
-#define R_PARISC_DIR21L 2 /* Left 21 bits of eff. address. */
-#define R_PARISC_DIR17R 3 /* Right 17 bits of eff. address. */
-#define R_PARISC_DIR17F 4 /* 17 bits of eff. address. */
-#define R_PARISC_DIR14R 6 /* Right 14 bits of eff. address. */
-#define R_PARISC_PCREL32 9 /* 32-bit rel. address. */
-#define R_PARISC_PCREL21L 10 /* Left 21 bits of rel. address. */
-#define R_PARISC_PCREL17R 11 /* Right 17 bits of rel. address. */
-#define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
-#define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
-#define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */
-#define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */
-#define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */
-#define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */
-#define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */
-#define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */
-#define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */
-#define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */
-#define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */
-#define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */
-#define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */
-#define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */
-#define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */
-#define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */
-#define R_PARISC_FPTR64 64 /* 64 bits function address. */
-#define R_PARISC_PLABEL32 65 /* 32 bits function address. */
-#define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */
-#define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */
-#define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */
-#define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */
-#define R_PARISC_PCREL16F 77 /* 16 bits PC-rel. address. */
-#define R_PARISC_PCREL16WF 78 /* 16 bits PC-rel. address. */
-#define R_PARISC_PCREL16DF 79 /* 16 bits PC-rel. address. */
-#define R_PARISC_DIR64 80 /* 64 bits of eff. address. */
-#define R_PARISC_DIR14WR 83 /* 14 bits of eff. address. */
-#define R_PARISC_DIR14DR 84 /* 14 bits of eff. address. */
-#define R_PARISC_DIR16F 85 /* 16 bits of eff. address. */
-#define R_PARISC_DIR16WF 86 /* 16 bits of eff. address. */
-#define R_PARISC_DIR16DF 87 /* 16 bits of eff. address. */
-#define R_PARISC_GPREL64 88 /* 64 bits of GP-rel. address. */
-#define R_PARISC_GPREL14WR 91 /* GP-rel. address, right 14 bits. */
-#define R_PARISC_GPREL14DR 92 /* GP-rel. address, right 14 bits. */
-#define R_PARISC_GPREL16F 93 /* 16 bits GP-rel. address. */
-#define R_PARISC_GPREL16WF 94 /* 16 bits GP-rel. address. */
-#define R_PARISC_GPREL16DF 95 /* 16 bits GP-rel. address. */
-#define R_PARISC_LTOFF64 96 /* 64 bits LT-rel. address. */
-#define R_PARISC_LTOFF14WR 99 /* LT-rel. address, right 14 bits. */
-#define R_PARISC_LTOFF14DR 100 /* LT-rel. address, right 14 bits. */
-#define R_PARISC_LTOFF16F 101 /* 16 bits LT-rel. address. */
-#define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */
-#define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */
-#define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */
-#define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
-#define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
-#define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
-#define R_PARISC_PLTOFF16F 117 /* 16 bits LT-rel. address. */
-#define R_PARISC_PLTOFF16WF 118 /* 16 bits PLT-rel. address. */
-#define R_PARISC_PLTOFF16DF 119 /* 16 bits PLT-rel. address. */
-#define R_PARISC_LTOFF_FPTR64 120 /* 64 bits LT-rel. function ptr. */
-#define R_PARISC_LTOFF_FPTR14WR 123 /* LT-rel. fct. ptr., right 14 bits. */
-#define R_PARISC_LTOFF_FPTR14DR 124 /* LT-rel. fct. ptr., right 14 bits. */
-#define R_PARISC_LTOFF_FPTR16F 125 /* 16 bits LT-rel. function ptr. */
-#define R_PARISC_LTOFF_FPTR16WF 126 /* 16 bits LT-rel. function ptr. */
-#define R_PARISC_LTOFF_FPTR16DF 127 /* 16 bits LT-rel. function ptr. */
-#define R_PARISC_LORESERVE 128
-#define R_PARISC_COPY 128 /* Copy relocation. */
-#define R_PARISC_IPLT 129 /* Dynamic reloc, imported PLT */
-#define R_PARISC_EPLT 130 /* Dynamic reloc, exported PLT */
-#define R_PARISC_TPREL32 153 /* 32 bits TP-rel. address. */
-#define R_PARISC_TPREL21L 154 /* TP-rel. address, left 21 bits. */
-#define R_PARISC_TPREL14R 158 /* TP-rel. address, right 14 bits. */
-#define R_PARISC_LTOFF_TP21L 162 /* LT-TP-rel. address, left 21 bits. */
-#define R_PARISC_LTOFF_TP14R 166 /* LT-TP-rel. address, right 14 bits.*/
-#define R_PARISC_LTOFF_TP14F 167 /* 14 bits LT-TP-rel. address. */
-#define R_PARISC_TPREL64 216 /* 64 bits TP-rel. address. */
-#define R_PARISC_TPREL14WR 219 /* TP-rel. address, right 14 bits. */
-#define R_PARISC_TPREL14DR 220 /* TP-rel. address, right 14 bits. */
-#define R_PARISC_TPREL16F 221 /* 16 bits TP-rel. address. */
-#define R_PARISC_TPREL16WF 222 /* 16 bits TP-rel. address. */
-#define R_PARISC_TPREL16DF 223 /* 16 bits TP-rel. address. */
-#define R_PARISC_LTOFF_TP64 224 /* 64 bits LT-TP-rel. address. */
-#define R_PARISC_LTOFF_TP14WR 227 /* LT-TP-rel. address, right 14 bits.*/
-#define R_PARISC_LTOFF_TP14DR 228 /* LT-TP-rel. address, right 14 bits.*/
-#define R_PARISC_LTOFF_TP16F 229 /* 16 bits LT-TP-rel. address. */
-#define R_PARISC_LTOFF_TP16WF 230 /* 16 bits LT-TP-rel. address. */
-#define R_PARISC_LTOFF_TP16DF 231 /* 16 bits LT-TP-rel. address. */
-#define R_PARISC_HIRESERVE 255
-
-/* Legal values for p_type field of Elf32_Phdr/Elf64_Phdr. */
-
-#define PT_HP_TLS (PT_LOOS + 0x0)
-#define PT_HP_CORE_NONE (PT_LOOS + 0x1)
-#define PT_HP_CORE_VERSION (PT_LOOS + 0x2)
-#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3)
-#define PT_HP_CORE_COMM (PT_LOOS + 0x4)
-#define PT_HP_CORE_PROC (PT_LOOS + 0x5)
-#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6)
-#define PT_HP_CORE_STACK (PT_LOOS + 0x7)
-#define PT_HP_CORE_SHM (PT_LOOS + 0x8)
-#define PT_HP_CORE_MMF (PT_LOOS + 0x9)
-#define PT_HP_PARALLEL (PT_LOOS + 0x10)
-#define PT_HP_FASTBIND (PT_LOOS + 0x11)
-#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12)
-#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13)
-#define PT_HP_STACK (PT_LOOS + 0x14)
-
-#define PT_PARISC_ARCHEXT 0x70000000
-#define PT_PARISC_UNWIND 0x70000001
-
-/* Legal values for p_flags field of Elf32_Phdr/Elf64_Phdr. */
-
-#define PF_PARISC_SBP 0x08000000
-
-#define PF_HP_PAGE_SIZE 0x00100000
-#define PF_HP_FAR_SHARED 0x00200000
-#define PF_HP_NEAR_SHARED 0x00400000
-#define PF_HP_CODE 0x01000000
-#define PF_HP_MODIFY 0x02000000
-#define PF_HP_LAZYSWAP 0x04000000
-#define PF_HP_SBP 0x08000000
-
-
-/* Alpha specific definitions. */
-
-/* Legal values for e_flags field of Elf64_Ehdr. */
-
-#define EF_ALPHA_32BIT 1 /* All addresses must be < 2GB. */
-#define EF_ALPHA_CANRELAX 2 /* Relocations for relaxing exist. */
-
-/* Legal values for sh_type field of Elf64_Shdr. */
-
-/* These two are primerily concerned with ECOFF debugging info. */
-#define SHT_ALPHA_DEBUG 0x70000001
-#define SHT_ALPHA_REGINFO 0x70000002
-
-/* Legal values for sh_flags field of Elf64_Shdr. */
-
-#define SHF_ALPHA_GPREL 0x10000000
-
-/* Legal values for st_other field of Elf64_Sym. */
-#define STO_ALPHA_NOPV 0x80 /* No PV required. */
-#define STO_ALPHA_STD_GPLOAD 0x88 /* PV only used for initial ldgp. */
-
-/* Alpha relocs. */
-
-#define R_ALPHA_NONE 0 /* No reloc */
-#define R_ALPHA_REFLONG 1 /* Direct 32 bit */
-#define R_ALPHA_REFQUAD 2 /* Direct 64 bit */
-#define R_ALPHA_GPREL32 3 /* GP relative 32 bit */
-#define R_ALPHA_LITERAL 4 /* GP relative 16 bit w/optimization */
-#define R_ALPHA_LITUSE 5 /* Optimization hint for LITERAL */
-#define R_ALPHA_GPDISP 6 /* Add displacement to GP */
-#define R_ALPHA_BRADDR 7 /* PC+4 relative 23 bit shifted */
-#define R_ALPHA_HINT 8 /* PC+4 relative 16 bit shifted */
-#define R_ALPHA_SREL16 9 /* PC relative 16 bit */
-#define R_ALPHA_SREL32 10 /* PC relative 32 bit */
-#define R_ALPHA_SREL64 11 /* PC relative 64 bit */
-#define R_ALPHA_GPRELHIGH 17 /* GP relative 32 bit, high 16 bits */
-#define R_ALPHA_GPRELLOW 18 /* GP relative 32 bit, low 16 bits */
-#define R_ALPHA_GPREL16 19 /* GP relative 16 bit */
-#define R_ALPHA_COPY 24 /* Copy symbol at runtime */
-#define R_ALPHA_GLOB_DAT 25 /* Create GOT entry */
-#define R_ALPHA_JMP_SLOT 26 /* Create PLT entry */
-#define R_ALPHA_RELATIVE 27 /* Adjust by program base */
-#define R_ALPHA_TLS_GD_HI 28
-#define R_ALPHA_TLSGD 29
-#define R_ALPHA_TLS_LDM 30
-#define R_ALPHA_DTPMOD64 31
-#define R_ALPHA_GOTDTPREL 32
-#define R_ALPHA_DTPREL64 33
-#define R_ALPHA_DTPRELHI 34
-#define R_ALPHA_DTPRELLO 35
-#define R_ALPHA_DTPREL16 36
-#define R_ALPHA_GOTTPREL 37
-#define R_ALPHA_TPREL64 38
-#define R_ALPHA_TPRELHI 39
-#define R_ALPHA_TPRELLO 40
-#define R_ALPHA_TPREL16 41
-/* Keep this the last entry. */
-#define R_ALPHA_NUM 46
-
-/* Magic values of the LITUSE relocation addend. */
-#define LITUSE_ALPHA_ADDR 0
-#define LITUSE_ALPHA_BASE 1
-#define LITUSE_ALPHA_BYTOFF 2
-#define LITUSE_ALPHA_JSR 3
-#define LITUSE_ALPHA_TLS_GD 4
-#define LITUSE_ALPHA_TLS_LDM 5
-
-
-/* PowerPC specific declarations */
-
-/* Values for Elf32/64_Ehdr.e_flags. */
-#define EF_PPC_EMB 0x80000000 /* PowerPC embedded flag */
-
-/* Cygnus local bits below */
-#define EF_PPC_RELOCATABLE 0x00010000 /* PowerPC -mrelocatable flag*/
-#define EF_PPC_RELOCATABLE_LIB 0x00008000 /* PowerPC -mrelocatable-lib
- flag */
-
-/* PowerPC relocations defined by the ABIs */
-#define R_PPC_NONE 0
-#define R_PPC_ADDR32 1 /* 32bit absolute address */
-#define R_PPC_ADDR24 2 /* 26bit address, 2 bits ignored. */
-#define R_PPC_ADDR16 3 /* 16bit absolute address */
-#define R_PPC_ADDR16_LO 4 /* lower 16bit of absolute address */
-#define R_PPC_ADDR16_HI 5 /* high 16bit of absolute address */
-#define R_PPC_ADDR16_HA 6 /* adjusted high 16bit */
-#define R_PPC_ADDR14 7 /* 16bit address, 2 bits ignored */
-#define R_PPC_ADDR14_BRTAKEN 8
-#define R_PPC_ADDR14_BRNTAKEN 9
-#define R_PPC_REL24 10 /* PC relative 26 bit */
-#define R_PPC_REL14 11 /* PC relative 16 bit */
-#define R_PPC_REL14_BRTAKEN 12
-#define R_PPC_REL14_BRNTAKEN 13
-#define R_PPC_GOT16 14
-#define R_PPC_GOT16_LO 15
-#define R_PPC_GOT16_HI 16
-#define R_PPC_GOT16_HA 17
-#define R_PPC_PLTREL24 18
-#define R_PPC_COPY 19
-#define R_PPC_GLOB_DAT 20
-#define R_PPC_JMP_SLOT 21
-#define R_PPC_RELATIVE 22
-#define R_PPC_LOCAL24PC 23
-#define R_PPC_UADDR32 24
-#define R_PPC_UADDR16 25
-#define R_PPC_REL32 26
-#define R_PPC_PLT32 27
-#define R_PPC_PLTREL32 28
-#define R_PPC_PLT16_LO 29
-#define R_PPC_PLT16_HI 30
-#define R_PPC_PLT16_HA 31
-#define R_PPC_SDAREL16 32
-#define R_PPC_SECTOFF 33
-#define R_PPC_SECTOFF_LO 34
-#define R_PPC_SECTOFF_HI 35
-#define R_PPC_SECTOFF_HA 36
-
-/* PowerPC relocations defined for the TLS access ABI. */
-#define R_PPC_TLS 67 /* none (sym+add)@tls */
-#define R_PPC_DTPMOD32 68 /* word32 (sym+add)@dtpmod */
-#define R_PPC_TPREL16 69 /* half16* (sym+add)@tprel */
-#define R_PPC_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */
-#define R_PPC_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */
-#define R_PPC_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */
-#define R_PPC_TPREL32 73 /* word32 (sym+add)@tprel */
-#define R_PPC_DTPREL16 74 /* half16* (sym+add)@dtprel */
-#define R_PPC_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */
-#define R_PPC_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */
-#define R_PPC_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */
-#define R_PPC_DTPREL32 78 /* word32 (sym+add)@dtprel */
-#define R_PPC_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */
-#define R_PPC_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */
-#define R_PPC_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */
-#define R_PPC_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */
-#define R_PPC_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */
-#define R_PPC_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */
-#define R_PPC_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */
-#define R_PPC_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */
-#define R_PPC_GOT_TPREL16 87 /* half16* (sym+add)@got@tprel */
-#define R_PPC_GOT_TPREL16_LO 88 /* half16 (sym+add)@got@tprel@l */
-#define R_PPC_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */
-#define R_PPC_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */
-#define R_PPC_GOT_DTPREL16 91 /* half16* (sym+add)@got@dtprel */
-#define R_PPC_GOT_DTPREL16_LO 92 /* half16* (sym+add)@got@dtprel@l */
-#define R_PPC_GOT_DTPREL16_HI 93 /* half16* (sym+add)@got@dtprel@h */
-#define R_PPC_GOT_DTPREL16_HA 94 /* half16* (sym+add)@got@dtprel@ha */
-
-/* Keep this the last entry. */
-#define R_PPC_NUM 95
-
-/* The remaining relocs are from the Embedded ELF ABI, and are not
- in the SVR4 ELF ABI. */
-#define R_PPC_EMB_NADDR32 101
-#define R_PPC_EMB_NADDR16 102
-#define R_PPC_EMB_NADDR16_LO 103
-#define R_PPC_EMB_NADDR16_HI 104
-#define R_PPC_EMB_NADDR16_HA 105
-#define R_PPC_EMB_SDAI16 106
-#define R_PPC_EMB_SDA2I16 107
-#define R_PPC_EMB_SDA2REL 108
-#define R_PPC_EMB_SDA21 109 /* 16 bit offset in SDA */
-#define R_PPC_EMB_MRKREF 110
-#define R_PPC_EMB_RELSEC16 111
-#define R_PPC_EMB_RELST_LO 112
-#define R_PPC_EMB_RELST_HI 113
-#define R_PPC_EMB_RELST_HA 114
-#define R_PPC_EMB_BIT_FLD 115
-#define R_PPC_EMB_RELSDA 116 /* 16 bit relative offset in SDA */
-
-/* Diab tool relocations. */
-#define R_PPC_DIAB_SDA21_LO 180 /* like EMB_SDA21, but lower 16 bit */
-#define R_PPC_DIAB_SDA21_HI 181 /* like EMB_SDA21, but high 16 bit */
-#define R_PPC_DIAB_SDA21_HA 182 /* like EMB_SDA21, adjusted high 16 */
-#define R_PPC_DIAB_RELSDA_LO 183 /* like EMB_RELSDA, but lower 16 bit */
-#define R_PPC_DIAB_RELSDA_HI 184 /* like EMB_RELSDA, but high 16 bit */
-#define R_PPC_DIAB_RELSDA_HA 185 /* like EMB_RELSDA, adjusted high 16 */
-
-/* This is a phony reloc to handle any old fashioned TOC16 references
- that may still be in object files. */
-#define R_PPC_TOC16 255
-
-
-/* PowerPC64 relocations defined by the ABIs */
-#define R_PPC64_NONE R_PPC_NONE
-#define R_PPC64_ADDR32 R_PPC_ADDR32 /* 32bit absolute address */
-#define R_PPC64_ADDR24 R_PPC_ADDR24 /* 26bit address, word aligned */
-#define R_PPC64_ADDR16 R_PPC_ADDR16 /* 16bit absolute address */
-#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO /* lower 16bits of address */
-#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI /* high 16bits of address. */
-#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA /* adjusted high 16bits. */
-#define R_PPC64_ADDR14 R_PPC_ADDR14 /* 16bit address, word aligned */
-#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
-#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
-#define R_PPC64_REL24 R_PPC_REL24 /* PC-rel. 26 bit, word aligned */
-#define R_PPC64_REL14 R_PPC_REL14 /* PC relative 16 bit */
-#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
-#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
-#define R_PPC64_GOT16 R_PPC_GOT16
-#define R_PPC64_GOT16_LO R_PPC_GOT16_LO
-#define R_PPC64_GOT16_HI R_PPC_GOT16_HI
-#define R_PPC64_GOT16_HA R_PPC_GOT16_HA
-
-#define R_PPC64_COPY R_PPC_COPY
-#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
-#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
-#define R_PPC64_RELATIVE R_PPC_RELATIVE
-
-#define R_PPC64_UADDR32 R_PPC_UADDR32
-#define R_PPC64_UADDR16 R_PPC_UADDR16
-#define R_PPC64_REL32 R_PPC_REL32
-#define R_PPC64_PLT32 R_PPC_PLT32
-#define R_PPC64_PLTREL32 R_PPC_PLTREL32
-#define R_PPC64_PLT16_LO R_PPC_PLT16_LO
-#define R_PPC64_PLT16_HI R_PPC_PLT16_HI
-#define R_PPC64_PLT16_HA R_PPC_PLT16_HA
-
-#define R_PPC64_SECTOFF R_PPC_SECTOFF
-#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
-#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
-#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
-#define R_PPC64_ADDR30 37 /* word30 (S + A - P) >> 2 */
-#define R_PPC64_ADDR64 38 /* doubleword64 S + A */
-#define R_PPC64_ADDR16_HIGHER 39 /* half16 #higher(S + A) */
-#define R_PPC64_ADDR16_HIGHERA 40 /* half16 #highera(S + A) */
-#define R_PPC64_ADDR16_HIGHEST 41 /* half16 #highest(S + A) */
-#define R_PPC64_ADDR16_HIGHESTA 42 /* half16 #highesta(S + A) */
-#define R_PPC64_UADDR64 43 /* doubleword64 S + A */
-#define R_PPC64_REL64 44 /* doubleword64 S + A - P */
-#define R_PPC64_PLT64 45 /* doubleword64 L + A */
-#define R_PPC64_PLTREL64 46 /* doubleword64 L + A - P */
-#define R_PPC64_TOC16 47 /* half16* S + A - .TOC */
-#define R_PPC64_TOC16_LO 48 /* half16 #lo(S + A - .TOC.) */
-#define R_PPC64_TOC16_HI 49 /* half16 #hi(S + A - .TOC.) */
-#define R_PPC64_TOC16_HA 50 /* half16 #ha(S + A - .TOC.) */
-#define R_PPC64_TOC 51 /* doubleword64 .TOC */
-#define R_PPC64_PLTGOT16 52 /* half16* M + A */
-#define R_PPC64_PLTGOT16_LO 53 /* half16 #lo(M + A) */
-#define R_PPC64_PLTGOT16_HI 54 /* half16 #hi(M + A) */
-#define R_PPC64_PLTGOT16_HA 55 /* half16 #ha(M + A) */
-
-#define R_PPC64_ADDR16_DS 56 /* half16ds* (S + A) >> 2 */
-#define R_PPC64_ADDR16_LO_DS 57 /* half16ds #lo(S + A) >> 2 */
-#define R_PPC64_GOT16_DS 58 /* half16ds* (G + A) >> 2 */
-#define R_PPC64_GOT16_LO_DS 59 /* half16ds #lo(G + A) >> 2 */
-#define R_PPC64_PLT16_LO_DS 60 /* half16ds #lo(L + A) >> 2 */
-#define R_PPC64_SECTOFF_DS 61 /* half16ds* (R + A) >> 2 */
-#define R_PPC64_SECTOFF_LO_DS 62 /* half16ds #lo(R + A) >> 2 */
-#define R_PPC64_TOC16_DS 63 /* half16ds* (S + A - .TOC.) >> 2 */
-#define R_PPC64_TOC16_LO_DS 64 /* half16ds #lo(S + A - .TOC.) >> 2 */
-#define R_PPC64_PLTGOT16_DS 65 /* half16ds* (M + A) >> 2 */
-#define R_PPC64_PLTGOT16_LO_DS 66 /* half16ds #lo(M + A) >> 2 */
-
-/* PowerPC64 relocations defined for the TLS access ABI. */
-#define R_PPC64_TLS 67 /* none (sym+add)@tls */
-#define R_PPC64_DTPMOD64 68 /* doubleword64 (sym+add)@dtpmod */
-#define R_PPC64_TPREL16 69 /* half16* (sym+add)@tprel */
-#define R_PPC64_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */
-#define R_PPC64_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */
-#define R_PPC64_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */
-#define R_PPC64_TPREL64 73 /* doubleword64 (sym+add)@tprel */
-#define R_PPC64_DTPREL16 74 /* half16* (sym+add)@dtprel */
-#define R_PPC64_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */
-#define R_PPC64_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */
-#define R_PPC64_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */
-#define R_PPC64_DTPREL64 78 /* doubleword64 (sym+add)@dtprel */
-#define R_PPC64_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */
-#define R_PPC64_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */
-#define R_PPC64_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */
-#define R_PPC64_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */
-#define R_PPC64_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */
-#define R_PPC64_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */
-#define R_PPC64_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */
-#define R_PPC64_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */
-#define R_PPC64_GOT_TPREL16_DS 87 /* half16ds* (sym+add)@got@tprel */
-#define R_PPC64_GOT_TPREL16_LO_DS 88 /* half16ds (sym+add)@got@tprel@l */
-#define R_PPC64_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */
-#define R_PPC64_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */
-#define R_PPC64_GOT_DTPREL16_DS 91 /* half16ds* (sym+add)@got@dtprel */
-#define R_PPC64_GOT_DTPREL16_LO_DS 92 /* half16ds (sym+add)@got@dtprel@l */
-#define R_PPC64_GOT_DTPREL16_HI 93 /* half16 (sym+add)@got@dtprel@h */
-#define R_PPC64_GOT_DTPREL16_HA 94 /* half16 (sym+add)@got@dtprel@ha */
-#define R_PPC64_TPREL16_DS 95 /* half16ds* (sym+add)@tprel */
-#define R_PPC64_TPREL16_LO_DS 96 /* half16ds (sym+add)@tprel@l */
-#define R_PPC64_TPREL16_HIGHER 97 /* half16 (sym+add)@tprel@higher */
-#define R_PPC64_TPREL16_HIGHERA 98 /* half16 (sym+add)@tprel@highera */
-#define R_PPC64_TPREL16_HIGHEST 99 /* half16 (sym+add)@tprel@highest */
-#define R_PPC64_TPREL16_HIGHESTA 100 /* half16 (sym+add)@tprel@highesta */
-#define R_PPC64_DTPREL16_DS 101 /* half16ds* (sym+add)@dtprel */
-#define R_PPC64_DTPREL16_LO_DS 102 /* half16ds (sym+add)@dtprel@l */
-#define R_PPC64_DTPREL16_HIGHER 103 /* half16 (sym+add)@dtprel@higher */
-#define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera */
-#define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest */
-#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */
-
-/* Keep this the last entry. */
-#define R_PPC64_NUM 107
-
-/* PowerPC64 specific values for the Dyn d_tag field. */
-#define DT_PPC64_GLINK (DT_LOPROC + 0)
-#define DT_PPC64_NUM 1
-
-
-/* ARM specific declarations */
-
-/* Processor specific flags for the ELF header e_flags field. */
-#define EF_ARM_RELEXEC 0x01
-#define EF_ARM_HASENTRY 0x02
-#define EF_ARM_INTERWORK 0x04
-#define EF_ARM_APCS_26 0x08
-#define EF_ARM_APCS_FLOAT 0x10
-#define EF_ARM_PIC 0x20
-#define EF_ARM_ALIGN8 0x40 /* 8-bit structure alignment is in use */
-#define EF_ARM_NEW_ABI 0x80
-#define EF_ARM_OLD_ABI 0x100
-
-/* Other constants defined in the ARM ELF spec. version B-01. */
-/* NB. These conflict with values defined above. */
-#define EF_ARM_SYMSARESORTED 0x04
-#define EF_ARM_DYNSYMSUSESEGIDX 0x08
-#define EF_ARM_MAPSYMSFIRST 0x10
-#define EF_ARM_EABIMASK 0XFF000000
-
-#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
-#define EF_ARM_EABI_UNKNOWN 0x00000000
-#define EF_ARM_EABI_VER1 0x01000000
-#define EF_ARM_EABI_VER2 0x02000000
-
-/* Additional symbol types for Thumb */
-#define STT_ARM_TFUNC 0xd
-
-/* ARM-specific values for sh_flags */
-#define SHF_ARM_ENTRYSECT 0x10000000 /* Section contains an entry point */
-#define SHF_ARM_COMDEF 0x80000000 /* Section may be multiply defined
- in the input to a link step */
-
-/* ARM-specific program header flags */
-#define PF_ARM_SB 0x10000000 /* Segment contains the location
- addressed by the static base */
-
-/* ARM relocs. */
-#define R_ARM_NONE 0 /* No reloc */
-#define R_ARM_PC24 1 /* PC relative 26 bit branch */
-#define R_ARM_ABS32 2 /* Direct 32 bit */
-#define R_ARM_REL32 3 /* PC relative 32 bit */
-#define R_ARM_PC13 4
-#define R_ARM_ABS16 5 /* Direct 16 bit */
-#define R_ARM_ABS12 6 /* Direct 12 bit */
-#define R_ARM_THM_ABS5 7
-#define R_ARM_ABS8 8 /* Direct 8 bit */
-#define R_ARM_SBREL32 9
-#define R_ARM_THM_PC22 10
-#define R_ARM_THM_PC8 11
-#define R_ARM_AMP_VCALL9 12
-#define R_ARM_SWI24 13
-#define R_ARM_THM_SWI8 14
-#define R_ARM_XPC25 15
-#define R_ARM_THM_XPC22 16
-#define R_ARM_COPY 20 /* Copy symbol at runtime */
-#define R_ARM_GLOB_DAT 21 /* Create GOT entry */
-#define R_ARM_JUMP_SLOT 22 /* Create PLT entry */
-#define R_ARM_RELATIVE 23 /* Adjust by program base */
-#define R_ARM_GOTOFF 24 /* 32 bit offset to GOT */
-#define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
-#define R_ARM_GOT32 26 /* 32 bit GOT entry */
-#define R_ARM_PLT32 27 /* 32 bit PLT address */
-#define R_ARM_ALU_PCREL_7_0 32
-#define R_ARM_ALU_PCREL_15_8 33
-#define R_ARM_ALU_PCREL_23_15 34
-#define R_ARM_LDR_SBREL_11_0 35
-#define R_ARM_ALU_SBREL_19_12 36
-#define R_ARM_ALU_SBREL_27_20 37
-#define R_ARM_GNU_VTENTRY 100
-#define R_ARM_GNU_VTINHERIT 101
-#define R_ARM_THM_PC11 102 /* thumb unconditional branch */
-#define R_ARM_THM_PC9 103 /* thumb conditional branch */
-#define R_ARM_RXPC25 249
-#define R_ARM_RSBREL32 250
-#define R_ARM_THM_RPC22 251
-#define R_ARM_RREL32 252
-#define R_ARM_RABS22 253
-#define R_ARM_RPC24 254
-#define R_ARM_RBASE 255
-/* Keep this the last entry. */
-#define R_ARM_NUM 256
-
-/* IA-64 specific declarations. */
-
-/* Processor specific flags for the Ehdr e_flags field. */
-#define EF_IA_64_MASKOS 0x0000000f /* os-specific flags */
-#define EF_IA_64_ABI64 0x00000010 /* 64-bit ABI */
-#define EF_IA_64_ARCH 0xff000000 /* arch. version mask */
-
-/* Processor specific values for the Phdr p_type field. */
-#define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* arch extension bits */
-#define PT_IA_64_UNWIND (PT_LOPROC + 1) /* ia64 unwind bits */
-
-/* Processor specific flags for the Phdr p_flags field. */
-#define PF_IA_64_NORECOV 0x80000000 /* spec insns w/o recovery */
-
-/* Processor specific values for the Shdr sh_type field. */
-#define SHT_IA_64_EXT (SHT_LOPROC + 0) /* extension bits */
-#define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* unwind bits */
-
-/* Processor specific flags for the Shdr sh_flags field. */
-#define SHF_IA_64_SHORT 0x10000000 /* section near gp */
-#define SHF_IA_64_NORECOV 0x20000000 /* spec insns w/o recovery */
-
-/* Processor specific values for the Dyn d_tag field. */
-#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0)
-#define DT_IA_64_NUM 1
-
-/* IA-64 relocations. */
-#define R_IA64_NONE 0x00 /* none */
-#define R_IA64_IMM14 0x21 /* symbol + addend, add imm14 */
-#define R_IA64_IMM22 0x22 /* symbol + addend, add imm22 */
-#define R_IA64_IMM64 0x23 /* symbol + addend, mov imm64 */
-#define R_IA64_DIR32MSB 0x24 /* symbol + addend, data4 MSB */
-#define R_IA64_DIR32LSB 0x25 /* symbol + addend, data4 LSB */
-#define R_IA64_DIR64MSB 0x26 /* symbol + addend, data8 MSB */
-#define R_IA64_DIR64LSB 0x27 /* symbol + addend, data8 LSB */
-#define R_IA64_GPREL22 0x2a /* @gprel(sym + add), add imm22 */
-#define R_IA64_GPREL64I 0x2b /* @gprel(sym + add), mov imm64 */
-#define R_IA64_GPREL32MSB 0x2c /* @gprel(sym + add), data4 MSB */
-#define R_IA64_GPREL32LSB 0x2d /* @gprel(sym + add), data4 LSB */
-#define R_IA64_GPREL64MSB 0x2e /* @gprel(sym + add), data8 MSB */
-#define R_IA64_GPREL64LSB 0x2f /* @gprel(sym + add), data8 LSB */
-#define R_IA64_LTOFF22 0x32 /* @ltoff(sym + add), add imm22 */
-#define R_IA64_LTOFF64I 0x33 /* @ltoff(sym + add), mov imm64 */
-#define R_IA64_PLTOFF22 0x3a /* @pltoff(sym + add), add imm22 */
-#define R_IA64_PLTOFF64I 0x3b /* @pltoff(sym + add), mov imm64 */
-#define R_IA64_PLTOFF64MSB 0x3e /* @pltoff(sym + add), data8 MSB */
-#define R_IA64_PLTOFF64LSB 0x3f /* @pltoff(sym + add), data8 LSB */
-#define R_IA64_FPTR64I 0x43 /* @fptr(sym + add), mov imm64 */
-#define R_IA64_FPTR32MSB 0x44 /* @fptr(sym + add), data4 MSB */
-#define R_IA64_FPTR32LSB 0x45 /* @fptr(sym + add), data4 LSB */
-#define R_IA64_FPTR64MSB 0x46 /* @fptr(sym + add), data8 MSB */
-#define R_IA64_FPTR64LSB 0x47 /* @fptr(sym + add), data8 LSB */
-#define R_IA64_PCREL60B 0x48 /* @pcrel(sym + add), brl */
-#define R_IA64_PCREL21B 0x49 /* @pcrel(sym + add), ptb, call */
-#define R_IA64_PCREL21M 0x4a /* @pcrel(sym + add), chk.s */
-#define R_IA64_PCREL21F 0x4b /* @pcrel(sym + add), fchkf */
-#define R_IA64_PCREL32MSB 0x4c /* @pcrel(sym + add), data4 MSB */
-#define R_IA64_PCREL32LSB 0x4d /* @pcrel(sym + add), data4 LSB */
-#define R_IA64_PCREL64MSB 0x4e /* @pcrel(sym + add), data8 MSB */
-#define R_IA64_PCREL64LSB 0x4f /* @pcrel(sym + add), data8 LSB */
-#define R_IA64_LTOFF_FPTR22 0x52 /* @ltoff(@fptr(s+a)), imm22 */
-#define R_IA64_LTOFF_FPTR64I 0x53 /* @ltoff(@fptr(s+a)), imm64 */
-#define R_IA64_LTOFF_FPTR32MSB 0x54 /* @ltoff(@fptr(s+a)), data4 MSB */
-#define R_IA64_LTOFF_FPTR32LSB 0x55 /* @ltoff(@fptr(s+a)), data4 LSB */
-#define R_IA64_LTOFF_FPTR64MSB 0x56 /* @ltoff(@fptr(s+a)), data8 MSB */
-#define R_IA64_LTOFF_FPTR64LSB 0x57 /* @ltoff(@fptr(s+a)), data8 LSB */
-#define R_IA64_SEGREL32MSB 0x5c /* @segrel(sym + add), data4 MSB */
-#define R_IA64_SEGREL32LSB 0x5d /* @segrel(sym + add), data4 LSB */
-#define R_IA64_SEGREL64MSB 0x5e /* @segrel(sym + add), data8 MSB */
-#define R_IA64_SEGREL64LSB 0x5f /* @segrel(sym + add), data8 LSB */
-#define R_IA64_SECREL32MSB 0x64 /* @secrel(sym + add), data4 MSB */
-#define R_IA64_SECREL32LSB 0x65 /* @secrel(sym + add), data4 LSB */
-#define R_IA64_SECREL64MSB 0x66 /* @secrel(sym + add), data8 MSB */
-#define R_IA64_SECREL64LSB 0x67 /* @secrel(sym + add), data8 LSB */
-#define R_IA64_REL32MSB 0x6c /* data 4 + REL */
-#define R_IA64_REL32LSB 0x6d /* data 4 + REL */
-#define R_IA64_REL64MSB 0x6e /* data 8 + REL */
-#define R_IA64_REL64LSB 0x6f /* data 8 + REL */
-#define R_IA64_LTV32MSB 0x74 /* symbol + addend, data4 MSB */
-#define R_IA64_LTV32LSB 0x75 /* symbol + addend, data4 LSB */
-#define R_IA64_LTV64MSB 0x76 /* symbol + addend, data8 MSB */
-#define R_IA64_LTV64LSB 0x77 /* symbol + addend, data8 LSB */
-#define R_IA64_PCREL21BI 0x79 /* @pcrel(sym + add), 21bit inst */
-#define R_IA64_PCREL22 0x7a /* @pcrel(sym + add), 22bit inst */
-#define R_IA64_PCREL64I 0x7b /* @pcrel(sym + add), 64bit inst */
-#define R_IA64_IPLTMSB 0x80 /* dynamic reloc, imported PLT, MSB */
-#define R_IA64_IPLTLSB 0x81 /* dynamic reloc, imported PLT, LSB */
-#define R_IA64_COPY 0x84 /* copy relocation */
-#define R_IA64_SUB 0x85 /* Addend and symbol difference */
-#define R_IA64_LTOFF22X 0x86 /* LTOFF22, relaxable. */
-#define R_IA64_LDXMOV 0x87 /* Use of LTOFF22X. */
-#define R_IA64_TPREL14 0x91 /* @tprel(sym + add), imm14 */
-#define R_IA64_TPREL22 0x92 /* @tprel(sym + add), imm22 */
-#define R_IA64_TPREL64I 0x93 /* @tprel(sym + add), imm64 */
-#define R_IA64_TPREL64MSB 0x96 /* @tprel(sym + add), data8 MSB */
-#define R_IA64_TPREL64LSB 0x97 /* @tprel(sym + add), data8 LSB */
-#define R_IA64_LTOFF_TPREL22 0x9a /* @ltoff(@tprel(s+a)), imm2 */
-#define R_IA64_DTPMOD64MSB 0xa6 /* @dtpmod(sym + add), data8 MSB */
-#define R_IA64_DTPMOD64LSB 0xa7 /* @dtpmod(sym + add), data8 LSB */
-#define R_IA64_LTOFF_DTPMOD22 0xaa /* @ltoff(@dtpmod(sym + add)), imm22 */
-#define R_IA64_DTPREL14 0xb1 /* @dtprel(sym + add), imm14 */
-#define R_IA64_DTPREL22 0xb2 /* @dtprel(sym + add), imm22 */
-#define R_IA64_DTPREL64I 0xb3 /* @dtprel(sym + add), imm64 */
-#define R_IA64_DTPREL32MSB 0xb4 /* @dtprel(sym + add), data4 MSB */
-#define R_IA64_DTPREL32LSB 0xb5 /* @dtprel(sym + add), data4 LSB */
-#define R_IA64_DTPREL64MSB 0xb6 /* @dtprel(sym + add), data8 MSB */
-#define R_IA64_DTPREL64LSB 0xb7 /* @dtprel(sym + add), data8 LSB */
-#define R_IA64_LTOFF_DTPREL22 0xba /* @ltoff(@dtprel(s+a)), imm22 */
-
-/* SH specific declarations */
-
-/* SH relocs. */
-#define R_SH_NONE 0
-#define R_SH_DIR32 1
-#define R_SH_REL32 2
-#define R_SH_DIR8WPN 3
-#define R_SH_IND12W 4
-#define R_SH_DIR8WPL 5
-#define R_SH_DIR8WPZ 6
-#define R_SH_DIR8BP 7
-#define R_SH_DIR8W 8
-#define R_SH_DIR8L 9
-#define R_SH_SWITCH16 25
-#define R_SH_SWITCH32 26
-#define R_SH_USES 27
-#define R_SH_COUNT 28
-#define R_SH_ALIGN 29
-#define R_SH_CODE 30
-#define R_SH_DATA 31
-#define R_SH_LABEL 32
-#define R_SH_SWITCH8 33
-#define R_SH_GNU_VTINHERIT 34
-#define R_SH_GNU_VTENTRY 35
-#define R_SH_TLS_GD_32 144
-#define R_SH_TLS_LD_32 145
-#define R_SH_TLS_LDO_32 146
-#define R_SH_TLS_IE_32 147
-#define R_SH_TLS_LE_32 148
-#define R_SH_TLS_DTPMOD32 149
-#define R_SH_TLS_DTPOFF32 150
-#define R_SH_TLS_TPOFF32 151
-#define R_SH_GOT32 160
-#define R_SH_PLT32 161
-#define R_SH_COPY 162
-#define R_SH_GLOB_DAT 163
-#define R_SH_JMP_SLOT 164
-#define R_SH_RELATIVE 165
-#define R_SH_GOTOFF 166
-#define R_SH_GOTPC 167
-/* Keep this the last entry. */
-#define R_SH_NUM 256
-
-/* Additional s390 relocs */
-
-#define R_390_NONE 0 /* No reloc. */
-#define R_390_8 1 /* Direct 8 bit. */
-#define R_390_12 2 /* Direct 12 bit. */
-#define R_390_16 3 /* Direct 16 bit. */
-#define R_390_32 4 /* Direct 32 bit. */
-#define R_390_PC32 5 /* PC relative 32 bit. */
-#define R_390_GOT12 6 /* 12 bit GOT offset. */
-#define R_390_GOT32 7 /* 32 bit GOT offset. */
-#define R_390_PLT32 8 /* 32 bit PC relative PLT address. */
-#define R_390_COPY 9 /* Copy symbol at runtime. */
-#define R_390_GLOB_DAT 10 /* Create GOT entry. */
-#define R_390_JMP_SLOT 11 /* Create PLT entry. */
-#define R_390_RELATIVE 12 /* Adjust by program base. */
-#define R_390_GOTOFF32 13 /* 32 bit offset to GOT. */
-#define R_390_GOTPC 14 /* 32 bit PC relative offset to GOT. */
-#define R_390_GOT16 15 /* 16 bit GOT offset. */
-#define R_390_PC16 16 /* PC relative 16 bit. */
-#define R_390_PC16DBL 17 /* PC relative 16 bit shifted by 1. */
-#define R_390_PLT16DBL 18 /* 16 bit PC rel. PLT shifted by 1. */
-#define R_390_PC32DBL 19 /* PC relative 32 bit shifted by 1. */
-#define R_390_PLT32DBL 20 /* 32 bit PC rel. PLT shifted by 1. */
-#define R_390_GOTPCDBL 21 /* 32 bit PC rel. GOT shifted by 1. */
-#define R_390_64 22 /* Direct 64 bit. */
-#define R_390_PC64 23 /* PC relative 64 bit. */
-#define R_390_GOT64 24 /* 64 bit GOT offset. */
-#define R_390_PLT64 25 /* 64 bit PC relative PLT address. */
-#define R_390_GOTENT 26 /* 32 bit PC rel. to GOT entry >> 1. */
-#define R_390_GOTOFF16 27 /* 16 bit offset to GOT. */
-#define R_390_GOTOFF64 28 /* 64 bit offset to GOT. */
-#define R_390_GOTPLT12 29 /* 12 bit offset to jump slot. */
-#define R_390_GOTPLT16 30 /* 16 bit offset to jump slot. */
-#define R_390_GOTPLT32 31 /* 32 bit offset to jump slot. */
-#define R_390_GOTPLT64 32 /* 64 bit offset to jump slot. */
-#define R_390_GOTPLTENT 33 /* 32 bit rel. offset to jump slot. */
-#define R_390_PLTOFF16 34 /* 16 bit offset from GOT to PLT. */
-#define R_390_PLTOFF32 35 /* 32 bit offset from GOT to PLT. */
-#define R_390_PLTOFF64 36 /* 16 bit offset from GOT to PLT. */
-#define R_390_TLS_LOAD 37 /* Tag for load insn in TLS code. */
-#define R_390_TLS_GDCALL 38 /* Tag for function call in general
- dynamic TLS code. */
-#define R_390_TLS_LDCALL 39 /* Tag for function call in local
- dynamic TLS code. */
-#define R_390_TLS_GD32 40 /* Direct 32 bit for general dynamic
- thread local data. */
-#define R_390_TLS_GD64 41 /* Direct 64 bit for general dynamic
- thread local data. */
-#define R_390_TLS_GOTIE12 42 /* 12 bit GOT offset for static TLS
- block offset. */
-#define R_390_TLS_GOTIE32 43 /* 32 bit GOT offset for static TLS
- block offset. */
-#define R_390_TLS_GOTIE64 44 /* 64 bit GOT offset for static TLS
- block offset. */
-#define R_390_TLS_LDM32 45 /* Direct 32 bit for local dynamic
- thread local data in LE code. */
-#define R_390_TLS_LDM64 46 /* Direct 64 bit for local dynamic
- thread local data in LE code. */
-#define R_390_TLS_IE32 47 /* 32 bit address of GOT entry for
- negated static TLS block offset. */
-#define R_390_TLS_IE64 48 /* 64 bit address of GOT entry for
- negated static TLS block offset. */
-#define R_390_TLS_IEENT 49 /* 32 bit rel. offset to GOT entry for
- negated static TLS block offset. */
-#define R_390_TLS_LE32 50 /* 32 bit negated offset relative to
- static TLS block. */
-#define R_390_TLS_LE64 51 /* 64 bit negated offset relative to
- static TLS block. */
-#define R_390_TLS_LDO32 52 /* 32 bit offset relative to TLS
- block. */
-#define R_390_TLS_LDO64 53 /* 64 bit offset relative to TLS
- block. */
-#define R_390_TLS_DTPMOD 54 /* ID of module containing symbol. */
-#define R_390_TLS_DTPOFF 55 /* Offset in TLS block. */
-#define R_390_TLS_TPOFF 56 /* Negated offset in static TLS
- block. */
-
-/* Keep this the last entry. */
-#define R_390_NUM 57
-
-/* CRIS relocations. */
-#define R_CRIS_NONE 0
-#define R_CRIS_8 1
-#define R_CRIS_16 2
-#define R_CRIS_32 3
-#define R_CRIS_8_PCREL 4
-#define R_CRIS_16_PCREL 5
-#define R_CRIS_32_PCREL 6
-#define R_CRIS_GNU_VTINHERIT 7
-#define R_CRIS_GNU_VTENTRY 8
-#define R_CRIS_COPY 9
-#define R_CRIS_GLOB_DAT 10
-#define R_CRIS_JUMP_SLOT 11
-#define R_CRIS_RELATIVE 12
-#define R_CRIS_16_GOT 13
-#define R_CRIS_32_GOT 14
-#define R_CRIS_16_GOTPLT 15
-#define R_CRIS_32_GOTPLT 16
-#define R_CRIS_32_GOTREL 17
-#define R_CRIS_32_PLT_GOTREL 18
-#define R_CRIS_32_PLT_PCREL 19
-
-#define R_CRIS_NUM 20
-
-/* AMD x86-64 relocations. */
-#define R_X86_64_NONE 0 /* No reloc */
-#define R_X86_64_64 1 /* Direct 64 bit */
-#define R_X86_64_PC32 2 /* PC relative 32 bit signed */
-#define R_X86_64_GOT32 3 /* 32 bit GOT entry */
-#define R_X86_64_PLT32 4 /* 32 bit PLT address */
-#define R_X86_64_COPY 5 /* Copy symbol at runtime */
-#define R_X86_64_GLOB_DAT 6 /* Create GOT entry */
-#define R_X86_64_JUMP_SLOT 7 /* Create PLT entry */
-#define R_X86_64_RELATIVE 8 /* Adjust by program base */
-#define R_X86_64_GOTPCREL 9 /* 32 bit signed PC relative
- offset to GOT */
-#define R_X86_64_32 10 /* Direct 32 bit zero extended */
-#define R_X86_64_32S 11 /* Direct 32 bit sign extended */
-#define R_X86_64_16 12 /* Direct 16 bit zero extended */
-#define R_X86_64_PC16 13 /* 16 bit sign extended pc relative */
-#define R_X86_64_8 14 /* Direct 8 bit sign extended */
-#define R_X86_64_PC8 15 /* 8 bit sign extended pc relative */
-#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
-#define R_X86_64_DTPOFF64 17 /* Offset in module's TLS block */
-#define R_X86_64_TPOFF64 18 /* Offset in initial TLS block */
-#define R_X86_64_TLSGD 19 /* 32 bit signed PC relative offset
- to two GOT entries for GD symbol */
-#define R_X86_64_TLSLD 20 /* 32 bit signed PC relative offset
- to two GOT entries for LD symbol */
-#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
-#define R_X86_64_GOTTPOFF 22 /* 32 bit signed PC relative offset
- to GOT entry for IE symbol */
-#define R_X86_64_TPOFF32 23 /* Offset in initial TLS block */
-
-#define R_X86_64_NUM 24
-
-__END_DECLS
-
-#endif /* elf.h */
diff --git a/openwrt/toolchain/utils/src/sstrip.c b/openwrt/toolchain/utils/src/sstrip.c
deleted file mode 100644
index 60c12c9..0000000
--- a/openwrt/toolchain/utils/src/sstrip.c
+++ /dev/null
@@ -1,492 +0,0 @@
-/* http://www.muppetlabs.com/~breadbox/software/elfkickers.html */
-
-/* sstrip: Copyright (C) 1999-2001 by Brian Raiter, under the GNU
- * General Public License. No warranty. See COPYING for details.
- *
- * Aug 23, 2004 Hacked by Manuel Novoa III <mjn3@codepoet.org> to
- * handle targets of different endianness and/or elf class, making
- * it more useful in a cross-devel environment.
- */
-
-/* ============== original README ===================
- *
- * sstrip is a small utility that removes the contents at the end of an
- * ELF file that are not part of the program's memory image.
- *
- * Most ELF executables are built with both a program header table and a
- * section header table. However, only the former is required in order
- * for the OS to load, link and execute a program. sstrip attempts to
- * extract the ELF header, the program header table, and its contents,
- * leaving everything else in the bit bucket. It can only remove parts of
- * the file that occur at the end, after the parts to be saved. However,
- * this almost always includes the section header table, and occasionally
- * a few random sections that are not used when running a program.
- *
- * It should be noted that the GNU bfd library is (understandably)
- * dependent on the section header table as an index to the file's
- * contents. Thus, an executable file that has no section header table
- * cannot be used with gdb, objdump, or any other program based upon the
- * bfd library, at all. In fact, the program will not even recognize the
- * file as a valid executable. (This limitation is noted in the source
- * code comments for bfd, and is marked "FIXME", so this may change at
- * some future date. However, I would imagine that it is a pretty
- * low-priority item, as executables without a section header table are
- * rare in the extreme.) This probably also explains why strip doesn't
- * offer the option to do this.
- *
- * Shared library files may also have their section header table removed.
- * Such a library will still function; however, it will no longer be
- * possible for a compiler to link a new program against it.
- *
- * As an added bonus, sstrip also tries to removes trailing zero bytes
- * from the end of the file. (This normally cannot be done with an
- * executable that has a section header table.)
- *
- * sstrip is a very simplistic program. It depends upon the common
- * practice of putting the parts of the file that contribute to the
- * memory image at the front, and the remaining material at the end. This
- * permits it to discard the latter material without affecting file
- * offsets and memory addresses in what remains. Of course, the ELF
- * standard permits files to be organized in almost any order, so if a
- * pathological linker decided to put its section headers at the top,
- * sstrip would be useless on such executables.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <elf.h>
-
-#ifdef __FreeBSD__
-/**
- * This seems to work on FreeBSD 5.3, should
- * work on all newer versions as well. I have
- * no idea if it will work on versions < 5.3
- *
- * Joe Estock (guru) <jestock at nutextonline.com>
- */
-#include <sys/endian.h>
-#define bswap_64 __bswap64
-#define bswap_32 __bswap32
-#define bswap_16 __bswap16
-#elif defined(__APPLE__)
-#include <machine/endian.h>
-#include <machine/byte_order.h>
-#define __BYTE_ORDER BYTE_ORDER
-#define __BIG_ENDIAN BIG_ENDIAN
-#define bswap_16(x) NXSwapShort(x)
-#define bswap_32(x) NXSwapInt(x)
-#define bswap_64(x) NXSwapLongLong(x)
-#else
-#include <endian.h>
-#include <byteswap.h>
-#endif
-
-
-#ifndef TRUE
-#define TRUE 1
-#define FALSE 0
-#endif
-
-/* The name of the program.
- */
-static char const *progname;
-
-/* The name of the current file.
- */
-static char const *filename;
-
-
-/* A simple error-handling function. FALSE is always returned for the
- * convenience of the caller.
- */
-static int err(char const *errmsg)
-{
- fprintf(stderr, "%s: %s: %s\n", progname, filename, errmsg);
- return FALSE;
-}
-
-/* A flag to signal the need for endian reversal.
- */
-static int do_reverse_endian;
-
-/* Get a value from the elf header, compensating for endianness.
- */
-#define EGET(X) \
- (__extension__ ({ \
- uint64_t __res; \
- if (!do_reverse_endian) { \
- __res = (X); \
- } else if (sizeof(X) == 1) { \
- __res = (X); \
- } else if (sizeof(X) == 2) { \
- __res = bswap_16((X)); \
- } else if (sizeof(X) == 4) { \
- __res = bswap_32((X)); \
- } else if (sizeof(X) == 8) { \
- __res = bswap_64((X)); \
- } else { \
- fprintf(stderr, "%s: %s: EGET failed for size %d\n", \
- progname, filename, sizeof(X)); \
- exit(EXIT_FAILURE); \
- } \
- __res; \
- }))
-
-/* Set a value 'Y' in the elf header to 'X', compensating for endianness.
- */
-#define ESET(Y,X) \
- do if (!do_reverse_endian) { \
- Y = (X); \
- } else if (sizeof(Y) == 1) { \
- Y = (X); \
- } else if (sizeof(Y) == 2) { \
- Y = bswap_16((uint16_t)(X)); \
- } else if (sizeof(Y) == 4) { \
- Y = bswap_32((uint32_t)(X)); \
- } else if (sizeof(Y) == 8) { \
- Y = bswap_64((uint64_t)(X)); \
- } else { \
- fprintf(stderr, "%s: %s: ESET failed for size %d\n", \
- progname, filename, sizeof(Y)); \
- exit(EXIT_FAILURE); \
- } while (0)
-
-
-/* A macro for I/O errors: The given error message is used only when
- * errno is not set.
- */
-#define ferr(msg) (err(errno ? strerror(errno) : (msg)))
-
-
-
-#define HEADER_FUNCTIONS(CLASS) \
- \
-/* readelfheader() reads the ELF header into our global variable, and \
- * checks to make sure that this is in fact a file that we should be \
- * munging. \
- */ \
-static int readelfheader ## CLASS (int fd, Elf ## CLASS ## _Ehdr *ehdr) \
-{ \
- if (read(fd, ((char *)ehdr)+EI_NIDENT, sizeof(*ehdr) - EI_NIDENT) \
- != sizeof(*ehdr) - EI_NIDENT) \
- return ferr("missing or incomplete ELF header."); \
- \
- /* Verify the sizes of the ELF header and the program segment \
- * header table entries. \
- */ \
- if (EGET(ehdr->e_ehsize) != sizeof(Elf ## CLASS ## _Ehdr)) \
- return err("unrecognized ELF header size."); \
- if (EGET(ehdr->e_phentsize) != sizeof(Elf ## CLASS ## _Phdr)) \
- return err("unrecognized program segment header size."); \
- \
- /* Finally, check the file type. \
- */ \
- if (EGET(ehdr->e_type) != ET_EXEC && EGET(ehdr->e_type) != ET_DYN) \
- return err("not an executable or shared-object library."); \
- \
- return TRUE; \
-} \
- \
-/* readphdrtable() loads the program segment header table into memory. \
- */ \
-static int readphdrtable ## CLASS (int fd, Elf ## CLASS ## _Ehdr const *ehdr, \
- Elf ## CLASS ## _Phdr **phdrs) \
-{ \
- size_t size; \
- \
- if (!EGET(ehdr->e_phoff) || !EGET(ehdr->e_phnum) \
-) return err("ELF file has no program header table."); \
- \
- size = EGET(ehdr->e_phnum) * sizeof **phdrs; \
- if (!(*phdrs = malloc(size))) \
- return err("Out of memory!"); \
- \
- errno = 0; \
- if (read(fd, *phdrs, size) != (ssize_t)size) \
- return ferr("missing or incomplete program segment header table."); \
- \
- return TRUE; \
-} \
- \
-/* getmemorysize() determines the offset of the last byte of the file \
- * that is referenced by an entry in the program segment header table. \
- * (Anything in the file after that point is not used when the program \
- * is executing, and thus can be safely discarded.) \
- */ \
-static int getmemorysize ## CLASS (Elf ## CLASS ## _Ehdr const *ehdr, \
- Elf ## CLASS ## _Phdr const *phdrs, \
- unsigned long *newsize) \
-{ \
- Elf ## CLASS ## _Phdr const *phdr; \
- unsigned long size, n; \
- int i; \
- \
- /* Start by setting the size to include the ELF header and the \
- * complete program segment header table. \
- */ \
- size = EGET(ehdr->e_phoff) + EGET(ehdr->e_phnum) * sizeof *phdrs; \
- if (size < sizeof *ehdr) \
- size = sizeof *ehdr; \
- \
- /* Then keep extending the size to include whatever data the \
- * program segment header table references. \
- */ \
- for (i = 0, phdr = phdrs ; i < EGET(ehdr->e_phnum) ; ++i, ++phdr) { \
- if (EGET(phdr->p_type) != PT_NULL) { \
- n = EGET(phdr->p_offset) + EGET(phdr->p_filesz); \
- if (n > size) \
- size = n; \
- } \
- } \
- \
- *newsize = size; \
- return TRUE; \
-} \
- \
-/* modifyheaders() removes references to the section header table if \
- * it was stripped, and reduces program header table entries that \
- * included truncated bytes at the end of the file. \
- */ \
-static int modifyheaders ## CLASS (Elf ## CLASS ## _Ehdr *ehdr, \
- Elf ## CLASS ## _Phdr *phdrs, \
- unsigned long newsize) \
-{ \
- Elf ## CLASS ## _Phdr *phdr; \
- int i; \
- \
- /* If the section header table is gone, then remove all references \
- * to it in the ELF header. \
- */ \
- if (EGET(ehdr->e_shoff) >= newsize) { \
- ESET(ehdr->e_shoff,0); \
- ESET(ehdr->e_shnum,0); \
- ESET(ehdr->e_shentsize,0); \
- ESET(ehdr->e_shstrndx,0); \
- } \
- \
- /* The program adjusts the file size of any segment that was \
- * truncated. The case of a segment being completely stripped out \
- * is handled separately. \
- */ \
- for (i = 0, phdr = phdrs ; i < EGET(ehdr->e_phnum) ; ++i, ++phdr) { \
- if (EGET(phdr->p_offset) >= newsize) { \
- ESET(phdr->p_offset,newsize); \
- ESET(phdr->p_filesz,0); \
- } else if (EGET(phdr->p_offset) + EGET(phdr->p_filesz) > newsize) { \
- newsize -= EGET(phdr->p_offset); \
- ESET(phdr->p_filesz, newsize); \
- } \
- } \
- \
- return TRUE; \
-} \
- \
-/* commitchanges() writes the new headers back to the original file \
- * and sets the file to its new size. \
- */ \
-static int commitchanges ## CLASS (int fd, Elf ## CLASS ## _Ehdr const *ehdr, \
- Elf ## CLASS ## _Phdr *phdrs, \
- unsigned long newsize) \
-{ \
- size_t n; \
- \
- /* Save the changes to the ELF header, if any. \
- */ \
- if (lseek(fd, 0, SEEK_SET)) \
- return ferr("could not rewind file"); \
- errno = 0; \
- if (write(fd, ehdr, sizeof *ehdr) != sizeof *ehdr) \
- return err("could not modify file"); \
- \
- /* Save the changes to the program segment header table, if any. \
- */ \
- if (lseek(fd, EGET(ehdr->e_phoff), SEEK_SET) == (off_t)-1) { \
- err("could not seek in file."); \
- goto warning; \
- } \
- n = EGET(ehdr->e_phnum) * sizeof *phdrs; \
- if (write(fd, phdrs, n) != (ssize_t)n) { \
- err("could not write to file"); \
- goto warning; \
- } \
- \
- /* Eleventh-hour sanity check: don't truncate before the end of \
- * the program segment header table. \
- */ \
- if (newsize < EGET(ehdr->e_phoff) + n) \
- newsize = EGET(ehdr->e_phoff) + n; \
- \
- /* Chop off the end of the file. \
- */ \
- if (ftruncate(fd, newsize)) { \
- err("could not resize file"); \
- goto warning; \
- } \
- \
- return TRUE; \
- \
- warning: \
- return err("ELF file may have been corrupted!"); \
-}
-
-
-/* First elements of Elf32_Ehdr and Elf64_Ehdr are common.
- */
-static int readelfheaderident(int fd, Elf32_Ehdr *ehdr)
-{
- errno = 0;
- if (read(fd, ehdr, EI_NIDENT) != EI_NIDENT)
- return ferr("missing or incomplete ELF header.");
-
- /* Check the ELF signature.
- */
- if (!(ehdr->e_ident[EI_MAG0] == ELFMAG0 &&
- ehdr->e_ident[EI_MAG1] == ELFMAG1 &&
- ehdr->e_ident[EI_MAG2] == ELFMAG2 &&
- ehdr->e_ident[EI_MAG3] == ELFMAG3))
- {
- err("missing ELF signature.");
- return -1;
- }
-
- /* Compare the file's class and endianness with the program's.
- */
-#if __BYTE_ORDER == __LITTLE_ENDIAN
- if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB) {
- do_reverse_endian = 0;
- } else if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB) {
-/* fprintf(stderr, "ELF file has different endianness.\n"); */
- do_reverse_endian = 1;
- }
-#elif __BYTE_ORDER == __BIG_ENDIAN
- if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB) {
-/* fprintf(stderr, "ELF file has different endianness.\n"); */
- do_reverse_endian = 1;
- } else if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB) {
- do_reverse_endian = 0;
- }
-#else
-#error unkown endianness
-#endif
- else {
- err("Unsupported endianness");
- return -1;
- }
-
- /* Check the target architecture.
- */
-/* if (EGET(ehdr->e_machine) != ELF_ARCH) { */
-/* /\* return err("ELF file created for different architecture."); *\/ */
-/* fprintf(stderr, "ELF file created for different architecture.\n"); */
-/* } */
- return ehdr->e_ident[EI_CLASS];
-}
-
-
-HEADER_FUNCTIONS(32)
-
-HEADER_FUNCTIONS(64)
-
-/* truncatezeros() examines the bytes at the end of the file's
- * size-to-be, and reduces the size to exclude any trailing zero
- * bytes.
- */
-static int truncatezeros(int fd, unsigned long *newsize)
-{
- unsigned char contents[1024];
- unsigned long size, n;
-
- size = *newsize;
- do {
- n = sizeof contents;
- if (n > size)
- n = size;
- if (lseek(fd, size - n, SEEK_SET) == (off_t)-1)
- return ferr("cannot seek in file.");
- if (read(fd, contents, n) != (ssize_t)n)
- return ferr("cannot read file contents");
- while (n && !contents[--n])
- --size;
- } while (size && !n);
-
- /* Sanity check.
- */
- if (!size)
- return err("ELF file is completely blank!");
-
- *newsize = size;
- return TRUE;
-}
-
-/* main() loops over the cmdline arguments, leaving all the real work
- * to the other functions.
- */
-int main(int argc, char *argv[])
-{
- int fd;
- union {
- Elf32_Ehdr ehdr32;
- Elf64_Ehdr ehdr64;
- } e;
- union {
- Elf32_Phdr *phdrs32;
- Elf64_Phdr *phdrs64;
- } p;
- unsigned long newsize;
- char **arg;
- int failures = 0;
-
- if (argc < 2 || argv[1][0] == '-') {
- printf("Usage: sstrip FILE...\n"
- "sstrip discards all nonessential bytes from an executable.\n\n"
- "Version 2.0-X Copyright (C) 2000,2001 Brian Raiter.\n"
- "Cross-devel hacks Copyright (C) 2004 Manuel Novoa III.\n"
- "This program is free software, licensed under the GNU\n"
- "General Public License. There is absolutely no warranty.\n");
- return EXIT_SUCCESS;
- }
-
- progname = argv[0];
-
- for (arg = argv + 1 ; *arg != NULL ; ++arg) {
- filename = *arg;
-
- fd = open(*arg, O_RDWR);
- if (fd < 0) {
- ferr("can't open");
- ++failures;
- continue;
- }
-
- switch (readelfheaderident(fd, &e.ehdr32)) {
- case ELFCLASS32:
- if (!(readelfheader32(fd, &e.ehdr32) &&
- readphdrtable32(fd, &e.ehdr32, &p.phdrs32) &&
- getmemorysize32(&e.ehdr32, p.phdrs32, &newsize) &&
- truncatezeros(fd, &newsize) &&
- modifyheaders32(&e.ehdr32, p.phdrs32, newsize) &&
- commitchanges32(fd, &e.ehdr32, p.phdrs32, newsize)))
- ++failures;
- break;
- case ELFCLASS64:
- if (!(readelfheader64(fd, &e.ehdr64) &&
- readphdrtable64(fd, &e.ehdr64, &p.phdrs64) &&
- getmemorysize64(&e.ehdr64, p.phdrs64, &newsize) &&
- truncatezeros(fd, &newsize) &&
- modifyheaders64(&e.ehdr64, p.phdrs64, newsize) &&
- commitchanges64(fd, &e.ehdr64, p.phdrs64, newsize)))
- ++failures;
- break;
- default:
- ++failures;
- break;
- }
- close(fd);
- }
-
- return failures ? EXIT_FAILURE : EXIT_SUCCESS;
-}