This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: arm-none-linux-gnueabi finishes in an infinite glibc configure loop


Hi Valentin,

crosstool-0.42_fsl is the crosstool-0.42 archive with some additional patches and tweaks.

The _fsl stands for Freescale.

The is an srpm available for this toolchain, if you would like the srpm please let me know,

Best regards,

Steve

Valentin Longchamp wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I'm trying to build a toolchain for Freescale i.MX31 ADS I'm woking on.
I have a working toolchain that is given by Freescale, but I want to be
able to build it myself for future usage.

I've found a crosstool "config" file in the RPM toolchain given by
Freescale which looks like that:


[arm-none-linux-gnueabi]> pwd
/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-2/arm-none-linux-gnueabi
[valentin@lsa1pc7][13:55:44]
[arm-none-linux-gnueabi]> cat arm-none-linux-gnueabi.crosstoolconfig.txt
AR=
BINUTILS_DIR=binutils-2.16.92
BINUTILS_EXTRA_CONFIG=
BUILD=i686-pc-linux-gnu
BUILD_DIR=/usr/src/redhat/BUILD/crosstool/build/arm-none-linux-gnueabi/gcc-4.1.1-glibc-2.4-nptl-2
CC=
DEJAGNU=
EXTRA_TARGET_CFLAGS=-mabi=aapcs-linux
GCC_BUILD=
GCC_CORE_DIR=gcc-4.1.1
GCC_DIR=gcc-4.1.1
GCC_EXTRA_CONFIG=--disable-libunwind-exceptions
GCC_HOST=
GCC_LANGUAGES=c,c++
GDB_DIR=
GLIBC_ADDON_OPTIONS==nptl,../glibc-2.4/ports,
GLIBC_DIR=glibc-2.4
GLIBC_EXTRA_CC_ARGS=
GLIBC_EXTRA_CONFIG=--with-tls --with-__thread --enable-kernel=2.6.4 --with-abi=aapcs-linux
GLIBC_EXTRA_ENV=
JUST_DOWNLOAD=
KERNELCONFIG=/usr/src/redhat/BUILD/crosstool/crosstool-0.42_fsl/armeabi.config
LINUX_DIR=linux-2.6.17.1
LINUX_SANITIZED_HEADER_DIR=
NO_DOWNLOAD=
PREFIX=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-2/arm-none-linux-gnueabi
PTXDIST_DIR=
SHARED_MODE=--enable-shared
SRC_DIR=/usr/src/redhat/BUILD/crosstool/source
TARBALLS_DIR=/opt/freescale/pkgs
TARGET=arm-none-linux-gnueabi
TARGET_CFLAGS=-O
TOP_DIR=/usr/src/redhat/BUIL


First question: what is this crosstool-0.42_fsl ? What does the fsl
stand for ? Anyone knows that ?

Now, I have done my own file to use with my local crosstool version:


[valentin@lsa1pc7][13:50:31]
[crosstool-0.42]> cat imx31.sh
#!/bin/sh
set -ex
TARBALLS_DIR=$HOME/downloads
RESULT_TOP=/opt/crosstool
export TARBALLS_DIR RESULT_TOP

# 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

BINUTILS_DIR=binutils-2.16.92
export BINUTILS_DIR

BUILD=i686-pc-linux-gnu
export BUILD
BUILD_DIR=$HOME/EPFL/diplome_ASL/toolchain/crosstool-0.42/build/arm-none-linux-gnueabi/gcc-4.1.1-glibc-2.4-nptl-2
export BUILD_DIR

EXTRA_TARGET_CFLAGS=-mabi=aapcs-linux
export EXTRA_TARGET_CFLAGS

GCC_CORE_DIR=gcc-4.1.1
export GCC_CORE_DIR
GCC_DIR=gcc-4.1.1
export GCC_DIR
GCC_EXTRA_CONFIG=--disable-libunwind-exceptions
export GCC_EXTRAG_CONFIG
GCC_LANGUAGES=c,c++
export GCC_LANGUAGES

GLIBC_ADDON_OPTIONS=nptl,../glibc-2.4/ports,
export GLIBC_ADDON_OPTIONS
GLIBC_DIR=glibc-2.4
export GLIBC_DIR
GLIBC_EXTRA_CONFIG="--with-tls --with-__thread --enable-kernel=2.6.4 /
--with-abi=aapcs-linux"

export GLIBC_EXTRA_CONFIG
KERNELCONFIG=$HOME/EPFL/diplome_ASL/toolchain/crosstool-0.42/armeabi.config
export KERNELCONFIG
LINUX_DIR=linux-2.6.17.1
export LINUX_DIR

PREFIX=/opt/crosstool/gcc-4.1.1-glibc-2.4-nptl-2/arm-none-linux-gnueabi
export PREFIX
SHARED_MODE=--enable-shared
export SHARED_MODE

SRC_DIR=$HOME/downloads
export SRC_DIR
TARBALLS_DIR=/home/valentin/downloads
export TARBALLS_DIR

TARGET=arm-none-linux-gnueabi
export TARGET
TARGET_CFLAGS=-O
export TARGET_CFLAGS

TOP_DIR=$HOME/EPFL/diplome_ASL/toolchain/crosstool-0.42
export TOP_DIR

sh all.sh --notest



But when I run this script, I finish in a state where I have an infinite
loop on the glibc configure script:

...

+ libc_cv_ppc_machine=yes
+ CC=gcc
+ /home/valentin/downloads/glibc-2.4/configure --prefix=/usr --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi --without-cvs --disable-sanity-checks --with-headers=/opt/crosstool/gcc-4.1.1-glibc-2.4-nptl-2/arm-none-linux-gnueabi/arm-none-linux-gnueabi/include --enable-hacker-mode
checking build system type... i686-pc-linux-gnu
checking host system type... arm-none-linux-gnueabi
configure: running configure fragment for add-on glibc-2.4
checking build system type... (cached) i686-pc-linux-gnu
checking host system type... (cached) arm-none-linux-gnueabi
configure: running configure fragment for add-on glibc-2.4
checking build system type... (cached) i686-pc-linux-gnu
checking host system type... (cached) arm-none-linux-gnueabi
configure: running configure fragment for add-on glibc-2.4
checking build system type... (cached) i686-pc-linux-gnu
checking host system type... (cached) arm-none-linux-gnueabi
configure: running configure fragment for add-on glibc-2.4
checking build system type... (cached) i686-pc-linux-gnu
checking host system type... (cached) arm-none-linux-gnueabi
configure: running configure fragment for add-on glibc-2.4

...


This is from what I've seen caused by the
GLIBC_ADDON_OPTIONS=nptl,../glibc-2.4/ports, that I've changed and event
commented out, but it doesn't change anything
. Anyone has an idea ?

Now seeing that Mike Frysinger is browsing this list and I'm using
gentoo, I've thought about using crossdev to build this toolchain. Here
is what I've launched (still waiting, my laptop is slow):


lsa1pc7 ~ # crossdev -t arm-none-linux-gnueabi
--------------------------------------------------------------------------------
* Host Portage ARCH:     x86
* Target Portage ARCH:   arm
* Target System:         arm-none-linux-gnueabi
* Stage:                 4 (C/C++ compiler)

* binutils:              binutils-[latest]
* gcc:                   gcc-[latest]
* headers:               linux-headers-[latest]
* libc:                  glibc-[latest]

* PORTDIR_OVERLAY:       /usr/local/portage
* PORT_LOGDIR:           /var/log/portage
* PKGDIR:                /usr/portage/packages/cross/arm-none-linux-gnueabi
* PORTAGE_TMPDIR:        /var/tmp/cross/arm-none-linux-gnueabi


What should I do to use crossdev to be with a gcc whose options look
like the one given by Freescale which looks like this ?


[crosstool-0.42]> /opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-2/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /usr/src/redhat/BUILD/crosstool/source/gcc-4.1.1/configure --target=arm-none-linux-gnueabi --host=i686-host_pc-linux-gnu --prefix=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-2/arm-none-linux-gnueabi --disable-libunwind-exceptions --with-headers=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-2/arm-none-linux-gnueabi/arm-none-linux-gnueabi/include --with-local-prefix=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-2/arm-none-linux-gnueabi/arm-none-linux-gnueabi --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.1.1


Thank you for helping me, regards,

Valentin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFD91lCGmesagzEtoRAgMXAJ4wVuz/e8G4zNmEyV7FgIqVxUefbgCgu0hY
jaSMV9wizzEmVs4dTJ11yZQ=
=SoP7
-----END PGP SIGNATURE-----

--
For unsubscribe information see http://sourceware.org/lists.html#faq




-- For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]