www.digitalmars.com         C & C++   DMDScript  

D.gnu - Porting gdc to a new target (Nios2) any guides out there?

reply "John Carter" <john.carter taitradio.com> writes:
So for various reasons I see potential to use a gdc on an Altera 
FPGA with a nios2 softcore running embedded linux.

Given gdc on linux exists, gdc arm port exists, gcc nios2 back 
end exists....

Leaves me wondering... how hard could it be to get gdc targetting 
Nios2?

Any "this is how to do these things" type guides out there?
Jul 22 2014
parent reply "Timo Sintonen" <t.sintonen luukku.com> writes:
On Tuesday, 22 July 2014 at 22:13:15 UTC, John Carter wrote:
 So for various reasons I see potential to use a gdc on an 
 Altera FPGA with a nios2 softcore running embedded linux.

 Given gdc on linux exists, gdc arm port exists, gcc nios2 back 
 end exists....

 Leaves me wondering... how hard could it be to get gdc 
 targetting Nios2?

 Any "this is how to do these things" type guides out there?
I do not know this system but should be possible. Maybe this is the starting point: http://wiki.dlang.org/GDC/Installation At the end of the page there is a link to cross compiler page. In that page there is 4 different ways people have used. First forget D and try to build a C only toolset. If this works then build c++. If this works, then build D without library. If this works, then make your own runtime library, see Mikes work here: https://github.com/JinShil/D_Runtime_ARM_Cortex-M_study/wiki/1.0-Introduction or port an existing library like my minlibd: https://bitbucket.org/timosi/minlibd
Jul 22 2014
parent reply "Iain Buclaw via D.gnu" <d.gnu puremagic.com> writes:
On 23 Jul 2014 06:25, "Timo Sintonen via D.gnu" <d.gnu puremagic.com> wrote:
 On Tuesday, 22 July 2014 at 22:13:15 UTC, John Carter wrote:
 So for various reasons I see potential to use a gdc on an Altera FPGA
with a nios2 softcore running embedded linux.
 Given gdc on linux exists, gdc arm port exists, gcc nios2 back end
exists....
 Leaves me wondering... how hard could it be to get gdc targetting Nios2?

 Any "this is how to do these things" type guides out there?
I do not know this system but should be possible. Maybe this is the starting point: http://wiki.dlang.org/GDC/Installation At the end of the page there is a link to cross compiler page. In that
page there is 4 different ways people have used.
 First forget D and try to build a C only toolset. If this works then
build c++ I'd skip step one and just go straight to building C++ first. Given that gcc is no longer written in C. Iain
Jul 22 2014
parent "Timo Sintonen" <t.sintonen luukku.com> writes:
On Wednesday, 23 July 2014 at 05:41:53 UTC, Iain Buclaw via D.gnu 
wrote:
 On 23 Jul 2014 06:25, "Timo Sintonen via D.gnu"
 First forget D and try to build a C only toolset. If this 
 works then
build c++ I'd skip step one and just go straight to building C++ first. Given that gcc is no longer written in C. Iain
The tricky part in arm build is libgcc. Is this processor type mentioned and enabled by default in t-arm-elf? Is the library built with correct flags and is gcc picking the right one? C++ build also needs target libc and possibly the just built target libgcc while C only does not need any target library If something is not working C++ build may always fail. This is why I recommend to build C first to see if it can produce a working executable. If libraries are not working the C++ configure will never succeed.
Jul 22 2014