Subject: Re: build problem
To: None <p99dreyf@criens.u-psud.fr, tech-kern@netbsd.org>
From: None <eeh@netbsd.org>
List: tech-kern
Date: 06/02/2001 15:47:34
	It works fine at mine (macppc), but I was told that build fails on
	alpha. The person that reported it was able to build by replacing
	(caddr_t)SCARG(&pta, data)
	by
	(caddr_t)(u_long)SCARG(&pta, data)

	I don't understand why it fails

The reason this won't compile on alpha or any other 64-bit platform
is that 64-bit machines use 64-bit pointers.  The code you have 
there is extending a 32-bit value to 64-bits and using that as a
pointer.  Since the most significant 32-bits are zero, attempts to
use that pointer are likely to point to to the incorrect address and
thus fail.  The only correct solution for 64-bit platforms is to pass
in a 64-bit pointer.

Eduardo