+++ /dev/null
-ifneq ($(USE_LINUX_UCLIBC),true)
-#############################################################
-#
-# build binutils for use on the host system
-#
-#############################################################
-BINUTILS_SITE:=http://ftp.kernel.org/pub/linux/devel/binutils
-BINUTILS_SOURCE:=binutils-2.14.90.0.6.tar.bz2
-BINUTILS_DIR:=$(TOOL_BUILD_DIR)/binutils-2.14.90.0.6
-BINUTILS_CAT:=bzcat
-
-BINUTILS_DIR1:=$(TOOL_BUILD_DIR)/binutils-build
-
-$(DL_DIR)/$(BINUTILS_SOURCE):
- $(WGET) -P $(DL_DIR) $(BINUTILS_SITE)/$(BINUTILS_SOURCE)
-
-$(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE)
- mkdir -p $(TOOL_BUILD_DIR)
- mkdir -p $(DL_DIR)
- mkdir -p $(STAGING_DIR)
- mkdir -p $(STAGING_DIR)/lib/gcc-lib
- mkdir -p $(STAGING_DIR)/usr/bin;
- mkdir -p $(STAGING_DIR)/$(GNU_TARGET_NAME)/
- (cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../lib)
- (cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../include)
- (cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../include sys-include)
- $(BINUTILS_CAT) $(DL_DIR)/$(BINUTILS_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
- touch $(BINUTILS_DIR)/.unpacked
-
-$(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked
- # Apply any files named binutils-*.patch from the source directory to binutils
- $(SOURCE_DIR)/patch-kernel.sh $(BINUTILS_DIR) $(SOURCE_DIR) binutils-[0-9]*.patch
- touch $(BINUTILS_DIR)/.patched
-
-$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched
- mkdir -p $(BINUTILS_DIR1)
- (cd $(BINUTILS_DIR1); CC="$(HOSTCC)" \
- CC_FOR_HOST="$(HOSTCC)" \
- CXX_FOR_HOST="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- $(BINUTILS_DIR)/configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_HOST_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=$(STAGING_DIR) \
- --exec-prefix=$(STAGING_DIR) \
- --bindir=$(STAGING_DIR)/bin \
- --sbindir=$(STAGING_DIR)/sbin \
- --sysconfdir=$(STAGING_DIR)/etc \
- --datadir=$(STAGING_DIR)/share \
- --includedir=$(STAGING_DIR)/include \
- --libdir=$(STAGING_DIR)/lib \
- --localstatedir=$(STAGING_DIR)/var \
- --mandir=$(STAGING_DIR)/man \
- --infodir=$(STAGING_DIR)/info \
- --enable-targets=$(GNU_TARGET_NAME) \
- --with-sysroot=$(STAGING_DIR) \
- $(MULTILIB) \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- --program-prefix=$(ARCH)-linux-);
- touch $(BINUTILS_DIR1)/.configured
-
-$(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured
- $(MAKE) $(JLEVEL) CC_FOR_HOST="$(HOSTCC)" \
- CXX_FOR_HOST="$(HOSTCC)" LDFLAGS="$(HOSTLDFLAGS)" \
- -C $(BINUTILS_DIR1);
-
-$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR1)/binutils/objdump
- $(MAKE) $(JLEVEL) CC_FOR_HOST="$(HOSTCC)" \
- CXX_FOR_HOST="$(HOSTCC)" LDFLAGS="$(HOSTLDFLAGS)" \
- -C $(BINUTILS_DIR1) install;
- rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \
- $(STAGING_DIR)/share/locale
- mkdir -p $(STAGING_DIR)/usr/bin;
- set -e; \
- for app in addr2line ar as c++filt gprof ld nm objcopy \
- objdump ranlib readelf size strings strip ; \
- do \
- if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \
- (cd $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin; \
- ln -fs ../../bin/$(ARCH)-linux-$${app} $${app}; \
- ); \
- (cd $(STAGING_DIR)/usr/bin; \
- ln -fs ../../bin/$(ARCH)-linux-$${app} $${app}; \
- ); \
- fi; \
- done;
-
-$(STAGING_DIR)/lib/libg.a:
- mkdir -p $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin
- mkdir -p $(STAGING_DIR)/usr/include/
- mkdir -p $(STAGING_DIR)/usr/lib/
- $(TARGET_CROSS)ar rv $(STAGING_DIR)/lib/libg.a;
- cp $(BINUTILS_DIR)/include/ansidecl.h $(STAGING_DIR)/usr/include/
- cp $(BINUTILS_DIR)/include/bfdlink.h $(STAGING_DIR)/usr/include/
- cp $(BINUTILS_DIR)/include/dis-asm.h $(STAGING_DIR)/usr/include/
- cp $(BINUTILS_DIR)/include/libiberty.h $(STAGING_DIR)/usr/include/
- cp $(BINUTILS_DIR)/include/symcat.h $(STAGING_DIR)/usr/include/
- cp $(BINUTILS_DIR1)/bfd/bfd.h $(STAGING_DIR)/usr/include/
- cp -a $(BINUTILS_DIR1)/bfd/.libs/* $(STAGING_DIR)/usr/lib/
- cp -a $(BINUTILS_DIR1)/opcodes/.libs/* $(STAGING_DIR)/usr/lib/
- cp -a $(BINUTILS_DIR1)/libiberty/libiberty.a $(STAGING_DIR)/usr/lib/
-
-binutils: $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld $(STAGING_DIR)/lib/libg.a
-
-binutils-source: $(DL_DIR)/$(BINUTILS_SOURCE)
-
-binutils-clean:
- rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)*
- -$(MAKE) -C $(BINUTILS_DIR1) clean
-
-binutils-dirclean:
- rm -rf $(BINUTILS_DIR1)
-
-
-
-#############################################################
-#
-# build binutils for use on the target system
-#
-#############################################################
-BINUTILS_DIR2:=$(BUILD_DIR)/binutils-target
-$(BINUTILS_DIR2)/.configured: $(BINUTILS_DIR)/.patched
- mkdir -p $(BINUTILS_DIR2)
- mkdir -p $(TARGET_DIR)/usr/include
- mkdir -p $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/
- (cd $(BINUTILS_DIR2); \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS)" \
- CC_FOR_BUILD="$(HOSTCC)" \
- CXX_FOR_BUILD="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- AR_FOR_TARGET=$(TARGET_CROSS)ar \
- AS_FOR_TARGET=$(TARGET_CROSS)as \
- LD_FOR_TARGET=$(TARGET_CROSS)ld \
- NM_FOR_TARGET=$(TARGET_CROSS)nm \
- CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
- GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
- CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \
- RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
- $(BINUTILS_DIR)/configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(ARCH)-linux \
- --prefix=/usr \
- --mandir=/usr/man \
- --infodir=/usr/info \
- $(MULTILIB) \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- );
- touch $(BINUTILS_DIR2)/.configured
-
-$(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured
- $(MAKE) $(JLEVEL) -C $(BINUTILS_DIR2) \
- CC_FOR_BUILD="$(HOSTCC)" \
- CXX_FOR_BUILD="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- AR_FOR_TARGET=$(TARGET_CROSS)ar \
- AS_FOR_TARGET=$(TARGET_CROSS)as \
- LD_FOR_TARGET=$(TARGET_CROSS)ld \
- NM_FOR_TARGET=$(TARGET_CROSS)nm \
- CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
- GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
- CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \
- RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib
- touch -c $(BINUTILS_DIR2)/binutils/objdump
-
-$(TARGET_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/binutils/objdump
- $(MAKE) $(JLEVEL) -C $(BINUTILS_DIR2) \
- CC_FOR_BUILD="$(HOSTCC)" \
- CXX_FOR_BUILD="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- AR_FOR_TARGET=$(TARGET_CROSS)ar \
- AS_FOR_TARGET=$(TARGET_CROSS)as \
- LD_FOR_TARGET=$(TARGET_CROSS)ld \
- NM_FOR_TARGET=$(TARGET_CROSS)nm \
- CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
- GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \
- CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \
- RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
- prefix=/usr \
- infodir=/usr/info \
- mandir=/usr/man \
- DESTDIR=$(TARGET_DIR) install
- rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
- $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
- -$(STRIP) $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/bin/* > /dev/null 2>&1
- -$(STRIP) $(TARGET_DIR)/usr/bin/* > /dev/null 2>&1
-
-$(TARGET_DIR)/usr/lib/libg.a:
- $(TARGET_CROSS)ar rv $(TARGET_DIR)/usr/lib/libg.a;
- cp $(BINUTILS_DIR)/include/ansidecl.h $(TARGET_DIR)/usr/include/
- cp $(BINUTILS_DIR)/include/bfdlink.h $(TARGET_DIR)/usr/include/
- cp $(BINUTILS_DIR)/include/dis-asm.h $(TARGET_DIR)/usr/include/
- cp $(BINUTILS_DIR)/include/libiberty.h $(TARGET_DIR)/usr/include/
- cp $(BINUTILS_DIR)/include/symcat.h $(TARGET_DIR)/usr/include/
- cp $(BINUTILS_DIR2)/bfd/bfd.h $(TARGET_DIR)/usr/include/
- cp -a $(BINUTILS_DIR2)/bfd/.libs/* $(TARGET_DIR)/usr/lib/
- cp -a $(BINUTILS_DIR2)/opcodes/.libs/* $(TARGET_DIR)/usr/lib/
- cp -a $(BINUTILS_DIR2)/libiberty/libiberty.a $(TARGET_DIR)/usr/lib/
-
-binutils_target: $(GCC_DEPENDANCY) $(TARGET_DIR)/usr/bin/ld $(TARGET_DIR)/usr/lib/libg.a
-
-binutils_target-clean:
- rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)*
- -$(MAKE) -C $(BINUTILS_DIR2) clean
-
-binutils_target-dirclean:
- rm -rf $(BINUTILS_DIR2)
-
-endif #ifneq ($(USE_LINUX_UCLIBC),true)
+++ /dev/null
-# Makefile for to build a gcc/uClibc toolchain
-#
-# Copyright (C) 2002-2003 Erik Andersen <andersen@uclibc.org>
-#
-# 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
-
-ifneq ($(USE_LINUX_UCLIBC),true)
-ifeq ($(GCC_2_95_TOOLCHAIN),true)
-
-GCC_SITE:=http://www.uclibc.org/downloads/toolchain
-GCC_SOURCE:=gcc-20011006.tar.bz2
-GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-20011006
-GCC_CAT:=bzcat
-
-STLPORT_SITE=http://www.stlport.org/archive
-STLPORT_SOURCE=STLport-4.5.3.tar.gz
-STLPORT_DIR=$(TOOL_BUILD_DIR)/STLport-4.5.3
-
-
-
-#############################################################
-#
-# Setup some initial stuff
-#
-#############################################################
-ifeq ($(INSTALL_LIBSTDCPP),true)
-TARGET_LANGUAGES:=c,c++
-STLPORT_TARGET=stlport
-else
-TARGET_LANGUAGES:=c
-STLPORT_TARGET=
-endif
-
-#############################################################
-#
-# Next build first pass gcc compiler
-#
-#############################################################
-GCC_BUILD_DIR1:=$(TOOL_BUILD_DIR)/gcc-2.95-initial
-
-$(DL_DIR)/$(GCC_SOURCE):
- $(WGET) -P $(DL_DIR) $(GCC_SITE)/$(GCC_SOURCE)
-
-$(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
- $(GCC_CAT) $(DL_DIR)/$(GCC_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
- touch $(GCC_DIR)/.unpacked
-
-$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
- # Apply any files named gcc-*.patch from the source directory to gcc
- $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) $(SOURCE_DIR) gcc2.95-mega.patch.bz2
- touch $(GCC_DIR)/.patched
-
-$(GCC_DIR)/.gcc2_95_build_hacks: $(GCC_DIR)/.patched
- #
- # Hack things to use the correct shared lib loader
- #
- (cd $(GCC_DIR); set -e; export LIST=`grep -lr -- "-dynamic-linker.*\.so[\.0-9]*" *`;\
- if [ -n "$$LIST" ] ; then \
- $(SED) "s,-dynamic-linker.*\.so[\.0-9]*},\
- -dynamic-linker /lib/ld-uClibc.so.0},;" $$LIST; fi);
- #
- # Prevent system glibc start files from leaking in uninvited...
- #
- $(SED) "s,standard_startfile_prefix_1 = \".*,standard_startfile_prefix_1 =\
- \"$(STAGING_DIR)/lib/\";,;" $(GCC_DIR)/gcc/gcc.c;
- $(SED) "s,standard_startfile_prefix_2 = \".*,standard_startfile_prefix_2 =\
- \"$(STAGING_DIR)/usr/lib/\";,;" $(GCC_DIR)/gcc/gcc.c;
- #
- # Prevent system glibc include files from leaking in uninvited...
- #
- $(SED) "s,^NATIVE_SYSTEM_HEADER_DIR.*,NATIVE_SYSTEM_HEADER_DIR=\
- $(STAGING_DIR)/include,;" $(GCC_DIR)/gcc/Makefile.in;
- $(SED) "s,^CROSS_SYSTEM_HEADER_DIR.*,CROSS_SYSTEM_HEADER_DIR=\
- $(STAGING_DIR)/include,;" $(GCC_DIR)/gcc/Makefile.in;
- $(SED) "s,^#define.*STANDARD_INCLUDE_DIR.*,#define STANDARD_INCLUDE_DIR \
- \"$(STAGING_DIR)/include\",;" $(GCC_DIR)/gcc/cppdefault.h;
- #
- # Prevent system glibc libraries from being found by collect2
- # when it calls locatelib() and rummages about the system looking
- # for libraries with the correct name...
- #
- $(SED) "s,\"/lib,\"$(STAGING_DIR)/lib,g;" $(GCC_DIR)/gcc/collect2.c
- $(SED) "s,\"/usr/,\"$(STAGING_DIR)/usr/,g;" $(GCC_DIR)/gcc/collect2.c
- #
- # Prevent gcc from using the unwind-dw2-fde-glibc code
- #
- $(SED) "s,^#ifndef inhibit_libc,#define inhibit_libc\n\
- #ifndef inhibit_libc,g;" $(GCC_DIR)/gcc/unwind-dw2-fde-glibc.c;
- #
- # Use atexit() directly, rather than cxa_atexit
- #
- $(SED) "s,int flag_use_cxa_atexit = 1;,int flag_use_cxa_atexit = 0;,g;"\
- $(GCC_DIR)/gcc/cp/decl2.c;
- #
- # We do not wish to build the libstdc++ library provided with gcc,
- # since it doesn't seem to work at all with uClibc plus gcc 2.95...
- #
- mv $(GCC_DIR)/libstdc++ $(GCC_DIR)/libstdc++.orig
- mv $(GCC_DIR)/libio $(GCC_DIR)/libio.orig
- touch $(GCC_DIR)/.gcc2_95_build_hacks
-
-# 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)/.gcc2_95_build_hacks
- mkdir -p $(GCC_BUILD_DIR1)
- (cd $(GCC_BUILD_DIR1); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \
- RANLIB=$(TARGET_CROSS)ranlib CC=$(HOSTCC) \
- $(GCC_DIR)/configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_HOST_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=$(STAGING_DIR) \
- --exec-prefix=$(STAGING_DIR) \
- --bindir=$(STAGING_DIR)/bin \
- --sbindir=$(STAGING_DIR)/sbin \
- --sysconfdir=$(STAGING_DIR)/etc \
- --datadir=$(STAGING_DIR)/share \
- --includedir=$(STAGING_DIR)/include \
- --libdir=$(STAGING_DIR)/lib \
- --localstatedir=$(STAGING_DIR)/var \
- --mandir=$(STAGING_DIR)/man \
- --infodir=$(STAGING_DIR)/info \
- --with-local-prefix=$(STAGING_DIR)/usr/local \
- --oldincludedir=$(STAGING_DIR)/include $(MULTILIB) \
- --enable-target-optspace $(DISABLE_NLS) --with-gnu-ld \
- --disable-shared --enable-languages=c --disable-__cxa_atexit \
- $(EXTRA_GCC_CONFIG_OPTIONS) --program-prefix=$(ARCH)-uclibc-);
- touch $(GCC_BUILD_DIR1)/.configured
-
-$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) \
- AR_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-uclibc-ar \
- RANLIB_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-uclibc-ranlib
- touch $(GCC_BUILD_DIR1)/.compiled
-
-$(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc: $(GCC_BUILD_DIR1)/.compiled
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install;
- #Cleanup then mess when --program-prefix mysteriously fails
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-uclibc-cpp
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc
- rm -f $(STAGING_DIR)/bin/gccbug $(STAGING_DIR)/bin/gcov
- rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \
- $(STAGING_DIR)/share/locale
-
-gcc2_95_initial: binutils $(UCLIBC_DIR)/.configured $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc
-
-gcc2_95_initial-clean:
- rm -rf $(GCC_BUILD_DIR1)
- rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)*
-
-gcc2_95_initial-dirclean:
- rm -rf $(GCC_BUILD_DIR1)
-
-
-
-#############################################################
-#
-# STLport -- an alternative C++ library
-#
-#############################################################
-STLPORT_PATCH=$(SOURCE_DIR)/STLport-4.5.3.patch
-
-$(DL_DIR)/$(STLPORT_SOURCE):
- $(WGET) -P $(DL_DIR) $(STLPORT_SITE)/$(STLPORT_SOURCE)
-
-$(STLPORT_DIR)/Makefile: $(DL_DIR)/$(STLPORT_SOURCE) $(STLPORT_PATCH)
- zcat $(DL_DIR)/$(STLPORT_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
- cat $(STLPORT_PATCH) | patch -d $(STLPORT_DIR) -p1
-
-$(STLPORT_DIR)/lib/libstdc++.a: $(STLPORT_DIR)/Makefile
- $(MAKE) ARCH=$(ARCH) PREFIX=$(STAGING_DIR) -C $(STLPORT_DIR)
-
-$(STAGING_DIR)/lib/libstdc++.a: $(STLPORT_DIR)/lib/libstdc++.a
- $(MAKE) ARCH=$(ARCH) PREFIX=$(STAGING_DIR) -C $(STLPORT_DIR) install
-ifneq ($(HAS_MMU),true)
- rm -f $(STAGING_DIR)/lib/libstdc++*.so*
-endif
-
-stlport: $(STAGING_DIR)/lib/libstdc++.a
-
-stlport-source: $(DL_DIR)/$(STLPORT_SOURCE)
-
-stlport-clean:
- rm -f $(STAGING_DIR)/lib/libstdc++*
- rm -f $(STAGING_DIR)/include/c++*
- -$(MAKE) -C $(STLPORT_DIR) clean
-
-stlport-dirclean:
- rm -f $(STAGING_DIR)/lib/libstdc++*
- rm -f $(STAGING_DIR)/include/g++-v3*
- rm -rf $(STLPORT_DIR)
-
-
-
-#############################################################
-#
-# second pass compiler build. Build the compiler targeting
-# the newly built shared uClibc library.
-#
-#############################################################
-GCC_BUILD_DIR2:=$(TOOL_BUILD_DIR)/gcc-2.95-final
-$(GCC_DIR)/.g++_build_hacks: $(GCC_DIR)/.patched
- touch $(GCC_DIR)/.g++_build_hacks
-
-$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.g++_build_hacks
- mkdir -p $(GCC_BUILD_DIR2)
- (cd $(GCC_BUILD_DIR2); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \
- RANLIB=$(TARGET_CROSS)ranlib LD=$(TARGET_CROSS)ld \
- NM=$(TARGET_CROSS)nm CC=$(HOSTCC) \
- $(GCC_DIR)/configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_HOST_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=$(STAGING_DIR) \
- --exec-prefix=$(STAGING_DIR) \
- --bindir=$(STAGING_DIR)/bin \
- --sbindir=$(STAGING_DIR)/sbin \
- --sysconfdir=$(STAGING_DIR)/etc \
- --datadir=$(STAGING_DIR)/share \
- --localstatedir=$(STAGING_DIR)/var \
- --mandir=$(STAGING_DIR)/man \
- --infodir=$(STAGING_DIR)/info \
- --with-local-prefix=$(STAGING_DIR)/usr/local \
- --libdir=$(STAGING_DIR)/lib \
- --includedir=$(STAGING_DIR)/include \
- --with-gxx-include-dir=$(STAGING_DIR)/include/c++ \
- --oldincludedir=$(STAGING_DIR)/include \
- --enable-shared $(MULTILIB) \
- --enable-target-optspace $(DISABLE_NLS) \
- --with-gnu-ld --disable-__cxa_atexit \
- --enable-languages=$(TARGET_LANGUAGES) \
- $(EXTRA_GCC_CONFIG_OPTIONS) \
- --program-prefix=$(ARCH)-uclibc- \
- );
- touch $(GCC_BUILD_DIR2)/.configured
-
-$(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
- PATH=$(TARGET_PATH) CC=$(HOSTCC) \
- AR_FOR_TARGET=$(TARGET_CROSS)ar RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
- LD_FOR_TARGET=$(TARGET_CROSS)ld NM_FOR_TARGET=$(TARGET_CROSS)nm \
- CC_FOR_TARGET=$(TARGET_CROSS)gcc $(MAKE) -C $(GCC_BUILD_DIR2)
- touch $(GCC_BUILD_DIR2)/.compiled
-
-$(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled
- touch $(GCC_BUILD_DIR2)/.installed
-
-$(STAGING_DIR)/bin/$(ARCH)-uclibc-g++: $(GCC_BUILD_DIR2)/.compiled
- PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install;
- -mv $(STAGING_DIR)/bin/gcc $(STAGING_DIR)/usr/bin;
- -mv $(STAGING_DIR)/bin/protoize $(STAGING_DIR)/usr/bin;
- -mv $(STAGING_DIR)/bin/unprotoize $(STAGING_DIR)/usr/bin;
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-uclibc-cpp
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++ $(STAGING_DIR)/bin/$(ARCH)-uclibc-c++
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-g++ $(STAGING_DIR)/bin/$(ARCH)-uclibc-g++
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++filt $(STAGING_DIR)/bin/$(ARCH)-uclibc-c++filt
- rm -f $(STAGING_DIR)/bin/cpp $(STAGING_DIR)/bin/gcov $(STAGING_DIR)/bin/*gccbug
- rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-$(ARCH)-uclibc-*
- rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \
- $(STAGING_DIR)/share/locale
- # Strip the host binaries
- -strip --strip-all -R .note -R .comment $(STAGING_DIR)/bin/*
- set -e; \
- for app in cc gcc c89 cpp c++ g++ ; do \
- if [ -x $(STAGING_DIR)/bin/$(ARCH)-uclibc-$${app} ] ; then \
- (cd $(STAGING_DIR)/usr/bin; \
- ln -fs ../../bin/$(ARCH)-uclibc-$${app} $${app}; \
- ); \
- fi; \
- done;
-
-gcc2_95: binutils uclibc-configured gcc2_95_initial uclibc \
- $(STAGING_DIR)/bin/$(ARCH)-uclibc-g++ $(STLPORT_TARGET)
-
-gcc2_95-source: $(DL_DIR)/$(GCC_SOURCE)
-
-gcc2_95-clean:
- rm -rf $(GCC_BUILD_DIR2)
- rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)*
-
-gcc2_95-dirclean:
- rm -rf $(GCC_BUILD_DIR2)
-
-endif
-endif #ifneq ($(USE_LINUX_UCLIBC),true)
+++ /dev/null
-# Makefile for to build a gcc/uClibc toolchain
-#
-# Copyright (C) 2002-2003 Erik Andersen <andersen@uclibc.org>
-#
-# 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
-
-ifneq ($(USE_LINUX_UCLIBC),true)
-ifneq ($(GCC_2_95_TOOLCHAIN),true)
-
-# Older stuff...
-#GCC_SITE:=ftp://ftp.gnu.org/gnu/gcc/
-#GCC_SOURCE:=gcc-3.3.tar.gz
-#GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-3.3
-#GCC_CAT:=zcat
-
-# Shiny new stuff...
-GCC_VERSION:=3.3.2
-#GCC_SITE:=ftp://ftp.gnu.org/gnu/gcc/gcc-$(GCC_VERSION)
-#GCC_SITE:=http://www.binarycode.org/gcc/releases/gcc-$(GCC_VERSION)
-GCC_SITE:=http://gcc.get-software.com/releases/gcc-$(GCC_VERSION)
-
-#
-# snapshots....
-#GCC_VERSION:=3.3-20031013
-#GCC_SITE:=http://gcc.get-software.com/snapshots/$(GCC_VERSION)
-#
-GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2
-GCC_DIR:=$(TOOL_BUILD_DIR)/gcc-$(GCC_VERSION)
-GCC_CAT:=bzcat
-
-#############################################################
-#
-# Setup some initial stuff
-#
-#############################################################
-
-ifeq ($(INSTALL_LIBSTDCPP),true)
-TARGET_LANGUAGES:=c,c++
-else
-TARGET_LANGUAGES:=c
-endif
-
-#############################################################
-#
-# build the first pass gcc compiler
-#
-#############################################################
-GCC_BUILD_DIR1:=$(TOOL_BUILD_DIR)/gcc-3.3-initial
-
-$(DL_DIR)/$(GCC_SOURCE):
- $(WGET) -P $(DL_DIR) $(GCC_SITE)/$(GCC_SOURCE)
-
-$(GCC_DIR)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
- $(GCC_CAT) $(DL_DIR)/$(GCC_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
- touch $(GCC_DIR)/.unpacked
-
-$(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
- # Apply any files named gcc-*.patch from the source directory to gcc
- $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) $(SOURCE_DIR) gcc-[0-9]*.patch
-ifeq ($(SOFT_FLOAT),true)
-ifeq ("$(strip $(ARCH))","i386")
- $(SOURCE_DIR)/patch-kernel.sh $(GCC_DIR) $(SOURCE_DIR) i386-gcc-soft-float.patch
-endif
-endif
- touch $(GCC_DIR)/.patched
-
-$(GCC_DIR)/.gcc3_3_build_hacks: $(GCC_DIR)/.patched
- #
- # Hack things to use the correct shared lib loader
- #
- (cd $(GCC_DIR); set -e; export LIST=`grep -lr -- "-dynamic-linker.*\.so[\.0-9]*" *`;\
- if [ -n "$$LIST" ] ; then \
- $(SED) "s,-dynamic-linker.*\.so[\.0-9]*},\
- -dynamic-linker /lib/ld-uClibc.so.0},;" $$LIST; fi);
- #
- # Prevent gcc from using the unwind-dw2-fde-glibc code used for
- # unwinding stack frames for C++ exception handling. The
- # unwind-dw2-fde-glibc code depends on glibc's ldso, we want to
- # use the generic version instead.
- #
- $(SED) "s,^#ifndef inhibit_libc,#define inhibit_libc\n\
- #ifndef inhibit_libc,g;" $(GCC_DIR)/gcc/unwind-dw2-fde-glibc.c;
- #
- # Prevent system glibc start files from leaking in uninvited...
- #
- $(SED) "s,standard_startfile_prefix_1 = \".*,standard_startfile_prefix_1 =\
- \"$(STAGING_DIR)/lib/\";,;" $(GCC_DIR)/gcc/gcc.c;
- $(SED) "s,standard_startfile_prefix_2 = \".*,standard_startfile_prefix_2 =\
- \"$(STAGING_DIR)/usr/lib/\";,;" $(GCC_DIR)/gcc/gcc.c;
- #
- # Prevent system glibc include files from leaking in uninvited...
- #
- $(SED) "s,^NATIVE_SYSTEM_HEADER_DIR.*,NATIVE_SYSTEM_HEADER_DIR=\
- $(STAGING_DIR)/include,;" $(GCC_DIR)/gcc/Makefile.in;
- $(SED) "s,^CROSS_SYSTEM_HEADER_DIR.*,CROSS_SYSTEM_HEADER_DIR=\
- $(STAGING_DIR)/include,;" $(GCC_DIR)/gcc/Makefile.in;
- $(SED) "s,^#define.*STANDARD_INCLUDE_DIR.*,#define STANDARD_INCLUDE_DIR \
- \"$(STAGING_DIR)/include\",;" $(GCC_DIR)/gcc/cppdefault.h;
- #
- # Prevent system glibc libraries from being found by collect2
- # when it calls locatelib() and rummages about the system looking
- # for libraries with the correct name...
- #
- $(SED) "s,\"/lib,\"$(STAGING_DIR)/lib,g;" $(GCC_DIR)/gcc/collect2.c
- $(SED) "s,\"/usr/,\"$(STAGING_DIR)/usr/,g;" $(GCC_DIR)/gcc/collect2.c
- touch $(GCC_DIR)/.gcc3_3_build_hacks
-
-# 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)/.gcc3_3_build_hacks
- mkdir -p $(GCC_BUILD_DIR1)
- echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR1)/gcc/xgcc -B$(GCC_BUILD_DIR1)/gcc/ -B$(STAGING_DIR)/$(ARCH)-linux/bin/ -B$(STAGING_DIR)/$(ARCH)-linux/lib/ -isystem $(STAGING_DIR)/$(ARCH)-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR1)/target_gcc
- chmod a+x $(GCC_BUILD_DIR1)/target_gcc
- (cd $(GCC_BUILD_DIR1); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \
- RANLIB=$(TARGET_CROSS)ranlib \
- CC="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- gcc_cv_as_hidden=no \
- $(GCC_DIR)/configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_HOST_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=$(STAGING_DIR) \
- --exec-prefix=$(STAGING_DIR) \
- --bindir=$(STAGING_DIR)/bin \
- --sbindir=$(STAGING_DIR)/sbin \
- --sysconfdir=$(STAGING_DIR)/etc \
- --datadir=$(STAGING_DIR)/share \
- --includedir=$(STAGING_DIR)/include \
- --libdir=$(STAGING_DIR)/lib \
- --localstatedir=$(STAGING_DIR)/var \
- --mandir=$(STAGING_DIR)/man \
- --infodir=$(STAGING_DIR)/info \
- --with-local-prefix=$(STAGING_DIR)/usr/local \
- --oldincludedir=$(STAGING_DIR)/include $(MULTILIB) \
- --enable-target-optspace $(DISABLE_NLS) --with-gnu-ld \
- --disable-shared --enable-languages=c --disable-__cxa_atexit \
- $(SOFT_FLOAT_CONFIG_OPTION) \
- $(EXTRA_GCC_CONFIG_OPTIONS) --program-prefix=$(ARCH)-linux-);
- touch $(GCC_BUILD_DIR1)/.configured
-
-$(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
- PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) -C $(GCC_BUILD_DIR1) \
- CC="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- AR_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-linux-ar \
- RANLIB_FOR_TARGET=$(STAGING_DIR)/bin/$(ARCH)-linux-ranlib \
- CC_FOR_TARGET=$(GCC_BUILD_DIR1)/target_gcc \
- GCC_FOR_TARGET=$(GCC_BUILD_DIR1)/target_gcc
- touch $(GCC_BUILD_DIR1)/.compiled
-
-$(STAGING_DIR)/bin/$(ARCH)-linux-gcc: $(GCC_BUILD_DIR1)/.compiled
- PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) \
- CC="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- -C $(GCC_BUILD_DIR1) install;
- #Cleanup then mess when --program-prefix mysteriously fails
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-linux-cpp
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-linux-gcc
- if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \
- for app in gcc c++ g++ ; do \
- if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \
- (cd $(STAGING_DIR)/bin; \
- rm -f $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
- echo -e "#!/bin/sh\nexec $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} -msoft-float \$$@" > $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
- chmod a+x $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
- ); \
- fi; \
- done; \
- fi; \
- rm -f $(STAGING_DIR)/bin/gccbug $(STAGING_DIR)/bin/gcov
- rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \
- $(STAGING_DIR)/share/locale
-
-gcc3_3_initial: binutils uclibc-configured $(STAGING_DIR)/bin/$(ARCH)-linux-gcc
-
-gcc3_3_initial-clean:
- rm -rf $(GCC_BUILD_DIR1)
- rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)*
-
-gcc3_3_initial-dirclean:
- rm -rf $(GCC_BUILD_DIR1)
-
-#############################################################
-#
-# second pass compiler build. Build the compiler targeting
-# the newly built shared uClibc library.
-#
-#############################################################
-GCC_BUILD_DIR2:=$(TOOL_BUILD_DIR)/gcc-3.3-final
-$(GCC_BUILD_DIR2)/.configured: $(GCC_DIR)/.patched
- mkdir -p $(GCC_BUILD_DIR2)
- echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR2)/gcc/xgcc -B$(GCC_BUILD_DIR2)/gcc/ -B$(STAGING_DIR)/$(ARCH)-linux/bin/ -B$(STAGING_DIR)/$(ARCH)-linux/lib/ -isystem $(STAGING_DIR)/$(ARCH)-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR2)/target_g++
- chmod a+x $(GCC_BUILD_DIR2)/target_g++
- echo -e "#!/bin/sh\nexec $(GCC_BUILD_DIR2)/gcc/xgcc -B$(GCC_BUILD_DIR2)/gcc/ -B$(STAGING_DIR)/$(ARCH)-linux/bin/ -B$(STAGING_DIR)/$(ARCH)-linux/lib/ -isystem $(STAGING_DIR)/$(ARCH)-linux/include $(TARGET_SOFT_FLOAT) \$$@" > $(GCC_BUILD_DIR2)/target_gcc
- chmod a+x $(GCC_BUILD_DIR2)/target_gcc
- (cd $(GCC_BUILD_DIR2); PATH=$(TARGET_PATH) AR=$(TARGET_CROSS)ar \
- RANLIB=$(TARGET_CROSS)ranlib LD=$(TARGET_CROSS)ld \
- NM=$(TARGET_CROSS)nm \
- CC="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- gcc_cv_as_hidden=no \
- $(GCC_DIR)/configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_HOST_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=$(STAGING_DIR) \
- --exec-prefix=$(STAGING_DIR) \
- --bindir=$(STAGING_DIR)/bin \
- --sbindir=$(STAGING_DIR)/sbin \
- --sysconfdir=$(STAGING_DIR)/etc \
- --datadir=$(STAGING_DIR)/share \
- --localstatedir=$(STAGING_DIR)/var \
- --mandir=$(STAGING_DIR)/man \
- --infodir=$(STAGING_DIR)/info \
- --with-local-prefix=$(STAGING_DIR)/usr/local \
- --libdir=$(STAGING_DIR)/lib \
- --includedir=$(STAGING_DIR)/include \
- --with-gxx-include-dir=$(STAGING_DIR)/include/c++ \
- --oldincludedir=$(STAGING_DIR)/include \
- --enable-shared $(MULTILIB) \
- --enable-target-optspace $(DISABLE_NLS) \
- --with-gnu-ld --disable-__cxa_atexit \
- --enable-languages=$(TARGET_LANGUAGES) \
- $(EXTRA_GCC_CONFIG_OPTIONS) \
- --program-prefix=$(ARCH)-linux- \
- );
- touch $(GCC_BUILD_DIR2)/.configured
-
-$(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
- PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) \
- CC="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- AR_FOR_TARGET=$(TARGET_CROSS)ar RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \
- LD_FOR_TARGET=$(TARGET_CROSS)ld NM_FOR_TARGET=$(TARGET_CROSS)nm \
- CC_FOR_TARGET=$(GCC_BUILD_DIR2)/target_gcc \
- GCC_FOR_TARGET=$(GCC_BUILD_DIR2)/target_gcc \
- CXX_FOR_TARGET=$(GCC_BUILD_DIR2)/target_g++ \
- -C $(GCC_BUILD_DIR2)
- touch $(GCC_BUILD_DIR2)/.compiled
-
-$(GCC_BUILD_DIR2)/.installed: $(GCC_BUILD_DIR2)/.compiled $(STAGING_DIR)/lib/libc.a
- PATH=$(TARGET_PATH) $(MAKE) $(JLEVEL) \
- CC="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- -C $(GCC_BUILD_DIR2) install;
- -mv $(STAGING_DIR)/bin/gcc $(STAGING_DIR)/usr/bin;
- -mv $(STAGING_DIR)/bin/protoize $(STAGING_DIR)/usr/bin;
- -mv $(STAGING_DIR)/bin/unprotoize $(STAGING_DIR)/usr/bin;
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-cpp $(STAGING_DIR)/bin/$(ARCH)-linux-cpp
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-gcc $(STAGING_DIR)/bin/$(ARCH)-linux-gcc
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++ $(STAGING_DIR)/bin/$(ARCH)-linux-c++
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-g++ $(STAGING_DIR)/bin/$(ARCH)-linux-g++
- -mv $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-c++filt $(STAGING_DIR)/bin/$(ARCH)-linux-c++filt
- rm -f $(STAGING_DIR)/bin/cpp $(STAGING_DIR)/bin/gcov $(STAGING_DIR)/bin/*gccbug
- rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-$(ARCH)-linux-*
- rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \
- $(STAGING_DIR)/share/locale
- # Strip the host binaries
- -strip --strip-all -R .note -R .comment $(STAGING_DIR)/bin/*
- if [ -n "$(strip $(TARGET_SOFT_FLOAT))" ] ; then \
- for app in gcc c++ g++ ; do \
- if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \
- (cd $(STAGING_DIR)/bin; \
- rm -f $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
- echo -e "#!/bin/sh\nexec $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} -msoft-float \$$@" > $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
- chmod a+x $(ARCH)-linux-$${app}$(TARGET_SOFT_FLOAT); \
- ); \
- fi; \
- done; \
- fi; \
- set -e; \
- for app in cc gcc c89 cpp c++ g++ ; do \
- if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \
- (cd $(STAGING_DIR)/usr/bin; \
- ln -fs ../../bin/$(ARCH)-linux-$${app} $${app}; \
- ); \
- fi; \
- done;
- touch $(GCC_BUILD_DIR2)/.installed
-
-ifneq ($(TARGET_DIR),)
-$(TARGET_DIR)/lib/libstdc++.so.5.0.5: $(GCC_BUILD_DIR2)/.installed
- cp -a $(STAGING_DIR)/lib/libstdc++.so* $(TARGET_DIR)/lib/
-
-$(GCC_BUILD_DIR2)/.shared_libgcc: $(GCC_BUILD_DIR2)/.installed
- # Make sure a copy of libgcc_s is in the target's /lib.
- if [ -f $(STAGING_DIR)/lib/libgcc_s.so.0.9.9 ] ; then \
- cp -a $(STAGING_DIR)/lib/libgcc_s.so* $(TARGET_DIR)/lib/ ; \
- fi
- touch $(GCC_BUILD_DIR2)/.shared_libgcc
-
-GCC_TARGETS:=$(GCC_BUILD_DIR2)/.shared_libgcc
-ifeq ($(INSTALL_LIBSTDCPP),true)
-GCC_TARGETS+=$(TARGET_DIR)/lib/libstdc++.so.5.0.5
-endif
-
-endif
-
-gcc3_3: binutils uclibc-configured gcc3_3_initial $(LIBFLOAT_TARGET) uclibc \
- $(GCC_BUILD_DIR2)/.installed $(GCC_TARGETS)
-
-gcc3_3-source: $(DL_DIR)/$(GCC_SOURCE)
-
-gcc3_3-clean:
- rm -rf $(GCC_BUILD_DIR2)
- rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)*
-
-gcc3_3-dirclean:
- rm -rf $(GCC_BUILD_DIR2)
-
-#############################################################
-#
-# Next build target gcc compiler
-#
-#############################################################
-GCC_BUILD_DIR3:=$(BUILD_DIR)/gcc-3.3-target
-
-TARGET_GCC_ARGS= $(TARGET_CONFIGURE_OPTS) \
- AR_FOR_BUILD=ar \
- AS_FOR_BUILD=as \
- LD_FOR_BUILD=ld \
- NM_FOR_BUILD=nm \
- RANLIB_FOR_BUILD=ranlib \
- CC="$(HOSTCC)" \
- LDFLAGS="$(HOSTLDFLAGS)" \
- CC_FOR_BUILD="$(HOSTCC)" \
- GCC_FOR_BUILD="$(HOSTCC)" \
- CXX_FOR_BUILD="$(HOSTCC)" \
- AR_FOR_TARGET=$(TARGET_CROSS)ar \
- AS_FOR_TARGET=$(TARGET_CROSS)as \
- LD_FOR_TARGET=$(TARGET_CROSS)ld \
- NM_FOR_TARGET=$(TARGET_CROSS)nm \
- CC="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
- GCC="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
- CXX="$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
- CC_FOR_TARGET="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
- GCC_FOR_TARGET="$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
- CXX_FOR_TARGET="$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) -isystem $(STAGING_DIR)/include" \
- RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib
-
-# We need to unpack a pristine source tree to avoid some of
-# the previously applied hacks, which do not apply here...
-$(GCC_BUILD_DIR3)/.unpacked: $(DL_DIR)/$(GCC_SOURCE)
- $(GCC_CAT) $(DL_DIR)/$(GCC_SOURCE) | tar -C $(BUILD_DIR) -xvf -
- mv $(BUILD_DIR)/gcc-$(GCC_VERSION) $(GCC_BUILD_DIR3)
- touch $(GCC_BUILD_DIR3)/.unpacked
-
-$(GCC_BUILD_DIR3)/.patched: $(GCC_BUILD_DIR3)/.unpacked
- # Apply any files named gcc-*.patch from the source directory to gcc
- $(SOURCE_DIR)/patch-kernel.sh $(GCC_BUILD_DIR3) $(SOURCE_DIR) gcc-[0-9]**.patch
-ifeq ("$(strip $(ARCH))","i386")
- $(SOURCE_DIR)/patch-kernel.sh $(GCC_BUILD_DIR3) $(SOURCE_DIR) i386-gcc-*.patch
-endif
- touch $(GCC_BUILD_DIR3)/.patched
-
-$(GCC_BUILD_DIR3)/.gcc3_3_build_hacks: $(GCC_BUILD_DIR3)/.patched
- #
- # Hack things to use the correct shared lib loader
- #
- (cd $(GCC_BUILD_DIR3); set -e; export LIST=`grep -lr -- "-dynamic-linker.*\.so[\.0-9]*" *`;\
- if [ -n "$$LIST" ] ; then \
- $(SED) "s,-dynamic-linker.*\.so[\.0-9]*},\
- -dynamic-linker /lib/ld-uClibc.so.0},;" $$LIST; fi);
- #
- # Prevent gcc from using the unwind-dw2-fde-glibc code used for
- # unwinding stack frames for C++ exception handling. The
- # unwind-dw2-fde-glibc code depends on glibc's ldso, we want to
- # use the generic version instead.
- #
- $(SED) "s,^#ifndef inhibit_libc,#define inhibit_libc\n\
- #ifndef inhibit_libc,g;" $(GCC_BUILD_DIR3)/gcc/unwind-dw2-fde-glibc.c;
- touch $(GCC_BUILD_DIR3)/.gcc3_3_build_hacks
-
-$(GCC_BUILD_DIR3)/.configured: $(GCC_BUILD_DIR3)/.gcc3_3_build_hacks
- mkdir -p $(GCC_BUILD_DIR3)
- #(cd $(GCC_BUILD_DIR3); ln -fs $(ARCH)-linux build-$(GNU_TARGET_NAME))
- (cd $(GCC_BUILD_DIR3); \
- $(TARGET_GCC_ARGS) \
- gcc_cv_as_hidden=no \
- ./configure \
- --verbose \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=`./config.guess` \
- --prefix=/usr \
- --mandir=/usr/man \
- --infodir=/usr/info \
- --with-gxx-include-dir=/usr/include/c++/3.3 \
- --enable-target-optspace \
- --enable-shared \
- $(MULTILIB) \
- $(DISABLE_NLS) \
- --with-gnu-ld --disable-__cxa_atexit \
- --enable-languages=$(TARGET_LANGUAGES) \
- $(EXTRA_GCC_CONFIG_OPTIONS) \
- );
- touch $(GCC_BUILD_DIR3)/.configured
-
-$(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured
- $(MAKE) $(JLEVEL) $(TARGET_GCC_ARGS) -C $(GCC_BUILD_DIR3)
- touch $(GCC_BUILD_DIR3)/.compiled
-
-$(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR3)/.compiled
- $(MAKE) $(JLEVEL) $(TARGET_GCC_ARGS) DESTDIR=$(TARGET_DIR) \
- -C $(GCC_BUILD_DIR3) install
- (cd $(TARGET_DIR)/usr/bin; ln -fs gcc cc)
- (cd $(TARGET_DIR)/lib; ln -fs /usr/bin/cpp)
- rm -rf $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/include
- rm -rf $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/sys-include
- rm -rf $(TARGET_DIR)/usr/include/include $(TARGET_DIR)/usr/usr
- -mv $(TARGET_DIR)/lib/*.a $(TARGET_DIR)/usr/lib/
- -mv $(TARGET_DIR)/lib/*.la $(TARGET_DIR)/usr/lib/
- rm -f $(TARGET_DIR)/lib/libstdc++.so*
- # Make sure gcc does not think we are cross compiling
- $(SED) "s/^1/0/;" $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/specs
- -(cd $(TARGET_DIR)/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
- -(cd $(TARGET_DIR)/usr/bin; find -type f | xargs $(STRIP) > /dev/null 2>&1)
- -(cd $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION); $(STRIP) cc1 cc1plus collect2 > /dev/null 2>&1)
- -(cd $(TARGET_DIR)/usr/lib; $(STRIP) libstdc++.so.*.*.* > /dev/null 2>&1)
- -(cd $(TARGET_DIR)/lib; $(STRIP) libgcc_s.so.*.*.* > /dev/null 2>&1)
- #
- rm -f $(TARGET_DIR)/usr/lib/*.la*
- rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
- $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
- # Work around problem of missing syslimits.h
- cp -f $(STAGING_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/syslimits.h $(TARGET_DIR)/usr/lib/gcc-lib/$(ARCH)-linux/$(GCC_VERSION)/include/
- # These are in /lib, so...
- rm -rf $(TARGET_DIR)/usr/lib/libgcc_s.so*
- touch -c $(TARGET_DIR)/usr/bin/gcc
-
-gcc3_3_target: uclibc_target binutils_target $(TARGET_DIR)/usr/bin/gcc
-
-gcc3_3_target-clean:
- rm -rf $(GCC_BUILD_DIR3)
- rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)*
-
-gcc3_3_target-dirclean:
- rm -rf $(GCC_BUILD_DIR3)
-
-endif
-endif #ifneq ($(USE_LINUX_UCLIBC),true)
+++ /dev/null
---- binutils-2.11.90.0.19.orig/ld/Makefile.am
-+++ binutils-2.11.90.0.19/ld/Makefile.am
-@@ -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@
---- binutils-2.11.90.0.19.orig/ld/Makefile.in
-+++ binutils-2.11.90.0.19/ld/Makefile.in
-@@ -123,7 +123,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 -urN binutils-2.11.90.0.27/gprof/gprof.texi binutils-2.11.90.0.27.new/gprof/gprof.texi
---- binutils-2.11.90.0.27/gprof/gprof.texi Tue Jun 19 14:57:58 2001
-+++ binutils-2.11.90.0.27.new/gprof/gprof.texi Mon Aug 27 10:27:23 2001
-@@ -137,6 +137,10 @@
- If more than one profile file is specified, the @code{gprof}
- output shows the sum of the profile information in the given profile files.
-
-+If you use gcc 2.95.x or 3.0 to compile your binaries, you may need
-+to add the @samp{-fprofile-arcs} to the compile command line in order
-+for the call graphs to be properly stored in gmon.out.
-+
- @code{Gprof} calculates the amount of time spent in each routine.
- Next, these times are propagated along the edges of the call graph.
- Cycles are discovered, and calls into a cycle are made to share the time
-@@ -266,6 +270,11 @@
- to do the linking, simply specify @samp{-pg} in addition to your usual
- options. The same option, @samp{-pg}, alters either compilation or linking
- to do what is necessary for profiling. Here are examples:
-+
-+If you use gcc 2.95.x or 3.0.x, you may need to add the
-+@samp{-fprofile-arcs} option to the compile line along with @samp{-pg}
-+in order to allow the call-graphs to be properly included in the gmon.out
-+file.
-
- @example
- cc -g -c myprog.c utils.c -pg
-diff -urN binutils-2.11.92.0.5/bfd/opncls.c binutils-2.11.92.0.5.new/bfd/opncls.c
---- binutils-2.11.92.0.5/bfd/opncls.c Mon Oct 1 18:25:21 2001
-+++ binutils-2.11.92.0.5.new/bfd/opncls.c Sat Oct 13 11:26:59 2001
-@@ -127,6 +127,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 -urN binutils-2.11.92.0.12.3/opcodes/i386-dis.c binutils-2.11.92.0.12.3.new/opcodes/i386-dis.c
---- binutils-2.11.92.0.12.3/opcodes/i386-dis.c Fri Nov 16 17:05:55 2001
-+++ binutils-2.11.92.0.12.3.new/opcodes/i386-dis.c Mon Dec 31 15:55:04 2001
-@@ -1830,7 +1830,7 @@
- * The function returns the length of this instruction in bytes.
- */
-
--static char intel_syntax;
-+static signed char intel_syntax;
- static char open_char;
- static char close_char;
- static char separator_char;
-diff -urN binutils-2.12.90.0.12/ld/emultempl/elf32.em binutils-2.12.90.0.12.new/ld/emultempl/elf32.em
---- binutils-2.12.90.0.12/ld/emultempl/elf32.em Wed Jun 19 00:41:59 2002
-+++ binutils-2.12.90.0.12.new/ld/emultempl/elf32.em Wed Jun 26 10:00:26 2002
-@@ -672,6 +672,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, l->name,
- force))
- break;
-@@ -867,6 +869,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${ELFSIZE}_size_dynamic_sections
- (output_bfd, command_line.soname, rpath,
- command_line.filter_shlib,
-diff -urN binutils-2.13.90.0.18/gprof/gprof.texi binutils-2.13.90.0.18.new/gprof/gprof.texi
---- binutils-2.13.90.0.18/gprof/gprof.texi 2003-02-02 18:29:09.000000000 -0500
-+++ binutils-2.13.90.0.18.new/gprof/gprof.texi 2003-02-02 18:28:37.000000000 -0500
-@@ -185,7 +185,7 @@
- @c man end
-
- @c man begin SEEALSO
--monitor(3), profil(2), cc(1), prof(1), and the Info entry for @file{gprof}.
-+profil(2), cc(1), prof(1), and the Info entry for @file{gprof}.
-
- ``An Execution Profiler for Modular Programs'',
- by S. Graham, P. Kessler, M. McKusick;
-diff -urN binutils-2.13.90.0.10/opcodes/alpha-opc.c binutils-2.13.90.0.10.new/opcodes/alpha-opc.c
---- binutils-2.13.90.0.10/opcodes/alpha-opc.c 2002-03-07 14:52:40.000000000 -0500
-+++ binutils-2.13.90.0.10.new/opcodes/alpha-opc.c 2002-10-12 20:16:08.000000000 -0400
-@@ -1101,7 +1101,8 @@
- { "wmb", MFC(0x18,0x4400), BASE, ARG_NONE },
- { "fetch", MFC(0x18,0x8000), BASE, { ZA, PRB } },
- { "fetch_m", MFC(0x18,0xA000), BASE, { ZA, PRB } },
-- { "rpcc", MFC(0x18,0xC000), BASE, { RA } },
-+ { "rpcc", MFC(0x18,0xC000), BASE, { RA, ZB } },
-+ { "rpcc", MFC(0x18,0xC000), BASE, { RA, RB } }, /* ev6 una */
- { "rc", MFC(0x18,0xE000), BASE, { RA } },
- { "ecb", MFC(0x18,0xE800), BASE, { ZA, PRB } }, /* ev56 una */
- { "rs", MFC(0x18,0xF000), BASE, { RA } },
---- binutils-2.13.90.0.18/bfd/elf64-alpha.c 2003-01-21 19:21:32.000000000 +0100
-+++ binutils-2.13.90.0.18-modif/bfd/elf64-alpha.c 2003-04-11 01:24:26.000000000 +0200
-@@ -4184,9 +4184,12 @@
-
- loc = srel->contents;
- loc += srel->reloc_count++ * sizeof (Elf64_External_Rela);
-- bfd_elf64_swap_reloca_out (abfd, &outrel, loc);
-- BFD_ASSERT (sizeof (Elf64_External_Rela) * srel->reloc_count
-- <= srel->_cooked_size);
-+ if (loc)
-+ {
-+ bfd_elf64_swap_reloca_out (abfd, &outrel, loc);
-+ BFD_ASSERT (sizeof (Elf64_External_Rela) * srel->reloc_count
-+ <= srel->_cooked_size);
-+ }
- }
-
- /* Relocate an Alpha ELF section for a relocatable link.
-2003-05-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * ltmain.sh: Make symlink for shared library if needed.
-
-opcodes/
-
-2003-07-14 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in: Regenerated.
-
-2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in: Regenerated.
-
-2003-05-23 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.am (libopcodes_la_LIBADD): Use "-L../bfd -lbfd"
- instead of "../bfd/libbfd.la".
- * Makefile.in: Regenerated.
-
---- binutils/ltmain.sh.dso 2002-03-22 00:16:20.000000000 -0800
-+++ binutils/ltmain.sh 2003-07-14 12:50:17.000000000 -0700
-@@ -4413,6 +4413,10 @@ relink_command=\"$relink_command\""
- # LD_LIBRARY_PATH before the program is installed.
- $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
- $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
-+ if test -n "$linkname"; then
-+ $show "(cd $output_objdir && $rm ../$linkname && $LN_S $output_objdir/$linkname ../$linkname)"
-+ $run eval '(cd $output_objdir && $rm ../$linkname && $LN_S $output_objdir/$linkname ../$linkname)' || exit $?
-+ fi
- ;;
- esac
- exit 0
---- binutils/opcodes/Makefile.am.dso 2003-06-11 07:18:04.000000000 -0700
-+++ binutils/opcodes/Makefile.am 2003-07-14 12:50:18.000000000 -0700
-@@ -283,7 +283,7 @@ disassemble.lo: disassemble.c $(INCDIR)/
-
- libopcodes_la_SOURCES = dis-buf.c disassemble.c
- libopcodes_la_DEPENDENCIES = $(OFILES) ../bfd/libbfd.la
--libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ ../bfd/libbfd.la
-+libopcodes_la_LIBADD = $(OFILES) @WIN32LIBADD@ -L../bfd -lbfd
- libopcodes_la_LDFLAGS = -release $(VERSION) @WIN32LDFLAGS@
-
- # libtool will build .libs/libopcodes.a. We create libopcodes.a in
+++ /dev/null
-diff -urN binutils-2.13.90.0.14/bfd/configure binutils-2.13.90.0.14.new/bfd/configure
---- binutils-2.13.90.0.14/bfd/configure 2002-11-14 12:37:55.000000000 -0500
-+++ binutils-2.13.90.0.14.new/bfd/configure 2002-11-19 16:15:42.000000000 -0500
-@@ -1208,7 +1208,7 @@
- bfd_version_string="\"${VERSION}\""
- if test x${is_release} = x; then
- bfd_version_date=`sed -n -e 's/.*DATE //p' < ${srcdir}/version.h`
-- bfd_version_string="\"${VERSION} ${bfd_version_date}\""
-+ bfd_version_string="\"${VERSION} ${bfd_version_date} uClibc\""
- fi
-
-
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf-m10300.c binutils-2.14.90.0.6/bfd/elf-m10300.c
---- binutils-2.14.90.0.6.orig/bfd/elf-m10300.c 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf-m10300.c 2003-10-13 21:05:03.000000000 -0600
-@@ -4018,7 +4018,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* Create dynamic sections when linking against a dynamic object. */
-
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-arm.h binutils-2.14.90.0.6/bfd/elf32-arm.h
---- binutils-2.14.90.0.6.orig/bfd/elf32-arm.h 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-arm.h 2003-10-13 21:05:03.000000000 -0600
-@@ -117,7 +117,7 @@
-
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The size in bytes of an entry in the procedure linkage table. */
- #define PLT_ENTRY_SIZE 16
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-cris.c binutils-2.14.90.0.6/bfd/elf32-cris.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-cris.c 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-cris.c 2003-10-13 21:05:03.000000000 -0600
-@@ -536,7 +536,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The size in bytes of an entry in the procedure linkage table. */
-
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-hppa.c binutils-2.14.90.0.6/bfd/elf32-hppa.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-hppa.c 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-hppa.c 2003-10-13 21:05:03.000000000 -0600
-@@ -115,7 +115,7 @@
-
- #define PLT_ENTRY_SIZE 8
- #define GOT_ENTRY_SIZE 4
--#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- static const bfd_byte plt_stub[] =
- {
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-i370.c binutils-2.14.90.0.6/bfd/elf32-i370.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-i370.c 2003-07-23 09:08:08.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-i370.c 2003-10-13 21:05:03.000000000 -0600
-@@ -305,7 +305,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* Set the howto pointer for an i370 ELF reloc. */
-
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-i386.c binutils-2.14.90.0.6/bfd/elf32-i386.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-i386.c 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-i386.c 2003-10-13 21:05:03.000000000 -0600
-@@ -423,7 +423,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
- copying dynamic variables from a shared lib into an app's dynbss
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-m68k.c binutils-2.14.90.0.6/bfd/elf32-m68k.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-m68k.c 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-m68k.c 2003-10-13 21:05:03.000000000 -0600
-@@ -187,7 +187,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The size in bytes of an entry in the procedure linkage table. */
-
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-ppc.c binutils-2.14.90.0.6/bfd/elf32-ppc.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-ppc.c 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-ppc.c 2003-10-13 21:05:03.000000000 -0600
-@@ -49,7 +49,7 @@
-
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The size in bytes of an entry in the procedure linkage table. */
- #define PLT_ENTRY_SIZE 12
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-s390.c binutils-2.14.90.0.6/bfd/elf32-s390.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-s390.c 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-s390.c 2003-10-13 21:05:03.000000000 -0600
-@@ -452,7 +452,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
- copying dynamic variables from a shared lib into an app's dynbss
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-sh.c binutils-2.14.90.0.6/bfd/elf32-sh.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-sh.c 2003-08-21 09:28:47.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-sh.c 2003-10-13 21:05:03.000000000 -0600
-@@ -113,7 +113,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- static reloc_howto_type sh_elf_howto_table[] =
- {
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-sparc.c binutils-2.14.90.0.6/bfd/elf32-sparc.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-sparc.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-sparc.c 2003-10-13 21:05:03.000000000 -0600
-@@ -507,7 +507,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The nop opcode we use. */
-
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-vax.c binutils-2.14.90.0.6/bfd/elf32-vax.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-vax.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-vax.c 2003-10-13 21:05:03.000000000 -0600
-@@ -347,7 +347,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/libexec/ld.elf_so"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The size in bytes of an entry in the procedure linkage table. */
-
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf32-xtensa.c binutils-2.14.90.0.6/bfd/elf32-xtensa.c
---- binutils-2.14.90.0.6.orig/bfd/elf32-xtensa.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf32-xtensa.c 2003-10-13 21:05:03.000000000 -0600
-@@ -404,7 +404,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/lib/ld.so"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The size in bytes of an entry in the procedure linkage table.
- (This does _not_ include the space for the literals associated with
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf64-alpha.c binutils-2.14.90.0.6/bfd/elf64-alpha.c
---- binutils-2.14.90.0.6.orig/bfd/elf64-alpha.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf64-alpha.c 2003-10-13 21:05:03.000000000 -0600
-@@ -2328,7 +2328,7 @@
-
- #define MAX_GOT_SIZE (64*1024)
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
- \f
- /* Handle an Alpha specific section when reading an object file. This
- is called when elfcode.h finds a section with an unknown type.
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf64-hppa.c binutils-2.14.90.0.6/bfd/elf64-hppa.c
---- binutils-2.14.90.0.6.orig/bfd/elf64-hppa.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf64-hppa.c 2003-10-13 21:05:03.000000000 -0600
-@@ -31,7 +31,7 @@
- #define DLT_ENTRY_SIZE 0x8
- #define OPD_ENTRY_SIZE 0x20
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/pa20_64/dld.sl"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The stub is supposed to load the target address and target's DP
- value out of the PLT, then do an external branch to the target
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf64-ppc.c binutils-2.14.90.0.6/bfd/elf64-ppc.c
---- binutils-2.14.90.0.6.orig/bfd/elf64-ppc.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf64-ppc.c 2003-10-13 21:05:03.000000000 -0600
-@@ -94,7 +94,7 @@
-
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The size in bytes of an entry in the procedure linkage table. */
- #define PLT_ENTRY_SIZE 24
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf64-s390.c binutils-2.14.90.0.6/bfd/elf64-s390.c
---- binutils-2.14.90.0.6.orig/bfd/elf64-s390.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf64-s390.c 2003-10-13 21:05:03.000000000 -0600
-@@ -473,7 +473,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
- copying dynamic variables from a shared lib into an app's dynbss
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf64-sh64.c binutils-2.14.90.0.6/bfd/elf64-sh64.c
---- binutils-2.14.90.0.6.orig/bfd/elf64-sh64.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf64-sh64.c 2003-10-13 21:05:03.000000000 -0600
-@@ -54,7 +54,7 @@
- /* Return offset of the relocation in PLT entry. */
- #define elf_sh64_plt_reloc_offset(info) (info->shared ? 52 : 44)
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/libc.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* The sh linker needs to keep track of the number of relocs that it
- decides to copy in check_relocs for each symbol. This is so that
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf64-sparc.c binutils-2.14.90.0.6/bfd/elf64-sparc.c
---- binutils-2.14.90.0.6.orig/bfd/elf64-sparc.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf64-sparc.c 2003-10-13 21:05:03.000000000 -0600
-@@ -959,7 +959,7 @@
- #define LARGE_PLT_THRESHOLD 32768
- #define GOT_RESERVED_ENTRIES 1
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/sparcv9/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* Fill in the .plt section. */
-
-diff -urN binutils-2.14.90.0.6.orig/bfd/elf64-x86-64.c binutils-2.14.90.0.6/bfd/elf64-x86-64.c
---- binutils-2.14.90.0.6.orig/bfd/elf64-x86-64.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elf64-x86-64.c 2003-10-13 21:05:03.000000000 -0600
-@@ -258,7 +258,7 @@
- /* The name of the dynamic interpreter. This is put in the .interp
- section. */
-
--#define ELF_DYNAMIC_INTERPRETER "/lib/ld64.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- /* If ELIMINATE_COPY_RELOCS is non-zero, the linker will try to avoid
- copying dynamic variables from a shared lib into an app's dynbss
-diff -urN binutils-2.14.90.0.6.orig/bfd/elfxx-ia64.c binutils-2.14.90.0.6/bfd/elfxx-ia64.c
---- binutils-2.14.90.0.6.orig/bfd/elfxx-ia64.c 2003-08-21 09:28:48.000000000 -0600
-+++ binutils-2.14.90.0.6/bfd/elfxx-ia64.c 2003-10-13 21:05:03.000000000 -0600
-@@ -648,7 +648,7 @@
- 0x60, 0x00, 0x80, 0x00 /* br.few b6;; */
- };
-
--#define ELF_DYNAMIC_INTERPRETER "/usr/lib/ld.so.1"
-+#define ELF_DYNAMIC_INTERPRETER "/lib/ld-uClibc.so.0"
-
- static const bfd_byte oor_brl[16] =
- {
+++ /dev/null
---- gcc-3.3/libstdc++-v3/configure 2003-05-01 20:37:25.000000000 -0600
-+++ gcc-3.3-patched/libstdc++-v3/configure 2003-06-21 00:22:02.000000000 -0600
-@@ -5163,10 +5163,6 @@
- EOF
-
- cat >> confdefs.h <<\EOF
--#define HAVE_FREXPF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
- #define HAVE_HYPOTF 1
- EOF
-
-@@ -10293,103 +10289,6 @@
- #define HAVE_MMAP 1
- EOF
-
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_ACOSF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_ASINF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_ATAN2F 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_ATANF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_CEILF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_COPYSIGN 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_COPYSIGNF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_COSF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_COSHF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_EXPF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_FABSF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_FLOORF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_FMODF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_FREXPF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_LDEXPF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_LOG10F 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_LOGF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_MODFF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_POWF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_SINF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_SINHF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_SQRTF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_TANF 1
--EOF
--
-- cat >> confdefs.h <<\EOF
--#define HAVE_TANHF 1
--EOF
--
- ;;
- esac
-
+++ /dev/null
---- gcc-3.3.1/gcc/cppinit.c.old 2003-08-29 17:08:57.000000000 -0500
-+++ gcc-3.3.1/gcc/cppinit.c 2003-08-29 16:53:36.000000000 -0500
-@@ -787,6 +787,7 @@
- if (path != 0 && *path != 0)
- path_include (pfile, path, SYSTEM);
-
-+#if 0
- /* Search "translated" versions of GNU directories.
- These have /usr/local/lib/gcc... replaced by specd_prefix. */
- if (specd_prefix != 0 && cpp_GCC_INCLUDE_DIR_len)
-@@ -824,6 +825,7 @@
- }
- }
- }
-+#endif
-
- /* Search ordinary names for GNU include directories. */
- for (p = cpp_include_defaults; p->fname; p++)
+++ /dev/null
-diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c_locale.cc gcc-3.3.1/libstdc++-v3/config/locale/gnu/c_locale.cc
---- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c_locale.cc 2003-02-28 00:09:52.000000000 -0600
-+++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/c_locale.cc 2003-08-31 10:55:17.000000000 -0500
-@@ -195,12 +195,15 @@
- "LC_TIME",
- "LC_COLLATE",
- "LC_MONETARY",
-- "LC_MESSAGES",
-+ "LC_MESSAGES"
-+#if _GLIBCPP_NUM_CATEGORIES != 0
-+ ,
- "LC_PAPER",
- "LC_NAME",
- "LC_ADDRESS",
- "LC_TELEPHONE",
- "LC_MEASUREMENT",
- "LC_IDENTIFICATION"
-+#endif
- };
- } // namespace std
-diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c_locale.h gcc-3.3.1/libstdc++-v3/config/locale/gnu/c_locale.h
---- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c_locale.h 2003-01-23 12:56:16.000000000 -0600
-+++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/c_locale.h 2003-08-31 10:55:17.000000000 -0500
-@@ -46,6 +46,10 @@
- #define _GLIBCPP_C_LOCALE_GNU 1
-
- #define _GLIBCPP_NUM_CATEGORIES 6
-+#ifdef __UCLIBC__
-+#undef _GLIBCPP_NUM_CATEGORIES
-+#define _GLIBCPP_NUM_CATEGORIES 0
-+#endif
-
- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
- namespace __gnu_cxx
-diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c++locale_internal.h gcc-3.3.1/libstdc++-v3/config/locale/gnu/c++locale_internal.h
---- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/c++locale_internal.h 2002-09-05 02:46:16.000000000 -0500
-+++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/c++locale_internal.h 2003-08-31 10:55:17.000000000 -0500
-@@ -48,7 +48,9 @@
- extern "C" __typeof(towlower_l) __towlower_l;
- extern "C" __typeof(towupper_l) __towupper_l;
- extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+#ifdef HAVE_WCSFTIME
- extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+#endif
- extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
- extern "C" __typeof(wctype_l) __wctype_l;
- extern "C" __typeof(newlocale) __newlocale;
-diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/messages_members.cc gcc-3.3.1/libstdc++-v3/config/locale/gnu/messages_members.cc
---- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/messages_members.cc 2003-02-28 00:09:52.000000000 -0600
-+++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/messages_members.cc 2003-08-31 10:55:17.000000000 -0500
-@@ -36,6 +36,13 @@
- #include <locale>
- #include <bits/c++locale_internal.h>
-
-+#ifdef __UCLIBC__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#endif
-+
- namespace std
- {
- // Specializations.
-diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/messages_members.h gcc-3.3.1/libstdc++-v3/config/locale/gnu/messages_members.h
---- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/messages_members.h 2003-01-06 16:20:03.000000000 -0600
-+++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/messages_members.h 2003-08-31 10:55:17.000000000 -0500
-@@ -33,6 +33,12 @@
-
- // Written by Benjamin Kosnik <bkoz@redhat.com>
-
-+#ifdef __UCLIBC__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#endif
-+
- // Non-virtual member functions.
- template<typename _CharT>
- messages<_CharT>::messages(size_t __refs)
-@@ -61,7 +67,11 @@
- messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
- const char* __dir) const
- {
-+#ifdef __UCLIBC__
-+ __bindtextdomain(__s.c_str(), __dir);
-+#else
- bindtextdomain(__s.c_str(), __dir);
-+#endif
- return this->do_open(__s, __loc);
- }
-
-@@ -83,7 +93,11 @@
- {
- // No error checking is done, assume the catalog exists and can
- // be used.
-+#ifdef __UCLIBC__
-+ __textdomain(__s.c_str());
-+#else
- textdomain(__s.c_str());
-+#endif
- return 0;
- }
-
-diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/numeric_members.cc gcc-3.3.1/libstdc++-v3/config/locale/gnu/numeric_members.cc
---- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/numeric_members.cc 2003-02-28 00:09:52.000000000 -0600
-+++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/numeric_members.cc 2003-08-31 10:55:18.000000000 -0500
-@@ -86,8 +86,13 @@
- else
- {
- // Named locale.
-+#ifdef __UCLIBC__
-+ _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __cloc->decimal_point_wc }).__w);
-+ _M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __cloc->thousands_sep_wc }).__w);
-+#else
- _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w);
- _M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w);
-+#endif
- if (_M_thousands_sep == L'\0')
- _M_grouping = "";
- else
-diff -urN gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/time_members.cc gcc-3.3.1/libstdc++-v3/config/locale/gnu/time_members.cc
---- gcc-3.3.1-old/libstdc++-v3/config/locale/gnu/time_members.cc 2003-02-28 00:09:52.000000000 -0600
-+++ gcc-3.3.1/libstdc++-v3/config/locale/gnu/time_members.cc 2003-08-31 10:55:18.000000000 -0500
-@@ -183,6 +183,7 @@
- }
- }
-
-+#ifndef __UCLIBC__
- #ifdef _GLIBCPP_USE_WCHAR_T
- template<>
- void
-@@ -328,4 +329,5 @@
- }
- }
- #endif
-+#endif
- }
-diff -urN gcc-3.3.1-old/libstdc++-v3/config/os/gnu-linux/ctype_base.h gcc-3.3.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h
---- gcc-3.3.1-old/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2002-09-09 15:26:41.000000000 -0500
-+++ gcc-3.3.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2003-08-31 10:55:18.000000000 -0500
-@@ -36,11 +36,18 @@
- struct ctype_base
- {
- // Non-standard typedefs.
-+#ifdef __UCLIBC__
-+ 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;
-+#else
- typedef const int* __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 unsigned short mask;
-+#endif
-+
- static const mask upper = _ISupper;
- static const mask lower = _ISlower;
- static const mask alpha = _ISalpha;
-diff -urN gcc-3.3.1-old/libstdc++-v3/include/c_std/std_cstdlib.h gcc-3.3.1/libstdc++-v3/include/c_std/std_cstdlib.h
---- gcc-3.3.1-old/libstdc++-v3/include/c_std/std_cstdlib.h 2003-04-18 05:08:05.000000000 -0500
-+++ gcc-3.3.1/libstdc++-v3/include/c_std/std_cstdlib.h 2003-08-31 10:55:18.000000000 -0500
-@@ -101,9 +101,11 @@
- using ::labs;
- using ::ldiv;
- using ::malloc;
-+#if _GLIBCPP_USE_WCHAR_T
- using ::mblen;
- using ::mbstowcs;
- using ::mbtowc;
-+#endif
- using ::qsort;
- using ::rand;
- using ::realloc;
-@@ -112,8 +114,10 @@
- using ::strtol;
- using ::strtoul;
- using ::system;
-+#if _GLIBCPP_USE_WCHAR_T
- using ::wcstombs;
- using ::wctomb;
-+#endif
-
- inline long
- abs(long __i) { return labs(__i); }
-diff -urN gcc-3.3.1-old/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.3.1/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-3.3.1-old/libstdc++-v3/include/c_std/std_cwchar.h 2003-04-18 05:08:05.000000000 -0500
-+++ gcc-3.3.1/libstdc++-v3/include/c_std/std_cwchar.h 2003-08-31 10:55:18.000000000 -0500
-@@ -165,7 +165,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#ifdef HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
-diff -urN gcc-3.3.2-old/libstdc++-v3/config/locale/gnu/ctype_members.cc gcc-3.3.2/libstdc++-v3/config/locale/gnu/ctype_members.cc
---- gcc-3.3.2-old/libstdc++-v3/config/locale/gnu/ctype_members.cc 2003-10-07 03:40:58.000000000 -0500
-+++ gcc-3.3.2/libstdc++-v3/config/locale/gnu/ctype_members.cc 2003-11-10 14:21:45.000000000 -0600
-@@ -36,6 +36,14 @@
- #include <locale>
- #include <bits/c++locale_internal.h>
-
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+struct __uclibc_locale_struct_header {
-+ const __ctype_mask_t *__ctype_b;
-+ const __ctype_touplow_t *__ctype_tolower;
-+ const __ctype_touplow_t *__ctype_toupper;
-+};
-+#endif
-+
- namespace std
- {
- // NB: The other ctype<char> specializations are in src/locale.cc and
-@@ -46,9 +54,9 @@
- {
- _S_destroy_c_locale(_M_c_locale_ctype);
- _S_create_c_locale(_M_c_locale_ctype, __s);
-- _M_toupper = _M_c_locale_ctype->__ctype_toupper;
-- _M_tolower = _M_c_locale_ctype->__ctype_tolower;
-- _M_table = _M_c_locale_ctype->__ctype_b;
-+ _M_toupper = ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_toupper;
-+ _M_tolower = ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_tolower;
-+ _M_table = ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_b;
- }
-
- #ifdef _GLIBCPP_USE_WCHAR_T
-diff -urN gcc-3.3.2-old/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h gcc-3.3.2/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h
---- gcc-3.3.2-old/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h 2002-10-08 18:32:22.000000000 -0500
-+++ gcc-3.3.2/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h 2003-11-10 14:20:37.000000000 -0600
-@@ -35,11 +35,21 @@
- // Information as gleaned from /usr/include/ctype.h
-
- #if _GLIBCPP_C_LOCALE_GNU
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+struct __uclibc_locale_struct_header {
-+ const __ctype_mask_t *__ctype_b;
-+ const __ctype_touplow_t *__ctype_tolower;
-+ const __ctype_touplow_t *__ctype_toupper;
-+};
-+#endif
-+#endif
-+
-+#if _GLIBCPP_C_LOCALE_GNU
- const ctype_base::mask*
- ctype<char>::classic_table() throw()
- {
- locale::classic();
-- return _S_c_locale->__ctype_b;
-+ return ((struct __uclibc_locale_struct_header *)_S_c_locale)->__ctype_b;
- }
- #else
- const ctype_base::mask*
-@@ -65,9 +75,9 @@
- : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
- {
- _M_c_locale_ctype = _S_clone_c_locale(__cloc);
-- _M_toupper = _M_c_locale_ctype->__ctype_toupper;
-- _M_tolower = _M_c_locale_ctype->__ctype_tolower;
-- _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b;
-+ _M_toupper = ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_toupper;
-+ _M_tolower = ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_tolower;
-+ _M_table = __table ? __table : ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_b;
- }
- #else
- ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-@@ -96,9 +106,9 @@
- __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
- {
- _M_c_locale_ctype = _S_c_locale;
-- _M_toupper = _M_c_locale_ctype->__ctype_toupper;
-- _M_tolower = _M_c_locale_ctype->__ctype_tolower;
-- _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b;
-+ _M_toupper = ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_toupper;
-+ _M_tolower = ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_tolower;
-+ _M_table = __table ? __table : ((struct __uclibc_locale_struct_header *)_M_c_locale_ctype)->__ctype_b;
- }
- #else
- ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) :
+++ /dev/null
-diff -urN gcc-3.3.2-orig/gcc/mklibgcc.in gcc-3.3.2/gcc/mklibgcc.in
---- gcc-3.3.2-orig/gcc/mklibgcc.in 2003-09-08 19:37:34.000000000 -0500
-+++ gcc-3.3.2/gcc/mklibgcc.in 2003-10-22 02:27:34.000000000 -0500
-@@ -296,7 +296,9 @@
-
- libgcc_a_objs="$libgcc_objs $libgcc_st_objs"
-
-- if [ "@libgcc_visibility@" = yes -a "$SHLIB_LINK" ]; then
-+ #if [ "@libgcc_visibility@" = yes -a "$SHLIB_LINK" ]; then
-+ if [ "@libgcc_visibility@" = I_AM_DISABLED -a "$SHLIB_LINK" ]; then
-+ echo "OUCH!!!!! : @libgcc_visibility@ : $SHLIB_LINK : OUCH!!!!!"
- libgcc_a_objs=
- echo ""
- for o in $libgcc_objs $libgcc_st_objs; do
+++ /dev/null
---- gcc-3.3.2/libstdc++-v3/testsuite/Makefile.in.dist 2003-10-26 00:07:43.000000000 -0500
-+++ gcc-3.3.2/libstdc++-v3/testsuite/Makefile.in 2003-10-26 00:06:35.000000000 -0500
-@@ -204,9 +204,9 @@
- PROGRAMS = $(noinst_PROGRAMS)
-
- abi_check_OBJECTS = abi_check.$(OBJEXT)
--abi_check_LDADD = $(LDADD)
-+abi_check_LDADD = -lstdc++ $(LDADD)
- abi_check_DEPENDENCIES =
--abi_check_LDFLAGS =
-+abi_check_LDFLAGS = -L../src
- CXXFLAGS = @CXXFLAGS@
- CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
- LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)