Skip to main content

GenerationalCompilation

qemu-system-mipsel -m 256 -M malta -kernel ${KERNEL} -drive if=ide,format=raw,file=${IMAGE} -append "firmadyne.syscall=1 root=/dev/sda1 console=ttyS0 nandsim.parts=64,64,64,64,64,64,64,64,64,64 rdinit=/firmadyne/preInit.sh rw debug ignore_loglevel print-fatal-signals=1" -serial file:${WORK_DIR}/qemu.initial.serial.log -serial unix:/tmp/qemu.${IID}.S1,server,nowait -monitor unix:/tmp/qemu.${IID},server,nowait -display none -netdev socket,id=s0,listen=:2000 -device e1000,netdev=s0 -netdev socket,id=s1,listen=:2001 -device e1000,netdev=s1 -netdev socket,id=s2,listen=:2002 -device e1000,netdev=s2 -netdev socket,id=s3,listen=:2003 -device e1000,netdev=s3

Things That Worked

  • Ubuntu Dapper 6.06 (w/ gcc-3.3)

    • Builds crosstool-0.43
      • Builds mipsel-unknown-linux-gnu/binutils-2.15-gcc-3.3.6-linux-2.4.26-glibc-2.2.5
      • Builds mipsel-unknown-linux-gnu/binutils-2.15-gcc-3.4.5-linux-2.6.9-glibc-2.3.6
  • Ubuntu Hardy 8.04 (w/ gcc-4.2.3)

    • Builds crosstool-ng-1.19.0
      • Supports gcc-4.2.2 -> gcc-4.8.1
      • Supports glibc-2.8 -> glibc-2.17, uclibc-0.9.30 -> uclibc-0.9.33.2, eglibc-2_9 -> eglibc-2_17
      • Builds mipsel-unknown-linux-gnu/binutils-2.19.1a-gcc-4.3.2-linux-2.6.31.14-glibc-2.9 (crossgdb broken)
        • Builds linux 3.10.4 (mipsel)
      • binutils-2.19.1a-gcc-4.3.2-linux-2.6.27.62-glibc-2.9/mipsel-static-linux-gnu (w/o native-gdb)
  • Ubuntu Focal 20.04 (w/ gcc-9.4.0)

    • Builds crosstool-ng-1.24.0

      • Supports gcc-4.9.4 -> gcc-8.3.0

      • Supports glibc-2.12.1 -> 2.28, uclibc-1.0.25 -> uclibc-1.0.31

      • Supports binutils-2.26.1 -> binutils-2.32

      • Supports linux-3.2.101 -> linux-4.20.8

      • binutils-2.32-gcc-8.3.0-linux-4.20.8-glibc-2.28/mipsel-static-linux-gnu

      • binutils-2.32-gcc-7.4.0-linux-4.20.8-glibc-2.28/mipsel-static-linux-gnu

      • binutils-2.32-gcc-6.5.0-linux-4.20.8-glibc-2.28/mipsel-static-linux-gnu

      • binutils-2.32-gcc-5.5.0-linux-4.20.8-glibc-2.28/mipsel-static-linux-gnu

      • binutils-2.32-gcc-4.9.4-linux-4.20.8-glibc-2.28/mipsel-static-linux-gnu

      • binutils-2.32-gcc-4.9.4-linux-3.2.101-glibc-2.28/mipsel-static-linux-gnu

      • RUNNING: time ./run-ct-ng-1.24.0.sh ct-ng -C /opt/builds/binutils-2.32-gcc-4.9.4-linux-4.20.8-glibc-2.28/mipsel-static-linux-gnu CT_PREFIX=/opt/x-tools/binutils-2.32-gcc-4.9.4-linux-4.20.8-glibc-2.28 build

    • Builds crosstool-ng-1.25.0

      • binutils-2.38-gcc-11.2.0-linux-5.16.9-glibc-2.28/mipsel-static-linux-gnu

      time ./run-ct-ng-1.24.0.sh ct-ng -C /opt/builds/binutils-2.38-gcc-11.2.0-linux-5.16.9-glibc-2.28/mipsel-static-linux-gnu CT_PREFIX=/opt/x-tools/binutils-2.38-gcc-11.2.0-linux-5.16.9-glibc-2.28 build

GCC_EXTRA_CONFIG="${GCC_EXTRA_CONFIG} --enable-static LDFLAGS=-static-libgcc"
BINUTILS_EXTRA_CONFIG="${BINUTILS_EXTRA_CONFIG} LDFLAGS=-all-static"
GLIBC_EXTRA_CONFIG="--enable-static-nss --disable-shared"


${BINUTILS_BUILD_MAKE_FLAGS}
BINUTILS_INSTALL_MAKE_FLAGS
GCC_CORE_BUILD_MAKE_FLAGS
GCC_CORE_INSTALL_MAKE_FLAGS
GLIBC_BUILD_MAKE_FLAGS
GLIBC_INSTALL_MAKE_FLAGS
LIBIBERTY_MAKE_FLAGS
GCC_BUILD_MAKE_FLAGS
GCC_INSTALL_MAKE_FLAGS