Skip to contentSkip to conversation

qt: Disable Script Module for old Linux threads

PATCH New Vicente Olivert Riera 2 participants 4 messages Nov 13, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 qt: Disable Script Module for old Linux threads

Qt Script Module uses pthread_getattr_np() which is not implemented in the old Linux threads. This causes the following compilation failure:

../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp: In function ?void* QTJSC::currentThreadStackBase()?:
../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp:692:42:
error: ?pthread_getattr_np? was not declared in this scope

---
 package/qt/Config.in |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
package/qt/Config.in +5 -0
index da159b4..8161f59 100644
@@ -402,11 +402,16 @@ config BR2_PACKAGE_QT_OPENSSL
 config BR2_PACKAGE_QT_SCRIPT
 	bool "Script Module"
 	depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
+	depends on !BR2_PTHREADS_OLD # needs pthread_getattr_np()
 	default y
 	help
 	  Build the Qt Script module.
 	  if unsure, say y.
 
+comment "Script Module doesn't work with the old Linux threads"
+	depends on BR2_PTHREADS_OLD
+	#depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
+
 config BR2_PACKAGE_QT_SCRIPTTOOLS
 	bool "Script Tools Module"
 	depends on BR2_PACKAGE_QT_SCRIPT
Signature · 1 line
1.7.1
#1 lore raw

PATCH 2/2 qt: Disable Webkit Module for old Linux threads

Qt Webkit Module uses pthread_getattr_np() which is not implemented in the old Linux threads. This causes the following compilation failure:

wtf/StackBounds.cpp: In member function ?void WTF::StackBounds::initialize()?:
wtf/StackBounds.cpp:172:38: error: ?pthread_getattr_np? was not declared in this scope

---
 package/qt/Config.in |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
package/qt/Config.in +3 -1
index 8161f59..c0ec16b 100644
@@ -375,13 +375,15 @@ config BR2_PACKAGE_QT_WEBKIT
 	depends on BR2_PACKAGE_QT_GUI_MODULE
 	depends on BR2_PACKAGE_QT_NETWORK
 	depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
+	depends on !BR2_PTHREADS_OLD # needs pthread_getattr_np()
 	help
 	  Build the WebKit module.
 	  If unsure, say n.
 
-comment "WebKit needs shared library/gui/network support"
+comment "WebKit needs shared library/new threads/gui/network support"
 	depends on !(BR2_PACKAGE_QT_SHARED && BR2_PACKAGE_QT_GUI_MODULE && BR2_PACKAGE_QT_NETWORK)
 	depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
+	depends on BR2_PTHREADS_OLD
 
 config BR2_PACKAGE_QT_STL
 	bool "STL support"
Signature · 1 line
1.7.1
#2 lore raw

PATCH 2/2 qt: Disable Webkit Module for old Linux threads

Dear Vicente Olivert Riera,

package/qt/Config.in config BR2_PACKAGE_QT_WEBKIT · line 378

Quoted 1 line · Vicente Olivert Riera
package/qt/Config.in +1 -0
+	depends on !BR2_PTHREADS_OLD # needs pthread_getattr_np()

Same deal, please use BR2_TOOLCHAIN_HAS_THREADS_NPTL.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 1/2 qt: Disable Script Module for old Linux threads

In reply to Vicente Olivert Riera

Dear Vicente Olivert Riera,

Quoted 18 lines · Vicente Olivert Riera

Qt Script Module uses pthread_getattr_np() which is not implemented in the old Linux threads. This causes the following compilation failure:

../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp: In function ?void* QTJSC::currentThreadStackBase()?:
../3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp:692:42:
error: ?pthread_getattr_np? was not declared in this scope

---
 package/qt/Config.in |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
package/qt/Config.in +0 -0
index da159b4..8161f59 100644

package/qt/Config.in config BR2_PACKAGE_QT_OPENSSL · line 405

Quoted 4 lines
package/qt/Config.in +1 -0
@@ -402,11 +402,16 @@ config BR2_PACKAGE_QT_OPENSSL
 config BR2_PACKAGE_QT_SCRIPT
 	bool "Script Module"
 	depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT
+	depends on !BR2_PTHREADS_OLD # needs pthread_getattr_np()

This does not work for external toolchains, so please use BR2_TOOLCHAIN_HAS_THREADS_NPTL instead.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com