package/x11r7/xlib_libxshmfence: disable on riscv32
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Thu, 5 Aug 2021 11:21:23 +0000 (13:21 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Thu, 5 Aug 2021 19:15:45 +0000 (21:15 +0200)
xlib_libxshmfence unconditionally uses SYS_futex which raises the
following build failure on riscv32:

xshmfence_futex.h:58:17: error: 'SYS_futex' undeclared (first use in this function); did you mean 'sys_futex'?
   58 |  return syscall(SYS_futex, addr1, op, val1, timeout, addr2, val3);
      |                 ^~~~~~~~~
      |                 sys_futex

Fixes:
 - http://autobuild.buildroot.org/results/b3523e35fde0fac04b96a6278cbc6ffdfe56f7d1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/mesa3d/Config.in
package/x11r7/xlib_libxshmfence/Config.in
package/x11r7/xserver_xorg-server/Config.in

index 41c90c49af79c334a0e16bda9117ac23364b3de8..eb7c1eef467f4399597325ae4f7461a352e9d63d 100644 (file)
@@ -65,7 +65,8 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER
                !BR2_PACKAGE_MESA3D_OPENGL_GLX && \
                !BR2_PACKAGE_MESA3D_OPENGL_EGL
        select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
-               (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4)
+               (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4 && \
+                       !BR2_RISCV_32)
 
 config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
        bool
index 710476b357f6283793afce21e30684167110ddb4..7823bda7c08886c477dcf4d971511e09a7bf0df2 100644 (file)
@@ -1,5 +1,8 @@
 config BR2_PACKAGE_XLIB_LIBXSHMFENCE
        bool "libxshmfence"
+       # Due to use of SYS_futex - can be enabled again when upstream
+       # adds SYS_futex64 as an alternative
+       depends on !BR2_RISCV_32
        depends on BR2_TOOLCHAIN_HAS_SYNC_4
        select BR2_PACKAGE_XORGPROTO
        help
index fcd3d0ae004c4000a00463b913524fdf490e96d5..4dc15435a8aada9d08a8e577404b58fa0ed03c52 100644 (file)
@@ -53,7 +53,8 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR
        depends on BR2_INSTALL_LIBSTDCPP
        select BR2_PACKAGE_LIBDRM
        select BR2_PACKAGE_LIBPCIACCESS
-       select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_TOOLCHAIN_HAS_SYNC_4
+       select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
+               (BR2_TOOLCHAIN_HAS_SYNC_4 && !BR2_RISCV_32)
        help
          This variant of the X.org server is the full-blown variant,
          as used by desktop GNU/Linux distributions. The drivers (for