Fix build on ARM with glibc

- Do not include <sys/io.h> on ARM with glibc to avoid compilation
  failure.
- Do not force vbe and int10 sdk headers as this enables int10 which
  does not build on ARM without <sys/io.h>
This commit is contained in:
Olivier Fourdan 2019-07-03 11:30:01 +02:00
parent 5160bab94c
commit 945c62ac33
3 changed files with 69 additions and 40 deletions

View File

@ -1,37 +0,0 @@
From e96a83d9b1b5a52a41213c7a4840dc96b4f5b06f Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 15 Aug 2012 12:35:21 -0400
Subject: [PATCH] Always install vbe and int10 sdk headers
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
hw/xfree86/Makefile.am | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index b876b79..a170b58 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -26,17 +26,9 @@ if VGAHW
VGAHW_SUBDIR = vgahw
endif
-if VBE
-VBE_SUBDIR = vbe
-endif
-
-if INT10MODULE
-INT10_SUBDIR = int10
-endif
-
-SUBDIRS = common ddc x86emu $(INT10_SUBDIR) os-support parser \
+SUBDIRS = common ddc x86emu int10 os-support parser \
ramdac $(VGAHW_SUBDIR) loader modes $(DRI_SUBDIR) \
- $(DRI2_SUBDIR) . $(VBE_SUBDIR) i2c dixmods xkb \
+ $(DRI2_SUBDIR) . vbe i2c dixmods xkb \
fbdevhw shadowfb exa $(XF86UTILS_SUBDIR) doc man \
$(GLAMOR_EGL_SUBDIR) drivers
--
2.13.6

View File

@ -0,0 +1,59 @@
From cffdd3984369ec7e31c87f9240c1485ab6370a8f Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Mon, 1 Jul 2019 13:20:39 +0200
Subject: [PATCH] compiler.h: Do not include sys/io.h on ARM with glibc
<sys/io.h> on ARM hasn't worked for a long, long time, so it was removed
it from glibc upstream.
Remove the include to avoid a compilation failure on ARM with glibc.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
---
hw/xfree86/common/compiler.h | 30 ------------------------------
1 file changed, 30 deletions(-)
diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index 7144c6a..2b2008b 100644
--- a/hw/xfree86/common/compiler.h
+++ b/hw/xfree86/common/compiler.h
@@ -758,36 +758,6 @@ inl(unsigned short port)
return xf86ReadMmio32Le((void *) ioBase, port);
}
-#elif defined(__arm__) && defined(__linux__)
-
-/* for Linux on ARM, we use the LIBC inx/outx routines */
-/* note that the appropriate setup via "ioperm" needs to be done */
-/* *before* any inx/outx is done. */
-
-#include <sys/io.h>
-
-static __inline__ void
-xf_outb(unsigned short port, unsigned char val)
-{
- outb(val, port);
-}
-
-static __inline__ void
-xf_outw(unsigned short port, unsigned short val)
-{
- outw(val, port);
-}
-
-static __inline__ void
-xf_outl(unsigned short port, unsigned int val)
-{
- outl(val, port);
-}
-
-#define outb xf_outb
-#define outw xf_outw
-#define outl xf_outl
-
#elif defined(__nds32__)
/*
--
2.21.0

View File

@ -46,7 +46,7 @@
Summary: X.Org X11 X server Summary: X.Org X11 X server
Name: xorg-x11-server Name: xorg-x11-server
Version: 1.20.5 Version: 1.20.5
Release: 4%{?gitdate:.%{gitdate}}%{?dist} Release: 5%{?gitdate:.%{gitdate}}%{?dist}
URL: http://www.x.org URL: http://www.x.org
License: MIT License: MIT
@ -86,8 +86,6 @@ Patch2: 0001-xfree86-use-modesetting-driver-by-default-on-GeForce.patch
# va_gl should probably just be the default everywhere ? # va_gl should probably just be the default everywhere ?
Patch3: 0001-xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G.patch Patch3: 0001-xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G.patch
Patch4: 0001-Always-install-vbe-and-int10-sdk-headers.patch
# Submitted upstream, but not going anywhere # Submitted upstream, but not going anywhere
Patch5: 0001-autobind-GPUs-to-the-screen.patch Patch5: 0001-autobind-GPUs-to-the-screen.patch
@ -118,6 +116,10 @@ Patch29: 0001-xwayland-Reset-scheduled-frames-after-hiding-tablet-.patch
# https://bugzilla.redhat.com/1726419 # https://bugzilla.redhat.com/1726419
Patch30: 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch Patch30: 0001-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch
# Build failure with recent glibc
# https://gitlab.freedesktop.org/xorg/xserver/issues/840
Patch31: 0001-compiler.h-Do-not-include-sys-io.h-on-ARM-with-glibc.patch
BuildRequires: systemtap-sdt-devel BuildRequires: systemtap-sdt-devel
BuildRequires: git BuildRequires: git
BuildRequires: automake autoconf libtool pkgconfig BuildRequires: automake autoconf libtool pkgconfig
@ -542,6 +544,11 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete
%changelog %changelog
* Mon Jul 8 2019 Olivier Fourdan <ofourdan@redhat.com> 1.20.5-5
- Do not include <sys/io.h> on ARM with glibc to avoid compilation failure.
- Do not force vbe and int10 sdk headers as this enables int10 which does
not build on ARM without <sys/io.h>
* Mon Jul 8 2019 Olivier Fourdan <ofourdan@redhat.com> 1.20.5-4 * Mon Jul 8 2019 Olivier Fourdan <ofourdan@redhat.com> 1.20.5-4
- Fix regression causing screen tearing with upstream xserver 1.20.5 - Fix regression causing screen tearing with upstream xserver 1.20.5
(rhbz#1726419) (rhbz#1726419)