10944 Commits

Author SHA1 Message Date
dim
b4a5074609 MFC r263778:
Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process
all the SUBDIR entries in parallel, instead of serially.  Apply this
option to a selected number of Makefiles, which can greatly speed up the
build on multi-core machines, when using make -j.

This can be extended to more Makefiles later on, whenever they are
verified to work correctly with parallel building.

I tested this on a 24-core machine, with make -j48 buildworld (N = 6):

		before    stddev       after    stddev
		=======   ======       =======  ======
real time        1741.1     16.5         959.8     2.7
user time       12468.7     16.4       14393.0    16.8
sys  time        1825.0     54.8        2110.6    22.8

(user+sys)/real     8.2                   17.1

E.g. the build was approximately 45% faster in real time.  On machines
with less cores, or with lower -j settings, the speedup will not be as
impressive.  But at least you can now almost max out a machine with
buildworld!

Submitted by:	jilles

MFC r263833:

Enable parallel building for gnu/usr.bin and usr.bin/clang too.
2014-04-09 18:16:58 +00:00
glebius
a25c39725c Merge r263203: garbage collect long time obsoleted (or never used) stuff
from routing API.
2014-04-09 11:15:50 +00:00
jilles
68268e8fb3 login: Clean up PAM and audit, then exit, on SIGHUP and SIGTERM.
This avoids leaving stale entries in utmpx after the connection is closed on
an open login session. It also allows a clean way (SIGTERM) to forcibly
terminate a user's terminal session.

This does not affect the situation for "hung" processes after the connection
is closed. The foreground process group receives SIGHUP and the tty becomes
inaccessible.

Also replace all use of the obsolete signal() function with sigaction() (not
only the part where it is actually required: SIGHUP and SIGTERM must mask
the other as well when caught).

PR:		misc/183495
2014-04-06 10:56:27 +00:00
jilles
af95ef01bb MFC r263244: find: When performing -quit, finish pending -exec ... + command
lines.

This avoids unexpected partial processing when a find command uses both
-quit and -exec ... +.

GNU find does the same.
2014-04-05 20:05:50 +00:00
glebius
1e3b300892 o Provide a compatibility shim for netstat(1) to obtain output queue
drops via NET_RT_IFLISTL sysctl. The sysctl handler appends oqdrops
  at the end of struct if_msghdrl, and netstat(1) sees that as an
  additional field of struct if_data. This allows us to fetch the data
  keeping ABI and API compatibility.
  This is direct commit to stable/10.

o Merge r263331 from head, to restore printing of queue drops.

Sponsored by:	Nginx, Inc.
Sponsored by:	Netflix
2014-04-03 14:58:52 +00:00
dim
904b8fb3b3 MFC r262657:
Apply fix for lldb not linking after the sparc backend import.

Reported by:	se
Pointy hat to:	dim
2014-03-26 20:10:07 +00:00
dim
fb422e6d31 MFC r262613:
Merge the projects/clang-sparc64 branch back to head.  This brings in
several updates from the llvm and clang trunks to make the sparc64
backend fully functional.

Apart from one patch to sys/sparc64/include/pcpu.h which is still under
discussion, this makes it possible to let clang fully build world and
kernel for sparc64.

Any assistance with testing this on actual sparc64 hardware is greatly
appreciated, as there will unavoidably be bugs left.

Many thanks go to Roman Divacky for his upstream work on getting the
sparc64 backend into shape.

MFC r262985:

Repair a few minor mismerges from r262261 in the clang-sparc64 project
branch.  This is also to minimize differences with upstream.
2014-03-26 07:31:57 +00:00
trasz
018e61bbe4 MFC r261962:
Mention that rctl(8) was sponsored by the Foundation.

Sponsored by:	The FreeBSD Foundation
2014-03-25 12:26:00 +00:00
glebius
4109153d7b Merge missed r262819, that fixes broken build. 2014-03-23 06:05:58 +00:00
dim
9cedb8bb69 MFC 261991:
Upgrade our copy of llvm/clang to 3.4 release.  This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.

The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3.  The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.

Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>

MFC 262121 (by emaste):

Update lldb for clang/llvm 3.4 import

This commit largely restores the lldb source to the upstream r196259
snapshot with the addition of threaded inferior support and a few bug
fixes.

Specific upstream lldb revisions restored include:
   SVN      git
  181387  779e6ac
  181703  7bef4e2
  182099  b31044e
  182650  f2dcf35
  182683  0d91b80
  183862  15c1774
  183929  99447a6
  184177  0b2934b
  184948  4dc3761
  184954  007e7bc
  186990  eebd175

Sponsored by:	DARPA, AFRL

MFC 262186 (by emaste):

Fix mismerge in r262121

A break statement was lost in the merge.  The error had no functional
impact, but restore it to reduce the diff against upstream.

MFC 262303:

Pull in r197521 from upstream clang trunk (by rdivacky):

  Use the integrated assembler by default on FreeBSD/ppc and ppc64.

Requested by:	jhibbits

MFC 262611:

Pull in r196874 from upstream llvm trunk:

  Fix a crash that occurs when PWD is invalid.

  MCJIT needs to be able to run in hostile environments, even when PWD
  is invalid. There's no need to crash MCJIT in this case.

  The obvious fix is to simply leave MCContext's CompilationDir empty
  when PWD can't be determined. This way, MCJIT clients,
  and other clients that link with LLVM don't need a valid working directory.

  If we do want to guarantee valid CompilationDir, that should be done
  only for clients of getCompilationDir(). This is as simple as checking
  for an empty string.

  The only current use of getCompilationDir is EmitGenDwarfInfo, which
  won't conceivably run with an invalid working dir. However, in the
  purely hypothetically and untestable case that this happens, the
  AT_comp_dir will be omitted from the compilation_unit DIE.

This should help fix assertions occurring with ports-mgmt/tinderbox,
when it is using jails, and sometimes invalidates clang's current
working directory.

Reported by:	decke

MFC 262809:

Pull in r203007 from upstream clang trunk:

  Don't produce an alias between destructors with different calling conventions.

  Fixes pr19007.

(Please note that is an LLVM PR identifier, not a FreeBSD one.)

This should fix Firefox and/or libxul crashes (due to problems with
regparm/stdcall calling conventions) on i386.

Reported by:	multiple users on freebsd-current
PR:		bin/187103

MFC 263048:

Repair recognition of "CC" as an alias for the C++ compiler, since it
was silently broken by upstream for a Windows-specific use-case.

Apparently some versions of CMake still rely on this archaic feature...

Reported by:	rakuco

MFC 263049:

Garbage collect the old way of adding the libstdc++ include directories
in clang's InitHeaderSearch.cpp.  This has been superseded by David
Chisnall's commit in r255321.

Moreover, if libc++ is used, the libstdc++ include directories should
not be in the search path at all.  These directories are now only used
if you pass -stdlib=libstdc++.
2014-03-21 17:53:59 +00:00
glebius
03fdc2934e Merge r262763, r262767, r262771, r262806 from head:
- Remove rt_metrics_lite and simply put its members into rtentry.
  - Use counter(9) for rt_pksent (former rt_rmx.rmx_pksent). This
    removes another cache trashing ++ from packet forwarding path.
  - Create zini/fini methods for the rtentry UMA zone. Via initialize
    mutex and counter in them.
  - Fix reporting of rmx_pksent to routing socket.
  - Fix netstat(1) to report "Use" both in kvm(3) and sysctl(3) mode.
2014-03-21 15:15:30 +00:00
glebius
78bde64905 Merge r259562,r259566,r259638,r259645,r260124 by melifaro:
Switch netstat -rn to use standard API for retrieving list
  of routes instead of peeking inside in-kernel radix via kget.
2014-03-19 09:36:29 +00:00
eadler
a2a8cc80bf MFC r262540:
r262540 | eadler | 2014-02-26 19:52:34 -0500 (Wed, 26 Feb 2014) | 2 lines

	I had some unrelated (wrong) changes to makewhatis.  Undo them.
2014-03-13 04:25:59 +00:00
eadler
bb8499be4f MFC r262539:
linprocfs: add support for /sys/kernel/random/uuid

PR:		kern/186187
2014-03-13 03:42:00 +00:00
glebius
f937dcf2bd Bulk sync of pf changes from head, in attempt to fixup broken build I
made in r263029.

Merge r257186,257215,257349,259736,261797.

These changesets split pfvar.h into several smaller headers and make
userland utilities to include only some of them.
2014-03-12 10:45:58 +00:00
brueffer
b3a8c13b83 MFC: r262333
Simplify the way the end of a singly linked list is followed (for adding
items), so it is more obvious that we aren't going to indirect through
a NULL pointer.

PR:		144723
Submitted by:	Garrett Cooper <yaneurabeya at gmail.com>
Obtained from:	NetBSD r1.19
2014-03-08 12:24:47 +00:00
eadler
9ccdbaa535 MFC r262645,r262647:
ssh-copy-id: avoid sending private keys; add -v option

To help avoid confusion: when attempting to send a key file check to see if a
	file of the same name exists with a '.pub' suffix and send that instead.  This
	mimics the behavior of other ssh-copy-id scripts.

	Add -v passthrough.

ssh-copy-id: add restorecon call

	In certain situations when creating an authorized_key file on a Linux machine
	restorecon(1) may need to be called.  Therefore, attempt to run it if it exists.
2014-03-08 03:54:49 +00:00
jmmv
16411e2c80 MFC various fixes for the ATF tests.
- r260505 Allow tests to provide a Kyuafile when they relied on auto-generation.
- r260525 Respect the original layout of the atf-{c,c++} tests.
- r260526 Fix path to the process_helpers for the libatf-c++ tests.
- r260576 Generate and install pkg-config files for atf.
- r260577 Add atf pkg-config files from the vendor branch.
- r260584 Prevent misc_helpers from running as a test.
2014-03-06 13:20:38 +00:00
trasz
32f8fd7b16 MFC r262525:
There is no need to prevent iscsictl from adding iSER session when there
is no iSER support in ctld and/or kernel; should the user make that mistake,
the output from "iscsictl -L" is enough to determine what the problem is.

Sponsored by:	The FreeBSD Foundation
2014-03-06 11:10:57 +00:00
trasz
634638377a MFC r262247:
Make it clear that there are two ways to add a session using iscsictl(8),
and some options require configuration file.

Sponsored by:	The FreeBSD Foundation
2014-03-06 11:09:46 +00:00
trasz
9cc265a090 MFC r261714:
Make iscsictl(8) properly handle (optional) semicolons in iscsi.conf,
instead of ignoring them and echoing them to stdout.

Sponsored by:	The FreeBSD Foundation
2014-03-06 11:07:51 +00:00
trasz
b379e28a77 MFC r261713:
Simplify.

Sponsored by:	The FreeBSD Foundation
2014-03-06 11:05:35 +00:00
trasz
08122659f6 MFC r261712:
Remove unused variable.

Sponsored by:	The FreeBSD Foundation
2014-03-06 11:03:34 +00:00
trasz
c290a7d7a5 MFC r261711:
Yacc cleanup; no functional changes.

Sponsored by:	The FreeBSD Foundation
2014-03-06 11:02:32 +00:00
glebius
ed41469327 Merge r261582, r261601, r261610, r261613, r261627, r261640, r261641, r261823,
r261825, r261859, r261875, r261883, r261911, r262027, r262028, r262029,
      r262030, r262162 from head.

  Large flowtable revamp. See commit messages for merged revisions for
  details.

Sponsored by:	Netflix
2014-03-04 15:14:47 +00:00
brooks
12b5ca7c28 MFC r261296:
Merge from CheriBSD:
commit c1acf022c533c5ae27e0cd556977eafe3f5959eb
Author: Brooks Davis <brooks@one-eyed-alien.net>
Date:   Fri Jan 17 21:46:44 2014 +0000

	Add an option WITHOUT_NCURSESW to suppress building and linking to
	libncursesw.  While wide character support it useful we'd like to
	only need one ncurses library on embedded systems.

Sponsored by:	DARPA, AFRL
2014-03-01 03:09:16 +00:00
des
c252d6c495 MFH (r261233): fix whitespace and bump copyright
MFH (r261234): increase buffer size
2014-02-27 13:25:26 +00:00
bdrewery
361a27f7ad MFC r261934:
Rework rctl(8) manpage

Approved by:	bapt (mentor, implicit)
2014-02-23 20:07:30 +00:00
peter
7cfbe47f25 MFC r257129,257936,258084,258569,258602,262250,262251
svn-1.8.4, 1.8.5, 1.8.8 and self-contained private support libraries
2014-02-20 20:34:01 +00:00
jhb
a6891855d7 MFC 261512,261514:
- Partially revert r52493 and change client side interval statistics to
  report the actual number of RPCs issued, not the theoretical number
  that would be issued if all caching was disabled.
- Use the DELTA() macro to tidy the server-side interval stats code a bit.
2014-02-19 19:28:49 +00:00
jhb
459448a934 MFC 261780:
Expose OBJT_MGTDEVICE VM objects used for GEM/TTM with drm2 as an
explicit object type.
2014-02-19 19:11:14 +00:00
wblock
dd5bb071cd MFC r261895:
Remove mention of minimum password length and upper/lower case checking,
patch supplied by Allan Jude <freebsd@allanjude.com>.  Add xref to
pam_passwdqc(8), where that testing is now done.
2014-02-18 03:39:20 +00:00
trasz
1c069ec47a MFC r260255:
Properly document -u and -s.

Sponsored by:	The FreeBSD Foundation
2014-02-11 11:56:50 +00:00
glebius
c3a529c9ca Merged /head:r256510,256512,257376,257469,260052:
Make 'netstat -i' use getifaddrs(3) instead of kvm(3).
2014-01-27 08:15:21 +00:00
jhibbits
76839750ad MFC r260621
Add missing EM_PPC64 to e_machine header display.
2014-01-22 06:27:02 +00:00
trociny
f4854f7fc4 MFC r260833:
Bring back r226403, the fix for bin/161526, which was (accidentally?)
reverted in r238896.

PR:		bin/161526
Reported by:	Karli.Sjoberg slu.se
2014-01-20 20:33:40 +00:00
jilles
9033033601 MFC r260336,r260355: find: Fix -lname and -ilname:
* Take into account that readlink() does not add a terminating '\0'.

* Do not match symlinks that are followed because of -H or -L. This is
  explicitly documented in GNU find's info file and is like -type l.

* Fix matching symlinks in subdirectories when fts changes directories.

As before, symlinks of length PATH_MAX or more are not handled correctly.
(These can only be created on other operating systems.)

Also, avoid some readlink() calls on files that are obviously not symlinks
(because of fts(3) restrictions, not all of them).

PR:		bin/185393
Submitted by:	Ben Reser (parts, original version)
2014-01-12 23:17:56 +00:00
trasz
299491bed9 MFC r260106:
The devd part never got implemented; remove for now, until someone actually
needs this feature and can talk to me about how it should look like.

Sponsored by:	The FreeBSD Foundation
2014-01-02 13:45:24 +00:00
trasz
9ddc65bcf3 MFC r260105:
Fix typo.

Sponsored by:	The FreeBSD Foundation
2014-01-02 13:44:01 +00:00
dim
5fce04bd49 MFC r257532 (by adrian):
Fix this build for clang.

MFC r259730:

To avoid having to explicitly test COMPILER_TYPE for setting
clang-specific or gcc-specific flags, introduce the following new
variables for use in Makefiles:

CFLAGS.clang
CFLAGS.gcc
CXXFLAGS.clang
CXXFLAGS.gcc

In bsd.sys.mk, these get appended to the regular CFLAGS or CXXFLAGS for
the right compiler.

MFC r259913:

For libstand and sys/boot, split off gcc-only flags into CFLAGS.gcc.

MFC r259927:

Fix pc98 build, by also forcing COMPILER_TYPE in sys/boot/pc98/boot2's
Makefile.

Pointy hat to:	dim
2013-12-30 20:15:46 +00:00
jmmv
17b80845b0 Plug the ATF tests into the build.
This is a MFC into stable/10 of:
- r257849 Add libatf-c++ to the prebuild libs.
- r257853 Build and install the atf tests.
- r258233 Move all atf directories to the tests mtree.
- r258285 Fix the build of some ATF tests.

This change is "make tinderbox" clean on ref10-amd64 with the default
settings of WITHOUT_TESTS.  It is likely for the WITH_TESTS build to
still be broken because not all relevant changes have been merged yet.
2013-12-28 23:08:58 +00:00
jmmv
b8ce141a40 Set up the /usr/tests hierarchy.
This is a MFC of the following into stable/10:
- r257097 Set up the /usr/tests hierarchy.
- r257098 Add missing WITHOUTTESTS file.
- r257100 Add a tests(7) manual page.
- r257105 Disable WITHTESTS= for now.
- r257848 Fix buildworld when WITHTESTS is enabled.
- r257850 Subsume the functionality of MKATF into MKTESTS.
- r257851 Handle the removal of the test suite when WITHOUTTESTS=yes.
- r257852 Install category Kyuafiles from their category directories.
- r258232 Install BSD.tests.mtree when MKTESTS is yes.

Note that building with WITH_TESTS is still broken at this point (and
hence why WITHOUT_TESTS is the set as the default).  Subsequent pullups
will fix the remaining issues.
2013-12-28 20:05:31 +00:00
jmmv
4fa84cba37 MFC r257631: Add myself to the committers-src list and to the calendar. 2013-12-28 13:08:47 +00:00
dim
6978c9a485 MFC r259740:
In usr.bin/sort/radixsort.c, pop_ls_mt() is only referenced if
SORT_THREADS is defined, so make the whole function conditional, instead
of just the pthread calls in it.
2013-12-25 00:53:48 +00:00
dim
fef52f4b6c MFC r259473:
Enable llvm's integrated assembler for PowerPC, since it should now be
good enough for typical usage.

Requested by:	rdivacky
2013-12-24 14:26:31 +00:00
delphij
c1209e6340 MFC r259058,r259060:
Remove -q from usage.

Document -q and --quiet as discouraged compatibility option.
2013-12-23 20:20:46 +00:00
eadler
607f8e622d MFC r259132,r259133,r259143:
Per the resolution of POSIX bug 0000779 (note 0002050) add support for using 'i'
	as a case insensitive flag.

	Add regression test for recently added 'i' flag in r259132.

	the i modifier was added in r259132 since POSIX recently agreed to add
	it. Switch uses of /I to /i.

PR:		standards/184641
2013-12-16 01:20:18 +00:00
peter
f7d1d154d9 MFC r256557: add uname flags to access userland's __FreeBSD_version more
conveniently than the traditional way of scripts parsing #include files.

Approved by:	re (hrs)
2013-11-20 17:46:23 +00:00
pjd
d0736de43b MFC r258148,r258149,r258150,r258152,r258153,r258154,r258181,r258182:
r258148:

Add a note that this file is compiled as part of the kernel and libc.

Requested by:	kib

r258149:

Change cap_rights_merge(3) and cap_rights_remove(3) to return pointer
to the destination cap_rights_t structure.

This already matches manual page.

r258150:

Sync return value with actual implementation.

r258151:

Style.

r258152:

Precisely document capability rights here too (they are already documented
in rights(4)).

r258153:

The CAP_LINKAT, CAP_MKDIRAT, CAP_MKFIFOAT, CAP_MKNODAT, CAP_RENAMEAT,
CAP_SYMLINKAT and CAP_UNLINKAT capability rights make no sense without
the CAP_LOOKUP right, so include this rights.

r258154:

- Move CAP_EXTATTR_* and CAP_ACL_* rights to index 1 to have more room
  in index 0 for the future.
- Move CAP_BINDAT and CAP_CONNECTAT rights to index 0 so we can include
  CAP_LOOKUP right in them.
- Shuffle the bits around so there are no gaps. This is last chance to do
  that as all moved rights are not used yet.

r258181:

Replace CAP_POLL_EVENT and CAP_POST_EVENT capability rights (which I had
a very hard time to fully understand) with much more intuitive rights:

	CAP_EVENT - when set on descriptor, the descriptor can be monitored
		with syscalls like select(2), poll(2), kevent(2).

	CAP_KQUEUE_EVENT - When set on a kqueue descriptor, the kevent(2)
		syscall can be called on this kqueue to with the eventlist
		argument set to non-NULL value; in other words the given
		kqueue descriptor can be used to monitor other descriptors.
	CAP_KQUEUE_CHANGE - When set on a kqueue descriptor, the kevent(2)
		syscall can be called on this kqueue to with the changelist
		argument set to non-NULL value; in other words it allows to
		modify events monitored with the given kqueue descriptor.

Add alias CAP_KQUEUE, which allows for both CAP_KQUEUE_EVENT and
CAP_KQUEUE_CHANGE.

Add backward compatibility define CAP_POLL_EVENT which is equal to CAP_EVENT.

r258182:

Correct right names.

Sponsored by:	The FreeBSD Foundation
Approved by:	re (kib)
2013-11-18 22:37:01 +00:00
trasz
ead14302e7 MFC r257917:
Fix typo in "iscsictl -v".

Approved by:	re (gjb)
Sponsored by:	The FreeBSD Foundation
2013-11-14 13:33:22 +00:00