This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]