This change got things working for me again:
1999-08-27  Damon Lipparelli  <lipp(a)primus.com>
	* events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct''
	(XSETTIMEOUT): fixup typo
Index: events.h
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/events.h,v
retrieving revision 1.20.2.3
diff -u -r1.20.2.3 events.h
--- events.h    1999/08/27 03:46:45     1.20.2.3
+++ events.h    1999/08/27 19:24:49
@@ -452,8 +452,8 @@
 };
 
 DECLARE_LRECORD (timeout, struct Lisp_Timeout);
-#define XTIMEOUT(x) XRECORD (x, timeout, Lisp_Timeout)
-#define XSETTIMEOUT(x, p) XSETRECORD (x, p, tiemout)
+#define XTIMEOUT(x) XRECORD (x, timeout, struct Lisp_Timeout)
+#define XSETTIMEOUT(x, p) XSETRECORD (x, p, timeout)
 #define TIMEOUTP(x) RECORDP (x, timeout)
 #define GC_TIMEOUTP(x) GC_RECORDP (x, timeout)
 #define CHECK_TIMEOUT(x) CHECK_RECORD (x, timeout)
-lipp
ps: For what it's worth, under Solaris 2.5.1 & gcc 2.95.1, I was able to
successfully build and run a "--pdump" version of XEmacs....