This commit is contained in:
Yann E. MORIN" 2009-10-03 18:21:41 +02:00
commit 89351cb898
7 changed files with 136 additions and 113 deletions

5
README
View File

@ -4,7 +4,7 @@ TABLE OF CONTENT /
________________/
- GETTING STARTED
- PARTICIPATING
- CONTRIBUTING
- Sending a bug report
- Sending patches
- CREDITS
@ -22,6 +22,7 @@ You can find a (terse and WIP) documentation in docs/overview.txt.
You can also point your browser to
http://ymorin.is-a-geek.org/projects/crosstool
CONTRIBUTING /
____________/
@ -87,11 +88,13 @@ Here's a typical hacking session:
Note: replace' (at) ' above with a plain '@'.
CREDITS /
_______/
The people that helped are listed in docs/CREDITS. Many thanks to them! :-)
KNOWN ISSUES /
____________/

View File

@ -51,8 +51,10 @@ Fix:
None known.
Workaround:
If this happens for you, stick with glibc-2.6.1 for now.
Or investigate! :-)
It seems that using -O2 in the CFLAGS fixes the problem. It has been
confirmed in the following threads:
http://sourceware.org/ml/crossgcc/2009-09/msg00055.html (for glibc)
http://sourceware.org/ml/crossgcc/2009-10/msg00001.html (for eglibc)
--------------------------------
Symptoms:

View File

@ -27,7 +27,9 @@ Running crosstool-NG
Note on // jobs
Tools wrapper
Using the toolchain
The 'populate' script
Toolchain types
Seemingly-native toolchains
Internals
Makefile front-end
Kconfig parser
@ -154,11 +156,9 @@ Stay in the directory holding the sources, and run:
See below for complete usage.
Now, provided you checked-out the code, you can send me your interesting changes
by running:
svn diff
and mailing me the result! :-P
Now, provided you used a clone of the repository, you can send me your changes.
See the file README, at the top of crosstool-NG source, for how to submit
changees.
Preparing for packaging |
------------------------+
@ -590,6 +590,21 @@ anyway!)
were all being hashed out, Canada had three national political parties.
http://en.wikipedia.org/wiki/Cross_compiler
Seemingly-native toolchains |
----------------------------+
Seemingly-native toolchains are toolchains that target the same architecture
as the one it is built on, and on which it will run, but the machine tuple
may be different (eg i686 vs. i386, or x86_64-unknown-linux-gnu vs.
x86_64-pc-linux-gnu). This also applies if the target architecture is of the
same kind (eg. x86 vs. x86_64, or ppc vs. ppc64).
Such toolchain is tricky to build, as the configure scripts may incorrectly
assume that files (headers and libs) from the build (or host) machine can be
used by the cross-compiler it is going to build. The problem seems to arise
only with glibc (and eglibc?) starting with version 2.7.
_____________
/
Internals /

View File

@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# crosstool-NG version: hg_default@1525_c1ee688c24da
# Fri Sep 11 16:36:56 2009
# crosstool-NG version: hg_default@1552_6ee673ab382e
# Sat Oct 3 16:22:40 2009
#
#
@ -162,35 +162,34 @@ CT_BUILD_SUFFIX=""
# CT_BARE_METAL is not set
CT_KERNEL_SUPPORTS_SHARED_LIBS=y
CT_KERNEL="linux"
CT_KERNEL_VERSION="2.6.29"
CT_KERNEL_VERSION="2.6.31.1"
# CT_KERNEL_bare_metal is not set
CT_KERNEL_linux=y
CT_KERNEL_LINUX_INSTALL=y
CT_KERNEL_LINUX_INSTALL_CHECK=y
# CT_KERNEL_V_2_6_18_8 is not set
# CT_KERNEL_V_2_6_19_7 is not set
# CT_KERNEL_V_2_6_20_21 is not set
# CT_KERNEL_V_2_6_21_7 is not set
# CT_KERNEL_V_2_6_22_19 is not set
# CT_KERNEL_V_2_6_23_17 is not set
# CT_KERNEL_V_2_6_24_7 is not set
# CT_KERNEL_V_2_6_25_20 is not set
# CT_KERNEL_V_2_6_26_8 is not set
# CT_KERNEL_V_2_6_27_31 is not set
# CT_KERNEL_V_2_6_28_10 is not set
CT_KERNEL_V_2_6_29=y
# CT_KERNEL_V_2_6_29_1 is not set
# CT_KERNEL_V_2_6_29_2 is not set
# CT_KERNEL_V_2_6_29_3 is not set
# CT_KERNEL_V_2_6_29_4 is not set
# CT_KERNEL_V_2_6_29_5 is not set
# CT_KERNEL_V_2_6_29_6 is not set
# CT_KERNEL_V_2_6_30 is not set
# CT_KERNEL_V_2_6_30_1 is not set
# CT_KERNEL_V_2_6_30_2 is not set
# CT_KERNEL_V_2_6_30_3 is not set
# CT_KERNEL_V_2_6_30_4 is not set
CT_KERNEL_V_2_6_31_1=y
# CT_KERNEL_V_2_6_31 is not set
# CT_KERNEL_V_3_6_30_8 is not set
# CT_KERNEL_V_3_6_30_7 is not set
# CT_KERNEL_V_2_6_30_6 is not set
# CT_KERNEL_V_2_6_30_5 is not set
# CT_KERNEL_V_2_6_30_4 is not set
# CT_KERNEL_V_2_6_30_3 is not set
# CT_KERNEL_V_2_6_30_2 is not set
# CT_KERNEL_V_2_6_30_1 is not set
# CT_KERNEL_V_2_6_30 is not set
# CT_KERNEL_V_2_6_29_6 is not set
# CT_KERNEL_V_2_6_28_10 is not set
# CT_KERNEL_V_2_6_27_35 is not set
# CT_KERNEL_V_2_6_26_8 is not set
# CT_KERNEL_V_2_6_25_20 is not set
# CT_KERNEL_V_2_6_24_7 is not set
# CT_KERNEL_V_2_6_23_17 is not set
# CT_KERNEL_V_2_6_22_19 is not set
# CT_KERNEL_V_2_6_21_7 is not set
# CT_KERNEL_V_2_6_20_21 is not set
# CT_KERNEL_V_2_6_19_7 is not set
# CT_KERNEL_V_2_6_18_8 is not set
# CT_KERNEL_V_select is not set
CT_KERNEL_LINUX_VERBOSITY_0=y
# CT_KERNEL_LINUX_VERBOSITY_1 is not set
@ -213,25 +212,25 @@ CT_ARCH_BINFMT_ELF=y
# GNU binutils
#
CT_BINUTILS_VERSION="2.19.1"
# CT_BINUTILS_V_2_14 is not set
# CT_BINUTILS_V_2_15 is not set
# CT_BINUTILS_V_2_16_1 is not set
# CT_BINUTILS_V_2_17 is not set
# CT_BINUTILS_V_2_18 is not set
# CT_BINUTILS_V_2_18_50_0_4 is not set
# CT_BINUTILS_V_2_18_50_0_6 is not set
# CT_BINUTILS_V_2_18_50_0_7 is not set
# CT_BINUTILS_V_2_18_50_0_8 is not set
# CT_BINUTILS_V_2_18_50_0_9 is not set
# CT_BINUTILS_V_2_18_90 is not set
# CT_BINUTILS_V_2_18_91 is not set
# CT_BINUTILS_V_2_18_92 is not set
# CT_BINUTILS_V_2_18_93 is not set
# CT_BINUTILS_V_2_19 is not set
CT_BINUTILS_V_2_19_1=y
# CT_BINUTILS_V_2_19_50_0_1 is not set
# CT_BINUTILS_V_2_19_51_0_1 is not set
# CT_BINUTILS_V_2_19_51_0_2 is not set
# CT_BINUTILS_V_2_19_51_0_1 is not set
# CT_BINUTILS_V_2_19_50_0_1 is not set
CT_BINUTILS_V_2_19_1=y
# CT_BINUTILS_V_2_19 is not set
# CT_BINUTILS_V_2_18_93 is not set
# CT_BINUTILS_V_2_18_92 is not set
# CT_BINUTILS_V_2_18_91 is not set
# CT_BINUTILS_V_2_18_90 is not set
# CT_BINUTILS_V_2_18_50_0_9 is not set
# CT_BINUTILS_V_2_18_50_0_8 is not set
# CT_BINUTILS_V_2_18_50_0_7 is not set
# CT_BINUTILS_V_2_18_50_0_6 is not set
# CT_BINUTILS_V_2_18_50_0_4 is not set
# CT_BINUTILS_V_2_18 is not set
# CT_BINUTILS_V_2_17 is not set
# CT_BINUTILS_V_2_16_1 is not set
# CT_BINUTILS_V_2_15 is not set
# CT_BINUTILS_V_2_14 is not set
CT_BINUTILS_EXTRA_CONFIG=""
CT_BINUTILS_FOR_TARGET=y
CT_BINUTILS_FOR_TARGET_IBERTY=y
@ -243,29 +242,29 @@ CT_BINUTILS_FOR_TARGET_BFD=y
CT_CC="gcc"
CT_CC_VERSION="4.3.2"
CT_CC_gcc=y
# CT_CC_V_3_2_3 is not set
# CT_CC_V_3_3_6 is not set
# CT_CC_V_3_4_6 is not set
# CT_CC_V_4_0_0 is not set
# CT_CC_V_4_0_1 is not set
# CT_CC_V_4_0_2 is not set
# CT_CC_V_4_0_3 is not set
# CT_CC_V_4_0_4 is not set
# CT_CC_V_4_1_0 is not set
# CT_CC_V_4_1_1 is not set
# CT_CC_V_4_1_2 is not set
# CT_CC_V_4_2_0 is not set
# CT_CC_V_4_2_1 is not set
# CT_CC_V_4_2_2 is not set
# CT_CC_V_4_2_3 is not set
# CT_CC_V_4_2_4 is not set
# CT_CC_V_4_3_0 is not set
# CT_CC_V_4_3_1 is not set
CT_CC_V_4_3_2=y
# CT_CC_V_4_3_3 is not set
# CT_CC_V_4_3_4 is not set
# CT_CC_V_4_4_0 is not set
# CT_CC_V_4_4_1 is not set
# CT_CC_V_4_4_0 is not set
# CT_CC_V_4_3_4 is not set
# CT_CC_V_4_3_3 is not set
CT_CC_V_4_3_2=y
# CT_CC_V_4_3_1 is not set
# CT_CC_V_4_3_0 is not set
# CT_CC_V_4_2_4 is not set
# CT_CC_V_4_2_3 is not set
# CT_CC_V_4_2_2 is not set
# CT_CC_V_4_2_1 is not set
# CT_CC_V_4_2_0 is not set
# CT_CC_V_4_1_2 is not set
# CT_CC_V_4_1_1 is not set
# CT_CC_V_4_1_0 is not set
# CT_CC_V_4_0_4 is not set
# CT_CC_V_4_0_3 is not set
# CT_CC_V_4_0_2 is not set
# CT_CC_V_4_0_1 is not set
# CT_CC_V_4_0_0 is not set
# CT_CC_V_3_4_6 is not set
# CT_CC_V_3_3_6 is not set
# CT_CC_V_3_2_3 is not set
CT_CC_GCC_4_3_or_later=y
# CT_CC_GCC_4_4_or_later is not set
CT_CC_CXA_ATEXIT=y
@ -301,14 +300,14 @@ CT_LIBC_VERSION="2.9"
CT_LIBC_glibc=y
# CT_LIBC_newlib is not set
# CT_LIBC_uClibc is not set
# CT_LIBC_V_2_3_6 is not set
# CT_LIBC_V_2_5 is not set
# CT_LIBC_V_2_5_1 is not set
# CT_LIBC_V_2_6 is not set
# CT_LIBC_V_2_6_1 is not set
# CT_LIBC_V_2_7 is not set
# CT_LIBC_V_2_8 is not set
CT_LIBC_V_2_9=y
# CT_LIBC_V_2_8 is not set
# CT_LIBC_V_2_7 is not set
# CT_LIBC_V_2_6_1 is not set
# CT_LIBC_V_2_6 is not set
# CT_LIBC_V_2_5_1 is not set
# CT_LIBC_V_2_5 is not set
# CT_LIBC_V_2_3_6 is not set
# CT_LIBC_V_LATEST is not set
# CT_LIBC_V_date is not set
CT_LIBC_GLIBC_2_8_or_later=y
@ -327,7 +326,7 @@ CT_LIBC_ADDONS_LIST=""
# CT_LIBC_GLIBC_KERNEL_VERSION_NONE is not set
CT_LIBC_GLIBC_KERNEL_VERSION_AS_HEADERS=y
# CT_LIBC_GLIBC_KERNEL_VERSION_CHOSEN is not set
CT_LIBC_GLIBC_MIN_KERNEL="2.6.29"
CT_LIBC_GLIBC_MIN_KERNEL="2.6.31.1"
#
# Common C library options
@ -343,17 +342,17 @@ CT_THREADS_NPTL=y
# Debug facilities
#
CT_DEBUG_dmalloc=y
# CT_DMALLOC_V_5_4_3 is not set
CT_DMALLOC_V_5_5_2=y
# CT_DMALLOC_V_5_4_3 is not set
CT_DMALLOC_VERSION="5.5.2"
CT_DEBUG_duma=y
CT_DUMA_A=y
CT_DUMA_SO=y
# CT_DUMA_V_2_5_1 is not set
# CT_DUMA_V_2_5_8 is not set
# CT_DUMA_V_2_5_12 is not set
CT_DUMA_V_2_5_14=y
# CT_DUMA_V_2_5_15 is not set
CT_DUMA_V_2_5_14=y
# CT_DUMA_V_2_5_12 is not set
# CT_DUMA_V_2_5_8 is not set
# CT_DUMA_V_2_5_1 is not set
CT_DUMA_VERSION="2_5_14"
CT_DEBUG_gdb=y
CT_GDB_CROSS=y
@ -363,42 +362,42 @@ CT_GDB_NATIVE=y
CT_GDB_NATIVE_USE_GMP_MPFR=y
CT_GDB_GDBSERVER=y
CT_GDB_GDBSERVER_STATIC=y
# CT_GDB_V_6_4 is not set
# CT_GDB_V_6_5 is not set
# CT_GDB_V_6_6 is not set
# CT_GDB_V_6_7 is not set
# CT_GDB_V_6_7_1 is not set
CT_GDB_V_6_8=y
# CT_GDB_V_6_7_1 is not set
# CT_GDB_V_6_7 is not set
# CT_GDB_V_6_6 is not set
# CT_GDB_V_6_5 is not set
# CT_GDB_V_6_4 is not set
# CT_GDB_V_snapshot is not set
CT_GDB_VERSION="6.8"
#
# Native gdb needs a native ncurses library
#
# CT_NCURSES_V_5_6 is not set
CT_NCURSES_V_5_7=y
# CT_NCURSES_V_5_6 is not set
CT_NCURSES_VERSION="5.7"
CT_DEBUG_ltrace=y
# CT_LTRACE_V_0_4 is not set
CT_LTRACE_V_0_5=y
# CT_LTRACE_V_0_5_1 is not set
# CT_LTRACE_V_0_5_2 is not set
# CT_LTRACE_V_0_5_1 is not set
CT_LTRACE_V_0_5=y
# CT_LTRACE_V_0_4 is not set
CT_LTRACE_VERSION="0.5"
CT_DEBUG_strace=y
# CT_STRACE_V_4_5 is not set
# CT_STRACE_V_4_5_14 is not set
# CT_STRACE_V_4_5_15 is not set
# CT_STRACE_V_4_5_16 is not set
CT_STRACE_V_4_5_17=y
# CT_STRACE_V_4_5_18 is not set
CT_STRACE_V_4_5_17=y
# CT_STRACE_V_4_5_16 is not set
# CT_STRACE_V_4_5_15 is not set
# CT_STRACE_V_4_5_14 is not set
# CT_STRACE_V_4_5 is not set
CT_STRACE_VERSION="4.5.17"
#
# Tools facilities
#
CT_TOOL_libelf=y
CT_LIBELF_V_0_8_10=y
# CT_LIBELF_V_0_8_11 is not set
CT_LIBELF_V_0_8_10=y
CT_LIBELF_VERSION="0.8.10"
CT_TOOL_sstrip=y
CT_SSTRIP_BUILDROOT=y
@ -410,15 +409,15 @@ CT_SSTRIP_FROM="buildroot"
#
CT_WRAPPER_NEEDED=y
CT_GMP_MPFR=y
# CT_GMP_V_4_2_2 is not set
CT_GMP_V_4_2_4=y
# CT_GMP_V_4_3_0 is not set
# CT_GMP_V_4_3_1 is not set
# CT_GMP_V_4_3_0 is not set
CT_GMP_V_4_2_4=y
# CT_GMP_V_4_2_2 is not set
CT_GMP_VERSION="4.2.4"
# CT_MPFR_V_2_3_1 is not set
# CT_MPFR_V_2_3_2 is not set
# CT_MPFR_V_2_4_0 is not set
CT_MPFR_V_2_4_1=y
# CT_MPFR_V_2_4_0 is not set
# CT_MPFR_V_2_3_2 is not set
# CT_MPFR_V_2_3_1 is not set
CT_MPFR_VERSION="2.4.1"
# CT_PPL_CLOOG_MPC is not set

View File

@ -265,6 +265,10 @@ do_debug_gdb_build() {
unset ac_cv_func_strncmp_works
CT_DoLog EXTRA "Cleaning up ncurses"
cd "${CT_BUILD_DIR}/build-ncurses"
CT_DoExecLog ALL make DESTDIR="${CT_SYSROOT_DIR}" uninstall
CT_EndStep # native gdb build
fi

View File

@ -252,7 +252,7 @@ do_libc() {
CT_DoLog DEBUG "Extra CC args passed : '${extra_cc_args}'"
BUILD_CC="${CT_BUILD}-gcc" \
CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O" \
CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O2" \
CC="${CT_TARGET}-gcc ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \
AR=${CT_TARGET}-ar \
RANLIB=${CT_TARGET}-ranlib \

View File

@ -178,7 +178,7 @@ do_libc_headers() {
libc_cv_ppc_machine=yes \
CT_DoExecLog ALL \
make CFLAGS="-O -DBOOTSTRAP_GCC" \
make CFLAGS="-O2 -DBOOTSTRAP_GCC" \
OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \
PARALLELMFLAGS="${PARALLELMFLAGS}" \
sysdeps/gnu/errlist.c
@ -195,7 +195,7 @@ do_libc_headers() {
CT_DoExecLog ALL \
make cross-compiling=yes \
install_root=${CT_SYSROOT_DIR} \
CFLAGS="-O -DBOOTSTRAP_GCC" \
CFLAGS="-O2 -DBOOTSTRAP_GCC" \
${LIBC_SYSROOT_ARG} \
OBJDUMP_FOR_HOST="${CT_TARGET}-objdump" \
PARALLELMFLAGS="${PARALLELMFLAGS}" \
@ -317,7 +317,7 @@ do_libc_start_files() {
# Please see the comment for the configure step in do_libc().
BUILD_CC="${CT_BUILD}-gcc" \
CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O " \
CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O2" \
CC="${cross_cc} ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \
AR=${CT_TARGET}-ar \
RANLIB=${CT_TARGET}-ranlib \
@ -443,7 +443,7 @@ do_libc() {
# silly messages. GNU folks again, he?
BUILD_CC="${CT_BUILD}-gcc" \
CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O" \
CFLAGS="${CT_TARGET_CFLAGS} ${CT_LIBC_GLIBC_EXTRA_CFLAGS} -O2" \
CC="${CT_TARGET}-gcc ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \
AR=${CT_TARGET}-ar \
RANLIB=${CT_TARGET}-ranlib \