anyone experience in retargeting compilers?
Posted: Wed Jul 09, 2008 1:03 am
From the beginning I wanted to retarget a C (or C++) compiler to my console's architecture (see http://forum.osdev.org/viewtopic.php?f=11&t=17045), and I started work on a GCC backend (back when I was overwhelmed with free time) but it ended up being a major undertaking. Right now (unlike before) I really don't have the time (this + group game for final project + Rapid Application Development class + other stuff in my life), so I gave up on porting a compiler used that time to write my own high-level assembler instead and to work on other projects.
While high-level assembly is fast (easy to optimise code), I still don't find it as comfortable as working with a higher level language like C.
I've looked in to a few different retargetable C compilers including; GCC, Amsterdam Compiler Kit, PCC, TenDRA, SDCC, but each require a lot of reading to understand the compiler's internals and there is a lot of undocumented guess-work involved (e.g. compilers not supporting overlapping registers).
Anyway, I'm inviting anyone who wants to try to retarget a C or C++ compiler to my console. I know other people will have a lot more experience and knowledge in this area than I do in this area.
I have a high-level and low-level assembler, an emulator (there is a tiny bit of Windows-specific code in the emulator), and all technical documentation for reference.
Thanks.
While high-level assembly is fast (easy to optimise code), I still don't find it as comfortable as working with a higher level language like C.
I've looked in to a few different retargetable C compilers including; GCC, Amsterdam Compiler Kit, PCC, TenDRA, SDCC, but each require a lot of reading to understand the compiler's internals and there is a lot of undocumented guess-work involved (e.g. compilers not supporting overlapping registers).
Anyway, I'm inviting anyone who wants to try to retarget a C or C++ compiler to my console. I know other people will have a lot more experience and knowledge in this area than I do in this area.
I have a high-level and low-level assembler, an emulator (there is a tiny bit of Windows-specific code in the emulator), and all technical documentation for reference.
Thanks.