Date: Tue, 18 Jul 95 14:40:04 MDT From: terry@cs.weber.edu (Terry Lambert) To: bugs@ns1.win.net (Mark Hittinger) Cc: hackers@freebsd.org Subject: Re: UID > 65536 works ? (fwd) Message-ID: <9507182040.AA24717@cs.weber.edu> In-Reply-To: <199507181742.NAA00760@ns1.win.net> from "Mark Hittinger" at Jul 18, 95 01:42:42 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > Confess your 64 bit needs, as I have. Come clean. > Like in vfs_bios where it does a compare for <long> * <long> > <quad>, where we know operator precedence will allow the <long> * <long> result to be <long>, then convert it to <quad> for the compare (disabling read ahead for all file ranges > 32 bits)? Or the use of a signed long value for a bitmask being anded with a quad mask value, which just *happens* to work because the high bit is set in the mask and the mask variable is *incorrectly* signed so a sign extension takes place setting all the upper bits to one? The 64 bit code is largely broken in both NetBSD and FreeBSD. Someone with lot of time on their hands needs to go through and check every quad value in the kernel. For filler values in structures, character arrays should be used instead of assuming sizeof(short) == 2 or sizeof(long) == 4; there's even a *quad* being used as filler (GACK). There's also dependence on quad support in the current code, which I guess is OK if we nail ourselves permaently to the cross of GCC. I'd prefer to macroize structure declarations, divides, etc. to ensure portability to "quad-not-supported" environemnts. At the same time, the use of only the long value instead of the quad implies a certain amount of endien-ness: is the high or low order long the MSB of the quad? On Intel, it's the high order (the second long). This bears on, for instance, mounting UFS file systems under DOS. Those kind of "64 bit needs"? Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9507182040.AA24717>