From 7b8dea265e72c3037b6b1e54d5ab51b7e14f328b Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Tue, 5 Aug 2025 19:21:36 -0700 Subject: [lldb] Workaround omission of PyBUF_READ in the stable API (#152214) PyMemoryView_FromMemory is part of stable ABI but the flag constants such as PyBUF_READ are not. This was fixed in Python 3.11 [1], but still requires this workaround when using older versions. [1] https://github.com/python/cpython/issues/98680 --- lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h') diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h b/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h index 9b4a1dd..0c28179 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h +++ b/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h @@ -60,6 +60,12 @@ static llvm::Expected *g_fcxx_modules_workaround [[maybe_unused]]; // with a version of Python we don't support. static_assert(PY_VERSION_HEX >= LLDB_MINIMUM_PYTHON_VERSION, "LLDB requires at least Python 3.8"); + +// PyMemoryView_FromMemory is part of stable ABI but the flag constants are not. +// See https://github.com/python/cpython/issues/98680 +#ifndef PyBUF_READ +#define PyBUF_READ 0x100 +#endif #endif #endif // LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_LLDB_PYTHON_H -- cgit v1.1