I'm trying to make cross toolchains and cross-lfs for IA64 based on CLFS
1.0.0. Now, I met a problem when I compile glibc. All processes are based on
the CLFS 1.0.0 manual and package. Please refer that I attached about my
configuration and build processes 'gcc-build-configure.txt'.
**************************** error log *****************************
ia64-unknown-linux-gnu-gcc -nostdlib -nostartfiles -static -o
/linux2/sources/glibc-build/elf/sln /linux2/sources/
glibc-build/csu/crt1.o /linux2/sources/glibc-build/csu/crti.o
`ia64-unknown-linux-gnu-gcc --print-file-name=crtbegin. o`
/linux2/sources/glibc-build/elf/sln.o
/linux2/sources/glibc-build/libc.a -lgcc
/linux2/sources/glibc-build/libc. a `ia64-unknown-linux-gnu-gcc
--print-file-name=crtend.o` /linux2/sources/glibc-build/csu/crtn.o
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_SetIP':
../../gcc-4.1.1/gcc/unwind-compat.c:205: undefined reference to
`__libunwind_Unwind_SetIP'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_SetGR':
../../gcc-4.1.1/gcc/unwind-compat.c:195: undefined reference to
`__libunwind_Unwind_SetGR'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_Resume_or_Re throw':
../../gcc-4.1.1/gcc/unwind-compat.c:184: undefined reference to
`__libunwind_Unwind_Resume_or_Rethrow'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_Resume':
../../gcc-4.1.1/gcc/unwind-compat.c:174: undefined reference to
`__libunwind_Unwind_Resume'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_RaiseExcepti on':
../../gcc-4.1.1/gcc/unwind-compat.c:165: undefined reference to
`__libunwind_Unwind_RaiseException'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_GetRegionSta rt':
../../gcc-4.1.1/gcc/unwind-compat.c:155: undefined reference to
`__libunwind_Unwind_GetRegionStart'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_GetLanguageS pecificData':
../../gcc-4.1.1/gcc/unwind-compat.c:145: undefined reference to
`__libunwind_Unwind_GetLanguageSpecificData'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_GetIP':
../../gcc-4.1.1/gcc/unwind-compat.c:135: undefined reference to
`__libunwind_Unwind_GetIP'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_GetGR':
../../gcc-4.1.1/gcc/unwind-compat.c:126: undefined reference to
`__libunwind_Unwind_GetGR'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_GetBSP':
../../gcc-4.1.1/gcc/unwind-compat.c:95: undefined reference to
`__libunwind_Unwind_GetBSP'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_GetCFA':
../../gcc-4.1.1/gcc/unwind-compat.c:84: undefined reference to
`__libunwind_Unwind_GetCFA'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_ForcedUnwind ':
../../gcc-4.1.1/gcc/unwind-compat.c:74: undefined reference to
`__libunwind_Unwind_ForcedUnwind'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_FindEnclosin gFunction':
../../gcc-4.1.1/gcc/unwind-compat.c:63: undefined reference to
`__libunwind_Unwind_FindEnclosingFunction'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_DeleteExcept ion':
../../gcc-4.1.1/gcc/unwind-compat.c:54: undefined reference to
`__libunwind_Unwind_DeleteException'
/linux2/cross-tools/lib/gcc/ia64-unknown-linux-gnu/4.1.1/libgcc.a(unwind-compat.o):
In function `_Unwind_Backtrace':
../../gcc-4.1.1/gcc/unwind-compat.c:44: undefined reference to
`__libunwind_Unwind_Backtrace'
collect2: ld returned 1 exit status
make[2]: *** [/linux2/sources/glibc-build/elf/sln] Error 1
make[2]: Leaving directory `/linux2/sources/glibc-2.4/elf'
make[1]: *** [elf/others] Error 2
make[1]: Leaving directory `/linux2/sources/glibc-2.4'
make: *** [all] Error 2
###### CLFS for IA64 #########
echo # linux-headers
tar -xjf linux-headers-2.6.17.13-09092006.tar.bz2
cd linux-headers-2.6.17.13
install -dv $CLFS/tools/include
cp -av include/asm-ia64 $CLFS/tools/include/asm
cp -av include/{asm-generic,linux} $CLFS/tools/include/
cd ..
echo # binutils
tar -xjf binutils-2.17.tar.bz2
cd binutils-2.17
patch -Np1 -i ../binutils-2.17-posix-1.patch
mkdir -v ../binutils-build
cd ../binutils-build
../binutils-2.17/configure --prefix=$CLFS/cross-tools --host=${CLFS_HOST}
--target=${CLFS_TARGET} --with-lib-path=$CLFS/tools/lib --disable-nls
--enable-shared --enable-64-bit-bfd --disable-multilib
make -s configure-host
make -s
make -s install
cp -v ../binutils-2.17/include/libiberty.h $CLFS/tools/include
cd ..
echo # glibc - headers
tar -xjf glibc-2.4.tar.bz2
cd glibc-2.4
cp -v configure{,.orig}
sed -e 's/3.4/3.[0-9]/g' configure.orig > configure
mkdir -v ../glibc-build
cd ../glibc-build
echo "libc_cv_forced_unwind=yes" > config.cache
echo "libc_cv_c_cleanup=yes" >> config.cache
echo "libc_cv_mlong_double_128=yes" >> config.cache
echo "libc_cv_ia64_tls=yes" >> config.cache
CC=gcc ../glibc-2.4/configure --prefix=$CLFS/tools --host=${CLFS_TARGET}
--build=${CLFS_HOST} --disable-sanity-checks --enable-kernel=2.6.0
--with-headers=$CLFS/tools/include --cache-file=config.cache
--with-binutils=$CLFS/cross-tools/${CLFS_TARGET}/bin --with-tls --with-__thread
make -s install-headers
install -dv $CLFS/tools/include/bits
cp -v bits/stdio_lim.h $CLFS/tools/include/bits
touch $CLFS/tools/include/gnu/stubs.h
cp -v ../glibc-2.4/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
$CLFS/tools/include/bits/
cd ..
rm glibc-build -rf
rm glibc-2.4 -rf
echo # gcc-static
pwd
tar -xjf gcc-4.1.1.tar.bz2
cd gcc-4.1.1
patch -Np1 -i ../gcc-4.1.1-specs-1.patch
patch -Np1 -i ../gcc-4.1.1-posix-1.patch
patch -Np1 -i ../gcc-4.1.1-cross_search_paths-1.patch
echo "
#undef STARTFILE_PREFIX_SPEC
#define STARTFILE_PREFIX_SPEC \"$CLFS/tools/lib/\"" >> gcc/config/linux.h
cp -v gcc/Makefile.in{,.orig}
sed -e "[EMAIL PROTECTED](^CROSS_SYSTEM_HEADER_DIR =\)[EMAIL PROTECTED]
$CLFS/tools/[EMAIL PROTECTED]"
gcc/Makefile.in.orig > gcc/Makefile.in
mkdir -v ../gcc-build
cd ../gcc-build
../gcc-4.1.1/configure --prefix=$CLFS/cross-tools --host=${CLFS_HOST}
--target=${CLFS_TARGET} --disable-mutlilib --with-local-prefix=$CLFS/tools
--disable-nls --disable-shared --disable-threads --enable-languages=c
make -s all-gcc
make -s install-gcc
cd ..
rm gcc-build -rf
rm gcc-4.1.1 -rf
echo # linux-2.6.17.13
pwd
tar -xjf linux-2.6.17.13.tar.bz2
cp ./linux-2.6.17.13/include/asm-ia64/gcc_intrin.h $CLFS/tools/include/asm/
echo # glibc-2.4
pwd
tar -xjf glibc-2.4.tar.bz2
cd glibc-2.4
patch -Np1 -i ../glibc-2.4-libgcc_eh-1.patch
patch -Np1 -i ../glibc-2.4-localedef_segfault-1.patch
cp -v nscd/Makefile{,.orig}
sed -e "/nscd_stat.o: sysincludes = # nothing/d" nscd/Makefile.orig >
nscd/Makefile
mkdir -v ../glibc-build
cd ../glibc-build
echo "libc_cv_forced_unwind=yes" > config.cache
echo "libc_cv_c_cleanup=yes" >> config.cache
# echo "libc_cv_mlong_double_128=yes" >> config.cache
# echo "libc_cv_ia64_tls=yes" >> config.cache
BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc" AR="${CLFS_TARGET}-ar"
RANLIB="${CLFS_TARGET}-ranlib"
../glibc-2.4/configure --prefix=$CLFS/tools --host=${CLFS_TARGET}
--build=${CLFS_HOST} --disable-profile --enable-add-ons --with-tls
--enable-kernel=2.6.0 --with-__thread --with-binutils=$CLFS/cross-tools/bin
--with-headers=$CLFS/tools/include --cache-file=config.cache
make
#make -s install
#cd ..
#rm glibc-build -rf
#rm glibc-2.4 -rf
# GCC-Final
#tar -xjf gcc-4.1.1.tar.bz2
#cd gcc-4.1.1
#patch -Np1 -i ../gcc-4.1.1-PR20425-1.patch
#patch -Np1 -i ../gcc-4.1.1-pure64_specs-1.patch
#patch -Np1 -i ../gcc-4.1.1-posix-1.patch
#patch -Np1 -i ../gcc-4.1.1-cross_search_paths-1.patch
#echo "
##undef STARTFILE_PREFIX_SPEC
##define STARTFILE_PREFIX_SPEC \"$CLFS/tools/lib/\"" >> gcc/config/ia64/linux.h
#cp -v gcc/Makefile.in{,.orig}
#sed -e "[EMAIL PROTECTED](^CROSS_SYSTEM_HEADER_DIR =\)[EMAIL PROTECTED]
$CLFS/tools/[EMAIL PROTECTED]"
gcc/Makefile.in.orig > gcc/Makefile.in
#cp -v configure{,.orig}
#sed -e '/FLAGS_FOR_TARGET.*\/lib\//[EMAIL PROTECTED] ]*/lib/@@g' configure.orig
>configure
#mkdir -v ../gcc-build
#cd ../gcc-build
#../gcc-4.1.1/configure --prefix=$CLFS/cross-tools
--target=${CLFS_TARGET} --host=${CLFS_HOST} --with-abi=64
--with-local-prefix=$CLFS/tools --disable-nls --enable-shared
--enable-languages=c,c++ --enable-__cxa_atexit --disable-multilib
--enable-c99 --enable-long-long --enable-threads=posix
_______________________________________________
Clfs-support mailing list
[email protected]
http://lists.cross-lfs.org/cgi-bin/mailman/listinfo/clfs-support