From 43090b8b8196f06d1205776a4831dc83dc1e6282 Mon Sep 17 00:00:00 2001 From: Chi-Thanh Christopher Nguyen Date: Tue, 6 Jan 2015 19:04:52 +0100 Subject: x11-base/xorg-server: make ia64 patch apply again https://bugs.gentoo.org/show_bug.cgi?id=523436 --- .../files/xorg-server-1.17-ia64-fix_inx_outx.patch | 59 ++++++++++++++++++++++ x11-base/xorg-server/xorg-server-9999.ebuild | 1 + 2 files changed, 60 insertions(+) create mode 100644 x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch diff --git a/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch b/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch new file mode 100644 index 00000000..84485c98 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch @@ -0,0 +1,59 @@ +diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h +index 1653574..fe881ee 100644 +--- a/hw/xfree86/common/compiler.h ++++ b/hw/xfree86/common/compiler.h +@@ -286,6 +286,54 @@ extern _X_EXPORT unsigned int inl(unsigned int port); + #include + #endif /* __NetBSD__ */ + ++#elif defined(linux) && defined(__ia64__) ++/* for Linux on ia64, we use the LIBC _inx/_outx routines */ ++/* note that the appropriate setup via "ioperm" needs to be done */ ++/* *before* any inx/outx is done. */ ++ ++extern _X_EXPORT void _outb(unsigned char val, unsigned long port); ++extern _X_EXPORT void _outw(unsigned short val, unsigned long port); ++extern _X_EXPORT void _outl(unsigned int val, unsigned long port); ++extern _X_EXPORT unsigned int _inb(unsigned long port); ++extern _X_EXPORT unsigned int _inw(unsigned long port); ++extern _X_EXPORT unsigned int _inl(unsigned long port); ++ ++static __inline__ void ++outb(unsigned long port, unsigned char val) ++{ ++ _outb(val, port); ++} ++ ++static __inline__ void ++outw(unsigned long port, unsigned short val) ++{ ++ _outw(val, port); ++} ++ ++static __inline__ void ++outl(unsigned long port, unsigned int val) ++{ ++ _outl(val, port); ++} ++ ++static __inline__ unsigned int ++inb(unsigned long port) ++{ ++ return _inb(port); ++} ++ ++static __inline__ unsigned int ++inw(unsigned long port) ++{ ++ return _inw(port); ++} ++ ++static __inline__ unsigned int ++inl(unsigned long port) ++{ ++ return _inl(port); ++} ++ + #elif defined(__amd64__) + + #include diff --git a/x11-base/xorg-server/xorg-server-9999.ebuild b/x11-base/xorg-server/xorg-server-9999.ebuild index ec31957e..25e94ef0 100644 --- a/x11-base/xorg-server/xorg-server-9999.ebuild +++ b/x11-base/xorg-server/xorg-server-9999.ebuild @@ -131,6 +131,7 @@ REQUIRED_USE="!minimal? ( PATCHES=( "${UPSTREAMED_PATCHES[@]}" + "${FILESDIR}"/${PN}-1.17-ia64-fix_inx_outx.patch "${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch ) -- cgit v1.2.3-65-gdbad