On 2004-04-22, Martin Sauer <msauer@gmx.net> wrote:
> I want to compile the current release of gcc 3.3.3 for my
> H8300S target. I configured the system with
> --target=h8300-hms
The "hms" platform is pretty obsolete. Use h8300-elf if at all
possible. The HEW stuff supports gcc/elf now, so I don't think
there are any real reasons to stick with the old hms platform.
Here's the script I use to build my h8300 toolchain based on
the most recent sources from www.kpitgnutools.com. They've put
a lot of work into the Hh8300 target stuff and their sources
will contain fixes/features that haven't made into the official
sources yet. It also builds newlib, though I use very little of
newlibe in my actual application code.
--------------------------------8<--------------------------------
#!/bin/bash
DEST=/opt/gnu
TARGET=h8300-elf
BINVERS=2.14-kpitv0401
GCCVERS=3.3-20031215-gbe
NLBVERS=20031216
GDBVERS=6.0.0.90_20031231
HERE=$PWD
SRC=$PWD/src
BLD=$PWD/bld
set -e
echo "+++ cleaning old source directory"
rm -rf $SRC
echo "+++ cleaning old build directory"
rm -rf $BLD
export PATH=$DEST/bin:$PATH
mkdir -p $SRC
function do-binutils {
echo "+++ extracting binutils"
tar xzvf binutils-$BINVERS.tar.gz -C $SRC
echo "+++ configuring binutils"
mkdir -p $BLD/binutils
pushd $BLD/binutils
$SRC/binutils-$BINVERS/configure \
--target=$TARGET \
--prefix=$DEST \
2>&1 | tee configure.log
echo "+++ building binutils"
make 2>&1 | tee make.log
echo "+++ installing binutils"
make install 2>&1 | tee makeinstall.log
echo "+++ finshed binutils"
popd
rm -rf $SRC/binutils-* $BLD/binutils
}
function do-gcc {
echo "=== extracting gcc"
tar xzvf gcc-$GCCVERS.tar.gz -C $SRC
if [ -d $HERE/patches/gcc ]
then
echo "=== patching gcc"
pushd $SRC/gcc-$GCCVERS
(for f in $HERE/patches/gcc/*
do
echo "==== $f"
patch -p0 <$f
done) 2>&1 | tee patch.log
popd
fi
echo "=== extracting newlib"
tar xzvf newlib-$NLBVERS.tar.gz -C $SRC
mv $SRC/newlib-$NLBVERS/newlib $SRC/gcc-$GCCVERS
mv $SRC/newlib-$NLBVERS/libgloss $SRC/gcc-$GCCVERS
echo "=== configuring gcc"
mkdir -p $BLD/gcc
pushd $BLD/gcc
$SRC/gcc-$GCCVERS/configure \
--target=$TARGET \
--prefix=$DEST \
--enable-languages=c \
--with-gnu-as \
--with-gnu-ld \
--with-newlib \
-v 2>&1 | tee configure.log
echo "=== building gcc"
make 2>&1 | tee make.log
echo "=== installing gcc"
make install 2>&1 | tee makeinstall.log
echo "=== finished gcc"
popd
rm -rf $SRC/gcc-* $SRC/newlib-* $BLD/gcc
}
function do-gdb {
echo "=== extracting gdb"
tar xzvf gdb+dejagnu-$GDBVERS.tar.gz -C src
echo "=== configuring gdb"
mkdir -p $BLD/gdb
pushd $BLD/gdb
$SRC/gdb+dejagnu-$GDBVERS/configure \
--target=$TARGET \
--prefix=$DEST \
-v 2>&1 | tee configure.log
echo "=== building gdb"
make 2>&1 | tee make.log
echo "=== installing gdb"
make install 2>&1 | tee makeinstall.log
echo "=== finished gdb"
popd
rm -rf $SRC/gdb* $BLD/gdb
}
do-binutils
do-gcc
do-gdb
--------------------------------8<--------------------------------
--
Grant Edwards grante Yow! PEGGY FLEMMING is
at stealing BASKET BALLS to
visi.com feed the babies in VERMONT.
Reply by Martin Sauer●April 22, 20042004-04-22
Hello,
I want to compile the current release of gcc 3.3.3 for my H8300S target.
I configured the system with --target=h8300-hms after the configure is
finishes I called the make command. Now I get an error message:
../../gcc/config/h8300/lib1funcs.asm: Assembler messages:
../../gcc/config/h8300/lib1funcs.asm:1: Error: no such instruction:
`libgcc routines for the Hitachi H8/300 CPU.'
../../gcc/config/h8300/lib1funcs.asm:2: Error: no such instruction:
`contributed by Steve Chamberlain<sac@cygnus.com>'
../../gcc/config/h8300/lib1funcs.asm:3: Error: no such instruction:
`optimizations by Toshiyasu Morita<toshiyasu.morita@hsa.hitachi.com>'
../../gcc/config/h8300/lib1funcs.asm:120: Error: invalid character '.'
in mnemonic
../../gcc/config/h8300/lib1funcs.asm:121: Error: no such instruction:
`bne .L2'
../../gcc/config/h8300/lib1funcs.asm:122: Error: invalid character '.'
in mnemonic
../../gcc/config/h8300/lib1funcs.asm:123: Error: no such instruction:
`bne .L4'
../../gcc/config/h8300/lib1funcs.asm:124: Error: invalid character '.'
in mnemonic
../../gcc/config/h8300/lib1funcs.asm:125: Error: no such instruction: `rts'
../../gcc/config/h8300/lib1funcs.asm:127: Error: no such instruction:
`bgt .L5'
../../gcc/config/h8300/lib1funcs.asm:129: Error: invalid character '.'
in mnemonic
../../gcc/config/h8300/lib1funcs.asm:130: Error: no such instruction: `rts'
../../gcc/config/h8300/lib1funcs.asm:132: Error: no such instruction:
`bls .L3'
../../gcc/config/h8300/lib1funcs.asm:134: Error: invalid character '.'
in mnemonic
../../gcc/config/h8300/lib1funcs.asm:135: Error: no such instruction: `rts'
make[2]: *** [libgcc/./_cmpsi2.o] Fehler 1
make[2]: Leaving directory `/tmp/gcc-3.3.3/objdir/gcc'
make[1]: *** [stmp-multilib] Fehler 2
make[1]: Leaving directory `/tmp/gcc-3.3.3/objdir/gcc'
make: *** [all-gcc] Fehler 2
Can anyone give me a hint to solve this problem?
Thank you very much.
bye
martin sauer