Skip to content

Commit

Permalink
i#4501: Undo some changes to loader_shared.c made by 9293e7a.
Browse files Browse the repository at this point in the history
The purpose of 9293e7a was to add TLS support for Windows,
but it broke the use of multiple clients. This patch brings
back the previous code for non-Windows, so on Unix all the
loading happens later, in loader_init_epilogue().

Also add a test of two clients.

Unfortunately this patch undoes the unification of the Unix
and Windows loaders that happened with 9293e7a. It would
be good to find a way of unifying the Unix and Windows loaders
that does not break the use of multiple clients (#6963).

Change-Id: I6bd63de90a1d9eebe50b04ac6117cc3522ae7df7
  • Loading branch information
egrimley-arm committed Sep 2, 2024
1 parent 29b8ccd commit 79bbef7
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions core/loader_shared.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ loader_should_call_entry(privmod_t *mod)
void
loader_init_prologue(void)
{
/* On Unix this is done (slightly differently) in loader_init_epilogue. */
#ifdef WINDOWS
acquire_recursive_lock(&privload_lock);
VMVECTOR_ALLOC_VECTOR(modlist_areas, GLOBAL_DCONTEXT,
Expand Down

0 comments on commit 79bbef7

Please sign in to comment.