mirror of
https://github.com/gperftools/gperftools
synced 2024-12-24 00:02:12 +00:00
2748dd5680
We used msync to verify that address is readable. But msync gives false positives for PROT_NONE mappings. And we recently got bug report from user hitting this exact condition. For correct access check, we steal idea from Abseil and do sigprocmask with address used as new signal mask and with invalid HOW argument. This works in today's Linux kernels and is among fastest methods available. But is brittle w.r.t. possible kernel changes. So we supply fallback method that does 2 syscalls. For non-Linux systems we implement usual "write to pipe" trick. Which also has decent performance, but requires occasional pipe draining and uses fds which could occasionally be damaged by some forking codes. We also finally cover all new code with unit test. Fixes github issue #1426
154 lines
3.0 KiB
Plaintext
154 lines
3.0 KiB
Plaintext
*.[oa]
|
|
*.la
|
|
*.lo
|
|
*~
|
|
/*.log
|
|
/*.trs
|
|
/.deps
|
|
/.libs
|
|
/GPATH
|
|
/GRTAGS
|
|
/GSYMS
|
|
/GTAGS
|
|
/ID
|
|
/Makefile
|
|
/Makefile.in
|
|
/aclocal.m4
|
|
/addressmap_unittest
|
|
/addressmap_unittest.exe
|
|
/autom4te.cache/
|
|
/benchmark/.deps
|
|
/benchmark/.dirstamp
|
|
/binary_trees
|
|
/binary_trees.exe
|
|
/binary_trees_shared
|
|
/binary_trees_shared.exe
|
|
/check_address_unittest
|
|
/compile
|
|
/config.guess
|
|
/config.log
|
|
/config.status
|
|
/config.sub
|
|
/configure
|
|
/current_allocated_bytes_test
|
|
/current_allocated_bytes_test.exe
|
|
/debugallocation_test
|
|
/debugallocation_test.sh
|
|
/depcomp
|
|
/frag_unittest
|
|
/frag_unittest.exe
|
|
/getpc_test
|
|
/gperftools-*.tar.gz
|
|
/gperftools-*.zip
|
|
/heap-checker-death_unittest.sh
|
|
/heap-checker_debug_unittest
|
|
/heap-checker_debug_unittest.sh
|
|
/heap-checker_unittest
|
|
/heap-checker_unittest.sh
|
|
/heap-profiler_debug_unittest
|
|
/heap-profiler_debug_unittest.sh
|
|
/heap-profiler_unittest
|
|
/heap-profiler_unittest.sh
|
|
/install-sh
|
|
/libprofiler.pc
|
|
/libtcmalloc.pc
|
|
/libtcmalloc_debug.pc
|
|
/libtcmalloc_minimal.pc
|
|
/libtcmalloc_minimal_debug.pc
|
|
/libtool
|
|
/low_level_alloc_unittest
|
|
/low_level_alloc_unittest.exe
|
|
/ltmain.sh
|
|
/m4/libtool.m4
|
|
/m4/ltoptions.m4
|
|
/m4/ltsugar.m4
|
|
/m4/ltversion.m4
|
|
/m4/lt~obsolete.m4
|
|
/malloc_bench
|
|
/malloc_bench.exe
|
|
/malloc_bench_shared
|
|
/malloc_bench_shared.exe
|
|
/malloc_bench_shared_full
|
|
/malloc_bench_shared_full.exe
|
|
/malloc_extension_c_test
|
|
/malloc_extension_debug_test
|
|
/malloc_extension_test
|
|
/malloc_extension_test.exe
|
|
/malloc_hook_test
|
|
/malloc_hook_test.exe
|
|
/markidle_unittest
|
|
/markidle_unittest.exe
|
|
/memalign_debug_unittest
|
|
/memalign_unittest
|
|
/missing
|
|
/mmap_hook_test
|
|
/packed_cache_test
|
|
/packed_cache_test.exe
|
|
/page_heap_test
|
|
/page_heap_test.exe
|
|
/pagemap_unittest
|
|
/pagemap_unittest.exe
|
|
/pprof-symbolize
|
|
/profile_handler_unittest
|
|
/profiledata_unittest
|
|
/profiler1_unittest
|
|
/profiler2_unittest
|
|
/profiler3_unittest
|
|
/profiler4_unittest
|
|
/profiler_unittest.sh
|
|
/raw_printer_test
|
|
/realloc_debug_unittest
|
|
/realloc_unittest
|
|
/realloc_unittest.exe
|
|
/safe_strerror_test
|
|
/safe_strerror_test.exe
|
|
/sampler_debug_test
|
|
/sampler_test
|
|
/sampling_debug_test
|
|
/sampling_debug_test.sh
|
|
/sampling_test
|
|
/sampling_test.sh
|
|
/simple_compat_test
|
|
/src/.deps
|
|
/src/.dirstamp
|
|
/src/base/.deps
|
|
/src/base/.dirstamp
|
|
/src/config.h
|
|
/src/config.h.in
|
|
/src/gperftools/tcmalloc.h
|
|
/src/stamp-h1
|
|
/src/stamp-h1
|
|
/src/tests/.deps
|
|
/src/tests/.dirstamp
|
|
/src/windows/.deps
|
|
/src/windows/.dirstamp
|
|
/stack_trace_table_test
|
|
/stack_trace_table_test.exe
|
|
/stacktrace_unittest
|
|
/system_alloc_unittest
|
|
/tcm_asserts_unittest
|
|
/tcm_asserts_unittest.exe
|
|
/tcm_min_asserts_unittest
|
|
/tcm_min_asserts_unittest.exe
|
|
/tcmalloc_and_profiler_unittest
|
|
/tcmalloc_both_unittest
|
|
/tcmalloc_debug_unittest
|
|
/tcmalloc_large_heap_fragmentation_unittest
|
|
/tcmalloc_large_unittest
|
|
/tcmalloc_minimal_debug_unittest
|
|
/tcmalloc_minimal_large_heap_fragmentation_unittest
|
|
/tcmalloc_minimal_large_heap_fragmentation_unittest.exe
|
|
/tcmalloc_minimal_large_unittest
|
|
/tcmalloc_minimal_large_unittest.exe
|
|
/tcmalloc_minimal_unittest
|
|
/tcmalloc_minimal_unittest.exe
|
|
/tcmalloc_unittest
|
|
/tcmalloc_unittest.sh
|
|
/test-driver
|
|
/thread_dealloc_unittest
|
|
/thread_dealloc_unittest.exe
|
|
/unique_path_unittest
|
|
/unique_path_unittest.exe
|
|
/unwind_bench
|
|
/unwind_bench.exe
|