gperftools/.gitignore
Aliaksey Kandratsenka 2748dd5680 unbreak address access "probing" for generic_fp backtracing
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
2023-09-10 17:24:32 -04:00

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