svn commit: r335979 - in head: . lib/libkvm sys/kern sys/netinet sys/sys usr.bin/netstat usr.bin/sockstat

Brooks Davis brooks at freebsd.org
Thu Jul 5 16:33:45 UTC 2018


On Thu, Jul 05, 2018 at 09:10:54AM -0700, Ravi Pokala wrote:
> Hi Brooks,
> 
> -----Original Message-----
> From: <owner-src-committers at freebsd.org> on behalf of Brooks Davis <brooks at FreeBSD.org>
> Date: 2018-07-05, Thursday at 06:13
> To: <src-committers at freebsd.org>, <svn-src-all at freebsd.org>, <svn-src-head at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20180705/d919aa38/attachment.sig>


More information about the svn-src-all mailing list