package/python: fix sqlite3 extension without threads
PATCH 1/1 package/python: fix sqlite3 extension without threads
Fix a compiler error when building the sqlite3 extension, when the toolchain does not have threads.
Fixes:
http://autobuild.buildroot.net/results/10f/10f268cd55f16ee53f4c5e17e1248b0a1820f6ea/
--- .../python-015-fix-sqlite-without-threads.patch | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 package/python/python-015-fix-sqlite-without-threads.patch
package/python/python-015-fix-sqlite-without-threads.patch new file +48 -0
@@ -0,0 +1,48 @@ +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" <[email protected]> + +diff -durN python-2.7.8.orig/Modules/_sqlite/connection.c python-2.7.8/Modules/_sqlite/connection.c +--- python-2.7.8.orig/Modules/_sqlite/connection.c 2014-06-30 04:05:42.000000000 +0200 ++++ python-2.7.8/Modules/_sqlite/connection.c 2014-07-12 13:53:32.258041224 +0200 +@@ -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)
Signature · 1 line
1.9.1
PATCH 1/1 package/python: fix sqlite3 extension without threads
Dear Yann E. MORIN,
Quoted 11 lines · Yann E. MORIN
Fix a compiler error when building the sqlite3 extension, when the toolchain does not have threads.
Fixes:
http://autobuild.buildroot.net/results/10f/10f268cd55f16ee53f4c5e17e1248b0a1820f6ea/Signed-off-by "Yann E. MORIN" <[email protected]>--- .../python-015-fix-sqlite-without-threads.patch | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 package/python/python-015-fix-sqlite-without-threads.patch
Applied, thanks. Do you know if Python 3 is affected as well?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 package/python: fix sqlite3 extension without threads
Thomas, All,
On 2014-07-15 19:18 +0200, Thomas Petazzoni spake thusly:
Quoted 7 lines · Yann E. MORIN
Quoted 6 lines
Fix a compiler error when building the sqlite3 extension, when the toolchain does not have threads.
Fixes:
http://autobuild.buildroot.net/results/10f/10f268cd55f16ee53f4c5e17e1248b0a1820f6ea/
Quoted 7 lines
Quoted 5 lines
Signed-off-by "Yann E. MORIN" <[email protected]>--- .../python-015-fix-sqlite-without-threads.patch | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 package/python/python-015-fix-sqlite-without-threads.patchApplied, thanks. Do you know if Python 3 is affected as well?
It is not. The cset I backported is from 3.3, and we're using 3.4.1:
http://hg.python.org/cpython/file/v3.4.1/Modules/_sqlite/connection.c#l760
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 package/python: fix sqlite3 extension without threads
Dear Yann E. MORIN,
Quoted 4 lines · Yann E. MORIN
Quoted 1 line
Applied, thanks. Do you know if Python 3 is affected as well?
It is not. The cset I backported is from 3.3, and we're using 3.4.1:
http://hg.python.org/cpython/file/v3.4.1/Modules/_sqlite/connection.c#l760
Excellent, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com