This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: questions related to GCC
- To: Desmond Cheung <dycheung at cs dot sfu dot ca>
- Subject: Re: questions related to GCC
- From: Michael Meissner <meissner at cygnus dot com>
- Date: Tue, 8 Aug 2000 18:41:17 -0400
- Cc: binutils at sources dot redhat dot com
- References: <200008082208.PAA03197@ratbert.cs.sfu.ca>
On Tue, Aug 08, 2000 at 03:08:44PM -0700, Desmond Cheung wrote:
> Hi,
>
> I'm new to this list and I have a few questions
> regarding GCC port.
>
> I'm developing a GCC port to our own processor. I'm
> wondering if I need binutils to run GCC.
>
> Is binutils needed for GCC's configure/install?
> Or is it needed for run-time library?
> Is there a porting guide for binutils? Where?
Binutils is needed if you need an assembler, linker, or debugger. If you are
providing all of those, then you don't need to port binutils. Typically,
within Red Hat (aka the old Cygnus), the time line looks like:
Add md stuff to cgen in order to generate binutils/sim pieces
Port binutils (bfd, gas, ld, binutils)
Write minimal testsuite for gas
Port simulator
Write runtime testsuite for simulator
Design ABI for the target
Port GCC
Build libraries, including simulator stub support
Run GCC testsuites, iterate until acceptable # of failures
Port GDB
Run GDB testsuites, iterate until acceptable # of failures
Write GDB stub/cygmon support
Run GCC testsuites on the real hardware, iterate until done
Run more elaborate testsuites (Plum-Hall, Perenneial, etc.).
Send out alpha/beta version of tools
Fix bugs as needed, adding new tests to testuite as needed
Work on chip specific optimizations, etc.
Pass GO, collect money, start next port
You can do the binutils/sim ports without cgen, but it does save some amount of
time.
You generally need gas/ld working before you can begin work on the simulator.
If you already have working silicon, you can skip the simulator step, but we
find it is useful to have a simulator for all embedded targets, particularly if
you need to debug compiler output before the debugger comes on line. I've
debugged at least 3 ports I wrote from scratch using only simulator traces for
some period of time before gdb was available. It is real fun^H^H^Hchallenging
debugging printf, particularly for ports with simulated floating point under
such circumstances :-)
--
Michael Meissner, Red Hat, Inc.
PMB 198, 174 Littleton Road #3, Westford, Massachusetts 01886, USA
Work: meissner@redhat.com phone: +1 978-486-9304
Non-work: meissner@spectacle-pond.org fax: +1 978-692-4482