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

Matthew Macy mat.macy at gmail.com
Fri Jul 6 01:45:35 UTC 2018


this breaks the MIPS builds.

On Thu, Jul 5, 2018 at 9:33 AM, Brooks Davis <brooks at freebsd.org> wrote:
> 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


More information about the svn-src-head mailing list