This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc porting
- From: Mike Stump <mrs at apple dot com>
- To: Soha Eyal-RM50194 <eyal dot soha at freescale dot com>
- Cc: "'gcc at gcc dot gnu dot org'" <gcc at gcc dot gnu dot org>
- Date: Tue, 24 Aug 2004 10:33:52 -0700
- Subject: Re: gcc porting
On Tuesday, August 24, 2004, at 01:46 AM, Soha Eyal-RM50194 wrote:
1) The processor has a heap but possibly no stack at all. Are there
any existing GCC ports on processors with no stack?
All turing complete processors have a stack, by definition... :-)
How do they work?
Just fine.
At a minimum you need to reserve a pointer in memory to hold a stack
pointer value, and explain in the .md file, how to use this memory. If
you have an extra register, you can get more performance by dedicating
one for the stack pointer.
2) The processor has a general-purpose register that is written to by
an outside source but can be accessed as any other GPR. It can be
thought of as a "volatile" register. We'd like to be able to access
the value there in some natural manner. Is that possible?
Yes. __builtin_foo() is the worst case posibility; I suppose this
means you have to consider that natural.
3) How long might it take to port a back end?
2 months for the initial port. Life of the processor for maintenance.
4) What kind of help is available for writing the port?
You can contract help, you can contract writing the port, you can ask
questions, but this list generally is a self serve style list.
Roughly, this means that answering question that are answered by the
documentation is beyond the scope of this list. We expect that you'll
be able to bring up 90% of the content of your port, by yourself.
There are a few hard questions that we'd be happy to answer.
Since this is a volunteer effort, you can't `expect' to receive, and we
can't promise to offer any, people donate their time, as they see fit.
Are there experience engineers willing to do work by contract?
Yes. I'll ask that they contact you directly (if no one does, email
me, I can point a few out). See http://www.fsf.org/prep/service.html
for more...
What free help is available by way of the GCC community?
Seems the same as the question above.
5) What are the legal implications of the GPL on the back end?
Not a concern. Many. Roughly, it means that you will need to either
ship complete sources to the compiler with every compiler you ship, or
ship a pointer to a web site with the complete sources to the compiler
with every compiler you ship. Beyond this, you will have to ask your
lawyer, or ask on gnu.misc.discuss.
Is all that correct?
Sort of. Keep the two (source and compiler binaries) together, and it
is.
We're still debating the direction of the project and whether or not
to use GCC.
gcc is of course the right answer, that part's easy. But I suppose if
you want to invent $400M to recreate it, you always can, it's only
money. Most companies aren't that rich, anymore.
If a GCC back end becomes the preferred solution then we should be
able to reveal more details as time goes on.
You don't need to ever reveal details beyond giving out complete source
each time you ship a compiler. We can't help you in general without
things like a description of the port, or the partial port in progress.
The advantage of contracting it is, you can control where and when it
becomes public.