Extends the documentation for disabling pymalloc with the `--without-pymalloc` flag regarding why it is worth to use it when enabling AddressSanitizer for Python build (which is done, e.g., in CPython's CI builds).
(cherry picked from commit
d19bb4471331ca2cb87b86e4c904bc9a2bafb044)
Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
Co-authored-by: Petr Viktorin <encukou@gmail.com>
:option:`--without-pymalloc` option. It can also be disabled at runtime using
the :envvar:`PYTHONMALLOC` environment variable (ex: ``PYTHONMALLOC=malloc``).
+Typically, it makes sense to disable the pymalloc allocator when building
+Python with AddressSanitizer (:option:`--with-address-sanitizer`) which helps
+uncover low level bugs within the C code.
+
Customize pymalloc Arena Allocator
----------------------------------
.. option:: --with-address-sanitizer
Enable AddressSanitizer memory error detector, ``asan`` (default is no).
+ To improve ASan detection capabilities you may also want to combine this
+ with :option:`--without-pymalloc` to disable the specialized small-object
+ allocator whose allocations are not tracked by ASan.
.. versionadded:: 3.6