gperftools/vsprojects
Aliaksey Kandratsenka 8be84e4a5c drop old mmap hooks and introduce internal & simpler mmap_hook.h
Previous implementation wasn't entirely safe w.r.t. 32-bit off_t
systems. Specifically around mmap replacement hook. Also, API was a
lot more general and broad than we actually need.

Sadly, old mmap hooks API was shipped with our public headers. But
thankfully it appears to be unused externally (checked via github
search). So we keep this old API and ABI for the sake of formal API
and ABI compatibility. But this old API is now empty and always
fails (some OS/hardware combinations didn't have functional
implementations of those hooks anyways).

New API is 64-bit clean and only provides us with what we need. Namely
being able to react to virtual address space mapping changes for
logging, heap profiling and heap leak checker. I.e. no pre hooks or
mmap-replacement hooks. We also explicitly not ship this API
externally to give us freedom to change it.

New code is also hopefully tidier and slightly more portable. At least
there are fewer arch-specific ifdef-s.

Another somewhat notable change is, since mmap hook isn't needed in
"minimal" configuration, we now don't override system's
mmap/munmap/etc functions in this configuration. No big deal, but it
reduces risk of damage if we somehow mess those up. I.e. musl's mmap
does few things that our mmap replacement doesn't, such as very fancy
vm_lock thingy. Which doesn't look critical, but is good thing for us
not to interfere with when not necessary.

Fixes issue #1406 and issue #1407. Lets also mention issue #1010 which
is somewhat relevant.
2023-07-21 16:13:19 -04:00
..
addr2line-pdb Clean up MSVC projects 2018-08-14 22:34:00 -07:00
addressmap_unittest simplify project by making it C++-only 2023-07-02 22:30:00 -04:00
current_allocated_bytes_test Clean up MSVC projects 2018-08-14 22:34:00 -07:00
frag_unittest Clean up MSVC projects 2018-08-14 22:34:00 -07:00
libtcmalloc_minimal drop old mmap hooks and introduce internal & simpler mmap_hook.h 2023-07-21 16:13:19 -04:00
low_level_alloc_unittest drop old mmap hooks and introduce internal & simpler mmap_hook.h 2023-07-21 16:13:19 -04:00
malloc_extension_test Clean up MSVC projects 2018-08-14 22:34:00 -07:00
malloc_hook_test Clean up MSVC projects 2018-08-14 22:34:00 -07:00
markidle_unittest Clean up MSVC projects 2018-08-14 22:34:00 -07:00
nm-pdb Clean up MSVC projects 2018-08-14 22:34:00 -07:00
packed-cache_test amputate old atomic ops implementation 2023-07-02 22:30:00 -04:00
page_heap_test drop old mmap hooks and introduce internal & simpler mmap_hook.h 2023-07-21 16:13:19 -04:00
pagemap_unittest Clean up MSVC projects 2018-08-14 22:34:00 -07:00
preamble_patcher_test make preamble patcher build and run (win64 only) 2023-07-02 22:30:00 -04:00
realloc_unittest Clean up MSVC projects 2018-08-14 22:34:00 -07:00
sampler_test Clean up MSVC projects 2018-08-14 22:34:00 -07:00
stack_trace_table_test Clean up MSVC projects 2018-08-14 22:34:00 -07:00
system-alloc_unittest Clean up MSVC projects 2018-08-14 22:34:00 -07:00
tcmalloc_minimal_large Clean up MSVC projects 2018-08-14 22:34:00 -07:00
tcmalloc_minimal_unittest Clean up MSVC projects 2018-08-14 22:34:00 -07:00
thread_dealloc_unittest Clean up MSVC projects 2018-08-14 22:34:00 -07:00