cpython/Python
stratakis 485b499610
gh-128605: Add branch protections for x86_64 in asm_trampoline.S (#128606)
Apply Intel Control-flow Technology for x86-64 on asm_trampoline.S.

Required for mitigation against return-oriented programming (ROP)
and Call or Jump Oriented Programming (COP/JOP) attacks.

Manual application is required for the assembly files.

See also: https://sourceware.org/annobin/annobin.html/Test-cf-protection.html
2025-06-03 09:09:43 +02:00
..
clinic GH-133231: Add JIT utilities in sys._jit (GH-133233) 2025-05-05 15:25:22 -07:00
frozen_modules
_contextvars.c gh-128384: Use a context variable for warnings.catch_warnings (gh-130010) 2025-04-09 16:18:54 -07:00
_warnings.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
asdl.c
asm_trampoline.S gh-128605: Add branch protections for x86_64 in asm_trampoline.S (#128606) 2025-06-03 09:09:43 +02:00
assemble.c gh-87859: Track Code Object Local Kinds For Arguments (gh-132980) 2025-04-29 02:21:47 +00:00
ast.c gh-132661: Implement PEP 750 (#132662) 2025-04-30 11:46:41 +02:00
ast_preprocess.c gh-126835: Rename ast_opt.c to ast_preprocess.c and related stuff after moving const folding to the peephole optimizier (#131830) 2025-05-04 21:07:35 +03:00
ast_unparse.c gh-133581: Fix refleak in t-string AST unparsing (#133724) 2025-05-09 09:10:52 +02:00
bltinmodule.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
bootstrap_hash.c
brc.c
bytecodes.c GH-134879: Fix INSTRUMENT_FOR_ITER for list/tuple (#134897) 2025-05-30 07:11:42 -07:00
ceval.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
ceval_gil.c gh-133886: Fix sys.remote_exec() for non-UTF-8 paths (GH-133887) 2025-05-13 11:55:24 +03:00
ceval_macros.h GH-133231: Changes to executor management to support proposed sys._jit module (GH-133287) 2025-05-04 10:05:35 +01:00
codecs.c gh-133036: Deprecate codecs.open (#133038) 2025-04-30 10:11:09 +09:00
codegen.c GH-132554: "Virtual" iterators (GH-132555) 2025-05-27 15:59:45 +01:00
compile.c gh-126835: Rename ast_opt.c to ast_preprocess.c and related stuff after moving const folding to the peephole optimizier (#131830) 2025-05-04 21:07:35 +03:00
condvar.h
config_common.h
context.c gh-133968: Add PyUnicodeWriter_WriteASCII() function (#133973) 2025-05-29 14:54:30 +00:00
critical_section.c
crossinterp.c gh-132775: Expand the Capability of Interpreter.call() (gh-133484) 2025-05-30 09:15:00 -06:00
crossinterp_data_lookup.h gh-132775: Always Set __builtins__ In _PyFunction_FromXIData() (gh-134758) 2025-05-27 15:42:24 +00:00
crossinterp_exceptions.h gh-132781: fix refleaks in crossinterp_exceptions.h post gh-132782 (#132989) 2025-04-26 12:14:14 +02:00
dtoa.c
dup2.c
dynamic_annotations.c
dynload_hpux.c
dynload_shlib.c
dynload_stub.c
dynload_win.c gh-131942: Use the Python-specific Py_DEBUG macro rather than _DEBUG in Windows-related C code (GH-131944) 2025-05-08 15:01:25 +00:00
emscripten_signal.c
emscripten_trampoline.c gh-106213: Shorten Emscripten wasm-gc trampoline by a little (#133984) 2025-05-20 14:22:49 -04:00
errors.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
executor_cases.c.h GH-132554: "Virtual" iterators (GH-132555) 2025-05-27 15:59:45 +01:00
fileutils.c Fix GetNamedPipeHandleStateW on non-desktop Windows API partitions (GH-134049) 2025-05-15 21:12:10 +01:00
flowgraph.c GH-132554: "Virtual" iterators (GH-132555) 2025-05-27 15:59:45 +01:00
formatter_unicode.c
frame.c gh-131173: Improve exception handling during take_ownership processing (#132620) 2025-04-17 13:38:34 -07:00
frozen.c
frozenmain.c
future.c
gc.c GH-133261: Make sure that the GC doesn't untrack objects in trashcan (GH-133431) 2025-05-05 13:44:50 +01:00
gc_free_threading.c gh-132917: fix data race on last_mem in free-threading gc (#134692) 2025-05-27 22:42:08 +05:30
gc_gil.c
generated_cases.c.h GH-134879: Fix INSTRUMENT_FOR_ITER for list/tuple (#134897) 2025-05-30 07:11:42 -07:00
getargs.c gh-132987: Support __index__() for "k" and "K" formats in PyArg_Parse (GH-132988) 2025-04-26 17:14:18 +03:00
getcompiler.c
getcopyright.c
getopt.c GH-133336: Remove reserved `-J` flag for Jython (#133444) 2025-05-05 15:09:19 +00:00
getplatform.c
getversion.c
hamt.c gh-133968: Add PyUnicodeWriter_WriteASCII() function (#133973) 2025-05-29 14:54:30 +00:00
hashtable.c
import.c gh-132775: Expand the Capability of Interpreter.call() (gh-133484) 2025-05-30 09:15:00 -06:00
importdl.c Remove duplicate includes: Python/importdl.c (#132623) 2025-04-18 02:49:19 +01:00
index_pool.c gh-91048: Refactor and optimize remote debugging module (#134652) 2025-05-25 20:19:29 +00:00
initconfig.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
instruction_sequence.c GH-124715: Move trashcan mechanism into Py_Dealloc (GH-132280) 2025-04-30 11:37:53 +01:00
instrumentation.c gh-132336: Mark a few "slow path" functions used by the interpreter loop as noinline (#132337) 2025-04-10 10:41:15 +02:00
interpconfig.c
intrinsics.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
jit.c gh-132661: Implement PEP 750 (#132662) 2025-04-30 11:46:41 +02:00
legacy_tracing.c
lock.c gh-134745: Change PyThread_allocate_lock() implementation to PyMutex (#134747) 2025-05-30 10:15:47 +00:00
marshal.c gh-131942: Use the Python-specific Py_DEBUG macro rather than _DEBUG in Windows-related C code (GH-131944) 2025-05-08 15:01:25 +00:00
modsupport.c gh-128629: Add _Py_PACK_VERSION for CPython's own definitions (GH-134247) 2025-05-28 15:24:40 +02:00
mysnprintf.c
mystrtoul.c
object_stack.c
opcode_targets.h GH-134282: Always borrow references LOAD_CONST (GH-134284) 2025-05-20 11:24:11 -04:00
optimizer.c GH-133231: Changes to executor management to support proposed sys._jit module (GH-133287) 2025-05-04 10:05:35 +01:00
optimizer_analysis.c gh-131798: Small improvements to remove_unneeded_uops (GH-134554) 2025-05-23 20:48:45 +08:00
optimizer_bytecodes.c gh-131798: Optimize _ITER_CHECK_TUPLE (GH-134803) 2025-05-28 02:30:17 +08:00
optimizer_cases.c.h gh-131798: Optimize _ITER_CHECK_TUPLE (GH-134803) 2025-05-28 02:30:17 +08:00
optimizer_symbols.c GH-131798: Optimize cached class attributes and methods in the JIT (GH-134403) 2025-05-22 11:15:03 -04:00
parking_lot.c
pathconfig.c gh-133644: Remove deprecated Python initialization getter functions (#133661) 2025-05-09 11:39:23 +00:00
perf_jit_trampoline.c gh-128605: Add branch protections for x86_64 in asm_trampoline.S (#128606) 2025-06-03 09:09:43 +02:00
perf_trampoline.c
preconfig.c
pyarena.c
pyctype.c
pyfpe.c
pyhash.c
pylifecycle.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
pymath.c
pystate.c gh-91048: Refactor and optimize remote debugging module (#134652) 2025-05-25 20:19:29 +00:00
pystrcmp.c
pystrhex.c
pystrtod.c
Python-ast.c gh-133968: Add PyUnicodeWriter_WriteASCII() function (#133973) 2025-05-29 14:54:30 +00:00
Python-tokenize.c
pythonrun.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
pytime.c
qsbr.c
README
remote_debug.h gh-91048: Add better error messages for remote debugging for CI builds (#134682) 2025-05-26 15:31:47 +01:00
remote_debugging.c gh-91048: Refactor _testexternalinspection and add Windows support (#132852) 2025-04-25 14:12:16 +01:00
specialize.c GH-132554: "Virtual" iterators (GH-132555) 2025-05-27 15:59:45 +01:00
stackrefs.c GH-132554: "Virtual" iterators (GH-132555) 2025-05-27 15:59:45 +01:00
stdlib_module_names.h GH-91048: Minor fixes for `_remotedebugging & rename to _remote_debugging` (#133398) 2025-05-05 02:30:14 +02:00
structmember.c gh-132685: fix thread safety of PyMember_GetOne with _Py_T_OBJECT (#132690) 2025-04-18 21:03:42 +05:30
suggestions.c
symtable.c gh-133379: Fix misuse of the term "arguments" in error messages (GH-133382) 2025-05-10 15:00:43 +03:00
sysmodule.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
thread.c gh-134745: Change PyThread_allocate_lock() implementation to PyMutex (#134747) 2025-05-30 10:15:47 +00:00
thread_nt.h gh-134745: Change PyThread_allocate_lock() implementation to PyMutex (#134747) 2025-05-30 10:15:47 +00:00
thread_pthread.h gh-134745: Change PyThread_allocate_lock() implementation to PyMutex (#134747) 2025-05-30 10:15:47 +00:00
thread_pthread_stubs.h
tier2_engine.md
traceback.c gh-108512: Add and use new replacements for PySys_GetObject() (GH-111035) 2025-05-28 20:11:09 +03:00
tracemalloc.c
uniqueid.c
vm-state.md gh-133079: Remove Py_C_RECURSION_LIMIT & PyThreadState.c_recursion_remaining (GH-133080) 2025-04-29 12:56:20 +02:00

Miscellaneous source files for the main Python shared library