Skip to contentSkip to conversation

ARC: disable packages that require atomic builtins

PATCH New Alexey Brodkin 3 participants 4 messages Jul 7, 2014 – Jul 9, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARC: disable packages that require atomic builtins

In particular libtirpc is reported to be broken here: http://autobuild.buildroot.net/results/6bb90d3f2b840a1faacf152a1d93a909a2dc98d3

"rpcbind" in its turn selects "libtirpc", so it's required to disable it as well

As it is seen from http://autobuild.buildroot.org/results/3bd/3bda860a269dd9a4e38533cc9350892c68102618
"zeromq" also uses "___sync_add_and_fetch_2" & "___sync_fetch_and_add_2" in
"libpgm" so need to disable it.

And finally "zyre" selects "zeromq" so we disable it for ARC too.

Cc Anton Kolesov <[email protected]>
Cc Gustavo Zacarias <[email protected]>
Cc Peter Korsgaard <[email protected]>
CC Thomas Petazzoni <[email protected]>
---
 package/libtirpc/Config.in | 2 ++
 package/rpcbind/Config.in  | 2 ++
 package/zeromq/Config.in   | 1 +
 package/zyre/Config.in     | 2 ++
 4 files changed, 7 insertions(+)
package/libtirpc/Config.in +2 -0
index a8e6dd3..4fb3eeb 100644
@@ -6,6 +6,7 @@ config BR2_PACKAGE_LIBTIRPC
 	# dependencies of libtirpc for which native RPC support can be
 	# used instead of libtirpc.
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
+	depends on !BR2_arc # atomic builtins
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	help
 	  Libtirpc is a port of Sun's Transport-Independent RPC
@@ -16,3 +17,4 @@ config BR2_PACKAGE_LIBTIRPC
 comment "libtirpc needs a toolchain w/ threads"
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
 	depends on !BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_arc
package/rpcbind/Config.in +2 -0
index 2a79bdc..136553a 100644
@@ -7,6 +7,7 @@ config BR2_PACKAGE_RPCBIND
 	# uClibc toolchains provided by ADI don't have AI_ADDRCONFIG
 	# support, needed for libtirpc
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
+	depends on !BR2_arc # atomic builtins @libtirpc
 	# fork()
 	depends on BR2_USE_MMU
 	help
@@ -16,4 +17,5 @@ config BR2_PACKAGE_RPCBIND
 comment "rpcbind needs a toolchain w/ threads"
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
 	depends on !BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_arc
 	depends on BR2_USE_MMU
package/zeromq/Config.in +1 -0
index 778a503..5382c98 100644
@@ -34,6 +34,7 @@ config BR2_PACKAGE_ZEROMQ_PGM
 	depends on !BR2_avr32 # openpgm
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2013R1 # openpgm
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 # openpgm
+	depends on !BR2_arc # atomic builtins
 	select BR2_PACKAGE_OPENPGM
 	help
 	  Add support for Pragmatic General Multicast protocol (RFC 3208)
package/zyre/Config.in +2 -0
index 86fff35..d955b0e 100644
@@ -9,6 +9,7 @@ config BR2_PACKAGE_ZYRE
 	# uClibc toolchains provided by ADI don't have AI_ADDRCONFIG
 	# support, needed by czmq
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
+	depends on !BR2_arc # atomic builtins @zeromq
 	select BR2_PACKAGE_CZMQ
 	select BR2_PACKAGE_ZEROMQ
 	help
@@ -19,6 +20,7 @@ config BR2_PACKAGE_ZYRE
 
 comment "zyre needs a toolchain w/ C++, IPv6, largefile, wchar, threads"
 	depends on BR2_USE_MMU
+	depends on !BR2_arc
 	depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
 	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_INET_IPV6 && BR2_LARGEFILE \
 		&& BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS)
Signature · 1 line
1.9.3
#1 lore raw

PATCH 1/1 ARC: disable packages that require atomic builtins

Quoted 3 lines · Alexey Brodkin

In particular libtirpc is reported to be broken here: http://autobuild.buildroot.net/results/6bb90d3f2b840a1faacf152a1d93a909a2dc98d3

"rpcbind" in its turn selects "libtirpc", so it's required to disable it as well

What about the packages that select libtirpc if !BR2_TOOLCHAIN_HAS_NATIVE_RPC?
argus, conntrack-tools, lmbench, nfs-utils, quota

Quoted 6 lines

As it is seen from http://autobuild.buildroot.org/results/3bd/3bda860a269dd9a4e38533cc9350892c68102618
"zeromq" also uses "___sync_add_and_fetch_2" & "___sync_fetch_and_add_2" in
"libpgm" so need to disable it.

And finally "zyre" selects "zeromq" so we disable it for ARC too.

What about the other packages that use zeromq? cppzmq, czmq, filemq, mongrel2,
php-zmq, python-pyzmq, zmqpp?

Because this is becoming a lot of changes, it's probably better to split into
two patches:

tirpc: disable on ARC

zeromq: disable on ARC

Quoted 2 lines

Signed-off-by should start with capital S (preferably use "git commit -s").

Regards,
Arnout

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH 1/1 ARC: disable packages that require atomic builtins

Hi Arnout,

Quoted 2 lines · Arnout Vandecappelle

What about the other packages that use zeromq? cppzmq, czmq, filemq, mongrel2,
php-zmq, python-pyzmq, zmqpp?

I see that dependencies list is getting longer and longer.

In coming days we're about to release a new version of tools for ARC and as a part of this upcoming release we'll enable atomic operations by default for ARC. This should immediately fix all those previously broken packages.

So I'd prefer to wait for mentioned update and if it works as we expect there will be no need in fixing more packages... moreover we'll need to re-enable packages we already disabled like "jack2", "msgpack" and some others.

Regards,
Alexey

#3 lore raw

PATCH 1/1 ARC: disable packages that require atomic builtins

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Alexey" == Alexey Brodkin <[email protected]> writes:

Hi,

Quoted 11 lines

I see that dependencies list is getting longer and longer.

In coming days we're about to release a new version of tools for ARC and as a part of this upcoming release we'll enable atomic operations by default for ARC. This should immediately fix all those previously broken packages.

So I'd prefer to wait for mentioned update and if it works as we expect there will be no need in fixing more packages... moreover we'll need to re-enable packages we already disabled like "jack2", "msgpack" and some others.

Ok, that sounds great!

Signature · 1 line
Bye, Peter Korsgaard