freebsd-skq/lib
Peter Wemm 43151ee6cf Merge user/peter/kinfo branch as of r185547 into head.
This changes struct kinfo_filedesc and kinfo_vmentry such that they are
same on both 32 and 64 bit platforms like i386/amd64 and won't require
sysctl wrapping.

Two new OIDs are assigned.  The old ones are available under
COMPAT_FREEBSD7 - but it isn't that simple.  The superceded interface
was never actually released on 7.x.

The other main change is to pack the data passed to userland via the
sysctl.  kf_structsize and kve_structsize are reduced for the copyout.
If you have a process with 100,000+ sockets open, the unpacked records
require a 132MB+ copyout.  With packing, it is "only" ~35MB.  (Still
seriously unpleasant, but not quite as devastating).  A similar problem
exists for the vmentry structure - have lots and lots of shared libraries
and small mmaps and its copyout gets expensive too.

My immediate problem is valgrind.  It traditionally achieves this
functionality by parsing procfs output, in a packed format.  Secondly, when
tracing 32 bit binaries on amd64 under valgrind, it uses a cross compiled
32 bit binary which ran directly into the differing data structures in 32
vs 64 bit mode.  (valgrind uses this to track file descriptor operations
and this therefore affected every single 32 bit binary)

I've added two utility functions to libutil to unpack the structures into
a fixed record length and to make it a little more convenient to use.
2008-12-02 06:50:26 +00:00
..
bind Update for version 9.4.2-P2 2008-09-01 22:55:23 +00:00
csu Add -fno-omit-frame-pointer to CFLAGS used to compile crt1.c on amd64. 2008-08-22 09:23:39 +00:00
libalias
libarchive When running on a filesystem that lacks ACL support, 2008-11-17 21:06:17 +00:00
libautofs
libbegemot
libbluetooth Import handy shorthand Bluetooth address (BD_ADDR) utility functions 2008-08-13 19:35:31 +00:00
libbsm
libbsnmp
libbz2
libc The times(3) function returns the number of CLK_TCKs since the 2008-12-01 15:27:00 +00:00
libc_r Call the fcntl compatiblity wrapper from the thread library fcntl wrappers 2008-05-30 14:47:42 +00:00
libcalendar
libcam Supply a valid Connect ID when issuing XPT_DEV_MATCH, which 2008-10-27 21:46:58 +00:00
libcom_err
libcompat Turn sgtty into a binary-only compatibility interface. 2008-06-14 10:42:18 +00:00
libcrypt
libdevinfo
libdevstat
libdisk Add MIPS support to libdisk 2008-05-04 22:24:40 +00:00
libdwarf Add a BSD licensed DWARF library for use by the DTrace clients. 2008-05-22 02:14:23 +00:00
libedit
libelf Relax the strict type check because gcc as distributed doesn't create 2008-05-23 07:35:36 +00:00
libexpat Update the lib/expat tree for the new v2.0.1 expat import. The bsdxml.h 2008-05-08 14:01:42 +00:00
libfetch Don't fail mistakenly with -r when we already have the whole file. 2008-10-24 07:56:01 +00:00
libftpio Don't set the _file member of the FILE when opening a FTP connection. 2008-05-08 20:05:30 +00:00
libgeom - Update the libgeom manpage with a description of g_device_path and 2008-09-08 06:27:00 +00:00
libgpib
libgssapi Add an implementation of the RPCSEC_GSS authentication protocol for RPC. This 2008-08-06 14:02:05 +00:00
libipsec
libipx
libkiconv
libkse Call the fcntl compatiblity wrapper from the thread library fcntl wrappers 2008-05-30 14:47:42 +00:00
libkvm MFp4: 2008-11-29 14:32:14 +00:00
libmagic
libmd
libmemstat
libmilter
libmp
libncp
libnetgraph
libngatm
libopie
libpam Add new heimdal-1.1 library. 2008-05-15 15:28:18 +00:00
libpcap Add links to all libpcap functions. 2008-08-28 11:48:49 +00:00
libpmc Update description of an event. 2008-11-27 09:21:37 +00:00
libproc Merge latest DTrace changes from Perforce. 2008-11-05 19:35:43 +00:00
libradius
librpcsec_gss Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
librpcsvc
librt atomic_fetchadd_int works on unsigned quantities - change 2008-08-15 21:08:48 +00:00
libsbuf
libsdp
libsm
libsmb
libsmdb
libsmutil
libstand use the correct variable in a debug message. 2008-11-21 09:14:29 +00:00
libtacplus
libtelnet
libthr Invoke _rtld_atfork_post earlier, before we reinitialize rtld locks 2008-12-01 21:00:25 +00:00
libthread_db Allow psaddr_t to be widened by using thr_pread_{int,long,ptr}, 2008-09-14 16:07:21 +00:00
libufs
libugidfw
libusb20 src/lib/libusb20/libusb20_compat01.c 2008-11-25 08:04:40 +00:00
libusbhid
libutil Merge user/peter/kinfo branch as of r185547 into head. 2008-12-02 06:50:26 +00:00
libvgl
libwrap
liby
libypclnt
libz
msun Remove some unused variables. 2008-08-08 00:21:27 +00:00
ncurses - Update ncurses to 5.7-20081102 (5.7 release) and build glue 2008-11-15 09:23:48 +00:00
Makefile src/sys/dev/usb2/controller/uss820dci_pccard.c 2008-11-19 08:56:35 +00:00
Makefile.inc