diff options
-rw-r--r-- | scripts/gcc-bisect.sh | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/scripts/gcc-bisect.sh b/scripts/gcc-bisect.sh new file mode 100644 index 000000000..1da4dd5d6 --- /dev/null +++ b/scripts/gcc-bisect.sh @@ -0,0 +1,206 @@ +#!/bin/sh +rm -rf host_x86_64-linux-gnu target_sparc_glibc +rm -rf gcc-* +mkdir host_x86_64-linux-gnu +mkdir target_sparc_glibc + +tar xvf binutils-2.24.tar.bz2 +cd binutils-2.24 +./configure \ + --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \ + --target=sparc-openadk-linux-gnu \ + --with-sysroot=/home/wbx/smoke/target_sparc_glibc \ + --disable-dependency-tracking \ + --disable-libtool-lock \ + --disable-nls \ + --disable-werror \ + --disable-plugins \ + --disable-libssp --disable-multilib +make -j4 all +make install +cd .. + +tar xvf gmp-5.1.3.tar.xz +cd gmp-5.1.3 +cp configfsf.guess config.guess +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/usr/bin:$PATH" \ + ./configure \ + --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \ + --with-pic \ + --disable-shared \ + --enable-static +make -j4 all +make install +cd .. + +tar xvf mpfr-3.1.2.tar.xz +cd mpfr-3.1.2 +./configure \ + --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \ + --with-gmp-build=/home/wbx/smoke/gmp-5.1.3 \ + --disable-shared \ + --enable-static +make -j4 all +make install +cd .. + +tar xvf mpc-0.8.2.tar.gz +cd mpc-0.8.2 +./configure \ + --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \ + --with-gmp=/home/wbx/smoke/host_x86_64-linux-gnu \ + --disable-shared \ + --enable-static +make -j4 all +make install +make install +cd .. + +tar xvf libelf-0.8.13.tar.gz +cd libelf-0.8.13 +./configure \ + --prefix=/home/wbx/smoke/host_x86_64-linux-gnu \ + --disable-nls \ + --disable-shared \ + --enable-static +make -j4 all +make install +cd .. + +rm -rf host_x86_64-linux-gnu/sparc-openadk-linux-gnu/{lib,sys-include} +cd host_x86_64-linux-gnu/sparc-openadk-linux-gnu/ +ln -sf ../../target_sparc_glibc/usr/include sys-include +ln -sf ../../target_sparc_glibc/lib lib +cd - + +mkdir gcc-minimal +cd gcc-minimal +CFLAGS="-O0 -g0" \ +CXXFLAGS="-O0 -g0" \ +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" \ +../gcc/configure \ + --prefix=/home/wbx/smoke/host_x86_64-linux-gnu --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=sparc-openadk-linux-gnu --with-gmp=/home/wbx/smoke/host_x86_64-linux-gnu --with-mpfr=/home/wbx/smoke/host_x86_64-linux-gnu --with-libelf=/home/wbx/smoke/host_x86_64-linux-gnu --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --enable-tls --disable-libsanitizer --disable-libitm --disable-libmudflap --disable-libgomp --disable-decimal-float --disable-libstdcxx-pch --disable-ppl-version-check --disable-cloog-version-check --without-system-zlib --without-ppl --without-cloog --without-isl --disable-nls --enable-target-optspace \ + --enable-languages=c \ + --disable-multilib \ + --disable-lto \ + --disable-libssp \ + --disable-shared \ + --without-headers +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make -j4 all-gcc +if [ $? -ne 0 ];then + echo failed + exit +fi +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make install-gcc +if [ $? -ne 0 ];then + echo failed + exit +fi +cd .. + +cd linux-3.13.6 +make V=1 ARCH=sparc CROSS_COMPILE="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-" CC="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-gcc" HOSTCC="cc" CONFIG_SHELL='/bin/bash' HOSTCFLAGS='-O2 -Wall' INSTALL_HDR_PATH=/home/wbx/smoke/target_sparc_glibc/usr headers_install +cd .. + +cd glibc-2.19-header +libc_cv_forced_unwind=yes \ +libc_cv_cc_with_libunwind=yes \ +libc_cv_c_cleanup=yes \ +libc_cv_gnu99_inline=yes \ +libc_cv_initfini_array=yes \ +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" ../glibc-2.19/configure \ + --prefix=/home/wbx/smoke/target_sparc_glibc/usr \ + --with-sysroot=/home/wbx/smoke/target_sparc_glibc \ + --build=x86_64-linux-gnu --host=sparc-openadk-linux-gnu --with-headers=/home/wbx/smoke/target_sparc_glibc/usr/include --disable-sanity-checks --disable-nls --without-cvs --disable-profile --disable-debug --without-gd --disable-nscd --with-__thread --with-tls --enable-kernel="2.6.32" --enable-add-ons +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make cross-compiling=yes PARALLELMFLAGS="-j1" install-headers +if [ $? -ne 0 ];then + echo failed + exit +fi +cd .. +touch target_sparc_glibc/usr/include/gnu/stubs.h + +mkdir gcc-initial +cd gcc-initial +CFLAGS="-O0 -g0" \ +CXXFLAGS="-O0 -g0" \ +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" ../gcc/configure \ + --prefix=/home/wbx/smoke/host_x86_64-linux-gnu --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=sparc-openadk-linux-gnu --with-gmp=/home/wbx/smoke/host_x86_64-linux-gnu --with-mpfr=/home/wbx/smoke/host_x86_64-linux-gnu --with-libelf=/home/wbx/smoke/host_x86_64-linux-gnu --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --enable-tls --disable-libsanitizer --disable-libitm --disable-libmudflap --disable-libgomp --disable-decimal-float --disable-libstdcxx-pch --disable-ppl-version-check --disable-cloog-version-check --without-system-zlib --without-ppl --without-cloog --without-isl --disable-nls --enable-target-optspace \ + --disable-biarch --disable-multilib --enable-libssp --enable-lto \ + --enable-languages=c \ + --disable-shared \ + --disable-threads \ + --with-sysroot=/home/wbx/smoke/target_sparc_glibc +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make all-gcc +if [ $? -ne 0 ];then + echo failed + exit +fi +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make all-target-libgcc +if [ $? -ne 0 ];then + echo failed + exit +fi +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make install-gcc install-target-libgcc +if [ $? -ne 0 ];then + echo failed + exit +fi +cd .. + +cd glibc-2.19-final +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" SHELL='/bin/bash' BUILD_CC=cc CFLAGS="-mcpu=v8 -fwrapv -fno-ident -fomit-frame-pointer -O2 -pipe -fno-unwind-tables -fno-asynchronous-unwind-tables -g3" CC="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-gcc" CXX="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-g++" AR="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-ar" RANLIB="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-ranlib" libc_cv_forced_unwind=yes libc_cv_cc_with_libunwind=yes libc_cv_c_cleanup=yes libc_cv_gnu99_inline=yes libc_cv_initfini_array=yes \ +../glibc-2.19/configure \ + --prefix=/usr \ + --enable-shared \ + --enable-stackguard-randomization \ + --build=x86_64-linux-gnu --host=sparc-openadk-linux-gnu --with-headers=/home/wbx/smoke/target_sparc_glibc/usr/include --disable-sanity-checks --disable-nls --without-cvs --disable-profile --disable-debug --without-gd --disable-nscd --with-__thread --with-tls --enable-kernel="2.6.32" --enable-add-ons +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make all +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make install_root=/home/wbx/smoke/target_sparc_glibc install +if [ $? -ne 0 ];then + echo failed + exit +fi +cd .. + +mkdir gcc-final +cd gcc-final +../gcc/configure \ + --prefix=/home/wbx/smoke/host_x86_64-linux-gnu --with-bugurl="http://www.openadk.org/" --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=sparc-openadk-linux-gnu --with-gmp=/home/wbx/smoke/host_x86_64-linux-gnu --with-mpfr=/home/wbx/smoke/host_x86_64-linux-gnu --with-libelf=/home/wbx/smoke/host_x86_64-linux-gnu --disable-__cxa_atexit --with-gnu-ld --with-gnu-as --enable-tls --disable-libsanitizer --disable-libitm --disable-libmudflap --disable-libgomp --disable-decimal-float --disable-libstdcxx-pch --disable-ppl-version-check --disable-cloog-version-check --without-system-zlib --without-ppl --without-cloog --without-isl --disable-nls --enable-target-optspace \ + --disable-biarch --disable-multilib --enable-libssp --enable-lto \ + --enable-languages=c,c++ \ + --with-build-sysroot='${prefix}/../target_sparc_glibc' \ + --with-sysroot='${prefix}/../target_sparc_glibc' \ + --enable-shared +make -j4 all +if [ $? -ne 0 ];then + echo failed + exit +fi +make install +if [ $? -ne 0 ];then + echo failed + exit +fi +cd .. + +cd linux-3.13.6/ +cat > mini.config <<EOF +CONFIG_SPARC=y +CONFIG_SPARC32=y +CONFIG_SBUS=y +CONFIG_SBUSCHAR=y +CONFIG_PCI=y +CONFIG_PCI_SYSCALL=y +CONFIG_PCIC_PCI=y +CONFIG_OF=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_SUNLANCE=y +CONFIG_SERIAL_CONSOLE=y +CONFIG_SERIAL_SUNCORE=y +CONFIG_SERIAL_SUNZILOG=y +CONFIG_SERIAL_SUNZILOG_CONSOLE=y +EOF + +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make V=1 ARCH=sparc CROSS_COMPILE="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-" CC="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-gcc" HOSTCC="cc" CONFIG_SHELL='/bin/bash' HOSTCFLAGS='-O2 -Wall' KCONFIG_ALLCONFIG=mini.config allnoconfig +PATH="/home/wbx/smoke/host_x86_64-linux-gnu/bin:$PATH" make V=1 ARCH=sparc CROSS_COMPILE="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-" CC="/home/wbx/smoke/host_x86_64-linux-gnu/bin/sparc-openadk-linux-gnu-gcc" HOSTCC="cc" CONFIG_SHELL='/bin/bash' HOSTCFLAGS='-O2 -Wall' -j4 zImage |