--- /dev/null
+Upstream-Status: Backport (should be a part of 1.15.2 - remove then)
+
+http://cgit.freedesktop.org/xorg/xserver/commit/?id=c08d2b8ccb0158dbf1f529f80cc3236e66236cce
+
+From c08d2b8ccb0158dbf1f529f80cc3236e66236cce Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
+Date: Thu, 01 May 2014 12:39:29 +0000
+Subject: ARC: Add support for ARC architecture
+
+Xorg server could be built for and run on Synopsys DesignWare ARC cores.
+These changes are required for successful building and execution of the server.
+
+Both little-endian and big-endian flavors of ARC cores are supported.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+Acked-by: Adam Jackson <ajax@redhat.com>
+Reviewed-by: Egbert Eich <eich@freedesktop.org>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+---
+diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
+index fb95f58..0319de0 100644
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -1352,7 +1352,7 @@ stl_u(unsigned long val, unsigned int *p)
+ #else /* ix86 */
+
+ #if !defined(__SUNPRO_C)
+-#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) && !defined(__aarch64__)
++#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) && !defined(__aarch64__) && !defined(__arc__)
+ #ifdef GCCUSESGAS
+
+ /*
+@@ -1454,7 +1454,7 @@ inl(unsigned short port)
+
+ #endif /* GCCUSESGAS */
+
+-#else /* !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__m32r__) */
++#else /* !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__m32r__) && !defined(__arc__) */
+
+ static __inline__ void
+ outb(unsigned short port, unsigned char val)
+diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
+index 47f5abc..40765fc 100644
+--- a/hw/xfree86/os-support/linux/lnx_video.c
++++ b/hw/xfree86/os-support/linux/lnx_video.c
+@@ -59,7 +59,8 @@ static Bool ExtendedEnabled = FALSE;
+ !defined(__mips__) && \
+ !defined(__nds32__) && \
+ !defined(__arm__) && \
+- !defined(__aarch64__)
++ !defined(__aarch64__) && \
++ !defined(__arc__)
+
+ /*
+ * Due to conflicts with "compiler.h", don't rely on <sys/io.h> to declare
+diff --git a/include/servermd.h b/include/servermd.h
+index 11f6c10..2d1ccb1 100644
+--- a/include/servermd.h
++++ b/include/servermd.h
+@@ -300,6 +300,19 @@ SOFTWARE.
+
+ #endif /* __aarch64__ */
+
++#if defined(__arc__)
++
++#if defined(__BIG_ENDIAN__)
++#define IMAGE_BYTE_ORDER MSBFirst
++#define BITMAP_BIT_ORDER MSBFirst
++#else
++#define IMAGE_BYTE_ORDER LSBFirst
++#define BITMAP_BIT_ORDER LSBFirst
++#endif
++#define GLYPHPADBYTES 4
++
++#endif /* ARC */
++
+ /* size of buffer to use with GetImage, measured in bytes. There's obviously
+ * a trade-off between the amount of heap used and the number of times the
+ * ddx routine has to be called.
+--
+cgit v0.9.0.2-2-gbebe