freebsd-src/lib
Konstantin Belousov 6992112349 Commit the 64-bit inode project.
Extend the ino_t, dev_t, nlink_t types to 64-bit ints.  Modify
struct dirent layout to add d_off, increase the size of d_fileno
to 64-bits, increase the size of d_namlen to 16-bits, and change
the required alignment.  Increase struct statfs f_mntfromname[] and
f_mntonname[] array length MNAMELEN to 1024.

ABI breakage is mitigated by providing compatibility using versioned
symbols, ingenious use of the existing padding in structures, and
by employing other tricks.  Unfortunately, not everything can be
fixed, especially outside the base system.  For instance, third-party
APIs which pass struct stat around are broken in backward and
forward incompatible ways.

Kinfo sysctl MIBs ABI is changed in backward-compatible way, but
there is no general mechanism to handle other sysctl MIBS which
return structures where the layout has changed. It was considered
that the breakage is either in the management interfaces, where we
usually allow ABI slip, or is not important.

Struct xvnode changed layout, no compat shims are provided.

For struct xtty, dev_t tty device member was reduced to uint32_t.
It was decided that keeping ABI compat in this case is more useful
than reporting 64-bit dev_t, for the sake of pstat.

Update note: strictly follow the instructions in UPDATING.  Build
and install the new kernel with COMPAT_FREEBSD11 option enabled,
then reboot, and only then install new world.

Credits: The 64-bit inode project, also known as ino64, started life
many years ago as a project by Gleb Kurtsou (gleb).  Kirk McKusick
(mckusick) then picked up and updated the patch, and acted as a
flag-waver.  Feedback, suggestions, and discussions were carried
by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles),
and Rick Macklem (rmacklem).  Kris Moore (kris) performed an initial
ports investigation followed by an exp-run by Antoine Brodin (antoine).
Essential and all-embracing testing was done by Peter Holm (pho).
The heavy lifting of coordinating all these efforts and bringing the
project to completion were done by Konstantin Belousov (kib).

Sponsored by:	The FreeBSD Foundation (emaste, kib)
Differential revision:	https://reviews.freebsd.org/D10439
2017-05-23 09:29:05 +00:00
..
atf Don't bake all of CC/CPP/CXX into CFLAGS 2016-09-01 02:42:11 +00:00
clang Add function and data sections when building llvm, clang, lld and lldb, 2017-04-20 21:00:09 +00:00
csu Rework r234502 to include a modified CFLAGS along with ACFLAGS. 2017-04-07 19:53:14 +00:00
lib80211 [lib80211] fix a missing cleanup path. 2017-04-14 20:10:18 +00:00
libalias Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:34:59 +00:00
libarchive Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libauditd Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:55:21 +00:00
libbegemot Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:55:43 +00:00
libblacklist DIRDEPS_BUILD: Connect new directories and update dependencies. 2016-06-03 19:25:30 +00:00
libblocksruntime Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:56:10 +00:00
libbluetooth Make cached Bluetooth LE host advertise information visible from userland. 2017-04-27 15:03:24 +00:00
libbsdstat Fix off by one error in index limit calculation 2016-05-16 15:42:59 +00:00
libbsm Merge OpenBSM 1.2-alpha5 from vendor branch to FreeBSD -CURRENT: 2017-03-26 21:14:49 +00:00
libbsnmp DIRDEPS_BUILD: Update dependencies. 2017-05-09 01:48:23 +00:00
libbz2 Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 03:58:50 +00:00
libc Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libc++ Belatedly add variant.cpp to libc++. This completes the support for the 2017-02-19 14:53:59 +00:00
libc++experimental Add PICFLAG to build libc++experimental.a, so it can be used in all 2017-05-21 21:33:15 +00:00
libc_nonshared Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:04:25 +00:00
libcalendar First pass through library packaging. 2016-02-04 21:16:35 +00:00
libcam Use __FBSDID instead of the license agreement to embed the $FreeBSD$ RCS keyword 2017-04-06 05:36:35 +00:00
libcapsicum capsicum_helpers: Add LOOKUP flag 2016-12-16 01:37:44 +00:00
libcasper In libcasper, prefer to send a function index or service name over the IPC 2017-03-23 14:35:21 +00:00
libclang_rt Merge ^/head r312968 through r313054. 2017-02-01 21:21:01 +00:00
libcom_err Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:51:36 +00:00
libcompat Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
libcompiler_rt [libcompiler-rt] add bswapdi2/bswapsi2 2017-05-21 23:15:32 +00:00
libcrypt Increase WARNS for libcrypt tests 2017-03-11 00:07:04 +00:00
libcuse libcuse: make more use of the howmany() macro when available. 2016-04-26 01:20:16 +00:00
libcxxrt Surround any unmangled C++ names in libcxxrt's version map with 'extern 2017-02-22 18:44:57 +00:00
libdevctl Implement 'devctl clear driver' to undo a previous 'devctl set driver'. 2016-08-29 22:48:36 +00:00
libdevdctl Use .CURDIR:H instead of .CURDIR to simplify pathing in output, etc 2017-01-20 04:55:14 +00:00
libdevinfo MFH 2016-04-04 23:55:32 +00:00
libdevstat First pass through library packaging. 2016-02-04 21:16:35 +00:00
libdpv MFH 2016-03-02 16:14:46 +00:00
libdwarf Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:54:21 +00:00
libedit editline.3: Add missing argument to H_SET description 2017-04-28 21:05:28 +00:00
libefivar Fix a coverity-discovered NULL pointer dereference. 2017-03-23 02:30:57 +00:00
libelf Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:54:09 +00:00
libelftc libelftc: bump version number for r317075 2017-04-17 23:57:42 +00:00
libevent [private] add libevent1 and sqlite3 include files for our private libraries. 2017-03-27 22:34:43 +00:00
libexecinfo Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:53:40 +00:00
libexpat Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:53:45 +00:00
libfetch r308996 broke IP literals by assuming that a colon could only occur as 2017-03-17 14:18:52 +00:00
libfigpar MFH 2016-03-02 16:14:46 +00:00
libgcc_eh libcc_{s,eh}: build without SSP 2016-11-11 23:28:07 +00:00
libgcc_s Apply r315689 to lib/libgcc_s as well to unbreak the gcc xtoolchain build 2017-03-28 19:01:01 +00:00
libgeom Minor style(9) fixups 2017-04-23 03:36:03 +00:00
libgpio Use GPIOTOGGLE to toggle the pin state instead of read, modify and write. 2016-04-19 15:18:31 +00:00
libgssapi lib: initial use of reallocarray(3). 2017-04-21 19:27:33 +00:00
libiconv_modules lib: initial use of reallocarray(3). 2017-04-21 19:27:33 +00:00
libifconfig Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
libipsec Add large replay widow support to setkey(8) and libipsec. 2017-04-13 14:44:17 +00:00
libjail libjail: make allocation in jailparam_all() somewhat more robust. 2017-04-16 19:23:10 +00:00
libkiconv Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:50:46 +00:00
libkvm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libldns Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:50:19 +00:00
liblzma Use SRCTOP-relative paths and .CURDIR with :H instead of ".." specified paths 2017-01-20 04:46:20 +00:00
libmagic Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:45:09 +00:00
libmd Fix bootstrapping libmd on older systems after r314709. 2017-03-06 21:06:55 +00:00
libmemstat Fix buildworld for powerpc. 2016-11-20 06:10:12 +00:00
libmilter Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libmp Increase WARNS for libmp tests 2017-03-11 00:08:11 +00:00
libmt Add LTO-8 density codes. 2017-05-11 13:46:30 +00:00
libnandfs First pass through library packaging. 2016-02-04 21:16:35 +00:00
libnetbsd libnetbsd: add emalloc and friends 2017-04-06 14:36:08 +00:00
libnetgraph First pass through library packaging. 2016-02-04 21:16:35 +00:00
libngatm Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:41:53 +00:00
libnv Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:40:55 +00:00
libopenbsd First pass through library packaging. 2016-02-04 21:16:35 +00:00
libopie Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:40:10 +00:00
libpam Add options to capture stdout and / or stderr and pass the output on 2017-03-22 13:16:04 +00:00
libpathconv Fix two CURDIR references in comments that should be SRCTOP 2017-03-12 18:59:05 +00:00
libpcap Stop installing pcap-int.h, which is the internal interface for libpcap. 2017-03-07 16:06:53 +00:00
libpe Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:37:03 +00:00
libpjdlog MFH 2016-03-02 16:14:46 +00:00
libpmc pmc_read(3): fix manlint error 2017-04-07 06:06:55 +00:00
libproc Ensure that the mappings table is populated in proc_objname(). 2017-05-22 23:21:24 +00:00
libprocstat Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libradius The NAS-Identifier attribute is a string, not an integer. 2016-05-24 11:44:43 +00:00
librpcsec_gss Fix a potential problem where we might try to shift by more than 31 bits 2017-04-25 10:29:08 +00:00
librpcsvc Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:36:28 +00:00
librss librss: simplify some NULL checks. 2017-02-27 00:10:00 +00:00
librt Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:36:06 +00:00
librtld_db Avoid double-closing an fd if elf_begin() fails. 2017-03-22 18:14:55 +00:00
libsbuf Use __FBSDID instead of the license agreement to embed the $FreeBSD$ RCS keyword 2017-04-06 05:36:35 +00:00
libsdp lib: minor spelling fixes in comments. 2016-05-01 19:37:33 +00:00
libsm Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:35:36 +00:00
libsmb Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:35:00 +00:00
libsmdb Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:35:18 +00:00
libsmutil Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:34:34 +00:00
libsqlite3 [private] add libevent1 and sqlite3 include files for our private libraries. 2017-03-27 22:34:43 +00:00
libstand libstand: increase nfs max read size to 16k 2017-05-16 17:35:05 +00:00
libstdbuf First pass through library packaging. 2016-02-04 21:16:35 +00:00
libstdthreads Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:33:45 +00:00
libsysdecode DIRDEPS_BUILD: Update dependencies. 2017-05-09 01:48:23 +00:00
libtacplus First pass through library packaging. 2016-02-04 21:16:35 +00:00
libtelnet Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:32:36 +00:00
libthr Revert r318583 (libthr: use default WARNS level of 6) 2017-05-22 13:21:28 +00:00
libthread_db libthread_db: unbreak build due to sign/unsigned comparison. 2017-04-20 21:01:59 +00:00
libucl Use SRCTOP to find the sources of libucl 2016-10-15 13:17:27 +00:00
libufs Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
libugidfw First pass through library packaging. 2016-02-04 21:16:35 +00:00
libulog Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:29:23 +00:00
libunbound Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:31:19 +00:00
libusb Fix libusb20_dev_get_desc(3) to use the "vendor product" order, not 2016-10-22 14:37:13 +00:00
libusbhid Sync ^/vendor/NetBSD/tests/dist with upstream 2017-01-12 07:26:39 +00:00
libutil lib: initial use of reallocarray(3). 2017-04-21 19:27:33 +00:00
libvgl MFH 2016-04-13 16:19:50 +00:00
libvmmapi Capsicum support for bhyve(8). 2017-02-14 13:35:59 +00:00
libwrap Use SRCTOP instead of .CURDIR-relative path in .PATH directive 2017-01-18 18:14:50 +00:00
libxo Import libxo-0.7.2; add xo_options.7. 2017-05-16 18:46:56 +00:00
liby Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
libypclnt Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones 2017-01-20 04:28:41 +00:00
libz Add missing double quote to fix r316635 commit. 2017-04-09 03:50:48 +00:00
libzstd DIRDEPS_BUILD: Connect new directories. 2017-05-09 01:48:14 +00:00
msun Silence a -Wunused warning about the junk variable being used to raise 2017-05-13 22:36:54 +00:00
ncurses Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
tests Merge ^/user/ngie/release-pkg-fix-tests to unbreak how test files are installed 2016-05-04 23:20:53 +00:00
Makefile For now, disable building libc++experimental for arm, since there are a 2017-05-22 16:13:30 +00:00
Makefile.inc