[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xfree86-1_3.3.4 now compiles on powerpc, mach64 mess fixed, patch included.


I fixed the mach64 build problem on fbdev and powerpc, i just had time to fix
it this morning before going to work, but was not able to build the full debian
packages. I will be away until monday, so if someone want to apply this patch
and rebuild the packages, go ahead.

There was a problem in the Imakefile, so i guess nobody built xfree68 before,
and also a multiple definition of regwbe, regw and regr.

I don't know what is the right place for defining this stuff, so please decide
on it and stick on it. regwbe wasdefined for powerpc in mach64im.c, but
redefined in regmach64.h, without being removed from mach64im.c. regw and regr
are defined in mach64util.h, but not their ppc version which is defined in

So anyway, here i attach the patch i did, bear in mind that it is a quick fix
and not a clean and definitive solution.


--- xc/programs/Xserver/hw/xfree86/accel/mach64/mach64im.c.orig	Wed Sep 15 17:01:53 1999
+++ xc/programs/Xserver/hw/xfree86/accel/mach64/mach64im.c	Wed Sep 15 17:03:55 1999
@@ -76,11 +76,12 @@
     unsigned int integer;
     unsigned char bytes[4];
+/* Also defined in regmach64.h ...
 static __inline__ void regwbe(volatile unsigned long regindex, unsigned long regdata)
     *(unsigned long *)(mach64MemReg + regindex) = regdata;
 static __inline__ unsigned int bit_reverse32(unsigned int bits)
--- xc/programs/Xserver/hw/xfree68/mach64/Imakefile.orig	Wed Sep 15 18:24:42 1999
+++ xc/programs/Xserver/hw/xfree68/mach64/Imakefile	Wed Sep 15 18:25:04 1999
@@ -49,7 +49,7 @@
--- /home/luther/Xfree/3.3/debian/xfree86-1-3.3.4/build-tree/xc/programs/Xserver/hw/xfree68/mach64/mach64util.h.orig	Thu Sep 16 07:34:58 1999
+++ /home/luther/Xfree/3.3/debian/xfree86-1-3.3.4/build-tree/xc/programs/Xserver/hw/xfree68/mach64/mach64util.h	Thu Sep 16 07:38:08 1999
@@ -143,6 +143,7 @@
 #endif /* __sparc__ */
+#ifndef __powerpc__
 extern __inline__ void regw(unsigned int regindex, unsigned long regdata)
     unsigned long appaddr;
@@ -175,6 +176,7 @@
     return (*(__volatile__ int *)appaddr);
+#endif /* __powerpc__ */
 extern __inline__ void regwb(unsigned int regindex, unsigned char regdata)

Reply to: