Commit Graph

4067 Commits

Author SHA1 Message Date
Maxim Sobolev
339efd75a4 Add a new socket option SO_TS_CLOCK to pick from several different clock
sources to return timestamps when SO_TIMESTAMP is enabled. Two additional
clock sources are:

o nanosecond resolution realtime clock (equivalent of CLOCK_REALTIME);
o nanosecond resolution monotonic clock (equivalent of CLOCK_MONOTONIC).

In addition to this, this option provides unified interface to get bintime
(equivalent of using SO_BINTIME), except it also supported with IPv6 where
SO_BINTIME has never been supported. The long term plan is to depreciate
SO_BINTIME and move everything to using SO_TS_CLOCK.

Idea for this enhancement has been briefly discussed on the Net session
during dev summit in Ottawa last June and the general input was positive.

This change is believed to benefit network benchmarks/profiling as well
as other scenarios where precise time of arrival measurement is necessary.

There are two regression test cases as part of this commit: one extends unix
domain test code (unix_cmsg) to test new SCM_XXX types and another one
implementis totally new test case which exchanges UDP packets between two
processes using both conventional methods (i.e. calling clock_gettime(2)
before recv(2) and after send(2)), as well as using setsockopt()+recv() in
receive path. The resulting delays are checked for sanity for all supported
clock types.

Reviewed by:    adrian, gnn
Differential Revision:  https://reviews.freebsd.org/D9171
2017-01-16 17:46:38 +00:00
Dimitry Andric
0219a00679 Add recently added libc++ headers to OptionalObsoleteFiles.inc.
MFC after:	3 days
2017-01-09 19:22:29 +00:00
Enji Cooper
c7af73f3fb Bump WARNS up from 0 to 6
MFC after:	5 days
2017-01-09 05:46:41 +00:00
Dimitry Andric
dc6e1047ce Link llvm-ar to llvm-ranlib, if WITH_CLANG_EXTRAS is enabled. When
invoked as llvm-ranlib, it can create an archive symbol table for
archives of objects compiled for LTO by an LLVM compiler.

Submitted by:	Dan McGregor <danismostlikely@gmail.com>
MFC after:	3 days
2017-01-06 23:05:29 +00:00
Enji Cooper
62b042bedd Carry over r311520 to tools/build/options/WITHOUT_USB_GADGET_EXAMPLES
Discussed with:	wblock

r311520:

Fix src.conf(5) description of WITHOUT_USB_GADGET_EXAMPLES.

PR:		215831
Submitted by:	p5B2E9A8F@t-online.de
MFC after:	1 week
X-MFC with:	r311520
Sponsored by:	iXsystems
2017-01-06 21:08:19 +00:00
Enji Cooper
7a7c1b805c Add integration makefile for contrib/bsnmp/gensnmpdef
It's a whole lot less error prone than generating the file completely
by hand.

MFC after:	1 week
2017-01-06 10:15:17 +00:00
Jung-uk Kim
4c3d1ae2b2 Remove llvm-objdump when Clang is disabled. It was missed in r310889.
Submitted by:	dim
2017-01-04 21:55:52 +00:00
Enji Cooper
c9940f8cad Add WITH_SSP to silence complaints from mkman about there not being a file
MFC after:	3 days
2017-01-02 20:09:09 +00:00
Enji Cooper
386ab50591 Add documentation for MK_EFI added in r307243 2017-01-02 20:07:56 +00:00
Enji Cooper
cfd05404a9 Install bsnmpclient(3) as snmp_client_{init,set_host,set_port}(3)
MFC after:	3 days
X-MFC with:	r310999
2017-01-01 05:21:08 +00:00
Jung-uk Kim
a2795311af Do not remove llvm-objdump. It is installed by default since r310840. 2016-12-31 06:07:48 +00:00
Enji Cooper
027e68613c Install {asn1,bsnmpagent,bsnmpclient,bsnmplib}.3 as all of the APIs
they document

Also, alphabetically sort MAN

MFC after:	3 days
2016-12-28 23:55:18 +00:00
Andriy Voskoboinyk
fdf6944b35 rum.4, run.4, runfw.4, zyd.4: do not install when MK_USB == no.
While here, add missing if_rtwn_usb.4.gz symlink into
OptionalObsoleteFiles.inc
2016-12-28 09:32:02 +00:00
Enji Cooper
4568bf74f4 Only build/install usr.sbin/bsnmpd/modules/snmp_hast if MK_HAST != no
MFC after:	1 week
2016-12-28 05:21:22 +00:00
Enji Cooper
38bf4fd787 Only build/install usr.sbin/bsnmpd/modules/snmp_wlan if MK_WIRELESS != no
MFC after:	1 week
2016-12-28 05:16:41 +00:00
Enji Cooper
f66b889d00 Install snmpmod.3 as all of the bsnmpd APIs it documents
MFC after:	3 days
2016-12-28 03:56:25 +00:00
Glen Barber
925c8adecf Comment the RCSID.
Sponsored by:	The FreeBSD Foundation
2016-12-19 15:09:30 +00:00
Ed Maste
a97b71605a Build loaders reproducibly when WITH_REPRODUCIBLE_BUILD
When WITH_REPRODUCIBLE_BUILD=yes is set in src.conf(5), eliminate the
time, user, and host from the loader's version information.  This allows
builds to produce bit-for-bit identical output.

Reviewed by:	bapt
MFC after:	1 month
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D8842
2016-12-19 14:45:59 +00:00
Baptiste Daroussin
b5120bcd3b Document the fact that cldr tools are not working by default and should be
rebuilt
2016-12-18 14:10:24 +00:00
Baptiste Daroussin
136c30bc4e Disable timedef generation, cldr data are too far from freebsd extensions 2016-12-18 14:04:17 +00:00
Baptiste Daroussin
28fded59b4 Update locales cldr to v30.0.3 and unicode to 9.0.0
MFC after:	1 month
Relnotes:	yes
2016-12-18 04:17:13 +00:00
Baptiste Daroussin
1aa032fba1 In order to prepare cldr v30.0.3 and unicode 9.0.0,
more locales are removed from automatic mapping from unicode as their
encoding does not supports new characters available in unicode
2016-12-18 04:12:45 +00:00
Baptiste Daroussin
a5718682d1 Better handle posix names for locales 2016-12-18 04:11:13 +00:00
Baptiste Daroussin
21dd98964e Simplify extraction of static collation definition 2016-12-18 02:02:33 +00:00
Baptiste Daroussin
65bae9164a Prepare import of CLDR v30.3 and unicode 9.0.0
Upstream kk_Cyrl_KZ has been renamed kk_KZ
Upstream mn_Cyrl_MN has been renamed mn_MN

For ru_RU: the default currency for unicode is now ₽ which is not mapped to
other encoding, add charmaps entries to be able to generate them
2016-12-18 01:52:16 +00:00
Dimitry Andric
7a53f9a7c1 Merge ^/head r310169 through r310190. 2016-12-17 18:33:41 +00:00
Enji Cooper
9e373074b7 Remove lib/libelf's manpages if MK_TOOLCHAIN == no
Add a comment to help figure out which set is lib/libelf's and which set
is lib/libelftc's

MFC after:	1 week
2016-12-17 03:41:16 +00:00
Enji Cooper
4cc3366de2 Install the lib/libelftc manpages
Some other manpages, e.g. c++filt reference these

MFC after:	1 week
2016-12-17 03:34:51 +00:00
Dimitry Andric
3ffd353070 Merge ^/head r309817 through r310168. 2016-12-16 18:38:31 +00:00
Ed Maste
602f95d4c4 Add WITH_REPRODUCIBLE_BUILD src.conf(5) knob to disable kernel metadata
The kernel builds reproducibly, except for the time, date, user, and
hostname baked into the kernel (reported at startup and via the
kern.version sysctl for uname).  Add a build knob to disable the
inclusion of this metadata.

Reviewed by:	jhb
MFC after:	1 month
Relnotes:	Yes
Sponsored by:	Reproducible Builds World Summit 2, Berlin
Differential Revision:	https://reviews.freebsd.org/D8809
2016-12-15 21:26:58 +00:00
Dimitry Andric
5b18539f18 Merge ^/head r309758 through r309803. 2016-12-10 13:25:42 +00:00
Baptiste Daroussin
1a4604e37b Respect WITHOUT_FINGER in src.conf when running make delete-old
PR:		213719
Submitted by:	philippe.michel7@sfr.fr
MFC after:	2 days
2016-12-10 12:28:43 +00:00
Baptiste Daroussin
bdc5a21692 Respect WITHOUT_BOOTPD in src.conf when running make delete-old
PR:		213720
Submitted by:	philippe.michel7@sfr.fr
MFC after:	2 days
2016-12-10 12:26:49 +00:00
Baptiste Daroussin
06af16fb5b Respect WITHOUT_BOOTPARAMD in src.conf when running make delete-old
PR:		213721
Submitted by:	philippe.michel7@sfr.fr
MFC after:	2 days
2016-12-10 12:24:31 +00:00
Baptiste Daroussin
53a04062b4 Respect WITHOUT_RBOOTD in src.conf when running make delete-old
PR:		213722
Submitted by:	philippe.michel7@sfr.fr
MFC after:	2 days
2016-12-10 12:21:24 +00:00
Baptiste Daroussin
87ac01ca08 Also remove auditdistd files if src.conf has WITHOUT_AUDIT
PR:		213723
Submitted by:	philippe.michel7@sfr.fr
MFC after:	2 days
2016-12-10 12:18:03 +00:00
Baptiste Daroussin
0c421ffe53 Add entries to remove timed files with make delete-old if WITHOUT_TIMED is set
PR:		213724
Submitted by:	philippe.michel7@sfr.fr
MFC after:	2 days
2016-12-10 12:14:41 +00:00
Ed Maste
beced2eabd Keep /usr/bin/ld for WITHOUT_BINUTILS but WITH_LLD_AS_LD
Reported by:	Nikolai Lifanov
2016-12-09 22:51:58 +00:00
Maxim Sobolev
79847968f9 Check that SCM_XXX timestamp returned by the kernel is less 1 second
away in the past from the current time. This should be plenty for the
scheduler to do its job. It provides assurance that the timestamp
returned is actually a valid one, not just some random garbage.
2016-12-09 22:13:00 +00:00
Dimitry Andric
1bde3b7066 Merge ^/head r309519 through r309757. 2016-12-09 20:57:43 +00:00
Maxim Sobolev
0d49655f96 Auto-generate 2 test cases that differ only in structure and SCM_XXX constant
used. We can do it programmatically, but that would make code convoluted
and more complex. I have two more of those types coming for the CLOCK_REALTIME
and CLOCK_MONOTONIC. This seems like an elegant and scallable approach.
2016-12-06 18:22:25 +00:00
Enji Cooper
8d4ddada63 Remove svn[lite]{bench,fsfs} if either MK_SVN == no or MK_SVNLITE == no
MFC after:	1 week
2016-12-06 06:04:13 +00:00
Maxim Sobolev
1fab62b1e1 Refactor the regression test code by splitting huge monolithic C
file into smaller pieces that are hopefully easier to understand
and extend. This is to pave the ground for adding few more
socket timestamp formats that I am working on here.

No functional changes (I hope).
2016-12-05 17:21:04 +00:00
Dimitry Andric
4f9d94bf64 Merge ^/head r309263 through r309518. 2016-12-04 00:00:56 +00:00
Dimitry Andric
5042637be1 Update build glue for clang 3.9.1 r288513. 2016-12-02 19:40:00 +00:00
Warner Losh
75aa5f28e9 Trying to autodetect legacy setups lead to problems when people
overrode the disk image creation routine. For now, just always bring
in the legecy defines / routines.
2016-11-28 21:29:01 +00:00
Dimitry Andric
d6d16831c5 Merge ^/head r309170 through r309212. 2016-11-27 14:27:51 +00:00
Dimitry Andric
6908adc31d Add a few missed clang 3.9.0 files to OptionalObsoleteFiles.
X-MFC-With:	309149
2016-11-27 14:19:19 +00:00
Dimitry Andric
45bd65d638 Add UPDATING entry and update ObsoleteFiles.inc. 2016-11-26 01:17:03 +00:00
Ed Maste
0aa5466e7d Add WITH_LLD_AS_LD build knob
If set it installs LLD as /usr/bin/ld.  LLD (as of version 3.9) is not
capable of linking the world and kernel, but can self-host and link many
substantial applications. GNU ld continues to be used for the world and
kernel build, regardless of how this knob is set.

It is on by default for arm64, and off for all other CPU architectures.

Sponsored by:	The FreeBSD Foundation
2016-11-25 13:15:28 +00:00