It turns out that with my old patch, the package didn't get compiled with -fno-strict-aliasing, and as a result any program using Xt segfaulted at startup. Here's a new patch which fixes this. -- Daniel Schepler "Please don't disillusion me. I [EMAIL PROTECTED] haven't had breakfast yet." -- Orson Scott Card
diff -urN xfree86-4.3.0.dfsg.1.old/debian/patches/099za_gcc_4.0_compilation_fix.diff xfree86-4.3.0.dfsg.1/debian/patches/099za_gcc_4.0_compilation_fix.diff --- xfree86-4.3.0.dfsg.1.old/debian/patches/099za_gcc_4.0_compilation_fix.diff 1970-01-01 00:00:00.000000000 +0000 +++ xfree86-4.3.0.dfsg.1/debian/patches/099za_gcc_4.0_compilation_fix.diff 2005-06-19 16:42:48.000000000 +0000 @@ -0,0 +1,44 @@ +diff -urN xc.old/config/cf/linux.cf xc/config/cf/linux.cf +--- xc.old/config/cf/linux.cf 2005-06-19 16:26:15.000000000 +0000 ++++ xc/config/cf/linux.cf 2005-06-19 16:37:29.000000000 +0000 +@@ -612,7 +612,7 @@ + # endif + #endif + +-#if (GccMajorVersion == 3) && (GccMinorVersion >= 1) ++#if (GccMajorVersion > 3) || ((GccMajorVersion == 3) && (GccMinorVersion >= 1)) + # define GccAliasingArgs -fno-strict-aliasing + #else + # define GccAliasingArgs /* */ +diff -urN xc.old/lib/GL/mesa/src/drv/tdfx/tdfx_span.c xc/lib/GL/mesa/src/drv/tdfx/tdfx_span.c +--- xc.old/lib/GL/mesa/src/drv/tdfx/tdfx_span.c 2002-10-30 12:52:00.000000000 +0000 ++++ xc/lib/GL/mesa/src/drv/tdfx/tdfx_span.c 2005-06-19 16:36:25.000000000 +0000 +@@ -588,12 +588,14 @@ + (((type *)((ReadParamsp)->lfbWrapPtr)) \ + [((y)) * ((ReadParamsp)->LFBStrideInElts) \ + + ((x) - (ReadParamsp)->firstWrappedX)]) +-#define PUT_FB_DATA(ReadParamsp, type, x, y, value) \ +- (GET_FB_DATA(ReadParamsp, type, x, y) = (type)(value)) + #define PUT_ORDINARY_FB_DATA(ReadParamsp, type, x, y, value) \ + (GET_ORDINARY_FB_DATA(ReadParamsp, type, x, y) = (type)(value)) + #define PUT_WRAPPED_FB_DATA(ReadParamsp, type, x, y, value) \ + (GET_WRAPPED_FB_DATA(ReadParamsp, type, x, y) = (type)(value)) ++#define PUT_FB_DATA(ReadParamsp, type, x, y, value) \ ++ (((x) < (ReadParamsp)->firstWrappedX) \ ++ ? PUT_ORDINARY_FB_DATA(ReadParamsp, type, x, y, value) \ ++ : PUT_WRAPPED_FB_DATA(ReadParamsp, type, x, y, value)) + + static void + tdfxDDWriteDepthSpan(GLcontext * ctx, +diff -urN xc.old/programs/Xserver/hw/xfree86/xf86cfg/loader.h xc/programs/Xserver/hw/xfree86/xf86cfg/loader.h +--- xc.old/programs/Xserver/hw/xfree86/xf86cfg/loader.h 2001-07-09 23:45:24.000000000 +0000 ++++ xc/programs/Xserver/hw/xfree86/xf86cfg/loader.h 2005-06-19 16:36:25.000000000 +0000 +@@ -75,7 +75,7 @@ + unsigned long num; + char * str; + double realnum; +- Bool bool; ++ Bool boolval; + OptFrequency freq; + } ValueUnion; +