April 10, 2014
On 2014-04-10 19:31, "Nordlöw" wrote:

> Could someone just brielfy explain (sum up) to me what parts of druntime
> that is architecture/os specific? I already know about exception
> handling. What more?

I did a quick grep for "linux" and "Posix" and this is what I came up with:

* Quite a lot of bindings to C Posix functions/types
* Threading
* Synchronization
* TLS
* The GC has some minor parts
* dmain2.d, the code that boots a D application
* Some math related code (cmath2.d)
* alloca
* Time

-- 
/Jacob Carlborg
April 11, 2014
On Thursday, 10 April 2014 at 19:11:58 UTC, Jacob Carlborg wrote:
> On 2014-04-10 19:31, "Nordlöw" wrote:
>
>> Could someone just brielfy explain (sum up) to me what parts of druntime
>> that is architecture/os specific? I already know about exception
>> handling. What more?
>
> I did a quick grep for "linux" and "Posix" and this is what I came up with:
>
> * Quite a lot of bindings to C Posix functions/types
> * Threading
> * Synchronization
> * TLS
> * The GC has some minor parts
> * dmain2.d, the code that boots a D application
> * Some math related code (cmath2.d)
> * alloca
> * Time

I like to add:

* Fibers (part of core.thread)
* Module discovery (rt.sections)
* Math (std.math)
* Vararg-support (core.stdc.vararg)
April 11, 2014
On 11/04/14 06:57, Kai Nacke wrote:

> I like to add:
>
> * Fibers (part of core.thread)
> * Module discovery (rt.sections)

Is accessing sections/segments limited to this module now? I know that the GC and threads and some other parts are dependent on this.

> * Math (std.math)
> * Vararg-support (core.stdc.vararg)

If we include Phobos as well, there are quite a lot of code that differs on Posix vs Windows:

* Environment variables (std.process)
* Running external processes, forking (std.process)
* There's a function for getting the path to the current executable, somewhere
* Probably some IO parts
* Handling of file system paths
* Date/Time (here as well)

But these are not required to use the language.

-- 
/Jacob Carlborg
May 01, 2014
I can give access to my ODROID-U2 (home) "server" if there is need... It is a quad-core ARM with 2GiB RAM. :)

If I remember well, Zor also has an ARM machine used for CI and I am sure he will gladly help.

SourceForge had their compile farm, but I think they discontinued that feature (too bad, it was awesome), but I think there are several other similar systems on-line. Googling gave me this: https://en.wikipedia.org/wiki/Compile_farm
May 01, 2014
>
> Now if I could only find an ARM vps... ;)

One more thing - you know pretty well that nowadays anyone can have a testing ARM machine using QEMU ... :)
May 02, 2014
On Thursday, 1 May 2014 at 11:11:01 UTC, Dejan Lekic wrote:
>>
>> Now if I could only find an ARM vps... ;)
>
> One more thing - you know pretty well that nowadays anyone can have a testing ARM machine using QEMU ... :)

Yeah, I've heard that QEMU's slow and can be buggy though.  I may just test Android/ARM on my phone or tablet.
May 05, 2014
On Thursday, 10 April 2014 at 05:56:05 UTC, Kai Nacke wrote:
> On Wednesday, 9 April 2014 at 08:14:02 UTC, Joakim wrote:
>> On Wednesday, 9 April 2014 at 06:29:39 UTC, Jacob Carlborg wrote:
>>> On 08/04/14 18:38, Joakim wrote:
>>>
>>>> Hmm, for X86, I doubt much will have to be done, but then I can't say I
>>>> messed with Solaris threading.
>>>
>>> Doesn't druntime already support Solaris? I know I've seen a couple of version statements for Solaris.
>>
>> There is some support in Dmd and druntime- I ran across it when porting to bionic/Android- but it doesn't appear to be complete.
>
> Yes, there is some support. But current dmd has some compile errors on Solaris (nothing serious, I'll prepare a pull for it). And I miss something like core.sys.solaris in druntime.

The DMD compile errors are fixed now. I also created a pull request to enable Solaris support in druntime (again). For LDC, the translation of the following files in druntime is missing:

<link.h>, <elf.h>, <sys/link.h>, <sys/elf.h>

These files are required to for section support. (DMD uses brackets here. For FreeBSD, I used section information from ELF. The same code can be used for Solaris.) Any volunteers?

Phobos has still some compile errors because socket constants are missing. I did not yet identify the missing module.

Regards,
Kai
1 2 3
Next ›   Last »