Re: shared libraries in D

2011-02-19 Thread Iain Buclaw
== Quote from Iain Buclaw (ibuc...@ubuntu.com)'s article > == Quote from Christian Kamm (kamm-incasoftw...@removethis.de)'s article > > Iain Buclaw wrote: > > > == Quote from Christian Kamm (kamm-incasoftw...@removethis.de)'s article > > >> Iain Buclaw wrote: > > >> > Will be making shared librarie

Re: shared libraries in D

2011-02-16 Thread Iain Buclaw
== Quote from Christian Kamm (kamm-incasoftw...@removethis.de)'s article > Iain Buclaw wrote: > > == Quote from Christian Kamm (kamm-incasoftw...@removethis.de)'s article > >> Iain Buclaw wrote: > >> > Will be making shared libraries default in GDC pretty soon now... > >> Did you adjust the GC to c

Re: shared libraries in D

2011-02-15 Thread Christian Kamm
Iain Buclaw wrote: > == Quote from Christian Kamm (kamm-incasoftw...@removethis.de)'s article >> Iain Buclaw wrote: >> > Will be making shared libraries default in GDC pretty soon now... >> Did you adjust the GC to check the shared libraries' data sections for >> references? When we looked at this

Re: shared libraries in D

2011-02-15 Thread Iain Buclaw
== Quote from Christian Kamm (kamm-incasoftw...@removethis.de)'s article > Iain Buclaw wrote: > > Will be making shared libraries default in GDC pretty soon now... > Did you adjust the GC to check the shared libraries' data sections for > references? When we looked at this for LDC that turned out t

Re: shared libraries in D

2011-02-15 Thread Jacob Carlborg
On 2011-02-15 16:02, Johannes Pfau wrote: Iain Buclaw wrote: Came across this obscure documentation in the tldp. "Libraries should export initialization and cleanup routines using the gcc __attribute__((constructor)) and __attribute__((destructor)) function attributes." This is what gdc was do

Re: shared libraries in D

2011-02-15 Thread Johannes Pfau
Iain Buclaw wrote: >Came across this obscure documentation in the tldp. > >"Libraries should export initialization and cleanup routines using the >gcc __attribute__((constructor)) and __attribute__((destructor)) >function attributes." > >This is what gdc was doing anyway. > > >"Constructor routines

Re: shared libraries in D

2011-02-14 Thread Christian Kamm
Iain Buclaw wrote: > Will be making shared libraries default in GDC pretty soon now... Did you adjust the GC to check the shared libraries' data sections for references? When we looked at this for LDC that turned out to slow down GC runs significantly. I'm pretty sure bearophile benchmarked it

Re: shared libraries in D

2011-02-14 Thread Jacob Carlborg
On 2011-02-14 16:29, Iain Buclaw wrote: == Quote from Johannes Pfau (s...@example.com)'s article --Sig_/a6ST_/ke_QlFF5lFi4BGNvw Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Iain Buclaw wrote: So I've been prototyping, and have built a fully working shar

Re: shared libraries in D

2011-02-14 Thread Iain Buclaw
== Quote from Iain Buclaw (ibuc...@ubuntu.com)'s article > == Quote from Johannes Pfau (s...@example.com)'s article > > --Sig_/a6ST_/ke_QlFF5lFi4BGNvw > > Content-Type: text/plain; charset=US-ASCII > > Content-Transfer-Encoding: quoted-printable > > Iain Buclaw wrote: > > >So I've been prototyping,

Re: shared libraries in D

2011-02-14 Thread Iain Buclaw
== Quote from Johannes Pfau (s...@example.com)'s article > --Sig_/a6ST_/ke_QlFF5lFi4BGNvw > Content-Type: text/plain; charset=US-ASCII > Content-Transfer-Encoding: quoted-printable > Iain Buclaw wrote: > >So I've been prototyping, and have built a fully working shared D2 > >druntime/phobos library

Re: shared libraries in D

2011-02-14 Thread Johannes Pfau
Iain Buclaw wrote: >So I've been prototyping, and have built a fully working shared D2 >druntime/phobos library on Linux (will come to caveats in a moment). >Just for sake of visual proof. Awesome! > >Before I progress, posting to ask if anyone has any good >implementation ideas to get this fully

shared libraries in D

2011-02-14 Thread Iain Buclaw
So I've been prototyping, and have built a fully working shared D2 druntime/phobos library on Linux (will come to caveats in a moment). Just for sake of visual proof. [iain@natty gdc]$ cat hello.d import std.stdio; void main() { writeln("Hello World"); } [iain@natty gdc]$ gdc hello.d -lrt -ldl