[DragonFlyBSD - Bug #2335] (Closed) Markus rtld ghc patch only on master?
John Marino via Redmine
bugtracker-admin at leaf.dragonflybsd.org
Fri Mar 30 12:31:37 PDT 2012
Issue #2335 has been updated by John Marino.
Status changed from New to Closed
Cherry-pick done:
http://gitweb.dragonflybsd.org/dragonfly.git/commit/8ffc85f2942f486905c80bc9fab80e8928024f62
----------------------------------------
Bug #2335: Markus rtld ghc patch only on master?
http://bugs.dragonflybsd.org/issues/2335
Author: G. Isenmann
Status: Closed
Priority: Normal
Assignee: John Marino
Category:
Target version:
As far as I understand, the rtld patch for ghc from Markus
http://leaf.dragonflybsd.org/~profmakx/0004-rtld-tls-fix.patch
went only into the master branch.
It would be nice, if this fix
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -2323,7 +2323,12 @@ do_dlsym(void *handle, const char *name, void *retaddr, const Ver_Entry *ve,
*/
if (ELF_ST_TYPE(def->st_info) == STT_FUNC)
return (make_function_pointer(def, defobj));
- else
+ else if (ELF_ST_TYPE(def->st_info) == STT_TLS) {
+ tls_index ti;
+ ti.ti_module = defobj->tlsindex;
+ ti.ti_offset = def->st_value;
+ return (__tls_get_addr(&ti));
+ } else
return (defobj->relocbase + def->st_value);
}
could go into 3.0.x.
I am only guessing, that this is an equivalent fix (same change at a
similar looking place in an older rtld version?), but this change seems
to work for me...
--
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account
More information about the Bugs
mailing list