commit:     43090b8b8196f06d1205776a4831dc83dc1e6282
Author:     Chi-Thanh Christopher Nguyen <chithanh <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  6 18:04:52 2015 +0000
Commit:     Chi-Thanh Christopher Nguyen <chithanh <AT> cs <DOT> tu-berlin 
<DOT> de>
CommitDate: Tue Jan  6 18:04:52 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=43090b8b

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(+)

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 0000000..84485c9
--- /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 <machine/pio.h>
+ #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 <inttypes.h>

diff --git a/x11-base/xorg-server/xorg-server-9999.ebuild 
b/x11-base/xorg-server/xorg-server-9999.ebuild
index ec31957..25e94ef 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
 )
 

Reply via email to