On Fri, Jun 25, 2004 at 10:53:07AM -0700, Mark Vojkovich wrote:
> On Fri, 25 Jun 2004, Nicolas Joly wrote:
> 
> > On Thu, Jun 24, 2004 at 10:13:54AM -0700, Mark Vojkovich wrote:
> > >    It might be that there is some mismatch in types on amd64.
> > > Eg. FB_SHIFT vs FbBits.  It's hard to follow what's going on
> > > in fb.h.
> >
> > Agreed, i'm not comfortable with that piece of code.
> >
> > But, in my case, FB_SHIFT is defined to 5 and sizeof(FbBits) to 4.
> 
>    There is some code in fb.h that suggests that it might have been
> expecting FB_SHIFT == 6 for amd64.  Seems like it should have worked
> either way though.

I thought about it, but the only define for FB_SHIFT (in fb.h):

#ifndef FB_SHIFT
#define FB_SHIFT    LOG2_BITMAP_PAD
#endif

and LOG2_BITMAP_PAD is only defined in servermd.h :

#ifndef BITMAP_SCANLINE_PAD
#define BITMAP_SCANLINE_PAD  32
#define LOG2_BITMAP_PAD         5
#define LOG2_BYTES_PER_SCANLINE_PAD     2
#endif

I suspect it cannot be changed easily ...

>    Looks like it walked off the edge of the "FbStip *src" array.
> I suspect:
> 
>     src += srcStride;
>        or
>     src += srcX >> FB_STIP_SHIFT;
> 
> is overincrementing.

I'll check this.

-- 
Nicolas Joly

Biological Software and Databanks.
Institut Pasteur, Paris.
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to