[Issue 406] New: std.loader is broken on linux
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Oct 7 12:12:51 PDT 2006
http://d.puremagic.com/issues/show_bug.cgi?id=406
Summary: std.loader is broken on linux
Product: D
Version: 0.168
Platform: PC
OS/Version: Linux
Status: NEW
Keywords: link-failure, patch
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: h3r3tic at mat.uni.torun.pl
There are three problems with std.loader:
1. It's not compiled into libphobos.a
2. When compiled-in, gcc complains about a duplicate RTLD_NOW symbol, the
second instance exists in std.c.linux.linux.
3. When the conflicting symbols are resolved (e.g. by replacing the RTLD_NOW
usage in std.loader to its numeric value, 0x00002), lib loading doesn't work in
linux because of the line 339 in loader.d:
ExeModuleInfo mi = s_modules[moduleName];
it should be changed to:
ExeModuleInfo* mi_p = moduleName in s_modules;
ExeModuleInfo mi = mi_p is null ? null : *mi_p;
--
More information about the Digitalmars-d-bugs
mailing list