cpython/Python
Gregory P. Smith 5f4d05d83f
[3.7] bpo-35214: Initial clang MemorySanitizer support (GH-10479) (GH-10492)
Adds configure flags for msan and ubsan builds to make it easier to enable.
These also encode the detail that address sanitizer and memory sanitizer
should disable pymalloc.

Define MEMORY_SANITIZER when appropriate at build time and adds workarounds
to existing code to mark things as initialized where the sanitizer is otherwise unable to
determine that.  This lets our build succeed under the memory sanitizer.  not all tests
pass without sanitizer failures yet but we're in pretty good shape after this.

(cherry picked from commit 1584a00815)

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google LLC]
2018-11-12 13:48:24 -08:00
..
clinic bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
_warnings.c bpo-33509: Fix _warnings for module_globals=None (GH-6833) 2018-05-15 13:56:28 -07:00
asdl.c replace PY_SIZE_MAX with SIZE_MAX 2016-09-07 09:26:18 -07:00
ast.c Make sure the line comes from the same node as the col offset. (GH-9189) 2018-09-11 16:32:52 -07:00
ast_opt.c bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
ast_unparse.c bpo-34854: Fix compiling string annotations containing lambdas. (GH-9645) 2018-09-30 11:19:15 -07:00
bltinmodule.c closes bpo-34474: Python/bltinmodule.c: Add missing NULL check in builtin_sum_impl() (GH-8872) 2018-08-24 00:59:16 -04:00
bootstrap_hash.c [3.7] bpo-35214: Initial clang MemorySanitizer support (GH-10479) (GH-10492) 2018-11-12 13:48:24 -08:00
ceval.c bpo-34190: Fix reference leak in call_function() (GH-8413) (GH-8418) 2018-07-23 23:45:26 +02:00
ceval_gil.h bpo-30860: Consolidate stateful runtime globals. (#3397) 2017-09-07 23:51:28 -06:00
codecs.c bpo-33231: Fix potential leak in normalizestring() (GH-6386) 2018-04-06 00:12:38 -07:00
compile.c Fix an incorrect check in compiler_try_except(). (GH-9810) 2018-10-12 00:19:20 -07:00
condvar.h bpo-30860: Consolidate stateful runtime globals. (#3397) 2017-09-07 23:51:28 -06:00
context.c bpo-34762: Fix contextvars C API to use PyObject* pointer types. (GH-9473) 2018-09-21 12:48:10 -07:00
dtoa.c bpo-30923: Silence fall-through warnings included in -Wextra since gcc-7.0. (#3157) 2017-08-21 13:09:59 +02:00
dup2.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
dynamic_annotations.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
dynload_aix.c PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
dynload_dl.c Issue #24268: Fix import naming when loading extension modules. Patch by Petr Viktorin. 2015-05-23 14:13:41 -07:00
dynload_hpux.c Issue #24268: Fix import naming when loading extension modules. Patch by Petr Viktorin. 2015-05-23 14:13:41 -07:00
dynload_shlib.c bpo-30860: Consolidate stateful runtime globals. (#3397) 2017-09-07 23:51:28 -06:00
dynload_stub.c Issue #13959: Re-implement imp.get_suffixes() in Lib/imp.py. 2012-05-04 15:20:40 -04:00
dynload_win.c [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302) 2017-06-28 08:30:06 +03:00
errors.c bpo-34503: Fix refleak in PyErr_SetObject() (GH-8934) 2018-08-26 13:13:47 -04:00
fileutils.c bpo-34403: Always implement _Py_GetForceASCII() (GH-10235) 2018-10-30 14:32:01 +01:00
formatter_unicode.c closes bpo-34868: Improve error message with '_' is combined with an invalid type specifier. (GH-9666) 2018-10-01 22:12:02 -07:00
frozen.c Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode. 2016-05-24 09:15:14 +03:00
frozenmain.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
future.c bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
getargs.c bpo-23927: Make getargs.c skipitem() skipping 'w*'. (GH-8192) 2018-07-11 09:56:05 -07:00
getcompiler.c closes bpo-31696: don't mention GCC in sys.version when building with clang (#3891) 2017-10-05 21:15:14 -07:00
getcopyright.c advance copyright years to 2018 (#5094) 2018-01-04 22:34:19 -08:00
getopt.c move pygetopt.h to internal (closes bpo-32264) (#4830) 2017-12-14 23:48:12 -08:00
getplatform.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
getversion.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
graminit.c bpo-30406: Make async and await proper keywords (#1669) 2017-10-05 23:24:46 -04:00
hamt.c Fix GCC warning in Python/hamt.c (GH-7618) 2018-07-06 02:43:05 -07:00
import.c bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284) 2018-11-05 06:52:58 -08:00
importdl.c bpo-31315: Fix an assertion failure in imp.create_dynamic(), when spec.name is not a string. (#3257) 2017-09-19 14:39:47 +03:00
importdl.h PEP 489: Multi-phase extension module initialization 2015-05-23 22:24:10 +10:00
importlib.h bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
importlib_external.h bpo-32911: Revert bpo-29463. (GH-7121) 2018-05-29 10:49:10 +03:00
makeopcodetargets.py makeopcodetargets.py: we need to import Lib/opcode.py 2016-03-26 01:04:37 +01:00
marshal.c bpo-33720: Reduces maximum marshal recursion depth on release builds. (GH-7401) 2018-06-04 13:41:49 -07:00
modsupport.c bpo-29852: Argument Clinic Py_ssize_t converter now supports None (#716) 2017-03-30 09:15:31 +03:00
mysnprintf.c
mystrtoul.c bpo-31370: Remove support for threads-less builds (#3385) 2017-09-07 18:56:24 +02:00
opcode_targets.h bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181) 2018-01-29 16:41:04 -08:00
pathconfig.c bpo-33053: -m now adds *starting* directory to sys.path (GH-6231) (#6236) 2018-03-25 23:43:50 +10:00
peephole.c bpo-35193: Fix an off by one error in the RETURN_VALUE case. (GH-10418) 2018-11-08 18:13:14 -08:00
pyarena.c Issue #18203: Replace malloc() with PyMem_Malloc() to allocate arena objects 2013-07-07 17:18:53 +02:00
pyctype.c
pyfpe.c bpo-29137: Remove fpectl module (#4789) 2018-01-05 23:15:34 -08:00
pyhash.c bpo-31849: Fix warning in pyhash.c (GH-6799) 2018-06-04 10:31:07 -07:00
pylifecycle.c bpo-26558: Fix Py_FatalError() with GIL released (GH-10267) 2018-10-31 16:45:42 -07:00
pymath.c [3.7] bpo-35214: Initial clang MemorySanitizer support (GH-10479) (GH-10492) 2018-11-12 13:48:24 -08:00
pystate.c bpo-33612: Remove PyThreadState_Clear() assertion (GH-7069) (GH-7074) 2018-05-23 15:58:21 -04:00
pystrcmp.c
pystrhex.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
pystrtod.c Drop confusing commented out code in pystrtod.c (GH-6072) (GH-9586) 2018-09-26 07:45:19 -07:00
Python-ast.c bpo-33677: Fix signatures of tp_clear handlers for AST and deque. (GH-7196) 2018-05-30 22:31:21 -07:00
pythonrun.c bpo-34084: Fix setting an error message for the "Barry as BDFL" easter egg. (GH-8262) (GH-8423) 2018-07-24 01:41:26 +03:00
pytime.c Fix miscellaneous typos (#4275) 2017-11-05 15:37:50 +02:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
strdup.c bpo-32150: Expand tabs to spaces in C files. (#4583) 2017-11-28 17:56:10 +02:00
structmember.c Added the const qualifier to char* variables that refer to readonly internal 2016-11-20 10:16:47 +02:00
symtable.c Fix a possible decref of a borrowed reference in symtable.c. (GH-9786) 2018-10-10 22:24:14 -07:00
sysmodule.c bpo-22689: Copy the result of getenv() in sys_breakpointhook(). (GH-8194) 2018-07-09 12:06:02 -07:00
thread.c bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748) 2017-12-12 13:55:04 +02:00
thread_nt.h Fix typo in thread_nt.h code comment (GH-5211) 2018-01-17 15:21:01 -08:00
thread_pthread.h bpo-32593: Drop FreeBSD 9 and older support (#5232) 2018-01-22 18:32:50 +01:00
traceback.c bpo-34588: Fix an off-by-one error in traceback formatting. (GH-9077) 2018-09-10 09:00:08 -07:00
wordcode_helpers.h bpo-31338 (#3374) 2017-09-14 18:13:16 -07:00

Miscellaneous source files for the main Python shared library