Author: Jonas Devlieghere
Date: 2025-08-05T19:21:36-07:00
New Revision: 7b8dea265e72c3037b6b1e54d5ab51b7e14f328b

URL: 
https://github.com/llvm/llvm-project/commit/7b8dea265e72c3037b6b1e54d5ab51b7e14f328b
DIFF: 
https://github.com/llvm/llvm-project/commit/7b8dea265e72c3037b6b1e54d5ab51b7e14f328b.diff

LOG: [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

Added: 
    

Modified: 
    lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h

Removed: 
    


################################################################################
diff  --git a/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h 
b/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
index 9b4a1dd2cecb2..0c281793613a5 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<bool> *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


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to