diff --exclude=build -Nur crosstool-0.42/crosstool.sh crosstool-0.42-patched/crosstool.sh --- crosstool-0.42/crosstool.sh 2006-02-25 18:14:13.000000000 -0800 +++ crosstool-0.42-patched/crosstool.sh 2006-04-25 14:22:28.000000000 -0700 @@ -54,6 +54,7 @@ test -z "${GCC_EXTRA_CONFIG}" && echo "GCC_EXTRA_CONFIG not set, so not passing any extra options to gcc's configure script" test -z "${GLIBC_EXTRA_CONFIG}" && echo "GLIBC_EXTRA_CONFIG not set, so not passing any extra options to glibc's configure script" test -z "${GLIBC_EXTRA_ENV}" && echo "GLIBC_EXTRA_ENV not set, so not passing any extra environment variables to glibc's configure script" +test -z "${GLIBC_FAKE_CROSS_ARGS}" && echo "GLIBC_FAKE_CROSS_ARGS not set, so not passing any extra options to gcc when building glibc headers" test -z "${GLIBC_EXTRA_CC_ARGS}" && echo "GLIBC_EXTRA_CC_ARGS not set, so not passing any extra options to gcc when building glibc" test -z "${EXTRA_TARGET_CFLAGS}" && echo "EXTRA_TARGET_CFLAGS not set, so not passing any extra cflags to gcc when building glibc" test -z "${USE_SYSROOT}" && echo "USE_SYSROOT not set, so not configuring with --with-sysroot" @@ -69,40 +70,74 @@ BUILD=${GCC_BUILD-`$TOP_DIR/config.guess`} test -z "$BUILD" && abort "bug: BUILD not set?!" +# Local variable to say whether the nptl addon is being used. +# Users set it by including "nptl" in the GLIBC_ADDON_OPTIONS +unset with_nptl + if test -z "${GLIBC_ADDON_OPTIONS}"; then - echo "GLIBC_ADDON_OPTIONS not set, so guessing addons from GLIBCTHREADS_FILENAME and GLIBCCRYPT_FILENAME" - # this is lame, need to fix this for nptl later? - # (nptl is an addon, but it's shipped in the main tarball) + echo "GLIBC_ADDON_OPTIONS not set, so guessing addons from GLIBC*_FILENAME" GLIBC_ADDON_OPTIONS="=" + case "${GLIBCPORTS_FILENAME}" in + *-ports-*) GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}ports," ;; + esac case "${GLIBCTHREADS_FILENAME}" in *linuxthreads*) GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}linuxthreads," ;; esac # crypt is only an addon for glibc-2.1.x - test -z "${GLIBCCRYPT_FILENAME}" || GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}crypt," + if [ "${GLIBCCRYPT_FILENAME}" ]; then + GLIBC_ADDON_OPTIONS="${GLIBC_ADDON_OPTIONS}crypt," + fi +else + # GLIBC_ADDON_OPTIONS is set. Preen it and scan it for interesting items. + + # Allow GLIBC_ADDON_OPTIONS=nptl as well as old "GLIBC_ADDON_OPTIONS="=nptl" + case "$GLIBC_ADDON_OPTIONS" in + =*) ;; + *) GLIBC_ADDON_OPTIONS="=$GLIBC_ADDON_OPTIONS" ;; + esac + + case "$GLIBC_ADDON_OPTIONS" in + *nptl*) + with_nptl=1 ;; + esac fi -# Add some default glibc config options if not given by user. These used to be hardcoded. +# Add some default glibc config options if not given by user. DEFAULT_GLIBC_EXTRA_CONFIG="" -case "${GLIBC_EXTRA_CONFIG}" in -*enable-kernel*) ;; -*) DEFAULT_GLIBC_EXTRA_CONFIG="${DEFAULT_GLIBC_EXTRA_CONFIG} --enable-kernel=2.4.3" -esac -case "${GLIBC_EXTRA_CONFIG}" in -*-tls*) ;; -*) DEFAULT_GLIBC_EXTRA_CONFIG="${DEFAULT_GLIBC_EXTRA_CONFIG} --without-tls" -esac -case "${GLIBC_EXTRA_CONFIG}" in -*-__thread*) ;; -*) DEFAULT_GLIBC_EXTRA_CONFIG="${DEFAULT_GLIBC_EXTRA_CONFIG} --without-__thread" -esac + +if [ "$with_nptl" ] ; then + # Set default options for NPTL + case "$GLIBC_EXTRA_CONFIG" in + *enable-kernel*) ;; + *) DEFAULT_GLIBC_EXTRA_CONFIG="$DEFAULT_GLIBC_EXTRA_CONFIG --enable-kernel=2.6.4" + esac + case "$GLIBC_EXTRA_CONFIG" in + *-tls*) ;; + *) DEFAULT_GLIBC_EXTRA_CONFIG="$DEFAULT_GLIBC_EXTRA_CONFIG --with-tls=force" + esac + case "$GLIBC_EXTRA_CONFIG" in + *-__thread*) ;; + *) DEFAULT_GLIBC_EXTRA_CONFIG="$DEFAULT_GLIBC_EXTRA_CONFIG --with-__thread" + esac +else + # Non-NPTL defaults + case "$GLIBC_EXTRA_CONFIG" in + *enable-kernel*) ;; + *) DEFAULT_GLIBC_EXTRA_CONFIG="$DEFAULT_GLIBC_EXTRA_CONFIG --enable-kernel=2.4.3" + esac + case "$GLIBC_EXTRA_CONFIG" in + *-tls*) ;; + *) DEFAULT_GLIBC_EXTRA_CONFIG="$DEFAULT_GLIBC_EXTRA_CONFIG --without-tls" + esac + case "$GLIBC_EXTRA_CONFIG" in + *-__thread*) ;; + *) DEFAULT_GLIBC_EXTRA_CONFIG="$DEFAULT_GLIBC_EXTRA_CONFIG --without-__thread" + esac +fi # One is forbidden test -z "${LD_LIBRARY_PATH}" || abort "glibc refuses to build if LD_LIBRARY_PATH is set. Please unset it before running this script." -# And one is derived if unset. -test -z "${GLIBCTHREADS_FILENAME}" && -GLIBCTHREADS_FILENAME=`echo $GLIBC_DIR | sed 's/glibc-/glibc-linuxthreads-/'` - # Check for a few prerequisites that have tripped people up. awk '/x/' < /dev/null || abort "You need awk to build a toolchain." test -z "${CFLAGS}" || abort "Don't set CFLAGS, it screws up the build" @@ -146,6 +181,7 @@ GDB_DIR \ GLIBC_ADDON_OPTIONS \ GLIBC_DIR \ +GLIBC_FAKE_CROSS_ARGS \ GLIBC_EXTRA_CC_ARGS \ GLIBC_EXTRA_CONFIG \ GLIBC_EXTRA_ENV \ @@ -417,10 +453,12 @@ # Override libc_cv_ppc_machine so glibc-cvs doesn't complain # 'a version of binutils that supports .machine "altivec" is needed'. libc_cv_ppc_machine=yes \ - CC=gcc \ + CC="gcc $GLIBC_FAKE_CROSS_ARGS" \ ${GLIBC_DIR}/configure --prefix=/usr \ --build=$BUILD --host=$TARGET \ --without-cvs --disable-sanity-checks --with-headers=$HEADERDIR \ + --enable-add-ons$GLIBC_ADDON_OPTIONS \ + $GLIBC_EXTRA_CONFIG $DEFAULT_GLIBC_EXTRA_CONFIG \ --enable-hacker-mode fi @@ -463,6 +501,41 @@ # so uncomment this if you need it #cp misc/syscall-list.h $HEADERDIR/bits/syscall.h + if [ "$with_nptl" ]; then + # To build gcc with thread support requires real pthread headers. These + # will have to manually be copied from under the tree of the desired + # target pthread implementation. + case "${ARCH}" in + ppc) + ARCH_DIR="powerpc" + ;; + *) + ARCH_DIR="${ARCH}" + ;; + esac + + cp ${GLIBC_DIR}/nptl/sysdeps/pthread/pthread.h $HEADERDIR/pthread.h + + # First check ports collection, then main dir + cp ${GLIBC_DIR}/ports/sysdeps/unix/sysv/linux/${ARCH_DIR}/nptl/bits/pthreadtypes.h $HEADERDIR/bits/pthreadtypes.h || \ + cp ${GLIBC_DIR}/nptl/sysdeps/unix/sysv/linux/${ARCH_DIR}/bits/pthreadtypes.h $HEADERDIR/bits/pthreadtypes.h + + # On s390, powerpc and sparc we also require bits/wordsize.h. + case $TARGET in + sparc* | s390* | powerpc* ) + case $TARGET in + sparc64* ) wordsize_h=sysdeps/sparc/sparc64/bits/wordsize.h ;; + sparc* ) wordsize_h=sysdeps/sparc/sparc32/bits/wordsize.h ;; + s390x* ) wordsize_h=sysdeps/s390/s390x/bits/wordsize.h ;; + s390* ) wordsize_h=sysdeps/s390/s390/bits/wordsize.h ;; + powerpc64* ) wordsize_h=sysdeps/powerpc/powerpc64/bits/wordsize.h ;; + powerpc* ) wordsize_h=sysdeps/powerpc/powerpc32/bits/wordsize.h ;; + esac + test ! -f $HEADERDIR/bits/wordsize.h && cp ${GLIBC_DIR}/${wordsize_h} $HEADERDIR/bits/wordsize.h + ;; + esac + fi + cd .. fi @@ -479,14 +552,14 @@ # Use funky prefix so it doesn't contaminate real prefix, in case GCC_DIR != GCC_CORE_DIR if test '!' -f Makefile; then - ${GCC_CORE_DIR}/configure $CANADIAN_BUILD --target=$TARGET --host=$GCC_HOST --prefix=$CORE_PREFIX \ + eval ${GCC_CORE_DIR}/configure $CANADIAN_BUILD --target=$TARGET --host=$GCC_HOST --prefix=$CORE_PREFIX \ --with-local-prefix=${SYSROOT} \ --disable-multilib \ --with-newlib \ - ${GCC_EXTRA_CONFIG} \ + $GCC_EXTRA_CONFIG \ ${GCC_SYSROOT_ARG_CORE} \ --disable-nls \ - --enable-threads=no \ + --enable-threads=posix \ --enable-symvers=gnu \ --enable-__cxa_atexit \ --enable-languages=c \ @@ -501,8 +574,127 @@ logresult gcc-core $CORE_PREFIX/bin/${TARGET}-gcc${EXEEXT} +# Following extra steps required for building an NPTL enabled glibc. +if [ "$with_nptl" ] ; then + #--------------------------------------------------------- + echo "Build glibc startfiles (required for shared libgcc)" + + mkdir -p build-glibc-startfiles; cd build-glibc-startfiles + + # sh4 really needs to set configparms as of gcc-3.4/glibc-2.3.2 + # note: this is awkward, doesn't work well if you need more than one line in configparms + echo ${GLIBC_CONFIGPARMS} > configparms + + echo "libc_cv_forced_unwind=yes" > config.cache + echo "libc_cv_c_cleanup=yes" >> config.cache + # this here is moot, currently you cannot build nptl for sparc64 + case ${TARGET} in + sparc64* ) echo "libc_cv_sparc64_tls=yes" >> config.cache ;; + esac + + if test '!' -f Makefile; then + # Configure with --prefix the way we want it on the target... + # There are a whole lot of settings here. You'll probably want + # to read up on what they all mean, and customize a bit. + # e.g. I picked --enable-kernel=2.4.3 here just because it's the kernel Bill + # used in his example gcc2.95.3 script. That means some backwards compatibility + # stuff is turned on in glibc that you may not need if you're using a newer kernel. + # Compare these options with the ones used when installing the glibc headers above - they're different. + # Adding "--without-gd" option to avoid error "memusagestat.c:36:16: gd.h: No such file or directory" + # See also http://sources.redhat.com/ml/libc-alpha/2000-07/msg00024.html. + # Set BUILD_CC, or you won't be able to build datafiles + # Set --build, else glibc-2.3.2 will think you're not cross-compiling, and try to run the test programs + + BUILD_CC=gcc CFLAGS="$TARGET_CFLAGS" CC="${TARGET}-gcc $GLIBC_EXTRA_CC_ARGS" \ + AR=${TARGET}-ar RANLIB=${TARGET}-ranlib \ + ${GLIBC_DIR}/configure --prefix=/usr \ + --build=$BUILD --host=$TARGET \ + $GLIBC_EXTRA_CONFIG ${DEFAULT_GLIBC_EXTRA_CONFIG} \ + --enable-kernel=${GLIBC_MIN_KERNEL} \ + --without-cvs --disable-profile --disable-debug --without-gd \ + $SHARED_MODE \ + --enable-add-ons${GLIBC_ADDON_OPTIONS} --with-headers=$HEADERDIR \ + --cache-file=config.cache + fi + + #TODO: should check whether slibdir has been set in configparms to */lib64 + # and copy the startfiles into the appropriate libdir. + make csu/subdir_lib + + test -z "${USE_SYSROOT}" && + cp -fp csu/crt[1in].o ${SYSROOT}/lib/ || + cp -fp csu/crt[1in].o ${SYSROOT}/usr/lib/ + + cd .. + + #--------------------------------------------------------- + echo "Build gcc-core w shared libgcc" + + mkdir -p build-gcc-core-shared; cd build-gcc-core-shared + + # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532) + + if test '!' -f Makefile; then + eval ${GCC_DIR}/configure $CANADIAN_BUILD --target=$TARGET --host=$GCC_HOST --prefix=$PREFIX \ + --with-local-prefix=${SYSROOT} \ + --disable-multilib \ + $GCC_EXTRA_CONFIG \ + ${GCC_SYSROOT_ARG_CORE} \ + --disable-nls \ + --enable-symvers=gnu \ + --enable-__cxa_atexit \ + --enable-languages=c \ + --enable-shared + fi + + # HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or + # gcc/config/t-libunwind so -lc is removed from the link for + # libgcc_s.so, as we do not have a target -lc yet. + # This is not as ugly as it appears to be ;-) All symbols get resolved + # during the glibc build, and we provide a proper libgcc_s.so for the + # cross toolchain during the final gcc build. + # + # As we cannot modify the source tree, nor override SHLIB_LC itself + # during configure or make, we have to edit the resultant + # gcc/libgcc.mk itself to remove -lc from the link. + # This causes us to have to jump through some hoops... + # + # To produce libgcc.mk to edit we firstly require libiberty.a, + # so we configure then build it. + # Next we have to configure gcc, create libgcc.mk then edit it... + # So much easier if we just edit the source tree, but hey... + if test '!' -f ${GCC_DIR}/gcc/BASE-VER; then + make configure-libiberty + make -C libiberty libiberty.a + make configure-gcc + else + if test -d ${GCC_DIR}/libdecnumber; then + make configure-libdecnumber + make all-libdecnumber + fi + make configure-gcc + make configure-libcpp + make configure-build-libiberty + make all-libcpp + make all-build-libiberty + fi + make -C gcc libgcc.mk + + if test '!' -f gcc/libgcc.mk-ORIG ; then cp -p gcc/libgcc.mk gcc/libgcc.mk-ORIG; fi + sed 's@-lc@@g' < gcc/libgcc.mk-ORIG > gcc/libgcc.mk + + test "$CANADIAN_BUILD" = "" || make $PARALLELMFLAGS all-build-libiberty || true + make $PARALLELMFLAGS all-gcc + make install-gcc + + cd .. + + logresult gcc-core-shared ${PREFIX}/bin/${TARGET}-gcc${EXEEXT} + +fi + #--------------------------------------------------------- -echo Build glibc and linuxthreads +echo Build glibc mkdir -p build-glibc; cd build-glibc @@ -510,6 +702,16 @@ # note: this is awkward, doesn't work well if you need more than one line in configparms echo ${GLIBC_CONFIGPARMS} > configparms +if [ "$with_nptl" ] ; then + # Following configure tests fail while cross-compiling + echo "libc_cv_forced_unwind=yes" > config.cache + echo "libc_cv_c_cleanup=yes" >> config.cache + # The following is moot, currently you cannot build nptl for sparc64 + case ${TARGET} in + sparc64* ) echo "libc_cv_sparc64_tls=yes" >> config.cache ;; + esac +fi + if test '!' -f Makefile; then # Configure with --prefix the way we want it on the target... # There are a whole lot of settings here. You'll probably want @@ -524,9 +726,10 @@ AR=${TARGET}-ar RANLIB=${TARGET}-ranlib \ ${GLIBC_DIR}/configure --prefix=/usr \ --build=$BUILD --host=$TARGET \ - ${GLIBC_EXTRA_CONFIG} ${DEFAULT_GLIBC_EXTRA_CONFIG} \ + $GLIBC_EXTRA_CONFIG ${DEFAULT_GLIBC_EXTRA_CONFIG} \ --without-cvs --disable-profile --disable-debug --without-gd \ $SHARED_MODE \ + --cache-file=config.cache \ --enable-add-ons${GLIBC_ADDON_OPTIONS} --with-headers=$HEADERDIR fi @@ -592,8 +795,8 @@ # only matters for gcc-3.2.x and later, I think # --disable-nls to work around crash bug on ppc405, but also because embedded # systems don't really need message catalogs... - ${GCC_DIR}/configure $CANADIAN_BUILD --target=$TARGET --host=$GCC_HOST --prefix=$PREFIX \ - ${GCC_EXTRA_CONFIG} \ + eval ${GCC_DIR}/configure $CANADIAN_BUILD --target=$TARGET --host=$GCC_HOST --prefix=$PREFIX \ + $GCC_EXTRA_CONFIG \ $GCC_SYSROOT_ARG \ --with-local-prefix=${SYSROOT} \ --disable-nls \ diff --exclude=build -Nur crosstool-0.42/earm.config crosstool-0.42-patched/earm.config --- crosstool-0.42/earm.config 1969-12-31 16:00:00.000000000 -0800 +++ crosstool-0.42-patched/earm.config 2006-04-20 05:19:12.000000000 -0700 @@ -0,0 +1,903 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.16 +# Thu Apr 20 13:18:59 2006 +# +CONFIG_ARM=y +CONFIG_MMU=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_CALIBRATE_DELAY=y + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +CONFIG_SYSCTL=y +# CONFIG_AUDIT is not set +# CONFIG_IKCONFIG is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_UID16=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_EMBEDDED is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SHMEM=y +CONFIG_CC_ALIGN_FUNCTIONS=0 +CONFIG_CC_ALIGN_LABELS=0 +CONFIG_CC_ALIGN_LOOPS=0 +CONFIG_CC_ALIGN_JUMPS=0 +CONFIG_SLAB=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +# CONFIG_SLOB is not set + +# +# Loadable module support +# +# CONFIG_MODULES is not set + +# +# Block layer +# + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +CONFIG_DEFAULT_AS=y +# CONFIG_DEFAULT_DEADLINE is not set +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="anticipatory" + +# +# System Type +# +# 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_FOOTBRIDGE is not set +CONFIG_ARCH_INTEGRATOR=y +# CONFIG_ARCH_IOP3XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_AT91RM9200 is not set + +# +# Integrator Options +# +# CONFIG_ARCH_INTEGRATOR_AP is not set +CONFIG_ARCH_INTEGRATOR_CP=y +CONFIG_ARCH_CINTEGRATOR=y + +# +# Processor Type +# +CONFIG_CPU_32=y +# CONFIG_CPU_ARM720T is not set +# CONFIG_CPU_ARM920T is not set +# CONFIG_CPU_ARM922T is not set +# CONFIG_CPU_ARM926T is not set +# CONFIG_CPU_ARM1020 is not set +# CONFIG_CPU_ARM1022 is not set +CONFIG_CPU_ARM1026=y +# CONFIG_CPU_V6 is not set +CONFIG_CPU_32v5=y +CONFIG_CPU_ABRT_EV5T=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y + +# +# Processor Features +# +CONFIG_ARM_THUMB=y +CONFIG_ICST525=y + +# +# Bus support +# +CONFIG_ARM_AMBA=y + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +# CONFIG_PREEMPT is not set +# CONFIG_NO_IDLE_HZ is not set +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +CONFIG_LEDS=y +# CONFIG_LEDS_TIMER is not set +CONFIG_LEDS_CPU=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="root=0x301" +# CONFIG_XIP_KERNEL is not set + +# +# CPU Frequency scaling +# +# CONFIG_CPU_FREQ is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +# CONFIG_FPE_FASTFPE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_AOUT=y +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +# CONFIG_APM is not set + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +# CONFIG_NETDEBUG is not set +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +# CONFIG_NET_KEY is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_BIC=y + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +# CONFIG_IPV6 is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_NETLINK is not set +# CONFIG_NETFILTER_XTABLES is not set + +# +# IP: Netfilter Configuration +# +CONFIG_IP_NF_CONNTRACK=y +# CONFIG_IP_NF_CT_ACCT is not set +# CONFIG_IP_NF_CONNTRACK_MARK is not set +# CONFIG_IP_NF_CONNTRACK_EVENTS is not set +# CONFIG_IP_NF_CT_PROTO_SCTP is not set +CONFIG_IP_NF_FTP=y +# CONFIG_IP_NF_IRC is not set +# CONFIG_IP_NF_NETBIOS_NS is not set +# CONFIG_IP_NF_TFTP is not set +# CONFIG_IP_NF_AMANDA is not set +# CONFIG_IP_NF_PPTP is not set +CONFIG_IP_NF_QUEUE=y + +# +# DCCP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_DCCP is not set + +# +# SCTP Configuration (EXPERIMENTAL) +# +# CONFIG_IP_SCTP is not set + +# +# TIPC Configuration (EXPERIMENTAL) +# +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_IEEE80211 is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_DEBUG_DRIVER is not set + +# +# Connector - unified userspace <-> kernelspace linker +# +# CONFIG_CONNECTOR is not set + +# +# Memory Technology Devices (MTD) +# +# CONFIG_MTD is not set + +# +# Parallel port support +# +CONFIG_PARPORT=y +CONFIG_PARPORT_PC=y +# CONFIG_PARPORT_PC_FIFO is not set +CONFIG_PARPORT_PC_SUPERIO=y +# CONFIG_PARPORT_ARC is not set +# CONFIG_PARPORT_GSC is not set +# CONFIG_PARPORT_1284 is not set + +# +# Plug and Play support +# + +# +# Block devices +# +# CONFIG_PARIDE is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +CONFIG_BLK_DEV_RAM_COUNT=16 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +# CONFIG_SCSI is not set + +# +# Multi-device support (RAID and LVM) +# +# CONFIG_MD is not set + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# + +# +# I2O device support +# + +# +# Network device support +# +CONFIG_NETDEVICES=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set + +# +# PHY device support +# +# CONFIG_PHYLIB is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +# CONFIG_NET_POCKET is not set + +# +# Ethernet (1000 Mbit) +# + +# +# Ethernet (10000 Mbit) +# + +# +# Token Ring devices +# + +# +# Wireless LAN (non-hamradio) +# +# CONFIG_NET_RADIO is not set + +# +# Wan interfaces +# +# CONFIG_WAN is not set +# CONFIG_PLIP is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_TSDEV is not set +# CONFIG_INPUT_EVDEV is not set +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_SERIAL=y +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +CONFIG_INPUT_MISC=y +CONFIG_INPUT_UINPUT=y + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_PARKBD is not set +# CONFIG_SERIO_AMBAKMI is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +# CONFIG_SERIAL_AMBA_PL011 is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +CONFIG_PRINTER=y +# CONFIG_LP_CONSOLE is not set +# CONFIG_PPDEV is not set +# CONFIG_TIPAR is not set + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_NVRAM is not set +CONFIG_RTC=y +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set + +# +# Ftape, the floppy tape device driver +# +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set +# CONFIG_TELCLOCK is not set + +# +# I2C support +# +# CONFIG_I2C is not set + +# +# SPI support +# +# CONFIG_SPI is not set +# CONFIG_SPI_MASTER is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Hardware Monitoring support +# +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Misc devices +# + +# +# Multimedia Capabilities Port drivers +# + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +# CONFIG_DVB is not set + +# +# Graphics support +# +CONFIG_FB=y +# CONFIG_FB_CFB_FILLRECT is not set +# CONFIG_FB_CFB_COPYAREA is not set +# CONFIG_FB_CFB_IMAGEBLIT is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_ARMCLCD is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set + +# +# Console display driver support +# +CONFIG_VGA_CONSOLE=y +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_7x14 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_10x18 is not set + +# +# Logo configuration +# +CONFIG_LOGO=y +CONFIG_LOGO_LINUX_MONO=y +CONFIG_LOGO_LINUX_VGA16=y +CONFIG_LOGO_LINUX_CLUT224=y +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +# CONFIG_SND is not set + +# +# Open Sound System +# +CONFIG_SOUND_PRIME=y +# CONFIG_OBSOLETE_OSS_DRIVER is not set + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# +# CONFIG_MMC is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +# CONFIG_EXT3_FS is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +CONFIG_AUTOFS_FS=y +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +# CONFIG_ZISOFS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y +# CONFIG_RELAYFS_FS is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS 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_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_DIRECTIO is not set +CONFIG_NFSD=y +CONFIG_NFSD_V3=y +# CONFIG_NFSD_V3_ACL is not set +# CONFIG_NFSD_V4 is not set +# CONFIG_NFSD_TCP is not set +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=y +# CONFIG_SMB_NLS_DEFAULT is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +# CONFIG_9P_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_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +CONFIG_NLS_CODEPAGE_850=y +CONFIG_NLS_CODEPAGE_852=y +# 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_ASCII is not set +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=y +# 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=y +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=y + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_KERNEL=y +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_DETECT_SOFTLOCKUP is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_DEBUG_VM is not set +CONFIG_FRAME_POINTER=y +# CONFIG_FORCED_INLINING is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_DEBUG_USER=y +# CONFIG_DEBUG_WAITQ is not set +# CONFIG_DEBUG_ERRORS is not set +# CONFIG_DEBUG_LL is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +# CONFIG_CRYPTO_HMAC is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=y +# CONFIG_CRYPTO_SHA1 is not set +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_TGR192 is not set +CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_TEST is not set + +# +# Hardware crypto devices +# + +# +# Library routines +# +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +CONFIG_CRC32=y +# CONFIG_LIBCRC32C is not set diff --exclude=build -Nur crosstool-0.42/earm.dat crosstool-0.42-patched/earm.dat --- crosstool-0.42/earm.dat 1969-12-31 16:00:00.000000000 -0800 +++ crosstool-0.42-patched/earm.dat 2006-04-25 11:39:58.000000000 -0700 @@ -0,0 +1,6 @@ +KERNELCONFIG=`pwd`/earm.config +TARGET=arm-926ejs-linux-gnueabi +GCC_EXTRA_CONFIG='--with-cpu=arm926ej-s --with-float=soft "--enable-cxx-flags=-mcpu=arm926ej-s -msoft-float"' +GLIBC_EXTRA_CONFIG='--without-fp --disable-libunwind-exceptions' +GLIBC_FAKE_CROSS_ARGS=-D__ARM_EABI__ +TARGET_CFLAGS=-O diff --exclude=build -Nur crosstool-0.42/getandpatch.sh crosstool-0.42-patched/getandpatch.sh --- crosstool-0.42/getandpatch.sh 2006-02-27 11:22:26.000000000 -0800 +++ crosstool-0.42-patched/getandpatch.sh 2006-04-25 01:46:22.000000000 -0700 @@ -32,9 +32,6 @@ test -z "${GLIBC_DIR}" && abort "Please set GLIBC_DIR to the bare filename of the glibc tarball or directory" test -z "${LINUX_SANITIZED_HEADER_DIR}" && echo "Not downloading linux-libc-headers. Set LINUX_SANITIZED_HEADER_DIR to do so" test -z "${LINUX_DIR}" && echo "Not downloading kernel sources. Set LINUX_DIR if you want to do so" - # And one is derived if not set explicitly. - test -z "${GLIBCTHREADS_FILENAME}" && - GLIBCTHREADS_FILENAME=`echo $GLIBC_DIR | sed 's/glibc-/glibc-linuxthreads-/'` fi test -z "${TARBALLS_DIR}" && abort "Please set TARBALLS_DIR to the directory to download tarballs to." @@ -70,13 +67,13 @@ case $1 in *glibc-200*gz) - wget --tries=5 -P ${TARBALLS_DIR} -c $1 || wget --tries=5 --passive-ftp -P ${TARBALLS_DIR} -c $1 || \ + wget --tries=5 --passive-ftp -P ${TARBALLS_DIR} -c $1 || \ (cd $TARBALLS_DIR; sh $TOP_DIR/glibc-get.sh $1; ) ;; *) # Note: if you need to use a proxy, try # export http_proxy=: - wget --tries=5 -P ${TARBALLS_DIR} -c $1 || wget --tries=5 --passive-ftp -P ${TARBALLS_DIR} -c $1 + wget --tries=5 --passive-ftp -P ${TARBALLS_DIR} -c $1 # FIXME: support curl on systems that don't have wget ;; esac @@ -145,6 +142,18 @@ abort "Unrecognized suffix for tarball $ARCHIVE_NAME" ;; esac + # ports dir contents need to be moved to "ports" + case $BASENAME in + glibc*-ports-*) + # Bomb-proofing in case "ports" dir already exists + if [ -d ports ]; then + abort "ports directory already exists in $GLIBC_DIR" + else + mv $BASENAME ports + fi + ;; + esac + # Fix path of old linux source trees if [ -d linux ]; then mv linux $BASENAME @@ -202,7 +211,7 @@ # No glibc for cygwin. if test "${CYGWIN_DIR}" = ""; then case $GLIBC_DIR in - glibc-200*) + glibc*-200*) getUnpackAndPatch \ ftp://gcc.gnu.org/pub/glibc/snapshots/$GLIBC_DIR.tar.bz2 \ ftp://gcc.gnu.org/pub/glibc/snapshots/$GLIBC_DIR.tar.gz ;; @@ -264,12 +273,25 @@ http://ep09.pld-linux.org/~mmazur/linux-libc-headers/${LINUX_SANITIZED_HEADER_DIR}.tar.bz2 \ ftp://ftp.lfs-matrix.net/pub/linux-libc-headers/${LINUX_SANITIZED_HEADER_DIR}.tar.bz2 # Glibc addons must come after glibc + test -n "${GLIBCTHREADS_FILENAME}" && getUnpackAndPatch \ ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCTHREADS_FILENAME.tar.bz2 \ ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCTHREADS_FILENAME.tar.gz \ ftp://gcc.gnu.org/pub/glibc/releases/$GLIBCTHREADS_FILENAME.tar.bz2 \ ftp://gcc.gnu.org/pub/glibc/releases/$GLIBCTHREADS_FILENAME.tar.gz - + test -n "${GLIBCPORTS_FILENAME}" && + case $GLIBCPORTS_FILENAME in + glibc*-ports-200*) + getUnpackAndPatch \ + ftp://gcc.gnu.org/pub/glibc/snapshots/$GLIBCPORTS_FILENAME.tar.bz2 \ + ftp://gcc.gnu.org/pub/glibc/snapshots/$GLIBCPORTS_FILENAME.tar.gz ;; + *) + getUnpackAndPatch \ + ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCPORTS_FILENAME.tar.bz2 \ + ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCPORTS_FILENAME.tar.gz \ + ftp://gcc.gnu.org/pub/glibc/releases/$GLIBCPORTS_FILENAME.tar.bz2 \ + ftp://gcc.gnu.org/pub/glibc/releases/$GLIBCPORTS_FILENAME.tar.gz ;; + esac test x$GLIBCCRYPT_FILENAME = x || getUnpackAndPatch ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCCRYPT_FILENAME.tar.gz ftp://ftp.gnu.org/pub/gnu/glibc/$GLIBCCRYPT_FILENAME.tar.bz2 fi diff --exclude=build -Nur crosstool-0.42/latest.dat crosstool-0.42-patched/latest.dat --- crosstool-0.42/latest.dat 1969-12-31 16:00:00.000000000 -0800 +++ crosstool-0.42-patched/latest.dat 2006-04-25 08:36:13.000000000 -0700 @@ -0,0 +1,7 @@ +BINUTILS_DIR=binutils-2.16.92 +GCC_DIR=gcc-4.1.0 +GLIBC_DIR=glibc-2.4 +GLIBCPORTS_FILENAME=glibc-ports-2.4 +GLIBC_ADDON_OPTIONS=ports,nptl +GDB_DIR=gdb-6.4 +LINUX_DIR=linux-2.6.16.11 diff --exclude=build -Nur crosstool-0.42/latest.sh crosstool-0.42-patched/latest.sh --- crosstool-0.42/latest.sh 1969-12-31 16:00:00.000000000 -0800 +++ crosstool-0.42-patched/latest.sh 2006-04-25 01:42:37.000000000 -0700 @@ -0,0 +1,17 @@ +#!/bin/sh +set -ex +TARBALLS_DIR=/spare2/medwards/crosstool/downloads +RESULT_TOP=/opt/crosstool +export TARBALLS_DIR RESULT_TOP +GCC_LANGUAGES="c,c++" +export GCC_LANGUAGES + +# Really, you should do the mkdir before running this, +# and chown /opt/crosstool to yourself so you don't need to run as root. +mkdir -p $RESULT_TOP + +# Build the toolchain. Takes a couple hours and a couple gigabytes. + + eval `cat earm.dat latest.dat` sh all.sh --notest + +echo Done. diff --exclude=build -Nur crosstool-0.42/patches/binutils-2.16.92/rebuild-info.patch crosstool-0.42-patched/patches/binutils-2.16.92/rebuild-info.patch --- crosstool-0.42/patches/binutils-2.16.92/rebuild-info.patch 1969-12-31 16:00:00.000000000 -0800 +++ crosstool-0.42-patched/patches/binutils-2.16.92/rebuild-info.patch 2006-04-25 03:04:35.000000000 -0700 @@ -0,0 +1,583 @@ +From binutils-return-45442-listarch-binutils=sources dot redhat dot com at sourceware dot org Mon Apr 17 16:05:05 2006 +Return-Path: +Delivered-To: listarch-binutils at sources dot redhat dot com +Received: (qmail 31255 invoked by alias); 17 Apr 2006 16:05:04 -0000 +Received: (qmail 31243 invoked by uid 22791); 17 Apr 2006 16:05:01 -0000 +X-Spam-Check-By: sourceware.org +Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Mon, 17 Apr 2006 16:04:57 +0000 +Received: from drow by nevyn.them.org with local (Exim 4.54) id 1FVWDd-0004vF-Td; Mon, 17 Apr 2006 12:04:54 -0400 +Date: Mon, 17 Apr 2006 12:04:53 -0400 +From: Daniel Jacobowitz +To: Andreas Schwab +Cc: binutils at sourceware dot org +Subject: Re: Binutils 2.17 first prerelease available +Message-ID: <20060417160453.GA17677@nevyn.them.org> +Mail-Followup-To: Andreas Schwab , binutils at sourceware dot org +References: <20060416185048.GA29327@nevyn.them.org> +Mime-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline +In-Reply-To: +User-Agent: Mutt/1.5.8i +Mailing-List: contact binutils-help at sourceware dot org; run by ezmlm +Precedence: bulk +List-Subscribe: +List-Archive: +List-Post: +List-Help: , +Sender: binutils-owner at sourceware dot org +Delivered-To: mailing list binutils at sourceware dot org + +On Mon, Apr 17, 2006 at 04:34:37PM +0200, Andreas Schwab wrote: +> Daniel Jacobowitz writes: +> +> > I have just uploaded: +> > ftp://sourceware.org/pub/binutils/snapshots/binutils-2.16.92.tar.bz2 +> > +> > The binutils 2.17 branch is now open. Bug fixes only, please - use your +> > own discretion. Assuming that all goes well, there will be another +> > prerelease in a few weeks, which will shortly turn into a release. +> +> When touching binutils/doc/binutils.texi, I cannot rebuild the info file, +> because config.texi from the source directory is used instead of the one +> from the build directory. + +I assume this is a recent development, because of the exact error: + +> ../../../binutils/doc/binutils.texi:3528: @include `../.././binutils/../libiberty/at-file.texi': No such file or directory. + +I don't know why we went through the hassle of using @include @value{} +for this, since we already use makeinfo -I in some cases. + +[pause] + +Oh, now I do. texi2pod.pl doesn't grok -I. Try this? + +2006-04-17 Daniel Jacobowitz + + * doc/Makefile.am (AM_MAKEINFOFLAGS): New. + (TEXI2POD): Use AM_MAKEINFOFLAGS. + (config.texi): Don't set top_srcdir. + * doc/binutils.texi: Don't use top_srcdir. + * aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated. + +2006-04-17 Daniel Jacobowitz + + * doc/Makefile.am (AM_MAKEINFOFLAGS): New. + (TEXI2POD): Use AM_MAKEINFOFLAGS. + (asconfig.texi): Don't set top_srcdir. + * doc/as.texinfo: Don't use top_srcdir. + * aclocal.m4, Makefile.in, doc/Makefile.in: Regenerated. + +2006-04-17 Daniel Jacobowitz + + * Makefile.am (AM_MAKEINFOFLAGS): Add libiberty. + (TEXI2POD): Use AM_MAKEINFOFLAGS. + (configdoc.texi): Don't set top_srcdir. + * ld.texinfo: Don't use top_srcdir. + * aclocal.m4, Makefile.in: Regenerated. + +2006-04-17 Daniel Jacobowitz + + * texi2pod.pl: Handle -I. + +[[ Patch regenerated for use with -p1. -- MKE ]] + + +diff -ur binutils-2.16.92/binutils/Makefile.in binutils-2.16.92-patched/binutils/Makefile.in +--- binutils-2.16.92/binutils/Makefile.in 2006-04-06 14:49:26.000000000 -0700 ++++ binutils-2.16.92-patched/binutils/Makefile.in 2006-04-25 03:01:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.9.5 from Makefile.am. ++# Makefile.in generated by automake 1.9.6 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +@@ -14,8 +14,6 @@ + + @SET_MAKE@ + +-SOURCES = $(addr2line_SOURCES) $(ar_SOURCES) $(coffdump_SOURCES) $(cxxfilt_SOURCES) $(dlltool_SOURCES) $(dllwrap_SOURCES) $(nlmconv_SOURCES) $(nm_new_SOURCES) $(objcopy_SOURCES) $(objdump_SOURCES) $(ranlib_SOURCES) $(readelf_SOURCES) $(size_SOURCES) $(srconv_SOURCES) $(strings_SOURCES) $(strip_new_SOURCES) $(sysdump_SOURCES) $(windres_SOURCES) +- + srcdir = @srcdir@ + top_srcdir = @top_srcdir@ + VPATH = @srcdir@ +diff -ur binutils-2.16.92/binutils/aclocal.m4 binutils-2.16.92-patched/binutils/aclocal.m4 +--- binutils-2.16.92/binutils/aclocal.m4 2005-09-30 09:03:47.000000000 -0700 ++++ binutils-2.16.92-patched/binutils/aclocal.m4 2006-04-25 03:01:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-# generated automatically by aclocal 1.9.5 -*- Autoconf -*- ++# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + + # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + # 2005 Free Software Foundation, Inc. +@@ -28,7 +28,7 @@ + # Call AM_AUTOMAKE_VERSION so it can be traced. + # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +- [AM_AUTOMAKE_VERSION([1.9.5])]) ++ [AM_AUTOMAKE_VERSION([1.9.6])]) + + # AM_AUX_DIR_EXPAND -*- Autoconf -*- + +diff -ur binutils-2.16.92/binutils/doc/Makefile.am binutils-2.16.92-patched/binutils/doc/Makefile.am +--- binutils-2.16.92/binutils/doc/Makefile.am 2006-04-06 14:49:29.000000000 -0700 ++++ binutils-2.16.92-patched/binutils/doc/Makefile.am 2006-04-25 03:01:26.000000000 -0700 +@@ -8,7 +8,7 @@ + # Options to extract the man page from as.texinfo + MANCONF = -Dman + +-TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl ++TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) + + POD2MAN = pod2man --center="GNU Development Tools" \ + --release="binutils-$(VERSION)" --section=1 +@@ -34,12 +34,13 @@ + binutils_TEXINFOS = config.texi + binutils_TEXI = $(srcdir)/binutils.texi + ++AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" ++ + config.texi: $(srcdir)/../../bfd/configure $(binutils_TEXI) + rm -f config.texi + eval `grep '^ *VERSION=' $(srcdir)/../../bfd/configure`; \ + echo "@set VERSION $$VERSION" > $@ + echo "@set UPDATED `date "+%B %Y"`" >> config.texi +- echo "@set top_srcdir $(top_srcdir)" >> config.texi + + # Man page generation from texinfo + addr2line.1: $(binutils_TEXI) +diff -ur binutils-2.16.92/binutils/doc/Makefile.in binutils-2.16.92-patched/binutils/doc/Makefile.in +--- binutils-2.16.92/binutils/doc/Makefile.in 2006-04-06 14:49:29.000000000 -0700 ++++ binutils-2.16.92-patched/binutils/doc/Makefile.in 2006-04-25 03:01:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.9.5 from Makefile.am. ++# Makefile.in generated by automake 1.9.6 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +@@ -217,7 +217,7 @@ + + # Options to extract the man page from as.texinfo + MANCONF = -Dman +-TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl ++TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl $(AM_MAKEINFOFLAGS) + POD2MAN = pod2man --center="GNU Development Tools" \ + --release="binutils-$(VERSION)" --section=1 + +@@ -242,6 +242,7 @@ + info_TEXINFOS = binutils.texi + binutils_TEXINFOS = config.texi + binutils_TEXI = $(srcdir)/binutils.texi ++AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" + MAINTAINERCLEANFILES = config.texi + MOSTLYCLEANFILES = $(DEMANGLER_NAME).1 + html__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +@@ -292,9 +293,11 @@ + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && cd $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ +- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ +- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ +- done; \ ++ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ ++ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ ++ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ ++ done; \ ++ else :; fi && \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ +@@ -336,6 +339,7 @@ + binutils.pdf: binutils.texi $(binutils_TEXINFOS) + binutils.html: binutils.texi $(binutils_TEXINFOS) + .dvi.ps: ++ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(DVIPS) -o $@ $< + + uninstall-info-am: +@@ -368,10 +372,13 @@ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ +- for file in $$d/$$base*; do \ +- relfile=`expr "$$file" : "$$d/\(.*\)"`; \ +- test -f $(distdir)/$$relfile || \ +- cp -p $$file $(distdir)/$$relfile; \ ++ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ ++ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ ++ if test -f $$file; then \ ++ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ ++ test -f $(distdir)/$$relfile || \ ++ cp -p $$file $(distdir)/$$relfile; \ ++ else :; fi; \ + done; \ + done + +@@ -574,7 +581,6 @@ + eval `grep '^ *VERSION=' $(srcdir)/../../bfd/configure`; \ + echo "@set VERSION $$VERSION" > $@ + echo "@set UPDATED `date "+%B %Y"`" >> config.texi +- echo "@set top_srcdir $(top_srcdir)" >> config.texi + + # Man page generation from texinfo + addr2line.1: $(binutils_TEXI) +diff -ur binutils-2.16.92/binutils/doc/binutils.texi binutils-2.16.92-patched/binutils/doc/binutils.texi +--- binutils-2.16.92/binutils/doc/binutils.texi 2006-04-05 09:12:01.000000000 -0700 ++++ binutils-2.16.92-patched/binutils/doc/binutils.texi 2006-04-25 03:01:26.000000000 -0700 +@@ -3525,7 +3525,7 @@ + + @c man begin OPTIONS + @table @env +-@include @value{top_srcdir}/../libiberty/at-file.texi ++@include at-file.texi + @c man end + + @item --help +diff -ur binutils-2.16.92/etc/texi2pod.pl binutils-2.16.92-patched/etc/texi2pod.pl +--- binutils-2.16.92/etc/texi2pod.pl 2005-10-21 16:29:22.000000000 -0700 ++++ binutils-2.16.92-patched/etc/texi2pod.pl 2006-04-25 03:01:26.000000000 -0700 +@@ -36,6 +36,7 @@ + $fnno = 1; + $inf = ""; + $ibase = ""; ++@ipath = (); + + while ($_ = shift) { + if (/^-D(.*)$/) { +@@ -51,6 +52,13 @@ + die "flags may only contain letters, digits, hyphens, dashes and underscores\n" + unless $flag =~ /^[a-zA-Z0-9_-]+$/; + $defs{$flag} = $value; ++ } elsif (/^-I(.*)$/) { ++ if ($1 ne "") { ++ $flag = $1; ++ } else { ++ $flag = shift; ++ } ++ push (@ipath, $flag); + } elsif (/^-/) { + usage(); + } else { +@@ -229,10 +237,12 @@ + $inf = gensym(); + $file = postprocess($1); + +- # Try cwd and $ibase. +- open($inf, "<" . $file) +- or open($inf, "<" . $ibase . "/" . $file) +- or die "cannot open $file or $ibase/$file: $!\n"; ++ # Try cwd and $ibase, then explicit -I paths. ++ $done = 0; ++ foreach $path (".", $ibase, @ipath) { ++ open($inf, "<" . $path . "/" . $file) and ($done = 1, last); ++ } ++ die "cannot find $file" if !$done; + next; + }; + +diff -ur binutils-2.16.92/gas/Makefile.in binutils-2.16.92-patched/gas/Makefile.in +--- binutils-2.16.92/gas/Makefile.in 2006-04-06 14:49:31.000000000 -0700 ++++ binutils-2.16.92-patched/gas/Makefile.in 2006-04-25 03:01:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.9.5 from Makefile.am. ++# Makefile.in generated by automake 1.9.6 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +@@ -15,8 +15,6 @@ + @SET_MAKE@ + + +-SOURCES = $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) $(itbl_test_SOURCES) +- + srcdir = @srcdir@ + top_srcdir = @top_srcdir@ + VPATH = @srcdir@ +diff -ur binutils-2.16.92/gas/aclocal.m4 binutils-2.16.92-patched/gas/aclocal.m4 +--- binutils-2.16.92/gas/aclocal.m4 2005-09-30 11:55:22.000000000 -0700 ++++ binutils-2.16.92-patched/gas/aclocal.m4 2006-04-25 03:01:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-# generated automatically by aclocal 1.9.5 -*- Autoconf -*- ++# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + + # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + # 2005 Free Software Foundation, Inc. +@@ -28,7 +28,7 @@ + # Call AM_AUTOMAKE_VERSION so it can be traced. + # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +- [AM_AUTOMAKE_VERSION([1.9.5])]) ++ [AM_AUTOMAKE_VERSION([1.9.6])]) + + # AM_AUX_DIR_EXPAND -*- Autoconf -*- + +diff -ur binutils-2.16.92/gas/doc/Makefile.am binutils-2.16.92-patched/gas/doc/Makefile.am +--- binutils-2.16.92/gas/doc/Makefile.am 2006-04-06 14:49:33.000000000 -0700 ++++ binutils-2.16.92-patched/gas/doc/Makefile.am 2006-04-25 03:01:26.000000000 -0700 +@@ -8,7 +8,7 @@ + # Options to extract the man page from as.texinfo + MANCONF = -Dman + +-TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl ++TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) + + POD2MAN = pod2man --center="GNU Development Tools" \ + --release="binutils-$(VERSION)" --section=1 +@@ -17,11 +17,12 @@ + + info_TEXINFOS = as.texinfo + ++AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" ++ + asconfig.texi: $(CONFIG).texi + rm -f asconfig.texi + cp $(srcdir)/$(CONFIG).texi ./asconfig.texi + chmod u+w ./asconfig.texi +- echo "@set top_srcdir $(top_srcdir)" >> ./asconfig.texi + + CPU_DOCS = \ + c-alpha.texi \ +diff -ur binutils-2.16.92/gas/doc/Makefile.in binutils-2.16.92-patched/gas/doc/Makefile.in +--- binutils-2.16.92/gas/doc/Makefile.in 2006-04-06 14:49:33.000000000 -0700 ++++ binutils-2.16.92-patched/gas/doc/Makefile.in 2006-04-25 03:01:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.9.5 from Makefile.am. ++# Makefile.in generated by automake 1.9.6 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +@@ -211,12 +211,13 @@ + + # Options to extract the man page from as.texinfo + MANCONF = -Dman +-TEXI2POD = perl $(top_srcdir)/../etc/texi2pod.pl ++TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) + POD2MAN = pod2man --center="GNU Development Tools" \ + --release="binutils-$(VERSION)" --section=1 + + man_MANS = as.1 + info_TEXINFOS = as.texinfo ++AM_MAKEINFOFLAGS = -I "$(srcdir)" -I "$(top_srcdir)/../libiberty" + CPU_DOCS = \ + c-alpha.texi \ + c-arc.texi \ +@@ -308,9 +309,11 @@ + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && cd $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ +- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ +- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ +- done; \ ++ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ ++ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ ++ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ ++ done; \ ++ else :; fi && \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ +@@ -352,6 +355,7 @@ + as.pdf: as.texinfo + as.html: as.texinfo + .dvi.ps: ++ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(DVIPS) -o $@ $< + + uninstall-info-am: +@@ -384,10 +388,13 @@ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ +- for file in $$d/$$base*; do \ +- relfile=`expr "$$file" : "$$d/\(.*\)"`; \ +- test -f $(distdir)/$$relfile || \ +- cp -p $$file $(distdir)/$$relfile; \ ++ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ ++ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ ++ if test -f $$file; then \ ++ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ ++ test -f $(distdir)/$$relfile || \ ++ cp -p $$file $(distdir)/$$relfile; \ ++ else :; fi; \ + done; \ + done + +@@ -585,7 +592,6 @@ + rm -f asconfig.texi + cp $(srcdir)/$(CONFIG).texi ./asconfig.texi + chmod u+w ./asconfig.texi +- echo "@set top_srcdir $(top_srcdir)" >> ./asconfig.texi + + gasver.texi: $(srcdir)/../../bfd/configure + rm -f $@ +diff -ur binutils-2.16.92/gas/doc/as.texinfo binutils-2.16.92-patched/gas/doc/as.texinfo +--- binutils-2.16.92/gas/doc/as.texinfo 2006-03-16 16:45:13.000000000 -0800 ++++ binutils-2.16.92-patched/gas/doc/as.texinfo 2006-04-25 03:01:26.000000000 -0700 +@@ -451,7 +451,7 @@ + @c man begin OPTIONS + + @table @gcctabopt +-@include @value{top_srcdir}/../libiberty/at-file.texi ++@include at-file.texi + + @item -a[cdhlmns] + Turn on listings, in any of a variety of ways: +diff -ur binutils-2.16.92/ld/Makefile.am binutils-2.16.92-patched/ld/Makefile.am +--- binutils-2.16.92/ld/Makefile.am 2006-04-11 03:36:26.000000000 -0700 ++++ binutils-2.16.92-patched/ld/Makefile.am 2006-04-25 03:01:26.000000000 -0700 +@@ -46,7 +46,7 @@ + # Options to extract the man page from ld.texinfo + MANCONF = -Dman + +-TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl ++TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) + + POD2MAN = pod2man --center="GNU Development Tools" \ + --release="binutils-$(VERSION)" --section=1 +@@ -97,7 +97,7 @@ + noinst_TEXINFOS = ldint.texinfo + man_MANS = ld.1 + +-AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc ++AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I $(top_srcdir)/../libiberty + TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc + + INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) -I$(top_srcdir)/../intl -I../intl $(HDEFINES) $(CFLAGS) -DLOCALEDIR="\"$(datadir)/locale\"" +@@ -1702,7 +1702,6 @@ + configdoc.texi: ${DOCVER}-doc.texi + cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi + chmod u+w ./configdoc.texi +- echo "@set top_srcdir $(top_srcdir)" >> ./configdoc.texi + + ldver.texi: $(srcdir)/../bfd/configure + rm -f $@ +diff -ur binutils-2.16.92/ld/Makefile.in binutils-2.16.92-patched/ld/Makefile.in +--- binutils-2.16.92/ld/Makefile.in 2006-04-11 03:36:26.000000000 -0700 ++++ binutils-2.16.92-patched/ld/Makefile.in 2006-04-25 03:01:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-# Makefile.in generated by automake 1.9.5 from Makefile.am. ++# Makefile.in generated by automake 1.9.6 from Makefile.am. + # @configure_input@ + + # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +@@ -14,8 +14,6 @@ + + @SET_MAKE@ + +-SOURCES = $(ld_new_SOURCES) $(EXTRA_ld_new_SOURCES) +- + srcdir = @srcdir@ + top_srcdir = @top_srcdir@ + VPATH = @srcdir@ +@@ -282,7 +280,7 @@ + + # Options to extract the man page from ld.texinfo + MANCONF = -Dman +-TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl ++TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS) + POD2MAN = pod2man --center="GNU Development Tools" \ + --release="binutils-$(VERSION)" --section=1 + +@@ -326,7 +324,7 @@ + info_TEXINFOS = ld.texinfo + noinst_TEXINFOS = ldint.texinfo + man_MANS = ld.1 +-AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc ++AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I $(top_srcdir)/../libiberty + TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc + INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) -I$(top_srcdir)/../intl -I../intl $(HDEFINES) $(CFLAGS) -DLOCALEDIR="\"$(datadir)/locale\"" + BFDLIB = ../bfd/libbfd.la +@@ -801,9 +799,11 @@ + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && cd $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ +- for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ +- if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ +- done; \ ++ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ ++ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ ++ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ ++ done; \ ++ else :; fi && \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ +@@ -813,7 +813,7 @@ + else \ + rc=$$?; \ + cd $(srcdir) && \ +- $$restore $$backupdir/* `echo "$@" | sed 's|[^/]*$$||'`; \ ++ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ + fi; \ + rm -rf $$backupdir; exit $$rc + +@@ -845,6 +845,7 @@ + ld.pdf: ld.texinfo + ld.html: ld.texinfo + .dvi.ps: ++ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + $(DVIPS) -o $@ $< + + uninstall-info-am: +@@ -877,10 +878,13 @@ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ +- for file in $$d/$$base*; do \ +- relfile=`expr "$$file" : "$$d/\(.*\)"`; \ +- test -f $(distdir)/$$relfile || \ +- cp -p $$file $(distdir)/$$relfile; \ ++ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ ++ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ ++ if test -f $$file; then \ ++ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ ++ test -f $(distdir)/$$relfile || \ ++ cp -p $$file $(distdir)/$$relfile; \ ++ else :; fi; \ + done; \ + done + +@@ -2501,7 +2505,6 @@ + configdoc.texi: ${DOCVER}-doc.texi + cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi + chmod u+w ./configdoc.texi +- echo "@set top_srcdir $(top_srcdir)" >> ./configdoc.texi + + ldver.texi: $(srcdir)/../bfd/configure + rm -f $@ +diff -ur binutils-2.16.92/ld/aclocal.m4 binutils-2.16.92-patched/ld/aclocal.m4 +--- binutils-2.16.92/ld/aclocal.m4 2005-09-30 11:59:46.000000000 -0700 ++++ binutils-2.16.92-patched/ld/aclocal.m4 2006-04-25 03:01:26.000000000 -0700 +@@ -1,4 +1,4 @@ +-# generated automatically by aclocal 1.9.5 -*- Autoconf -*- ++# generated automatically by aclocal 1.9.6 -*- Autoconf -*- + + # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, + # 2005 Free Software Foundation, Inc. +@@ -28,7 +28,7 @@ + # Call AM_AUTOMAKE_VERSION so it can be traced. + # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +- [AM_AUTOMAKE_VERSION([1.9.5])]) ++ [AM_AUTOMAKE_VERSION([1.9.6])]) + + # AM_AUX_DIR_EXPAND -*- Autoconf -*- + +diff -ur binutils-2.16.92/ld/ld.texinfo binutils-2.16.92-patched/ld/ld.texinfo +--- binutils-2.16.92/ld/ld.texinfo 2006-04-07 07:14:46.000000000 -0700 ++++ binutils-2.16.92-patched/ld/ld.texinfo 2006-04-25 03:01:26.000000000 -0700 +@@ -342,7 +342,7 @@ + linker: + + @table @gcctabopt +-@include @value{top_srcdir}/../libiberty/at-file.texi ++@include at-file.texi + + @kindex -a@var{keyword} + @item -a@var{keyword} + + +-- +Daniel Jacobowitz +CodeSourcery diff --exclude=build -Nur crosstool-0.42/patches/glibc-2.4/make-install-lib-all.patch crosstool-0.42-patched/patches/glibc-2.4/make-install-lib-all.patch --- crosstool-0.42/patches/glibc-2.4/make-install-lib-all.patch 1969-12-31 16:00:00.000000000 -0800 +++ crosstool-0.42-patched/patches/glibc-2.4/make-install-lib-all.patch 2006-04-25 01:25:59.000000000 -0700 @@ -0,0 +1,26 @@ +From http://svn.exactcode.de/t2/trunk/package/base/glibc32/make-install-lib-all.patch +Rule to install all needed libraries, not just the ones installed by install-lib, +yet not install programs. +Needed because we can't use the main install target, as we can't build programs before +we have the final gcc installed; linking fails because libeh.a is not present, +and glibc insists on linking programs with that library. + +diff -Naur glibc-2.3.4.orig/Makerules glibc-2.3.4/Makerules +--- glibc-2.3.4.orig/Makerules 2004-12-15 20:52:39.000000000 +0200 ++++ glibc-2.3.4/Makerules 2005-02-19 15:16:31.415125176 +0200 +@@ -844,6 +844,13 @@ + installed-libcs := $(foreach o,$(filter-out .os,$(object-suffixes-for-libc)),\ + $(inst_libdir)/$(patsubst %,$(libtype$o),\ + $(libprefix)$(libc-name))) ++ ++install-lib-all: $(inst_slibdir)/libc.so$(libc.so-version) \ ++ $(inst_slibdir)/libc-$(version).so \ ++ $(inst_libdir)/libc.so \ ++ $(inst_libdir)/libc.a \ ++ install-lib ++ + install: $(installed-libcs) + $(installed-libcs): $(inst_libdir)/lib$(libprefix)%: lib $(+force) + $(make-target-directory) + +Signed-off-by: Robert P. J. Day diff --exclude=build -Nur crosstool-0.42/patches/glibc-ports-2.4/arm-tls-force.patch crosstool-0.42-patched/patches/glibc-ports-2.4/arm-tls-force.patch --- crosstool-0.42/patches/glibc-ports-2.4/arm-tls-force.patch 1969-12-31 16:00:00.000000000 -0800 +++ crosstool-0.42-patched/patches/glibc-ports-2.4/arm-tls-force.patch 2006-04-25 10:37:59.000000000 -0700 @@ -0,0 +1,46 @@ +diff -Naur glibc-2.4/ports/sysdeps/arm/elf/configure glibc-2.4-patched/ports/sysdeps/arm/elf/configure +--- glibc-2.4/ports/sysdeps/arm/elf/configure 2006-03-06 03:11:40.000000000 -0800 ++++ glibc-2.4-patched/ports/sysdeps/arm/elf/configure 2006-04-25 10:32:32.000000000 -0700 +@@ -9,7 +9,10 @@ + if test "${libc_cv_arm_tls+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- cat > conftest.s <<\EOF ++ if test "$usetls" = force; then ++ libc_cv_arm_tls=yes ++else ++cat > conftest.s <<\EOF + .section ".tdata", "awT", %progbits + .globl foo + foo: .long 1 +@@ -32,6 +35,7 @@ + fi + rm -f conftest* + fi ++fi + echo "$as_me:$LINENO: result: $libc_cv_arm_tls" >&5 + echo "${ECHO_T}$libc_cv_arm_tls" >&6 + if test $libc_cv_arm_tls = yes; then +diff -Naur glibc-2.4/ports/sysdeps/arm/elf/configure.in glibc-2.4-patched/ports/sysdeps/arm/elf/configure.in +--- glibc-2.4/ports/sysdeps/arm/elf/configure.in 2005-10-05 13:15:21.000000000 -0700 ++++ glibc-2.4-patched/ports/sysdeps/arm/elf/configure.in 2006-04-25 10:32:00.000000000 -0700 +@@ -5,6 +5,9 @@ + # Check for support of thread-local storage handling in assembler and + # linker. + AC_CACHE_CHECK(for ARM TLS support, libc_cv_arm_tls, [dnl ++if test "$usetls" = force; then ++ libc_cv_arm_tls=yes ++else + cat > conftest.s <<\EOF + .section ".tdata", "awT", %progbits + .globl foo +@@ -22,7 +25,8 @@ + else + libc_cv_arm_tls=no + fi +-rm -f conftest*]) ++rm -f conftest* ++fi]) + if test $libc_cv_arm_tls = yes; then + AC_DEFINE(HAVE_TLS_SUPPORT) + fi