February 18, 2015
On 18 February 2015 at 22:13, Jeremy DeHaan via D.gnu <d.gnu@puremagic.com> wrote:
> On Monday, 9 February 2015 at 19:24:22 UTC, Iain Buclaw wrote:
>>
>> GDC and DMD are not ABI compatible.  There are many reasons why this is so, but the one that is likely affecting you is because DMD emits references to symbols that do not exist in GDC's runtime library.
>>
>> Iain.
>
>
> I was thinking about this today and I had another question. What about shared libraries? If I were to release a library on Linux in shared library form, would it be compatible between compilers?


The answer would still be no because of calling convention differences - another reason why GDC and DMD are not ABI compatible.

However, if you used an extern(C) API, then that should be at least some guarantee of shared library compatibility.

Iain.
February 18, 2015
On 18 February 2015 at 22:31, ketmar via D.gnu <d.gnu@puremagic.com> wrote:
> (ah, well, you can't even build shared phobos with GDC yet), and...
>

True story, GDC got there first with shared library support before D2 was released.  *Then* D2 came out with TLS on by default for all static data.  Shared libraries suddenly because a problem because the GC was no longer aware of TLS allocations without some magic data section hackery.
February 18, 2015
On Wed, 18 Feb 2015 22:40:16 +0000, Iain Buclaw via D.gnu wrote:

> On 18 February 2015 at 22:31, ketmar via D.gnu <d.gnu@puremagic.com> wrote:
>> (ah, well, you can't even build shared phobos with GDC yet), and...
>>
>>
> True story, GDC got there first with shared library support before D2 was released.  *Then* D2 came out with TLS on by default for all static data.  Shared libraries suddenly because a problem because the GC was no longer aware of TLS allocations without some magic data section hackery.

and gdc is *almost* there now, with some problems unsolved. i'm not saying that gdc is bad ;-), it just need a helping hand. alas, my hands are mounted to the wrong mount point. ;-)

February 19, 2015
"Iain Buclaw via D.gnu"  wrote in message news:mailman.6598.1424298906.9932.d.gnu@puremagic.com...

> The answer would still be no because of calling convention differences
> - another reason why GDC and DMD are not ABI compatible.
>
> However, if you used an extern(C) API, then that should be at least
> some guarantee of shared library compatibility.

How different are we on linux these days? 

1 2
Next ›   Last »