Win64 patch 3/6 (resend)

Ge van Geldorp ge at gse.nl
Tue Jul 25 02:22:34 CDT 2006


> From: Dmitry Timoshkov [mailto:dmitry at codeweavers.com] 
> 
> What exactly size is required then to avoid an assert?

This is the assert:

assert( sizeof(union generic_request) == sizeof(struct request_max_size) );

So the way the assert is written now "struct request_max_size" should have a
size exactly equal to the largest of any of the individual request_*
structures. Each of these request_* structures can contain a mix of 32-bit
and 64-bit (on Wine64) members.

> > Perhaps. It would become
> > 
> > struct request_max_size
> > {
> >    long pad[10];
> >    int pad1[6];
> > };
> > 
> > then, which seems just as arbitrary.
> 
> No, I meant to make it irrespective to 32 or 64-bit 
> compilation, i.e. look like:
> 
> struct request_max_size
> {
>     long pad[16];
> };

That won't work, it will be too large for Wine64 (the largest request_* is
currently 104 bytes for Wine64, 64 bytes for Wine32) so the assert will
still fail.

Gé van Geldorp.




More information about the wine-devel mailing list