size_t changes and 32/64-bit, kernel uio_resid type changed.
Garance A Drosihn
drosih at rpi.edu
Wed Aug 19 10:00:04 PDT 2009
At 9:49 PM -0700 8/18/09, Matthew Dillon wrote:
size_t has been changed to unsigned long (and ssize_t to long). I may
revert this prior to the release if we hit pkgsrc problems. The change
will be kept for 64-bit machines.
The change on 32 bit machines seems to do a pretty good job generating
compiler warnings on 32-bit machines for code that will break on
64-bit machines. Because of this I think it is worth seeing how badly
pkgsrc breaks with the change. If it breaks too much we will revert
it on 32 bit machines.
Isn't this explicitly wrong? Isn't ssize_t defined as holding all
valid values of size_t, *plus* some extra values which can be used
for error indications?
To quote SUSv3:
"The type ssize_t shall be capable of storing values at least
in the range [-1, {SSIZE_MAX}]"
So are you defining SSIZE_MAX to be smaller than maximum-long?
--
Garance Alistair Drosehn = gad at gilead.netel.rpi.edu
Senior Systems Programmer or gad at freebsd.org
Rensselaer Polytechnic Institute or drosih at rpi.edu
More information about the Kernel
mailing list