diff options
| author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-12-28 21:54:55 +0100 |
|---|---|---|
| committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-01-02 19:30:25 +0100 |
| commit | 897d07c313104ddb54fcf9c538acb0ca65e1a687 (patch) | |
| tree | 6a92eaeced471ff0029b54d00b86ede1c8c4a18f /package/python/015-fix-sqlite-without-threads.patch | |
| parent | 9badea2d058a75182f2a37bbefa0aaf48020575d (diff) | |
| download | buildroot-897d07c313104ddb54fcf9c538acb0ca65e1a687.tar.gz buildroot-897d07c313104ddb54fcf9c538acb0ca65e1a687.zip | |
python: rename patches to the new convention
Note that we don't use completely sequential numbers, because patches
below 100 are used to address cross-compilation issues in Python,
while patches above 100 are used to make more Python modules
configurable.
[Thomas: fixup commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Diffstat (limited to 'package/python/015-fix-sqlite-without-threads.patch')
| -rw-r--r-- | package/python/015-fix-sqlite-without-threads.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/package/python/015-fix-sqlite-without-threads.patch b/package/python/015-fix-sqlite-without-threads.patch new file mode 100644 index 0000000000..f51c37b372 --- /dev/null +++ b/package/python/015-fix-sqlite-without-threads.patch @@ -0,0 +1,49 @@ +sqlite3: fix build when threads are not used/available + +When threads are not used/available, a function in the sqlite3 extension +ends up with a label at the end: + + void _pysqlite_final_callback(sqlite3_context* context) + { + PyObject* function_result; + PyObject** aggregate_instance; + int ok; + + #ifdef WITH_THREAD + PyGILState_STATE threadstate; + + threadstate = PyGILState_Ensure(); + #endif + + aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*)); + if (!*aggregate_instance) { + goto error; + } + + [......] + + error: + #ifdef WITH_THREAD + PyGILState_Release(threadstate); + #endif + } + +This is not valid, and gcc complains. + +Fix that by adding a dummy statement after the label, so that the label +is never the last statement of the function. + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +Index: b/Modules/_sqlite/connection.c +=================================================================== +--- a/Modules/_sqlite/connection.c ++++ b/Modules/_sqlite/connection.c +@@ -786,6 +786,7 @@ + #ifdef WITH_THREAD + PyGILState_Release(threadstate); + #endif ++ ; /* Make gcc happy: a label can't be at the end of a function */ + } + + static void _pysqlite_drop_unused_statement_references(pysqlite_Connection* self) |

