cvs commit: src/sys/vm vm_map.c

Brian Fundakowski Feldman green at FreeBSD.org
Mon Jun 28 13:18:23 PDT 2004


On Mon, Jun 28, 2004 at 03:59:40PM -0400, Andrew Gallatin wrote:
> 
> Brian Fundakowski Feldman writes:
>  > On Mon, Jun 28, 2004 at 03:22:33PM -0400, Andrew Gallatin wrote:
>  > > Andrew Gallatin [gallatin at FreeBSD.org] wrote:
>  > > > gallatin    2004-06-28 19:15:40 UTC
>  > > > 
>  > > >   FreeBSD src repository
>  > > > 
>  > > >   Modified files:
>  > > >     sys/vm               vm_map.c 
>  > > >   Log:
>  > > >   Fix alpha - the use of min() on longs was loosing the high bits and
>  > > >   returning wrong answers, leading to strange values vm2->vm_{s,t,d}size.
>  > > 
>  > > Why are min() and max() inlines which operate on ints?  This seems
>  > > like a real landmine for 64-bit platforms..
>  > 
>  > Also, why is GCC not generating the correct warnings?  The values passed
>  > in were definitely a 64-bit type.  Thanks for finding and fixing this.
> 
> I wish I knew.   I'm afraid this may bite us at some other point?

GCC not actually type-checking here is certainly a bug from my
viewpoint and one whose existence makes me more than a little
worried about further problems with min() and friends (ones that
I did not introduced ;).  Are there any GCC experts that can help
out, here?

>  > The inlines seem to exist to work around the effect of using macros
>  > unknowingly on statements with side effects.  These should really be
>  > MIN(), and there seems to have been an extra tab that crept in.  Do
>  > you think you could change those things?
> 
> Sure.  Already done.  Thanks for the blessing to use MIN().

Thanks again!

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the cvs-src mailing list