glibc-2.7 assembler error in Chapter 5 of CLFS 1.1.0

Lapohos Tibor tibor.lapohos at rogers.com
Tue Nov 17 12:08:02 PST 2009


Hello All,
 
I am guilty of modifying the CLFS 1.1.0 "by the book" procedure by using higher versions of
1) Linux 2.6.31.6 (I must have this)
2) file 5.03 (CLFS dev package)
3) binutils 2.19.1 (CLFS dev package)
 
Then the regular 
4) gcc 4.2.4
5) glibc 2.7
 
The assembly of glibc fails as:
 
/tmp/ccDRrR90.s: Assembler messages:
/tmp/ccDRrR90.s:58: Error: suffix or operands invalid for `fnstsw'
make[2]: *** [/mnt/sandisk/sources/glibc-build/math/ftestexcept.o] Error 1
make[2]: Leaving directory `/mnt/sandisk/sources/glibc-2.7/math'
make[1]: *** [math/others] Error 2
make[1]: Leaving directory `/mnt/sandisk/sources/glibc-2.7'
make: *** [all] Error 2

Can this have anything to do with the upgrades mentioned in 1), 2) and 3)?
 
Thank you All ahead,
Tibor
 
P.S. Before getting here what I did was:
 
export CLFS=/mnt/sandisk
chmod a+wt $CLFS/sources
# download all SW into $CLFS/download ...
 
install -dv $CLFS/blogs
install -dv $CLFS/tools
ln -sv $CLFS/tools /
install -dv $CLFS/cross-tools
ln -sv $CLFS/cross-tools /
groupadd users
useradd -s /bin/bash -g users -m -k /dev/null -u 1000 lfs
passwd lfs
chown lfs $CLFS/{blogs,tools,cross-tools,sources}
su - lfs

##==CH5==================================================================
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
CLFS=/mnt/sandisk
LC_ALL=POSIX
CLFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/cross-tools/bin:/bin:/usr/bin
export CLFS LC_ALL CLFS_TGT PATH
alias ll='ls -alF'
unset CFLAGS
unset CXXFLAGS
export CLFS_HOST="$(echo $MACHTYPE | \
        sed "s/$(echo $MACHTYPE | cut -d- -f2)/cross/")"
export CLFS_TARGET="x86_64-unknown-linux-gnu"
export CLFS_TARGET32="i686-pc-linux-gnu"
export BUILD32="-m32"
export BUILD64="-m64"
EOF
source ~/.bash_profile
cd $CLFS/sources

# Linux-headers 2.6.31.6
tar -jxf ../download/linux-2.6.31.6.tar.bz2
cd linux-2.6.31.6
install -dv /tools/include
make mrproper
make ARCH=x86_64 headers_check
make ARCH=x86_64 INSTALL_HDR_PATH=dest headers_install
cp -rv dest/include/* /tools/include
cd ..
rm -rf linux-*

# file 5.03 
tar -zxf ../download/file-5.03.tar.gz
cd file-5.03
patch -Np1 -i ../../download/file-5.03-cross_compile-1.patch
../configure --prefix=/cross-tools
make
make install
cd ..
rm -rf file-*

# binutils 2.19.1
tar -jxf ../download/binutils-2.19.1.tar.bz2
cd binutils-2.19.1
patch -Np1 -i ../../download/binutils-2.19.1-genscripts_multilib-1.patch
patch -Np1 -i ../../download/binutils-2.19.1-posix-1.patch
patch -Np1 -i ../../download/binutils-2.19.1-branch_update-3.patch
mkdir -v ../binutils-build
cd ../binutils-build
AR=ar AS=as ../binutils-2.19.1/configure --prefix=/cross-tools \
--host=${CLFS_HOST} --target=${CLFS_TARGET} --with-lib-path=/tools/lib \
--disable-nls --enable-shared --enable-64-bit-bfd
make configure-host
make
make install
cp -v ../binutils-2.19.1/include/libiberty.h /tools/include
cd ..
rm -rf binutils-*

 
# gcc 4.2.4
tar -jxf ../download/gcc-4.2.4.tar.bz2
cd gcc-4.2.4
patch -Np1 -i ../../download/gcc-4.2.4-specs-1.patch
patch -Np1 -i ../../download/gcc-4.2.4-posix-1.patch
patch -Np1 -i ../../download/gcc-4.2.4-cross_search_paths-1.patch
echo "
#undef STARTFILE_PREFIX_SPEC
#define STARTFILE_PREFIX_SPEC \"/tools/lib/\"" >> gcc/config/linux.h
cp -v gcc/Makefile.in{,.orig}
sed -e "s@\(^CROSS_SYSTEM_HEADER_DIR =\).*@\1 /tools/include at g" \
gcc/Makefile.in.orig > gcc/Makefile.in
mkdir -v ../gcc-build
cd ../gcc-build

.../gcc-4.2.4/configure --prefix=/cross-tools \
        --host=${CLFS_HOST} --target=${CLFS_TARGET} \
        --with-local-prefix=/tools --disable-nls --disable-shared \
        --disable-threads --enable-languages=c
make all-gcc
make install-gcc
cd ..
rm -rf gcc-*

# glibc 2.7
tar -jxf ../download/glibc-2.7.tar.bz2
cd glibc-2.7
patch -Np1 -i ../../download/glibc-2.7-libgcc_eh-1.patch
patch -Np1 -i ../../download/glibc-2.7-localedef_segfault-1.patch
mkdir -v ../glibc-build
cd ../glibc-build
echo "libc_cv_forced_unwind=yes" > config.cache
echo "libc_cv_c_cleanup=yes" >> config.cache
BUILD_CC="gcc" CC="${CLFS_TARGET}-gcc ${BUILD32}" \
AR="${CLFS_TARGET}-ar" RANLIB="${CLFS_TARGET}-ranlib" \
CFLAGS="-march=$(cut -d- -f1 <<< $CLFS_TARGET32) -mtune=generic -g -O2" \
.../glibc-2.7/configure --prefix=/tools \
--host=${CLFS_TARGET32} --build=${CLFS_HOST} \
--disable-profile --enable-add-ons \
--with-tls --enable-kernel=2.6.0 --with-__thread \
--with-binutils=/cross-tools/bin --with-headers=/tools/include \
--cache-file=config.cache
make
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfromscratch.org/pipermail/cross-lfs/attachments/20091117/04e229b5/attachment.html>


More information about the cross-lfs mailing list