Skip to content

Conversation

@sbc100
Copy link
Collaborator

@sbc100 sbc100 commented Jan 25, 2023

Prior to this change we were tracking the sequence of dlopen events
and replaying them on each thread during dlsync.

Now we also track dlsym events. A new data structure is used here to
abstract over these two events (dlevent). During dlsync we then reply
both the dlopen and the dlsym events. For dlsym events we
serialized them as "dso+index", i.e. which dso did the symbol come from
and what is the index of the symbol within that dso's symbol table.

This is important for #18376.

@sbc100 sbc100 changed the title dylink: Synchronize dlsym calls (as well as dlopen) between threads dylink: Synchronize dlsym (as well as dlopen) calls between threads Jan 25, 2023
@sbc100 sbc100 force-pushed the unify_symbol_table branch from 9d2f486 to f7e4555 Compare January 25, 2023 18:04
Base automatically changed from unify_symbol_table to main January 25, 2023 21:30
@sbc100 sbc100 requested a review from kripken January 25, 2023 22:08
@sbc100 sbc100 force-pushed the dlsync_dlsym branch 3 times, most recently from 18b30a6 to f93937f Compare January 25, 2023 22:31
@sbc100 sbc100 requested a review from dschuff January 25, 2023 22:31
Prior to this change we were tracking the sequence of `dlopen` events
and replaying them on each thread during `dlsync`.

Now we also track `dlsym` events.  A new data structure is used here to
abstract over these two events (`dlevent`).  During dlsync we then reply
both the `dlopen` and the `dlsym` events.  For `dlsym` events we
serialized them as "dso+index", i.e. which dso did the symbol come from
and what is the index of the symbol within that dso's symbol table.

This is important for #18376.
@sbc100 sbc100 requested a review from kripken January 26, 2023 06:20
@sbc100 sbc100 enabled auto-merge (squash) January 26, 2023 16:57
@sbc100 sbc100 merged commit e883361 into main Jan 26, 2023
@sbc100 sbc100 deleted the dlsync_dlsym branch January 26, 2023 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants