On Thu, Jul 05, 2018 at 09:10:54AM -0700, Ravi Pokala wrote:
> Hi Brooks,
> 
> -----Original Message-----
> From: <owner-src-committ...@freebsd.org> on behalf of Brooks Davis 
> <bro...@freebsd.org>
> Date: 2018-07-05, Thursday at 06:13
> To: <src-committ...@freebsd.org>, <svn-src-all@freebsd.org>, 
> <svn-src-h...@freebsd.org>
> Subject: svn commit: r335979 - in head: . lib/libkvm sys/kern sys/netinet 
> sys/sys usr.bin/netstat usr.bin/sockstat
> 
> > Author: brooks
> > Date: Thu Jul  5 13:13:48 2018
> > New Revision: 335979
> > URL: https://svnweb.freebsd.org/changeset/base/335979
> > 
> > Log:
> >   Make struct xinpcb and friends word-size independent.
> >   
> >   Replace size_t members with ksize_t (uint64_t) and pointer members
> >   (never used as pointers in userspace, but instead as unique
> >   idenitifiers) with kvaddr_t (uint64_t). This makes the structs
> >   identical between 32-bit and 64-bit ABIs.
> ...
> > Modified: head/UPDATING
> > ==============================================================================
> > --- head/UPDATING   Thu Jul  5 11:50:59 2018        (r335978)
> > +++ head/UPDATING   Thu Jul  5 13:13:48 2018        (r335979)
> > @@ -31,6 +31,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
> >     disable the most expensive debugging functionality run
> >     "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
> >  
> > +20180705:
> > +   The ABI of syscalls used by management tools like sockstat and
> > +   netstat has been broken to allow 32-bit binaries to work on
> > +   64-bit kernels without modification.
> 
> Isn't that what the compat32 layer is for?

compat32 isn't magic.  If one tried, one could hardly design structures
to make 32-bit compat harder then the previous versions.  It's certainly
possible to make work, but quite annoying.  Since the ABI of most these
structures was already broken for 12, I chose this approach as it is
quite trivial.

> > These programs will need
> > +   to match the kernel in order to function.  External programs may
> > +   require minor modifications to accommodate a change of type in
> > +   structures from pointers to 64-bit virtual addresses.
> 
> Doesn't this contradict the earlier statement about letting things run 
> unmodified?

Unmodified post this commit.  We already don't support netstat and
sockstat from 11 on 12 in any architecture combination.

-- Brooks

Attachment: signature.asc
Description: PGP signature

Reply via email to