- workaround broken AC_C_BIGENDIAN macro (#449944)

This commit is contained in:
Adam Tkac 2008-06-19 14:24:12 +00:00
parent f4653f87d0
commit 70f1f7f41a
2 changed files with 100 additions and 2 deletions

View File

@ -20,7 +20,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.4.99.902
Release: 1.%{gitdate}%{?dist}
Release: 2.%{gitdate}%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -64,6 +64,9 @@ Patch5008: xserver-1.5.0-xaa-sucks.patch
Patch5009: xserver-1.5.0-no-evdev-keyboards-kthnx.patch
Patch5010: xserver-1.5.0-fix-single-aspect.patch
# Workaround RH bug #449944
Patch5011: xserver-1.4.99-endian.patch
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
%define sdkdir %{_includedir}/xorg
@ -513,7 +516,10 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Thu Jun 12 2008 Dave Airlie <airlied@redhat.com> 1.4.99.902-2.20080612
* Thu Jun 19 2008 Adam Tkac <atkac redhat com> 1.4.99.902-2.20080612
- workaround broken AC_C_BIGENDIAN macro (#449944)
* Thu Jun 12 2008 Dave Airlie <airlied@redhat.com> 1.4.99.902-1.20080612
- cve-2008-1377: Record and Security Extension Input validation
- cve-2008-1379: MIT-SHM extension Input Validation flaw
- cve-2008-2360: Render AllocateGlyph extension Integer overflows

View File

@ -0,0 +1,92 @@
From: Adam Tkac <atkac@redhat.com>
Subject: Workaround for RH bug #449944
AC_C_BIGENDIAN macro in autoconf 2.62 is badly broken. See
https://bugzilla.redhat.com/show_bug.cgi?id=449944 for more information.
diff -up xorg-server-20080612/configure.ac.endian xorg-server-20080612/configure.ac
--- xorg-server-20080612/configure.ac.endian 2008-06-19 13:31:03.000000000 +0200
+++ xorg-server-20080612/configure.ac 2008-06-19 13:42:27.000000000 +0200
@@ -103,7 +103,6 @@ AC_CHECK_HEADERS([fcntl.h stdlib.h strin
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
-AC_C_BIGENDIAN([ENDIAN="X_BIG_ENDIAN"], [ENDIAN="X_LITTLE_ENDIAN"])
AC_CHECK_SIZEOF([unsigned long])
if test "$ac_cv_sizeof_unsigned_long" = 8; then
@@ -1197,18 +1196,14 @@ AC_DEFINE([SVR4],1,[Define to 1 on syste
AC_MSG_RESULT([yes])], AC_MSG_RESULT([no]))
XSERVER_CFLAGS="$XSERVER_CFLAGS $CORE_INCS $XEXT_INC $COMPOSITE_INC $DAMAGE_INC $FIXES_INC $XI_INC $MI_INC $MIEXT_SHADOW_INC $MIEXT_LAYER_INC $MIEXT_DAMAGE_INC $RENDER_INC $RANDR_INC $FB_INC"
-AC_DEFINE_UNQUOTED(_X_BYTE_ORDER,[$ENDIAN],[Endian order])
AH_VERBATIM([X_BYTE_ORDER],[
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifndef __APPLE_CC__
-#define X_BYTE_ORDER _X_BYTE_ORDER
-#else
+/* Define endian order */
#ifdef __BIG_ENDIAN__
-#define X_BYTE_ORDER X_BIG_ENDIAN
+#define _X_BYTE_ORDER X_BIG_ENDIAN
#else
-#define X_BYTE_ORDER X_LITTLE_ENDIAN
-#endif
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
#endif
+#define X_BYTE_ORDER _X_BYTE_ORDER
])
dnl ---------------------------------------------------------------------------
diff -up xorg-server-20080612/include/dix-config.h.in.endian xorg-server-20080612/include/dix-config.h.in
--- xorg-server-20080612/include/dix-config.h.in.endian 2008-06-19 13:44:07.000000000 +0200
+++ xorg-server-20080612/include/dix-config.h.in 2008-06-19 13:44:35.000000000 +0200
@@ -445,18 +445,13 @@
/* Vendor name */
#undef XVENDORNAME
-/* Endian order */
-#undef _X_BYTE_ORDER
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifndef __APPLE_CC__
-#define X_BYTE_ORDER _X_BYTE_ORDER
-#else
+/* Define endian order */
#ifdef __BIG_ENDIAN__
-#define X_BYTE_ORDER X_BIG_ENDIAN
+#define _X_BYTE_ORDER X_BIG_ENDIAN
#else
-#define X_BYTE_ORDER X_LITTLE_ENDIAN
-#endif
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
#endif
+#define X_BYTE_ORDER _X_BYTE_ORDER
/* Enable GNU and other extensions to the C environment for GLIBC */
#undef _GNU_SOURCE
diff -up xorg-server-20080612/include/xorg-server.h.in.endian xorg-server-20080612/include/xorg-server.h.in
--- xorg-server-20080612/include/xorg-server.h.in.endian 2008-06-19 13:44:41.000000000 +0200
+++ xorg-server-20080612/include/xorg-server.h.in 2008-06-19 13:44:51.000000000 +0200
@@ -178,18 +178,13 @@
/* Vendor name */
#undef XVENDORNAME
-/* Endian order */
-#undef _X_BYTE_ORDER
-/* Deal with multiple architecture compiles on Mac OS X */
-#ifndef __APPLE_CC__
-#define X_BYTE_ORDER _X_BYTE_ORDER
-#else
+/* Define endian order */
#ifdef __BIG_ENDIAN__
-#define X_BYTE_ORDER X_BIG_ENDIAN
+#define _X_BYTE_ORDER X_BIG_ENDIAN
#else
-#define X_BYTE_ORDER X_LITTLE_ENDIAN
-#endif
+#define _X_BYTE_ORDER X_LITTLE_ENDIAN
#endif
+#define X_BYTE_ORDER _X_BYTE_ORDER
/* BSD-compliant source */
#undef _BSD_SOURCE