emscripten-core / emscripten-core/emscripten
CFI using multiple tables
- Dominant language
- C++
- Stars
- 27.6k
- Forks
- 3.6k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 105
Description
we'd like to see emscripten experiment with using multiple tables for CFI. we can imagine a couple of ways to use them, both based on the same core idea:
1. putting functions into tables based on the type of the function, with no regard for the pointer value of such functions.
2. putting functions into tables based on the type of the function and padding the tables such that they're full of nulls, ensuring every function has a unique pointer value.
what do you think? both are useful in their own ways - (1) breaks a bunch of existing code in new and exciting ways (something about pointer comparisons between different function types being UB) while (2) is just plain regular CFI, but it does waste a lot of memory.
Contributor guide
Assessment
This issue has not been assessed yet.