12
Changes in version 12:
- raise class region size to 32GB for arm64 Android (requires kernel providing 48-bit address space via 4 level page tables)
- add configuration for disabling self-init
- enable Intel CET support
- drop support for legacy compilers and libc versions
- merge fprintf/fputs calls in malloc_info
- preserve error for free calls (future POSIX requirement)
- support versioned Clang
- when arenas are enabled, properly handle threads making their first allocation by resizing a slab allocation from another thread to another slab allocation size class with
realloc
instead of triggering a crash by trying to lock a field in the internal allocator state that's not a lock - minor implementation and code style improvements
A full list of changes from the previous release (version 11) is available through the Git commit log between the releases.
See the README for this release for an overview of the project and many details about the design goals and implementation.
These integer tags are the standalone releases, while date style tags such as 2023091800 and 2023091800-felix are part of GrapheneOS releases and may contain GrapheneOS-specific changes such as workarounds for latent memory corruption bugs encountered in the wild while waiting for an upstream or downstream fix.