GNU Development Tools for the Renesas H8/300[HS] Series

This page contains RPMs for the Renesas H8/300[HS] series that I packaged for convenience. Use them at your own risk. Comments or suggestions are welcome.


Download RPMs and SRPMs

The RPMS for RedHat Linux 8.x (i386) and source RPMS are available at:

For release notes, click on the release number in the above page.

Building These Tools on Your Own (on a Linux system)

Here is the instructions that are roughly the same as what's done in the above RPM packages.

Downloading necessary files

Download the following files and put them under one directory (or you can have linkes to them in one directory).

I assume GNU make has been installed on your system. Most Linux systems, if not all, should have this installed by default. Note that the 'prefix'/bin must be in your PATH when you build gcc. For example, if you specify --prefix=/usr/local, then /usr/local/bin must be in your PATH.


tar xfj binutils-2.13.2.tar.bz2
cd binutils-2.13.2
mkdir objdir
cd objdir
../configure --prefix=/usr/local --target=h8300-hms
gmake CFLAGS="-O2 -fomit-frame-pointer" all
gmake install #this has to be done by root

gcc and newlib

export PATH=$PATH:/usr/local/bin
tar xfj gcc-3.2.1-core.tar.bz2
tar xfz newlib-1.11.0.tar.gz
cd gcc-3.2.1
ln -s ../newlib-1.11.0/newlib .
patch -p1 < ../h8300-hms-gcc-3.1-1.patch
mkdir objdir
cd objdir
../configure \
        --prefix=/usr/local --target=h8300-hms \
        --enable-languages=c --with-newlib
gmake CFLAGS="-O2 -fomit-frame-pointer" all
gmake install #this has to be done by root


tar xfj gdb-5.2.1.tar.bz2
cd gdb-5.2.1
mkdir objdir
cd objdir
../configure --prefix=/usr/local --target=h8300-hms
gmake CFLAGS="-O2 -fomit-frame-pointer" all
gmake install #this has to be done by root

Using the compiler's testsuite

If you modify the compiler, it is always a good idea to run the testsuite to see if there are any regressions. Here is what I have been doing.

  1. Check out gdb and dejagnu togerther from CVS.
  2. Configure, make, and install as described in the gdb section above. This will automatically take care of dejagnu. (Probably separate instllation of dejagnu works, but I have not confirmed.)
  3. Put the following in a file "~/debug".
  4. load_lib "framework.exp"
    # Determine target machines for all known targets
    verbose "Global Config File: target_triplet is $target_triplet" 2
    global target_list
    case "$target_triplet" in {
        { "h8300-*-*" } {
            set target_list { "h8300-sim{-mno-h,-mh,-ms,-mh -mint32,-ms -mint32}" 
  5. export DEJAGNU=/home/you/debug
  6. Configure and make gcc with newlib as described in the gcc section above.
  7. Go into your gcc's build directory.
  8. make -k check-gcc
  9. somewhere/gcc-3.2.1/contrib/test_summary > output

output will contain the result of running the testsuite. I keep it for each modified version of gcc and compare one against another to find regressions.

Of course, you will replace /home/you/... and somewhere/gcc-3.2.1/... accordingly.

Pending Features

Kazu's personal TODO list and patches

You may find what I'll be working on in near future in my personal H8 lab area.


Kazu Hirata <> (either in Japanese or in English)

Last Updated: Jun 16, 2003

SourceForge Logo