I know the WinIB source tree will not compile with the Vista (or later)
WDK (at least will not compile for checked 32-bit platforms). The
problem is the compiler aborts when processing __ptr64 pointers inside a
structure. The WinIB stack uses this in LOTS of places. 

I'm not super optimistic about Microsoft fixing the compiler anytime
soon, because I also see compiler bugs in the code generation for
InterlockedAnd (and other Interlocked functions) that have been know for
more than a year, are not fixed. The most recent WDK betas seems to have
a fix for InterlockedAnd in the debug build, but the free build still
gets it wrong.

The following will reproduce the __ptr64 bug:

---------------------------------------------------------------
#include <ntddk.h>

struct {
      void (* __ptr64 funcPtr)(long val);
} *var1;




void test(long val)
{
        if (val == 0)
                return;

        // the following line crashes the 6000/6001 WDK 32-bit compiler
with
        // error C1001: An internal error has occurred in the compiler.
        var1->funcPtr(0);
}

NTSTATUS DriverEntry(PDRIVER_OBJECT  DriverObject, PUNICODE_STRING
RegistryPath)
{
        var1->funcPtr = &test;
        test(1);
        return STATUS_SUCCESS;
}
--------------------------------------------------------------

The InterlockedAnd bug shows up in code like:

// atomic test and clear
If (InterlockedAnd(&flag, 0)) {
        // this code never executes
        // InterlockedAnd is documented to return the old value
        // but actually returns the modified value
}

Binaries compiled using the W2k3 SP1 DDK can run on Vista, but doing
development on the latest tools is a serious problem. I view it a
Microsoft problem, since it was something in the Vista (and later) WDK
compiler that broke.

- Jan


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mirko Benz
Sent: Friday, May 25, 2007 1:38 AM
To: [email protected]
Subject: [ofw] Vista supported?

Hi,

What is the status of support for Vista? Should SRP work?

Regards,
Mirko
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to