-
-
Notifications
You must be signed in to change notification settings - Fork 416
shared library support for FreeBSD #1068
Conversation
MartinNowak
commented
Dec 15, 2014
- use handle instead of linkmap to identify DSOs
- merge rt.sections_freebsd and rt.sections_linux into rt.sections_elf_shared
- handle the few OS specific differences
510a391
to
9d165c0
Compare
Oh, nice work, good to see FreeBSD ushered into the shared library club. :) I've been thinking about using your DSO registry sections for Android too, will see if I can get that to work. |
- handle is the natural identifier of a loaded DSO - it's easier on FreeBSD to get obtain an handle from a DSO internal address than to get the link_map
- use local symbol to get handle of druntime - relocate elf stringtable entry - dlopen(RTLD_NOLOAD) increfs on linux, but not on FBSD - use getprogname instead of program_invocation_name
- also add @nogc overload to dl_iterate_phdr and such
9d165c0
to
7c8fa30
Compare
requires dlang/dmd#4223 and dlang/dmd#4224 |
works now |
Hope this gets in soon. |
Well, the each DSO calls into druntime and registers it's metadata sort of scheme. |
Right, it would help others if you expand that description out into more detail, in an overview comment like this. That OS X TLS scheme is much simpler than what you're doing, yet it does a better job of actually describing what the overall scheme is doing. Your code has some good comments in various places, but would benefit from a better overall description. |
Passes since a week! |
ping |
Starts to bitrot, can we please merge this? |
Auto-merge toggled on |
shared library support for FreeBSD