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
signature.asc
Description: PGP signature