# # # build toolchain mit GNU LibC 2.3.6 # # gcc and gcj -> 3.4.6 # # # # exit 1 1. Durchlauf -------------- Binutils-2.17 tar xjf binutils-2.17.tar.bz2 && mkdir binutils-build-2.17-1 && cd binutils-build-2.17-1 ../binutils-2.17/configure --prefix=/usr \ --disable-nls \ --disable-werror \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make install GCC-3.4.6 tar xjf gcc-3.4.6.tar.bz2 && cd gcc-3.4.6 sed -i 's/install_to_${INSTALL_DEST} //' libiberty/Makefile.in sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in cd .. && mkdir gcc-build-3.4.6-1 && cd gcc-build-3.4.6-1 ../gcc-3.4.6/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --disable-nls \ --enable-languages=c \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make bootstrap make install Tcl-8.4.15 cd unix && ./configure --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make install make install-private-headers ln -v -sf tclsh8.4 /usr/bin/tclsh Expect-5.43 patch -Np1 -i ../expect-5.43.0-spawn-2.patch && ./configure --prefix=/usr \ --with-tcl=/usr/lib \ --with-tclinclude=/usr/include \ --with-x=no \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make wenn gemeckert wird, die Argumente entfernen make SCRIPTS="" install DejaGNU-1.4.4 ./configure --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make install 2. Durchlauf ------------- GCC-3.4.6 rm -rf gcc-3.4.6 && tar xjf gcc-3.4.6.tar.bz2 && cd gcc-3.4.6 sed -i 's/install_to_${INSTALL_DEST} //' libiberty/Makefile.in sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in cd .. mkdir gcc-build-3.4.6-2 && cd gcc-build-3.4.6-2 ../gcc-3.4.6/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++ \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu \ --disable-libstdcxx-pch make make install Binutils-2.1.7 tar xjf binutils-2.17.tar.bz2 && mkdir binutils-build-2.17-2 && cd binutils-build-2.17-2 ../binutils-2.17/configure --prefix=/usr \ --disable-nls \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make install Make-3.8.1 ./configure --prefix=/usr make make install Patch-2.5.4 ./configure --prefix=/usr make failed holbru@eisfive:/usr/src/tool-chain/patch/patch-2.5.4> make cat ./m4/ccstdc.m4 ./m4/d-ino.m4 ./m4/inttypes_h.m4 ./m4/largefile.m4 ./m4/malloc.m4 ./m4/protos.m4 ./m4/realloc.m4 ./m4/utimbuf.m4 >./aclocal.m4 cd . && autoconf aclocal.m4:225: error: m4_defn: undefined macro: _m4_divert_diversion aclocal.m4:225: the top level autom4te: /usr/bin/m4 failed with exit status: 1 make: *** [configure] Error 1 spaeter neu machen 3. Durchlauf -------------- Binutils-2.1.7 rm -rf binutils-2.17 && tar xjf binutils-2.17.tar.bz2 && mkdir binutils-build-2.17-3 && cd binutils-build-2.17-3 ../binutils-2.17/configure --prefix=/usr \ --enable-shared \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make tooldir=/usr nake -k check make tooldir=/usr install cp ../binutils-2.17/include/libiberty.h /usr/include/ glibc-dev neu istalliert (zur Vorsicht) GCC-3.4.6 rm -rf gcc-3.4.6 && tar xjf gcc-3.4.6.tar.bz2 && cd gcc-3.4.6 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in cd .. && mkdir gcc-build-3.4.6-3 && cd gcc-build-3.4.6-3 ../gcc-3.4.6/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++ \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make /bin/bash: -c: line 5: syntax error: unexpected end of file make: *** [multilib.out] Error 2 Makefile: multilib.out: maybe-all-gcc @r=`${PWD_COMMAND}`; export r; \ echo "Checking multilib configuration..."; \ $(CC_FOR_TARGET) --print-multi-lib > multilib.tmp 2> /dev/null ; \ $(SHELL) $(srcdir)/move-if-change multilib.tmp multilib.out ; \ after change to: multilib.out: maybe-all-gcc @r=`${PWD_COMMAND}`; export r; \ echo "Checking multilib configuration..."; \ $(CC_FOR_TARGET) --print-multi-lib > multilib.tmp 2> /dev/null ; \ $(SHELL) $(srcdir)/move-if-change multilib.tmp multilib.out it work fine for me! es ist auch im Makefile der 4.1.2 geaendert make -k check holbru@eisfive:/usr/src/tool-chain/gcc/gcc-build-3.4.6-3> ../gcc-3.4.6/contrib/test_summary | grep -A7 Summ === g++ Summary === # of expected passes 10023 # of unexpected successes 1 # of expected failures 66 # of unsupported tests 43 /usr/src/tool-chain/gcc/gcc-build-3.4.6-3/gcc/testsuite/../g++ version 3.4.6 -- === gcc Summary === # of expected passes 25377 # of unexpected failures 2 # of expected failures 70 # of untested testcases 7 # of unsupported tests 211 /usr/src/tool-chain/gcc/gcc-build-3.4.6-3/gcc/xgcc version 3.4.6 -- === libstdc++ Summary === # of expected passes 2737 # of unexpected successes 2 # of expected failures 5 Compiler version: 3.4.6 Platform: i486-pc-linux-gnu holbru@eisfive:/usr/src/tool-chain/gcc/gcc-build-3.4.6-3> make install echo 'main(){}' > dummy.c cc dummy.c -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib' [Requesting program interpreter: /lib/ld-linux.so.2] grep -o '/usr/lib.*/crt[1in].*succeede' dummy.log /usr/lib/gcc/i486-pc-linux-gnu/3.4.6/../../../crt1.o succeede /usr/lib/gcc/i486-pc-linux-gnu/3.4.6/../../../crti.o succeede /usr/lib/gcc/i486-pc-linux-gnu/3.4.6/../../../crtn.o succeede grep -B3 '^ /usr/include' dummy.log #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/i486-pc-linux-gnu/3.4.6/include /usr/include grep 'SEARCH.*/usr/lib' dummy.log | sed 's|; |\n|g' SEARCH_DIR("/usr/i486-pc-linux-gnu/lib") SEARCH_DIR("/usr/local/lib") SEARCH_DIR("/lib") SEARCH_DIR("/usr/lib"); grep "/lib/libc.so.6 " dummy.log attempt to open /lib/libc.so.6 succeeded grep found dummy.log found ld-linux.so.2 at /lib/ld-linux.so.2 END ************************************************************************************ gcc and gcj Version 3.4.6 GNU LibC 2.3.6 gcc ../gcc-3.4.6/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++ \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make DESTDIR=/public/gcc install gcj ../gcc-3.4.6/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=java \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make DESTDIR=/public/gcj install # strip files/binarys strip -R .note -R .comment /public/gcc-3.4.6/usr/{lib/{*,*/*,*/*/*},bin/*} find /public/gcc-3.4.6/usr/{bin,lib} -type f -exec strip -R .note -R .comment "{}" \; export CFLAGS='-O2 -march=i486' export CXXFLAGS="${CFLAGS}" Tcl-8.4.15 cd unix && ./configure --prefix=/usr \ --enable-threads \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu \ --mandir=/usr/share/man && make && sed -i \ -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \ -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \ -e "/SEARCH/s/=.*/=''/" \ tclConfig.sh make DESTDIR=/public/tcl install && make install-private-headers && ln -v -sf tclsh8.4 /usr/bin/tclsh # strip files/binarys strip -R .note -R .comment /public/tcl/usr/{lib/*,bin/*} Expect-5.43 patch -Np1 -i ../expect-5.43.0-spawn-2.patch && ./configure --prefix=/usr \ --with-tcl=/usr/lib \ --with-tclinclude=/usr/include \ --with-x=no \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu \ --enable-shared && make make INSTALL_ROOT=/public/expect install && ln -sf ../libexpect5.43.a /usr/lib/expect5.43 # strip files/binarys strip -R .note -R .comment /public/expect/usr/{lib/*,bin/*} ../binutils-2.17/configure --prefix=/usr \ --enable-shared \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu *************************************************************** *************************************************************** # # # build tool-chain mit GNU LibC 2.3.6 # # gcc and gcj -> 4.1.2 # # Nach Problemen mit der libstd++ wurde die svn Version genommen # das gibt dann einen 4.1.3 # version 4.1.3 20080704 (prerelease) # # 2010-12-11 # GCC-from # svn://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch # # exit 1 1. Durchlauf -------------- Binutils-2.18 tar xjf binutils-2.18.tar.bz2 && mkdir binutils-build-2.18-1 && cd binutils-build-2.18-1 ../binutils-2.18/configure --prefix=/usr \ --disable-nls \ --disable-werror \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu sed -i 's#^MAKEINFO =.*$#MAKEINFO = makeinfo#' Makefile make make install GCC-4.1.2 tar xjf gcc-4.1.2.tar.bz2 && cd gcc-4.1.2 cp -R ../gcc-4_1-branch/* . sed -i 's/install_to_${INSTALL_DEST} //' libiberty/Makefile.in sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in cd .. && mkdir gcc-build-4.1.2-1 && cd gcc-build-4.1.2-1 ../gcc-4.3.2/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --disable-nls \ --enable-languages=c \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make bootstrap make install Tcl-8.4.15 cd unix && ./configure --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make install make install-private-headers ln -v -sf tclsh8.4 /usr/bin/tclsh Expect-5.43 patch -Np1 -i ../expect-5.43.0-spawn-1.patch && ./configure --prefix=/usr \ --with-tcl=/usr/lib \ --with-tclinclude=/usr/include \ --with-x=no \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make wenn gemeckert wird, die Argumente entfernen make SCRIPTS="" install DejaGNU-1.4.4 make make install 2. Durchlauf ------------- GCC-4.1.2 rm -rf gcc-4.1.2 && cp ../binutils-2.18/include/libiberty.h /usr/include/ tar xjf gcc-4.1.2.tar.bz2 && cd gcc-4.1.2 sed -i 's/install_to_${INSTALL_DEST} //' libiberty/Makefile.in sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in cd .. && mkdir gcc-build-4.1.2-2 && cd gcc-build-4.1.2-2 ../gcc-4.1.2/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++ \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu \ --disable-libstdcxx-pch make make install Binutils-2.18 tar xjf binutils-2.18.tar.bz2 && mkdir binutils-build-2.18-2 && cd binutils-build-2.18-2 ../binutils-2.18/configure --prefix=/usr \ --disable-nls \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu sed -i 's#^MAKEINFO =.*$#MAKEINFO = makeinfo#' Makefile make tooldir=/usr make install Make-3.82 ./configure --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install Patch-2.6.1 ./configure --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install Texinfo-4.13 ./configure --prefix=/usr \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu make make install 3. Durchlauf -------------- Binutils-2.1.8 rm -rf binutils-2.18 && tar xjf binutils-2.18.tar.bz2 && mkdir binutils-build-2.18-3 && cd binutils-build-2.18-3 ../binutils-2.18/configure --prefix=/usr \ --enable-shared \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu sed -i 's#^MAKEINFO =.*$#MAKEINFO = makeinfo#' Makefile make tooldir=/usr make -k check 2>&1 | tee binutils-check make tooldir=/usr install cp -vf ../binutils-2.18/include/libiberty.h /usr/include/ GCC-4.1.3 rm -rf gcc-4.1.2 && tar xjf gcc-4.1.2.tar.bz2 && cd gcc-4.1.2 sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in sed -i 's/^XCFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in cd .. && mkdir gcc-build-4.1.2-3 && cd gcc-build-4.1.2-3 ../gcc-4.1.2/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++ \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make -k check 2>&1 | tee gcc-check Test Run By root on Sat Dec 11 21:11:53 2010 Native configuration is i486-pc-linux-gnu === gcc Summary === # of expected passes 39335 # of unexpected successes 1 # of expected failures 100 # of untested testcases 28 # of unsupported tests 247 === g++ Summary === # of expected passes 12488 # of unexpected successes 1 # of expected failures 66 # of unsupported tests 69 === libstdc++ Summary === # of expected passes 3399 # of unexpected successes 1 # of expected failures 11 # of unsupported tests 324 === libmudflap Summary === # of expected passes 1471 # of unexpected failures 328 make install echo 'main(){}' > dummy.c cc dummy.c -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib' [Requesting program interpreter: /lib/ld-linux.so.2] grep -o '/usr/lib.*/crt[1in].*succeede' dummy.log /usr/lib/gcc/i486-pc-linux-gnu/4.1.3/../../../crt1.o succeede /usr/lib/gcc/i486-pc-linux-gnu/4.1.3/../../../crti.o succeede /usr/lib/gcc/i486-pc-linux-gnu/4.1.3/../../../crtn.o succeede grep -B3 '^ /usr/include' dummy.log #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/i486-pc-linux-gnu/4.1.3/include /usr/include grep 'SEARCH.*/usr/lib' dummy.log | sed 's|; |\n|g' SEARCH_DIR("/usr/i486-pc-linux-gnu/lib") SEARCH_DIR("/usr/local/lib") SEARCH_DIR("/lib") SEARCH_DIR("/usr/lib"); grep "/lib/libc.so.6 " dummy.log attempt to open /lib/libc.so.6 succeeded grep found dummy.log found ld-linux.so.2 at /lib/ld-linux.so.2 GCJ ../gcc-4.1.2/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=java \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu make make -k check 2>&1 | tee gcj-check === libffi Summary === # of expected passes 228 # of unsupported tests 2 === libjava Summary === # of expected passes 4060 # of expected failures 10 # of untested testcases 8 make DESTDIR=/public/4.1.3/gcc install make DESTDIR=/public/$package/$version install for filename in `find /public/4.1.3/gcc/usr/{bin/*,lib/*.so*} -type f` do echo $filename strip -R .note -R .comment "$filename" done # 2011-02-28 build gcc with --disable-tls mkdir gcc-build-4.1.2-tls && cd gcc-build-4.1.2-tls ../gcc-4.1.2/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=c,c++ \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu \ --disable-tls make make -k check 2>&1 | tee gcc-check === gcc Summary === # of expected passes 39274 # of unexpected successes 1 # of expected failures 99 # of untested testcases 28 # of unsupported tests 275 === g++ Summary === # of expected passes 12455 # of unexpected successes 1 # of expected failures 66 # of unsupported tests 77 === libstdc++ Summary === # of expected passes 3399 # of unexpected successes 1 # of expected failures 11 # of unsupported tests 324 === libmudflap Summary === # of expected passes 1799 make install echo 'main(){}' > dummy.c cc dummy.c -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib' [Requesting program interpreter: /lib/ld-linux.so.2] grep -o '/usr/lib.*/crt[1in].*succeede' dummy.log /usr/lib/gcc/i486-pc-linux-gnu/4.1.3/../../../crt1.o succeede /usr/lib/gcc/i486-pc-linux-gnu/4.1.3/../../../crti.o succeede /usr/lib/gcc/i486-pc-linux-gnu/4.1.3/../../../crtn.o succeede grep -B3 '^ /usr/include' dummy.log #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/i486-pc-linux-gnu/4.1.3/include /usr/include grep 'SEARCH.*/usr/lib' dummy.log | sed 's|; |\n|g' SEARCH_DIR("/usr/i486-pc-linux-gnu/lib") SEARCH_DIR("/usr/local/lib") SEARCH_DIR("/lib") SEARCH_DIR("/usr/lib"); grep "/lib/libc.so.6 " dummy.log attempt to open /lib/libc.so.6 succeeded grep found dummy.log found ld-linux.so.2 at /lib/ld-linux.so.2 make DESTDIR=/public/4.1.3-tls/gcc install for filename in `find /public/4.1.3-tls/gcc/usr/{bin/*,lib/*.so*} -type f` do echo $filename strip -R .note -R .comment "$filename" done GCJ mkdir gcj-build-4.1.2-tls && cd gcj-build-4.1.2-tls ../gcc-4.1.2/configure --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ --enable-clocale=gnu \ --enable-languages=java \ --build=i486-pc-linux-gnu \ --host=i486-pc-linux-gnu \ --target=i486-pc-linux-gnu \ --disable-tls make make -k check 2>&1 | tee gcj-check === libffi Summary === # of expected passes 228 # of unsupported tests 2 === libjava Summary === # of expected passes 4060 # of expected failures 10 # of untested testcases 8 make DESTDIR=/public/4.1.3-tls/gcj install for filename in `find /public/4.1.3-tls/gcj/usr/{bin/*,lib/*.so*} -type f` do echo $filename strip -R .note -R .comment "$filename" done