# ftp://ftp.mvista.com/pub/Journeyman/source/SRPMS/hhl-cross-gdb-5.0-hhl2.0.8.src.rpm RPM=$HOME/hhl-cross-gdb-5.0-hhl2.0.8.src.rpm rpm2cpio $RPM | cpio -i TARGETDIR=/tmp/2 SRCDIR=`pwd` OUTPUTDIR=/tmp echo "SRCDIR: $SRCDIR" set -e set -x mkdir /tmp/2 cd /tmp/2 tar xfz $SRCDIR/gdb-5.0.tar.gz dopatch() { (cd gdb-5.0; patch -p1 <$SRCDIR/$1) } dopatch gdb-5.0-ppc-core.patch dopatch gdb-5.0-mips-branch-predict.patch dopatch gdb-5.0-sign-extend.patch dopatch gdb-5.0-so-lmstart.patch dopatch gdb-5.0-core-xregset.patch dopatch gdb-5.0-mips-linux.patch dopatch gdb-5.0-gdbserver.patch dopatch gdb-5.0-gdbserver-mips.patch dopatch gdb-5.0-mips-fencepost.patch dopatch gdb-5.0-ppc-cross-core.patch dopatch gdb-5.0-x86-cross-core.patch dopatch gdb-5.0-mips-cross-core.patch dopatch gdb-5.0-mips-registers.patch dopatch gdb-5.0-arm-cross-core.patch dopatch gdb-5.0-gdbserver-mips2.patch dopatch gdb-5.0-cross-solib.patch dopatch gdb-5.0-cross-solib2.patch dopatch gdb-5.0-cross-reloc.patch dopatch gdb-5.0-cross-solib-i386.patch dopatch gdb-5.0-cross-solib3.patch cd gdb-5.0 mkdir native-build (cd native-build; ../configure --target=mipsel-linux; make) mkdir cross-build (cd cross-build; HOSTCC=gcc CC='mipsel-linux-gcc -B/opt/snow-gcc/lib/snow/' ../configure --build=i386-linux --host=mipsel-linux --target=mipsel-linux; make) mkdir cross-build/gdb/gdbserver (cd cross-build/gdb/gdbserver; CC='mipsel-linux-gcc -B/opt/snow-gcc/lib/snow/' sh ../../../gdb/gdbserver/configure --build=i386-linux --host=mipsel-linux --target=mipsel-linux CC='mipsel-linux-gcc -B/opt/snow-gcc/lib/snow/' make; mipsel-linux-ld -r -o gdbserver.partial utils.o low-linux.o server.o remote-utils.o) cp native-build/gdb/gdb $OUTPUTDIR/mipsel-linux-gdb cp cross-build/gdb/gdbserver/gdbserver $OUTPUTDIR/gdbserver cp cross-build/gdb/gdbserver/gdbserver.partial $OUTPUTDIR/gdbserver.partial mipsel-linux-strip $OUTPUTDIR/gdbserver