I'm trying to prototype LFS for gcc-4.5.0 and have run into a problem. 
I have not yet researched the details, but would like to know if anyone 
else has tried gcc-4.5.0 and solved the problem.

gcc pass 2 in Chapter 5 fails as seen below.

I'll continue researching...

   -- Bruce

gcc-4.5.0 now needs mpc-0.8.1.  For gcc pass 1, I did:

tar -jxf ../mpfr-2.4.2.tar.bz2
mv -v mpfr-2.4.2 mpfr
tar -jxf ../gmp-5.0.1.tar.bz2
mv -v gmp-5.0.1 gmp
tar -zxf ../mpc-0.8.1.tar.gz
mv -v mpc-0.8.1 mpc

mkdir -v ../gcc-build
cd ../gcc-build

../gcc-4.5.0/configure \
     --target=$LFS_TGT --prefix=/tools \
     --disable-nls --disable-shared --disable-multilib \
     --disable-decimal-float --disable-threads \
     --disable-libmudflap --disable-libssp \
     --disable-libgomp --enable-languages=c

make
make install
ln -vs libgcc.a `$LFS_TGT-gcc -print-libgcc-file-name | \
     sed 's/libgcc/&_eh/'`
------
This appeared to work fine.

$ ls -1 tools/bin/x*
tools/bin/x86_64-lfs-linux-gnu-addr2line
tools/bin/x86_64-lfs-linux-gnu-ar
tools/bin/x86_64-lfs-linux-gnu-as
tools/bin/x86_64-lfs-linux-gnu-c++filt
tools/bin/x86_64-lfs-linux-gnu-cpp
tools/bin/x86_64-lfs-linux-gnu-gcc
tools/bin/x86_64-lfs-linux-gnu-gcc-4.5.0
tools/bin/x86_64-lfs-linux-gnu-gccbug
tools/bin/x86_64-lfs-linux-gnu-gcov
tools/bin/x86_64-lfs-linux-gnu-gprof
tools/bin/x86_64-lfs-linux-gnu-ld
tools/bin/x86_64-lfs-linux-gnu-nm
tools/bin/x86_64-lfs-linux-gnu-objcopy
tools/bin/x86_64-lfs-linux-gnu-objdump
tools/bin/x86_64-lfs-linux-gnu-ranlib
tools/bin/x86_64-lfs-linux-gnu-readelf
tools/bin/x86_64-lfs-linux-gnu-size
tools/bin/x86_64-lfs-linux-gnu-strings
tools/bin/x86_64-lfs-linux-gnu-strip

----------

When I get to gcc pass 2, I ran:

patch -Np1 -i ../gcc-4.5.0-startfiles_fix-1.patch
cp -v gcc/Makefile.in{,.orig}
sed 's...@\./fixinc\...@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
cp -v gcc/Makefile.in{,.tmp}

sed 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \
   > gcc/Makefile.in

for file in \
  $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
   cp -uv $file{,.orig}
   sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
   -e 's@/usr@/to...@g' $file.orig > $file
   echo '
#undef STANDARD_INCLUDE_DIR
#define STANDARD_INCLUDE_DIR 0
#define STANDARD_STARTFILE_PREFIX_1 ""
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
   touch $file.orig
done

case $(uname -m) in
   x86_64)
     for file in $(find gcc/config -name t-linux64) ; do \
       cp -v $file{,.orig}
       sed '/MULTILIB_OSDIRNAMES/d' $file.orig > $file
     done
   ;;
esac

tar -jxf ../mpfr-2.4.2.tar.bz2
mv -v mpfr-2.4.2 mpfr
tar -jxf ../gmp-5.0.1.tar.bz2
mv -v gmp-5.0.1 gmp
tar -zxf ../mpc-0.8.1.tar.gz
mv -v mpc-0.8.1 mpc

mkdir -v ../gcc-build
cd ../gcc-build
CC="$LFS_TGT-gcc -B/tools/lib/" \
     AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
     ../gcc-4.5.0/configure --prefix=/tools \
     --with-local-prefix=/tools --enable-clocale=gnu \
     --enable-shared --enable-threads=posix \
     --enable-__cxa_atexit --enable-languages=c,c++ \
     --disable-libstdcxx-pch --disable-multilib \
     --disable-bootstrap

make
-------------

After quite a bit of build time I get:

checking whether the target supports .symver directive... yes
configure: versioning on shared library symbols is gnu
checking whether the target supports __sync_*_compare_and_swap... yes
configure: updating cache ./config.cache
configure: error: unsupported system, cannot find sizeof (omp_lock_t)
make[1]: *** [configure-target-libgomp] Error 1
make[1]: Leaving directory `/mnt/lfs/sources/gcc-build'



-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to