basic amd64 porting issue

Hello,
I’m a windows driver writer but new at amd64 porting. I’m having some
trouble setting up the tools. I installed the server 2003 ddk (build
3790) on my machine (Intel) because I learned I need to crosscompile.
If I’m using the Windows Server 2003 Checked Build Environment (32 Bit)
my driver compiles as before.
But if I’m using the 64 Bit environment I’m getting strange error
messages (see below) that are related to the windows header files.

error C2371: ‘size_t’ : redefinition; different basic types
error C4013: ‘UnsignedMultiplyHigh’ undefined; assuming extern returning int
error C4013: ‘__movsb’ undefined; assuming extern returning int
error C4013: ‘InterlockedIncrement’ undefined; assuming extern returning int

The same happens if I try to compile the original ddk example
“src\kernel\serial”.
Maybee someone knows what’s wrong here.
Thanks,
Uwe

What errors do you get when you compile the serial sample? I am able to
compile it for amd64 target without any warnings or errors.

By the way, these links below are quite helpful if you are porting a driver
to 64 bit.
http://www.microsoft.com/whdc/winhec/partners/64bitAMD.mspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/hh/kmarch/Other_394c38ae-a3e6-45fb-87f2-c3e227cb6b7c.xml.asp

IIRC size_t is 64 bits for amd64, you need to find out where is it getting
redefined and 64 bit DDK C compiler also doesn’t support inline assembly.


Pankaj Garg
This posting is provided “AS IS” with no warranties and confers no rights.

“uwe kirst” wrote in message news:xxxxx@ntdev…
> Hello,
> I’m a windows driver writer but new at amd64 porting. I’m having some
> trouble setting up the tools. I installed the server 2003 ddk (build
> 3790) on my machine (Intel) because I learned I need to crosscompile.
> If I’m using the Windows Server 2003 Checked Build Environment (32 Bit)
> my driver compiles as before.
> But if I’m using the 64 Bit environment I’m getting strange error
> messages (see below) that are related to the windows header files.
>
> error C2371: ‘size_t’ : redefinition; different basic types
> error C4013: ‘UnsignedMultiplyHigh’ undefined; assuming extern returning
int
> error C4013: ‘__movsb’ undefined; assuming extern returning int
> error C4013: ‘InterlockedIncrement’ undefined; assuming extern returning
int
> …
>
> The same happens if I try to compile the original ddk example
> “src\kernel\serial”.
> Maybee someone knows what’s wrong here.
> Thanks,
> Uwe
>
>

Pankaj Garg wrote:

What errors do you get when you compile the serial sample? I am able to
compile it for amd64 target without any warnings or errors.

By the way, these links below are quite helpful if you are porting a driver
to 64 bit.
http://www.microsoft.com/whdc/winhec/partners/64bitAMD.mspx
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/kmarch/hh/kmarch/Other_394c38ae-a3e6-45fb-87f2-c3e227cb6b7c.xml.asp

IIRC size_t is 64 bits for amd64, you need to find out where is it getting
redefined and 64 bit DDK C compiler also doesn’t support inline assembly.

I did not fully install the ddk, that was the problem.
thanks,
Uwe