Project

General

Profile

Actions

Bug #2335

closed

Markus rtld ghc patch only on master?

Added by isenmann about 12 years ago. Updated about 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
03/25/2012
Due date:
% Done:

0%

Estimated time:

Description

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...


Related issues 1 (0 open1 closed)

Related to Bug #2336: 3.0.3 catchall Resolved03/26/2012

Actions
Actions #1

Updated by dragonflybsd1 about 12 years ago

  • Assignee set to dragonflybsd1
Actions

Also available in: Atom PDF