May 23, 2014 [Issue 12792] New: runtime loading D shared library as a standalone (with it's own GC etc) | ||||
|---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=12792 Issue ID: 12792 Summary: runtime loading D shared library as a standalone (with it's own GC etc) Product: D Version: unspecified Hardware: Other OS: Linux Status: NEW Keywords: dll Severity: enhancement Priority: P1 Component: druntime Assignee: nobody@puremagic.com Reporter: code@dawg.eu Reported by Timothee Cour on the newsgroup. http://forum.dlang.org/post/mailman.322.1393449436.6445.digitalmars-d-learn@puremagic.com main.d: call a D shared library via dlopen/dlsym foo.d: extern(C) void foo(){ printf("inside_foo\n"); //ok import core.runtime; bool ret=Runtime.initialize();//will segfault below with or without that assert(ret);//ok int[]a; a.length=2;//segfault } dmd -g -oflibfoo.dylib -shared foo.d dmd -g -oftest main.d ./test #Loading shared libraries isn't yet supported on OSX. #inside_foo #segfault at first occurence of gc (a.length=2 above) under lldb: * thread #1: test D2rt12sections_osx9tlsOffsetFPvZm + 109, stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) frame #0: test D2rt12sections_osx9tlsOffsetFPvZm + 109 frame #1: test __tls_get_addr + 20 frame #2: libfoo.dylib _d_arraysetlengthT + 3701 -- | ||||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply