Use mmap/munmap for allocating memory in emutls when available. #73946
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi Saleem (@compnerd )
The patch solves a problem when projects using LLVM implement their own versions of malloc/free but still want to use thread_local storage as we know it from C++. In this case, emutls jumps back into a the user provided version and creates nasty recursions.
The patch resolves this conflict by using mmap and munmap to manage memory in emutls.
Could you have a look at the patch, please? What do you think about it in general? And where can I improve the code?
Thanks a lot for your time and effort.
Best regards,
André