Alex Lapenkou
5b1f2cc5d7
Implement pvalloc replacement
...
Despite being an obsolete function, pvalloc is still present in GLIBC and should
work correctly when jemalloc replaces libc allocator.
2022-05-18 17:01:09 -07:00
Yinan Zhang
21dfa4300d
Change assert_* to expect_* in tests
...
```
grep -Irl assert_ test/ | xargs sed -i \
's/witness_assert/witness_do_not_replace/g';
grep -Irl assert_ test/ | xargs sed -i \
's/malloc_mutex_assert_owner/malloc_mutex_do_not_replace_owner/g';
grep -Ir assert_ test/ | grep -o "[_a-zA-Z]*assert_[_a-zA-Z]*" | \
grep -v "^assert_"; # confirm no output
grep -Irl assert_ test/ | xargs sed -i 's/assert_/expect_/g';
grep -Irl witness_do_not_replace test/ | xargs sed -i \
's/witness_do_not_replace/witness_assert/g';
grep -Irl malloc_mutex_do_not_replace_owner test/ | xargs sed -i \
's/malloc_mutex_do_not_replace_owner/malloc_mutex_assert_owner/g';
```
2020-02-19 16:03:16 -08:00
David T. Goldblatt
9cfa805947
Realloc: Make behavior of realloc(ptr, 0) configurable.
2019-10-29 17:48:44 -07:00
David Goldblatt
a7f749c9af
Hooks: Protect against reentrancy.
...
Previously, we made the user deal with this themselves, but that's not good
enough; if hooks may allocate, we should test the allocation pathways down
hooks. If we're doing that, we might as well actually implement the protection
for the user.
2018-05-18 11:43:03 -07:00
David Goldblatt
126e9a84a5
Hooks: move the "extra" pointer into the hook_t itself.
...
This simplifies the mallctl call to install a hook, which should only take a
single argument.
2018-05-18 11:43:03 -07:00
David Goldblatt
cb0707c0fc
Hooks: hook the realloc pathways that move/expand.
2018-05-18 11:43:03 -07:00
David Goldblatt
67270040a5
Hooks: hook the realloc paths that act as pure malloc/free.
2018-05-18 11:43:03 -07:00
David Goldblatt
83e516154c
Hooks: hook the pure-expand function.
2018-05-18 11:43:03 -07:00
David Goldblatt
c154f5881b
Hooks: hook the pure-deallocation functions.
2018-05-18 11:43:03 -07:00
David Goldblatt
226327cf66
Hooks: hook the pure-allocation functions.
2018-05-18 11:43:03 -07:00
David Goldblatt
5ae6e7cbfa
Add "hook" module.
...
The hook module allows a low-reader-overhead way of finding hooks to invoke and
calling them.
For now, none of the allocation pathways are tied into the hooks; this will come
later.
2018-05-18 11:43:03 -07:00