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

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



On Wed, Sep 22, 1999 at 04:04:41AM -0400, Ben Collins wrote:
> On Wed, Sep 22, 1999 at 03:23:10PM +0200, Sven LUTHER wrote:
> > On Tue, Sep 21, 1999 at 07:53:00PM +0200, Hartmut Koptein wrote:
> > > > > And another mistake in the patch, should have waited a bit more before posting,
> > > > > but since i was going away, i wanted to make things available.
> > > > > 
> > > > > Anyway, the build process breaks again læter, didn't have time to check it out
> > > > > though.
> > > > > 
> > > > > So the correct patch for the mach64 stuff follows.
> > > > 
> > > > Could you try the 3.3.5 source that was installed yesterday? It built fine
> > > > on sparc (which 3.3.4-2 didn't do).
> > > 
> > > No, 3.3.5 is also broken:
> > > 
> > > 
> > > rm -f mach64im.o
> > > gcc -c -O2 -fsigned-char  -I../../../../../programs/Xserver/hw/xfree86/common -I.
> > 
> > Yes,
> > 
> > Noticed that also, 
> > 
> > I have a patch and are compiling right no will upload everything tomorrow.
> > 
> > ( notice that the patch is the part of the patch i posted previously, the one
> >   commenting out regwbe in mach64im.c)
> 
> As I said before commenting that out will break sparc, please add "#ifdef
> __sparc__" around the function instead.

Huh ???

Ok, but it makes no sense to have regwbe for sparc in mach64im.c, and having
regw,regr and regwbe for other archs in regmach64.h.

NOt sure if it is the right place, since the functions will be copied over all
files that includes regmach64.h, maybe they are not counted, because they are
inlined function anyway.

Anyway, i made a patch that lets me compile 3.3.5 on ppc, and should be ok for
sparc also. Please check it, and if i made a mistake, correct it on the patch,
instead of saying it don't compile on sparc and thus should be rejected. I
understand that sparc is in stable and powerpc not, but that is not a
constructive way of handling things.

So i attach here two files :

026_mach64_ppc_fix.diff that fixes the above mentioned problem, and 
027_fbdev_pm2_fix.diff that fixes a link error with the pm2 fbdev server.

Also i am uploading this stuff to master, the packages are numbered 3.3.5-1.1,
but i am not uploading sources, hope that will work.

Friendly,

Sven LUTHER
--- xc/programs/Xserver/hw/xfree86/accel/mach64/mach64im.c.orig	Tue Sep 21 21:18:57 1999
+++ xc/programs/Xserver/hw/xfree86/accel/mach64/mach64im.c	Tue Sep 21 21:19:11 1999
@@ -77,11 +77,6 @@
     unsigned char bytes[4];
 };
 
-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)
 {
     union intbytes c,a;
--- xc/programs/Xserver/hw/xfree86/accel/mach64/regmach64.h.orig	Wed Sep 22 17:15:47 1999
+++ xc/programs/Xserver/hw/xfree86/accel/mach64/regmach64.h	Wed Sep 22 17:15:51 1999
@@ -788,6 +788,13 @@
   *(unsigned long *)(mach64MemReg + regindex) = regdata;
 }
 
+#elif defined (__sparc__)
+
+static inline void regwbe(volatile unsigned long regindex, unsigned long regdata
+)
+{
+  *(unsigned long *)(mach64MemReg + regindex) = regdata;
+}
 #endif	/* FBDEV_SERVER */
 
 /* Wait until "v" queue entries are free */
--- xc/programs/Xserver/Imakefile.orig	Wed Sep 22 08:48:42 1999
+++ xc/programs/Xserver/Imakefile	Wed Sep 22 17:09:19 1999
@@ -1690,10 +1690,14 @@
 IMSTTDIR = hw/xfree68/imstt
 FBDEVFBLIBS:= $(FBDEVFBLIBS) $(XF68SRC)/imstt/LibraryTargetName(imstt)
 #endif
+#if XF68FBDevIMSTT
+PM2DIR = hw/xfree68/pm2
+FBDEVFBLIBS:= $(FBDEVFBLIBS) $(XF68SRC)/pm2/LibraryTargetName(pm2)
+#endif
 XF68FBDevSUBDIRS = $(STDDIRS) $(MFBDIR) $(IPLAN2P2DIR) $(IPLAN2P4DIR) \
                    $(IPLAN2P8DIR) $(ILBMDIR) $(AFBDIR) $(CFB8DIR) \
                    $(CFB16DIR) $(CFB24DIR) $(CFB32DIR) $(DDXDIR3) $(DEPDIRS) \
-		   $(NCR77C32DIR) $(MACH64DIR) $(IMSTTDIR)
+		   $(NCR77C32DIR) $(MACH64DIR) $(IMSTTDIR) $(PM2DIR)
 XF68FBDevOBJS = $(XF68COMSRC)/XF68_FBDev.o
 XF68FBDevLIBS = $(XF68SRC)/fbdev/LibraryTargetName(fbdev) $(XF68LIBS) \
                 PreFbLibs $(FBDEVFBLIBS) PostFbLibs

Reply to: