diff options
| author | Michael Lauer <mickey@vanille-media.de> | 2006-06-20 22:38:20 +0000 |
|---|---|---|
| committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-06-20 22:38:20 +0000 |
| commit | 74703c393c14c2e7d357942fa2739fb703a91465 (patch) | |
| tree | 003ecd4cb2b628f25c3aad87150fe9d1993c0109 | |
| parent | 6a329bdfcc1989bc3c4e78683a67fd3198cb4bea (diff) | |
| parent | 1c8c33e7a583869535d2d2bca88a3d00ce5dcdfb (diff) | |
merge of 2ba8efd35a14c2dca849205133efdd2ecd83c907
and d43467c2202cf4bba65631e9cb48b580772f7fc1
55 files changed, 6684 insertions, 88 deletions
diff --git a/conf/distro/angstrom.conf b/conf/distro/angstrom.conf index 100017410d..d30fcd3cca 100644 --- a/conf/distro/angstrom.conf +++ b/conf/distro/angstrom.conf @@ -22,8 +22,11 @@ ENABLE_BINARY_LOCALE_GENERATION ?= "" #Use the ARM EABI when building for an ARM cpu. We can't use overrides #here because this breaks all places where ":=" is used. +#if you want to build using uclibc, specify "-uclibcgnueabi" TARGET_VENDOR = "${@['','-angstrom'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}" TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}" +#uclibc (needs gcc 4.1.1 or newer) +#TARGET_OS = "linux${@['','-uclibcgnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}" #mess with compiler flags to use -Os instead of -O2 #Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info diff --git a/conf/distro/slugos.conf b/conf/distro/slugos.conf index 123fd4362a..b9b169b359 100644 --- a/conf/distro/slugos.conf +++ b/conf/distro/slugos.conf @@ -170,7 +170,7 @@ PREFERRED_VERSION_glibc ?= "2.3.5+cvs20050627" # Select the correct versions of the kernel and modules (these are the # defaults, override in the conf/distro top-level distro file). PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel" -PREFERRED_VERSION_ixp4xx-kernel ?= "2.6.16" +PREFERRED_VERSION_ixp4xx-kernel ?= "2.6.17" # Built-in ethernet modules PREFERRED_PROVIDER_virtual/ixp-eth ?= "ixp400-eth" diff --git a/conf/machine/htcuniversal.conf b/conf/machine/htcuniversal.conf new file mode 100644 index 0000000000..800cd77540 --- /dev/null +++ b/conf/machine/htcuniversal.conf @@ -0,0 +1,49 @@ +#@TYPE: Machine +#@NAME: HTC Universal +#@DESCRIPTION: Machine configuration for the HTC Universal with a pxa27x CPU devices + +TARGET_ARCH = "arm" +IPKG_EXTRA_ARCHS = "armv4 armv5te ipaqpxa htcuniversal" +#use this for a HTC Universal +PREFERRED_PROVIDER_xserver = "xserver-kdrive" +PREFERRED_PROVIDER_virtual/kernel = "xanadux-un-2.6" + + +MODUTILS = "26" +BOOTSTRAP_EXTRA_RDEPENDS = "kernel ipaq-boot-params " +BOOTSTRAP_EXTRA_RRECOMMENDS += "${@linux_module_packages('${PXA270_MODULES}', d)}" +BOOTSTRAP_EXTRA_RDEPENDS_append = " module-init-tools detect-stylus" +BOOTSTRAP_EXTRA_RDEPENDS_append = " tiinit acx-firmware" + +PXA270_MODULES = "g_ether snd_pcm_oss snd_mixer_oss hidp" + +SERIAL_CONSOLE = "115200 tts/0" + +include conf/machine/include/smartphone-common.conf + +GUI_MACHINE_CLASS = "bigscreen" + +# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm. +include conf/machine/include/tune-xscale.conf + +# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first +#include conf/machine/include/tune-iwmmxt.conf + +BOOTSTRAP_EXTRA_RRECOMMENDS += "${@linux_module_packages('${UN_MODULES}', d)}" +UN_MODULES = "i2c-pxa snd-pxa-i2sound-htcuniversal htcuniversal_power htcuniversal_acx acx htcuniversal_bt htcuniversal_leds" + + +module_autoload_htcuniversal_power = "htcuniversal_power" +module_autoload_snd-pxa-i2sound-htcuniversal = "snd-pxa-i2sound-htcuniversal" +module_autoload_snd-pcm-oss = "snd-pcm-oss" +module_autoload_snd-mixer-oss = "snd-mixer-oss" +module_autoload_acx = "acx" +module_autoload_htcuniversal-bt = "htcuniversal_bt" +module_autoload_htcuniversal-power = "htcuniversal_power" + +#module_autoload_pxa27x_udc = "pxa27x_udc" + +#FIXME: this should be controlled by a userspace utility later. +module_autoload_g_ether = "g_ether" + +GPE_EXTRA_DEPENDS += " gomunicator" diff --git a/conf/machine/include/smartphone-common.conf b/conf/machine/include/smartphone-common.conf new file mode 100644 index 0000000000..2ff8d4bc47 --- /dev/null +++ b/conf/machine/include/smartphone-common.conf @@ -0,0 +1,20 @@ +HANDHELD_MODULES = "ipv6 \ +ipsec \ +nvrd \ +mip6-mn \ +tun \ +fat vfat \ +loop \ +rfcomm bnep l2cap sco hci_uart hidp \ +af_packet \ +ppp-async ppp-deflate ppp-mppe \ +ip-gre ip-tables ipip \ +irda irlan irnet irport irtty ircomm-tty \ +input uinput \ +" + +# Configuration bits for "generic samrtphone" +BOOTSTRAP_EXTRA_RDEPENDS += "apm apmd network-suspend-scripts" +BOOTSTRAP_EXTRA_RRECOMMENDS += "ppp wireless-tools irda-utils wpa-supplicant-nossl lrzsz ppp-dialin ${@linux_module_packages('${HANDHELD_MODULES}', d)}" + +INHERIT += "linux_modules" diff --git a/packages/autofs/autofs-4.1.4/install.patch b/packages/autofs/autofs-4.1.4/install.patch new file mode 100644 index 0000000000..ef13fd88c0 --- /dev/null +++ b/packages/autofs/autofs-4.1.4/install.patch @@ -0,0 +1,71 @@ +Index: autofs-4.1.4/man/Makefile +=================================================================== +--- autofs-4.1.4.orig/man/Makefile 2003-09-29 10:22:35.000000000 +0200 ++++ autofs-4.1.4/man/Makefile 2006-06-19 15:09:33.124583912 +0200 +@@ -14,9 +14,9 @@ + + install: all + install -d -m 755 $(INSTALLROOT)$(mandir)/man5 +- install -c *.5 -m 644 $(INSTALLROOT)$(mandir)/man5 ++ install -c -m 644 *.5 $(INSTALLROOT)$(mandir)/man5 + install -d -m 755 $(INSTALLROOT)$(mandir)/man8 +- install -c *.8 -m 644 $(INSTALLROOT)$(mandir)/man8 ++ install -c -m 644 *.8 $(INSTALLROOT)$(mandir)/man8 + + clean: + rm -f $(GENFILES) +Index: autofs-4.1.4/modules/Makefile +=================================================================== +--- autofs-4.1.4.orig/modules/Makefile 2004-08-29 14:46:23.000000000 +0200 ++++ autofs-4.1.4/modules/Makefile 2006-06-19 15:09:33.125583760 +0200 +@@ -53,7 +53,7 @@ + # mount_smbfs.so is an obsolete module which must be removed + install: all + install -d -m 755 $(INSTALLROOT)$(autofslibdir) +- install -c $(MODS) -m 755 $(INSTALLROOT)$(autofslibdir) ++ install -c -m 755 $(MODS) $(INSTALLROOT)$(autofslibdir) + -rm -f $(INSTALLROOT)$(autofslibdir)/mount_smbfs.so + ifeq ($(EXT2FS), 1) + ifeq ($(EXT3FS), 1) +Index: autofs-4.1.4/samples/Makefile +=================================================================== +--- autofs-4.1.4.orig/samples/Makefile 2005-01-04 15:36:54.000000000 +0100 ++++ autofs-4.1.4/samples/Makefile 2006-06-19 15:09:33.125583760 +0200 +@@ -27,19 +27,19 @@ + install: all + install -d -m 755 $(INSTALLROOT)/etc + -mv -f $(INSTALLROOT)/etc/auto.master $(INSTALLROOT)/etc/auto.master.old +- install -c auto.master -m 644 $(INSTALLROOT)/etc ++ install -c -m 644 auto.master $(INSTALLROOT)/etc + -mv -f $(INSTALLROOT)/etc/auto.misc $(INSTALLROOT)/etc/auto.misc.old +- install -c auto.misc -m 644 $(INSTALLROOT)/etc ++ install -c -m 644 auto.misc $(INSTALLROOT)/etc + -mv -f $(INSTALLROOT)/etc/auto.net $(INSTALLROOT)/etc/auto.net.old +- install -c auto.net -m 755 $(INSTALLROOT)/etc ++ install -c -m 755 auto.net $(INSTALLROOT)/etc + -mv -f $(INSTALLROOT)/etc/auto.smb $(INSTALLROOT)/etc/auto.smb.old +- install -c auto.smb -m 755 $(INSTALLROOT)/etc ++ install -c -m 755 auto.smb $(INSTALLROOT)/etc + install -d -m 755 $(INSTALLROOT)$(initdir) +- install -c rc.autofs -m 755 $(INSTALLROOT)$(initdir)/autofs ++ install -c -m 755 rc.autofs $(INSTALLROOT)$(initdir)/autofs + install -d -m 755 $(INSTALLROOT)$(autofslibdir) + install -d -m 755 $(INSTALLROOT)/var/run/autofs + ifeq ($(LDAP), 1) +- install -c autofs-ldap-auto-master -m 755 $(INSTALLROOT)$(autofslibdir) ++ install -c -m 755 autofs-ldap-auto-master $(INSTALLROOT)$(autofslibdir) + endif + + clean): +Index: autofs-4.1.4/daemon/Makefile +=================================================================== +--- autofs-4.1.4.orig/daemon/Makefile 2006-06-19 15:10:47.526273136 +0200 ++++ autofs-4.1.4/daemon/Makefile 2006-06-19 15:10:58.661580312 +0200 +@@ -26,6 +26,6 @@ + + install: all + install -d -m 755 $(INSTALLROOT)$(sbindir) +- install -c automount -m 755 $(INSTALLROOT)$(sbindir) ++ install -c -m 755 automount $(INSTALLROOT)$(sbindir) + + diff --git a/packages/autofs/autofs_4.1.4.bb b/packages/autofs/autofs_4.1.4.bb index 7d40bee8d5..35a1652557 100644 --- a/packages/autofs/autofs_4.1.4.bb +++ b/packages/autofs/autofs_4.1.4.bb @@ -7,8 +7,9 @@ SRC_URI = "ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/autofs-${PV}.tar.bz2 ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/autofs-4.1.4-multi-parse-fix.patch;patch=1 \ ftp://ftp.kernel.org/pub/linux/daemons/autofs/v4/autofs-4.1.4-non-replicated-ping.patch;patch=1 \ file://cross.patch;patch=1 \ - file://Makefile.rules-cross.patch;patch=1" - + file://Makefile.rules-cross.patch;patch=1 \ + file://install.patch;patch=1" + inherit autotools EXTRA_OEMAKE="TARGET_PREFIX=${TARGET_PREFIX}" diff --git a/packages/blueprobe/blueprobe-0.17/htcuniversal.patch b/packages/blueprobe/blueprobe-0.17/htcuniversal.patch new file mode 100644 index 0000000000..f84a36bbec --- /dev/null +++ b/packages/blueprobe/blueprobe-0.17/htcuniversal.patch @@ -0,0 +1,18 @@ +--- blueprobe-0.17/blueprobe.init.orig 2006-01-21 19:47:56.000000000 +0100 ++++ blueprobe-0.17/blueprobe.init 2006-06-15 00:40:57.000000000 +0200 +@@ -74,6 +74,15 @@ + PROTO=texas + PROBE=no + ;; ++ "HTC Universal") ++ BLUETOOTH=yes ++ PORT=/dev/ttyS1 ++ SCRIPT=/etc/bluetooth/TIInit_3.2.26.bts ++ SPEED='`[ -f "$BLUETOOTH_SCRIPT" ] && echo 921600 || echo 115200`' ++ PROTO=texas ++ PROBE=no ++ ;; ++ + *) + BLUETOOTH=no + ;; diff --git a/packages/blueprobe/blueprobe_0.17.bb b/packages/blueprobe/blueprobe_0.17.bb index 433f3dfbd0..f367e43698 100644 --- a/packages/blueprobe/blueprobe_0.17.bb +++ b/packages/blueprobe/blueprobe_0.17.bb @@ -2,7 +2,8 @@ SECTION = "base" LICENSE = "GPL" inherit gpe -PR = "r1" +PR = "r2" SRC_URI += "file://hx4700.patch;patch=1\ - file://h2200-fixup.patch;patch=1" + file://h2200-fixup.patch;patch=1\ + file://htcuniversal.patch;patch=1" diff --git a/packages/cherokee/cherokee-nossl_0.5.3.bb b/packages/cherokee/cherokee-nossl_0.5.3.bb index 4952479f7d..6d3cd85df6 100644 --- a/packages/cherokee/cherokee-nossl_0.5.3.bb +++ b/packages/cherokee/cherokee-nossl_0.5.3.bb @@ -1,5 +1,7 @@ include cherokee_${PV}.bb +DEPENDS = "pcre" + FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/cherokee-${PV}', '${FILE_DIRNAME}/cherokee', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" S = "${WORKDIR}/cherokee-${PV}" diff --git a/packages/cramfs/cramfs/makefile.patch b/packages/cramfs/cramfs/makefile.patch index b809170eb4..07bfedb8cf 100644 --- a/packages/cramfs/cramfs/makefile.patch +++ b/packages/cramfs/cramfs/makefile.patch @@ -2,13 +2,15 @@ Jordan Crouse (AMD) 08/20/04 - Fix for kernels with less then modern cramfs implementations RH9, I'm looking at you. ---- cramfs-1.1/GNUmakefile 2002-02-22 17:52:41.000000000 -0700 -+++ cramfs-1.1.new/GNUmakefile 2004-08-20 16:35:31.844289504 -0700 +Index: cramfs-1.1/GNUmakefile +=================================================================== +--- cramfs-1.1.orig/GNUmakefile 2002-02-23 01:52:41.000000000 +0100 ++++ cramfs-1.1/GNUmakefile 2006-06-19 15:39:38.756086200 +0200 @@ -1,6 +1,7 @@ CC = gcc CFLAGS = -W -Wall -O2 -g -CPPFLAGS = -I. -+LFLAGS=-I. ++LFLAGS=-I. $(LDFLAGS) + LDLIBS = -lz PROGS = mkcramfs cramfsck diff --git a/packages/cramfs/cramfs_1.1.bb b/packages/cramfs/cramfs_1.1.bb index efdf288aca..b4a8955ab7 100644 --- a/packages/cramfs/cramfs_1.1.bb +++ b/packages/cramfs/cramfs_1.1.bb @@ -1,8 +1,12 @@ +DESCRIPTION="Builds cramfs filesystems for embedded systems" SECTION = "base" -SRC_URI = "${SOURCEFORGE_MIRROR}/cramfs/cramfs-1.1.tar.gz" LICENSE = "GPLv2" DEPENDS = "zlib" +SRC_URI = "${SOURCEFORGE_MIRROR}/cramfs/cramfs-1.1.tar.gz \ + file://makefile.patch;patch=1 \ + file://cramfs-andersee.patch;patch=1" + do_compile() { oe_runmake } diff --git a/packages/dcron/dcron-2.3.3/strip.patch b/packages/dcron/dcron-2.3.3/strip.patch new file mode 100644 index 0000000000..51aef07f2d --- /dev/null +++ b/packages/dcron/dcron-2.3.3/strip.patch @@ -0,0 +1,16 @@ +Index: dcron-2.3.3/Makefile +=================================================================== +--- dcron-2.3.3.orig/Makefile 2006-06-19 15:47:35.774568368 +0200 ++++ dcron-2.3.3/Makefile 2006-06-19 15:47:43.713361488 +0200 +@@ -14,11 +14,9 @@ + + crond: ${OBJS} + ${CC} ${CFLAGS} -o crond ${OBJS} ${LIB} +- strip crond + + crontab: ${D_OBJS} + ${CC} ${CFLAGS} -o crontab ${D_OBJS} +- strip crontab + + protos.h: ${SRCS} ${D_SRCS} + fgrep -h Prototype ${SRCS} ${D_SRCS} >protos.h diff --git a/packages/dcron/dcron_2.3.3.bb b/packages/dcron/dcron_2.3.3.bb index ed9f0ac9d4..d965bbecca 100644 --- a/packages/dcron/dcron_2.3.3.bb +++ b/packages/dcron/dcron_2.3.3.bb @@ -2,9 +2,11 @@ SECTION = "base" DESCRIPTION = "Dillon's Cron is a multi-user cron written from scratch, \ similar to vixie-cron but with major differences." LICENSE = "GPL" +PR = "r1" SRC_URI = "http://ibiblio.org/pub/Linux/system/daemons/cron/dcron-${PV}.tar.gz \ - file://compile.patch;patch=1" + file://compile.patch;patch=1 \ + file://strip.patch;patch=1" do_install () { install -d ${D}${bindir} ${D}${sbindir} \ diff --git a/packages/gcc/gcc-4.1.1/100-uclibc-conf.patch b/packages/gcc/gcc-4.1.1/100-uclibc-conf.patch new file mode 100644 index 0000000000..49d576c7dd --- /dev/null +++ b/packages/gcc/gcc-4.1.1/100-uclibc-conf.patch @@ -0,0 +1,544 @@ +--- 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. |
