Thread overview
D support on SPARC/Solaris
Oct 30, 2014
Wyatt
Oct 30, 2014
Kagamin
Oct 30, 2014
Joakim
Oct 31, 2014
Wyatt
Oct 31, 2014
Joakim
October 30, 2014
At work, I have to target SPARC/Solaris.  I'm writing code to interface with an internal network protocol, so my current choices are C and (old) C++ (remember Sun Studio?  I wish I didn't have to).  Having looked, it seems like there's some manner of support for SPARC in the runtime, but restricted to Linux and FreeBSD?  Is that correct?

In which case, what would an enterprising individual have to actually do (read: fix or implement) to use D in that environment?  (If it comes down to it, it may be worth my while to add it myself.)

This echoes a thread Nordlöw started about six months ago, but my constraints aren't as rigid: DMD would be fine for me.  I just pine for non-crap language.

-Wyatt
October 30, 2014
DMD is for x86 AFAIK.
October 30, 2014
On Thursday, 30 October 2014 at 14:03:23 UTC, Wyatt wrote:
> At work, I have to target SPARC/Solaris.  I'm writing code to interface with an internal network protocol, so my current choices are C and (old) C++ (remember Sun Studio?  I wish I didn't have to).  Having looked, it seems like there's some manner of support for SPARC in the runtime, but restricted to Linux and FreeBSD?  Is that correct?
Someone may have been thorough when adding arches to certain files, but that in no way implies much actual support.  The gdc section of the download page claims sparc support, so you could look at what they've done.

> In which case, what would an enterprising individual have to actually do (read: fix or implement) to use D in that environment?  (If it comes down to it, it may be worth my while to add it myself.)
You may be able to combine the existing Solaris support and the sparc backend of llvm or gcc and get pretty far.  A lot of the work should just be translating headers needed for the solaris/sparc sections in druntime.  You could look at the linux/powerpc work Kai did with ldc for an idea of the changes necessary for a new arch.

> This echoes a thread Nordlöw started about six months ago, but my constraints aren't as rigid: DMD would be fine for me.  I just pine for non-crap language.
As kagamin said, dmd's backend is i386/x86_64 only, so you have to use ldc or gdc.
October 31, 2014
On Thursday, 30 October 2014 at 15:39:55 UTC, Joakim wrote:
>
> Someone may have been thorough when adding arches to certain files, but that in no way implies much actual support.

Looking closer, it's all ELF header stuff, so that sounds about right.

> You may be able to combine the existing Solaris support and the sparc backend of llvm or gcc and get pretty far.  A lot of the work should just be translating headers needed for the solaris/sparc sections in druntime.  You could look at the linux/powerpc work Kai did with ldc for an idea of the changes necessary for a new arch.
>
Sounds fairly reasonable to me.  Happen to have a link to a commit or branch with that or do I need to go digging?

> As kagamin said, dmd's backend is i386/x86_64 only, so you have to use ldc or gdc.

Never really made that connection (because lol PCs), but it makes sense when I think about it.  Point was more that I don't care even if I have to compile to C and then build _that_.

Thanks for the response.  If it looks like there's a tenable path, then comes the hard part: getting my boss on board with this. orz

-Wyatt
October 31, 2014
On Friday, 31 October 2014 at 16:10:01 UTC, Wyatt wrote:
> On Thursday, 30 October 2014 at 15:39:55 UTC, Joakim wrote:
>> You could look at the linux/powerpc work Kai did with ldc for an idea of the changes necessary for a new arch.
>>
> Sounds fairly reasonable to me.  Happen to have a link to a commit or branch with that or do I need to go digging?

None that I know of, look at the commit log and grep the source for powerpc.