-
Notifications
You must be signed in to change notification settings - Fork 1
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
Internal malloc
and various improvements
#27
Conversation
Somehow I missed this one -- sorry! |
bd73088 says "Remove some currently not working tests" but it adds two tests and removes none? |
Please squash. |
Squashed. |
@0152la I guess the new commit fixes things and this can be squashed? If so, please squash. |
I wanted to do a bit further testing before going forward with this PR, in case anything else slipped through the cracks. I'll either squash it, or push further commits, based on how it goes. |
Ready for review. |
Please squash. |
* Provide a `malloc` and friends compartment library to be used internally, overriding the previous interception implementation. We use the DDC capability to get the are of memory that is designated as heap space. This is done in a new library, `libcomputils.so`, to be loaded in a compartment. This means further libraries loaded will also use our own internal `malloc` implementation; * Due to the above change, we also remove old intercept stuff, as that has been completely outdated by newer features (might come back for inter-compartment calls); * Fix setting improper bounds for compartment DDC capabilities (i.e., ensure the capability encompasses only the memory region designated for a compartment), and now set the offset to match the start of the compartment heap, to use for internal `malloc`; * Further improve symbol relocation lookup, including support for "raw" relocations that refer only to addresses, not to a given symbol.
Squashed. |
Since this has quite a bit of changes, including lots of removals, I decided to open the PR as multiple commits, to make reviewing easier.
malloc
and friends compartment library to be usedinternally, overriding the previous interception implementation. We
use the DDC capability to get the are of memory that is designated as
heap space. This is done in a new library,
libcomputils.so
, to beloaded in a compartment. This means further libraries loaded will also
use our own internal
malloc
implementation;code is meant to be rechecked and reworked at some point;
ensure the capability encompasses only the memory region designated
for a compartment), and now set the offset to match the start of the
compartment heap, to use for internal
malloc
;