Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Perl module in compartment 3 #252

Closed
wants to merge 2 commits into from
Closed

Add Perl module in compartment 3 #252

wants to merge 2 commits into from

Conversation

endbr64
Copy link
Contributor

@endbr64 endbr64 commented Jul 28, 2023

This runs both RTMP and Perl modules in Nginx. Test Perl by running curl localhost:8080/perl.

TODO:

  • figure out why the rewriter exits with an error
  • ensure this is actually working

@endbr64 endbr64 marked this pull request as draft July 28, 2023 21:59
@ayrtonm
Copy link
Contributor

ayrtonm commented Jul 31, 2023

IIRC our build process currently doesn't support more than two compartments. The issue is that call gate wrappers for direct calls are named __wrap_$FN_NAME, but they are specific to a pair of pkeys (caller/target). In the case where the main binary provides a function foo which both modules need to call, we'll need a call gate wrapper for each compartment for foo. Basically something like __wrap_foo_from_2 and __wrap_foo_from_3 (the target pkey is implicit since foo is defined in compartment 1).

I think we can make this work with something like objcopy --redefine-sym foo=foo_from_1 as explained in the 'Define call gates for direct transitions' section of #174, but we'll have to reread that to make sure it works. I believe there is not an analogous problem with the names of indirect call gate wrappers, but it'd be worth double checking.

@ayrtonm
Copy link
Contributor

ayrtonm commented Sep 29, 2023

See #276 for list of blockers

@rinon
Copy link
Collaborator

rinon commented Oct 14, 2024

Closing this, as I don't think we have plans to land it. We can always re-open if it becomes relevant.

@rinon rinon closed this Oct 14, 2024
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