diff mbox

[1/1] package/x11r7/xserver_xorg-server: depends on BR2_TOOLCHAIN_HAS_SYNC_4

Message ID 20160925113232.1303-1-bernd.kuhls@t-online.de
State Changes Requested
Headers show

Commit Message

Bernd Kuhls Sept. 25, 2016, 11:32 a.m. UTC
It uses __sync_val_compare_and_swap_4 & __sync_bool_compare_and_swap_4.

Fixes
http://autobuild.buildroot.net/results/ecc/ecc083ffc00e05e15390b630c57d398fbe2356e0/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/x11r7/xserver_xorg-server/Config.in | 1 +
 1 file changed, 1 insertion(+)

Comments

Thomas Petazzoni Oct. 28, 2016, 4:28 p.m. UTC | #1
Hello,

On Sun, 25 Sep 2016 13:32:32 +0200, Bernd Kuhls wrote:
> It uses __sync_val_compare_and_swap_4 & __sync_bool_compare_and_swap_4.
> 
> Fixes
> http://autobuild.buildroot.net/results/ecc/ecc083ffc00e05e15390b630c57d398fbe2356e0/
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  package/x11r7/xserver_xorg-server/Config.in | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
> index 5715a56..665be21 100644
> --- a/package/x11r7/xserver_xorg-server/Config.in
> +++ b/package/x11r7/xserver_xorg-server/Config.in
> @@ -1,5 +1,6 @@
>  config BR2_PACKAGE_XSERVER_XORG_SERVER
>  	bool "xorg-server"
> +	depends on BR2_TOOLCHAIN_HAS_SYNC_4
>  	depends on BR2_USE_MMU # fork()
>  	# We need a SHA1 implementation. If either openssl or
>  	# libgcrypt are already part of the build, we'll use one of


This is not correct: the X.org server builds just fine on Sparc, which
doesn't provide this atomic operation. The following defconfig builds
fine:

BR2_sparc=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc-uclibc-2016.08-613-ge98b4dd.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_5=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
# BR2_TARGET_ROOTFS_TAR is not set

The build failure comes from libxshmfence, so it's this package who
should depend on BR2_TOOLCHAIN_HAS_SYNC_4, and of course this
dependency be propagated wherever BR2_PACKAGE_XLIB_LIBXSHMFENCE is
selected, i.e:

package/mesa3d/Config.in:       select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO
package/x11r7/xserver_xorg-server/Config.in:    select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO

Could you have a look into this?

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index 5715a56..665be21 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -1,5 +1,6 @@ 
 config BR2_PACKAGE_XSERVER_XORG_SERVER
 	bool "xorg-server"
+	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on BR2_USE_MMU # fork()
 	# We need a SHA1 implementation. If either openssl or
 	# libgcrypt are already part of the build, we'll use one of