From 70f1f7f41a16393213157632079c1c3dad0b0dc5 Mon Sep 17 00:00:00 2001 From: Adam Tkac Date: Thu, 19 Jun 2008 14:24:12 +0000 Subject: [PATCH] - workaround broken AC_C_BIGENDIAN macro (#449944) --- xorg-x11-server.spec | 10 +++- xserver-1.4.99-endian.patch | 92 +++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 xserver-1.4.99-endian.patch diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 027aed9..aede44d 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -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 1.4.99.902-2.20080612 +* Thu Jun 19 2008 Adam Tkac 1.4.99.902-2.20080612 +- workaround broken AC_C_BIGENDIAN macro (#449944) + +* Thu Jun 12 2008 Dave Airlie 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 diff --git a/xserver-1.4.99-endian.patch b/xserver-1.4.99-endian.patch new file mode 100644 index 0000000..56e765e --- /dev/null +++ b/xserver-1.4.99-endian.patch @@ -0,0 +1,92 @@ +From: Adam Tkac +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