Commit Graph

3998 Commits

Author SHA1 Message Date
Enji Cooper
24f87577fd Disable test-ctrig.t testcases which fail assertions on i386
Tested on: stable/10 (amd64/i386), head (amd64/i386)
PR: 205446
MFC after: 1 week
X-MFC to: stable/10
Sponsored by: EMC / Isilon Storage Division
2015-12-20 04:06:30 +00:00
Enji Cooper
5226505337 Update the test list after r292328
Add test-invtrig to the list of tests

Sponsored by: EMC / Isilon Storage Division
2015-12-20 03:06:29 +00:00
Baptiste Daroussin
2906f6cbae Fix indentation to make the script more readable 2015-12-19 13:19:39 +00:00
Baptiste Daroussin
6fdb196500 Initialize SRCOUT3 as it may be used unitilizard for certains types of locales 2015-12-19 12:28:22 +00:00
Baptiste Daroussin
4149149e1e Use :E instead of regex in ctypedef Makefiles 2015-12-19 12:26:01 +00:00
Baptiste Daroussin
f8fd13a099 Simplify the locale generated Makefiles by using bmake multi variables for loops 2015-12-18 21:34:28 +00:00
Ed Maste
a2acf60284 Remove lldb(1) files if WITHOUT_LLDB is set
Sponsored by:	The FreeBSD Foundation
2015-12-16 19:48:03 +00:00
Enji Cooper
4dc607e7f2 Integrate a number of testcases from tools/regression/lib/msun
into the FreeBSD test suite

There's no functional change with these testcases; they're purposely
being left in TAP format for the time being

Other testcases which crash on amd64/i386 as-is have not been
integrated yet (they need to be retested on a later version of
CURRENT, as I haven't used i386 in some time)

MFC after: 3 weeks
Sponsored by: EMC / Isilon Storage Division
2015-12-16 09:11:11 +00:00
Enji Cooper
9cb2010158 Use fabsl instead of fabs to mute -Wabsolute-value warnings from clang
because `nums[]` is an array of long doubles

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-12-16 08:53:24 +00:00
Enji Cooper
08ca345cfd Integrate tools/regression/lib/libc/nss into the FreeBSD test suite as
lib/libc/tests/nss

- Convert the testcases to ATF
- Do some style(9) cleanups:
-- Sort headers
-- Apply indentation fixes
-- Remove superfluous parentheses
- Explicitly print out debug printfs for use with `kyua {debug,report}`; for
  items that were overly noisy, they've been put behind #ifdef DEBUG
  conditionals
- Fix some format strings

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-12-16 08:09:03 +00:00
Enji Cooper
9ada6f3369 Integrate tools/regression/lib/libc/resolv into the FreeBSD test suite as
lib/libc/tests/resolv

Convert the testcases to ATF

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-12-16 05:11:57 +00:00
Enji Cooper
fe20e444f3 Remove hosts that don't resolve properly with the nss and resolv tests
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-12-16 04:59:30 +00:00
Bryan Drewery
5d111a9744 Correct comment about MAKEOBJDIRPREFIX in src-env.conf.
It may only be used with WITH_AUTO_OBJ, which the WITH_DIRDEPS_BUILD does.  We
could support this in the normal build as well if we forced creating the directory
and setting .OBJDIR.

Sponsored by:	EMC / Isilon Storage Division
2015-12-15 18:42:30 +00:00
Christian Brueffer
290bb03c0c Assorted grammar, spelling and punctuation fixes.
PR:		203336, 203339
Submitted by:	espeyb@rpi.edu, themesta@gmail.com
MFC after:	1 week
2015-12-15 13:04:44 +00:00
Adrian Chadd
60479e7b46 Flip this over to ncurses. 2015-12-15 04:28:31 +00:00
Conrad Meyer
d37872da34 ioatcontrol(8): Add support for interrupt coalescing
The new flag, -c <period>, sets the interrupt coalescing period in
microseconds through the new ioat(4) API ioat_set_interrupt_coalesce().

Also add a -z flag to zero ioat statistics before tests, to make it easy
to measure results.

Sponsored by:	EMC / Isilon Storage Division
2015-12-14 22:02:01 +00:00
Adrian Chadd
375a8ff19b Fix bsdbox builds after the recent libkvm requirement for libelf. 2015-12-13 20:31:36 +00:00
Warner Losh
3a757adfa8 Eliminate a typo that crept into a last minute change before commit :(
Noticed by: Olivier Cochard-Labbe
2015-12-13 04:15:13 +00:00
Warner Losh
086ad4aa32 Update for final version of mkimg changes. 2015-12-11 05:39:43 +00:00
Warner Losh
4419f71b38 o Resolve the real path to NANO_OBJ so everything that depends on it
doesn't have lots of ../../foo in it.
o Tweak the powerpc64 variant a bit. This gets us closer to working
  with qemu-system-poewrpc64, but we aren't quite there yet.
2015-12-11 05:15:13 +00:00
Conrad Meyer
6a301ac85a ioat(4): Add ioatcontrol(8) testing for copy_8k
Add -E ("Eight k") and -m ("Memcpy") modes to the ioatcontrol(8) tool.

Prompted by:	rpokala
Sponsored by:	EMC / Isilon Storage Division
2015-12-10 02:05:35 +00:00
Enji Cooper
5ef13c482d Add missing stdlib.h header
Apply some minor style(9) fixes

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division
2015-12-08 05:27:22 +00:00
Enji Cooper
75743a83e4 Fix compilation warnings by adding unistd.h #include and missing return
statements

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division
2015-12-08 05:24:06 +00:00
Enji Cooper
eff763d5bc Skip the MAC portacl tests if MAC_PORTACL support is missing instead of
marking them failed

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-12-08 05:17:22 +00:00
Warner Losh
85154c415c Start to split apart the different image formats that we need to
make. Add support for generating powerpc64 qemu images. We
can generate them, but there's something wrong booting them.
This also simplifies the user config files a bit, and removes
bits no longer true.
2015-12-07 10:24:40 +00:00
Warner Losh
0a85283010 Make sure to quote the arg after -n and -z tests. 2015-12-07 10:24:38 +00:00
Warner Losh
5d607c3eeb Document the different config files.
Document how to run qemu for the ones I've run.
Use qcow2 for all qemu images.
2015-12-07 05:13:29 +00:00
Warner Losh
ec74bc324b Now that we have dedup of mtree elements in nanobsd, remove the
primitive attempt we made here.
2015-12-07 04:02:59 +00:00
Warner Losh
19edffef95 Fix up mtree with additional entries written to it by
nanobsd. implement support for NanoBSD touching a file (and possibly
recording that fact) as well as replacing a directory with a symlink.
Also specify the default uname and gname for files and use that as a
/set command at the top of the generated METALOG file.
2015-12-07 04:02:52 +00:00
Warner Losh
9e144f3552 Disable /entropy by default. /var/db/entropy should be enough.
# This eliminates the warning message at boot, but more work may be
# needed.
2015-12-07 04:02:42 +00:00
Warner Losh
e221bf0bfe imported patch dedup 2015-12-07 04:02:34 +00:00
Warner Losh
39fcadb2ad Allow the .cfg files to specify the ultimate format for the images
created.
2015-12-07 04:02:32 +00:00
Warner Losh
849f5467cd Generally use shorter, more idiomatic sh expressions in a bunch of
places.
2015-12-07 04:02:31 +00:00
Warner Losh
a9598aae97 Default serial connection to 115200. Hardly anybody uses slower these
days, and those that do can use NANO_BOOT2CFG to change it.
2015-12-07 04:02:19 +00:00
Warner Losh
97d20cdd9b When building no-priv, chmod etc/defaults/rc.conf before appending to
it and then chmod back.  There's no chmod -push / chmod -pop so hard
code 444 as the right permissions here.

Also, fix more stray detritus that crept in (out?) while re-arranging
the deck chairs.
2015-12-05 17:40:11 +00:00
Warner Losh
259fb883db Stupid last minute changes: Add missing } and fi
Pointed out by: Howard Su
2015-12-05 16:28:14 +00:00
Warner Losh
67af7f8bfb New config files for embedded boards.
Build with ../nanobsd.sh -c rpi.cfg, for example.
This can be done as a normal user.

This is a work in progress. It relies on the new nopriv
build stuff committed to nanobsd, but isn't complete yet.
Currently, one must copy files into the DOS partition
in the image. Also, ownership isn't preserved because
this doesn't use the new mtree-dedup.awk yet, but rather
some crazy mtree stuff. The image building bits will
move up into nanobsd when they are ready.

Also includes very preliminary support for building qemu
images for all platforms that we can for qemu. It is
missing aarch64, and we put the image on s2 instead of
s1 and mkimg can't mark s2 as active, so there's some
issues. Oh, and I didn't do it for arm.

Take a look, kick the tires, expect problems.
2015-12-05 04:43:56 +00:00
Warner Losh
35028a6e30 Awk helper script that reads in a mtree METALOG file from installworld
(and soon augmented by nanobsd), performs the actions documented in
the script, and then spits out a new mtree file suitable for feeding
to makefs.

Discussed on: arch@
2015-12-05 01:12:44 +00:00
Warner Losh
c275d9ec22 Setting NANO_NOPRIV_BUILD will now add -DNO_ROOT and METALOG=xxxx as
appropriate. First step in supporting a build w/o root. More to
follow as actions by customization scripts are not (yet) recorded in
the metalog, and duplicate entries in it aren't removed.
2015-12-05 01:10:04 +00:00
Warner Losh
a9d9c49f3f SRCCONF makes no sense in make.conf. Don't set it there. Rely on it
being in the environment. Also filter out the new SRC_ENV_CONF as
well. If you really need these set, set them in your config file,
not in the build environment used to launch nanobsd.

Pointed out by: bdrewery@
2015-12-05 00:54:43 +00:00
Warner Losh
1934c7aa0a Minor cleanup in how we run make:
o Move SRCCONF and __MAKE_CONF into the environment to cope with
  file paths with spaces in them better.
o Move the rest of the variable setting command line args into
  __MAKE_CONF files.
o Trace the commands that we're using to build so they appear at the
  top of the log.
o Be more consistent about quoting paths for cd and similar commands
  to better cope with paths with spaces in them, though some more
  work is likely needed.
o Add some comments about all this.
o Minor formatting tweaks in a couple places

Sponsored by:	Netflix, Inc
2015-12-05 00:15:04 +00:00
Warner Losh
7dfcfa5cf1 Remove commented out junk. 2015-12-04 23:44:34 +00:00
Warner Losh
2b8875e3e1 Since this is an almost identical copy of ALIX_DSK, just include it
and add the bits we need at the end.
2015-12-04 23:22:07 +00:00
Bryan Drewery
eacae6dc66 Fix LDADD/DPADD that should be LIBADD.
Sponsored by:	EMC / Isilon Storage Division
2015-12-04 03:17:47 +00:00
Bryan Drewery
a9dfc956d6 Fully connect cddl/usr.sbin/plockstat.
There seems to be no reason to keep this so private.

Also add missing optional MK_CDDL files.

Sponsored by:	EMC / Isilon Storage Division
2015-12-02 00:49:45 +00:00
Adrian Chadd
36f8b167b5 add missing lib80211 include. 2015-11-30 09:02:28 +00:00
Dimitry Andric
85ab8f98e6 Install the public sanitizer headers. These are useful for programs
that want to directly interface with sanitizer internals.
2015-11-29 16:28:40 +00:00
Hajimu UMEMOTO
f1f871e17d Fix breakage by recent collation change.
LC_ALL has to be exported.
2015-11-28 00:41:37 +00:00
Enji Cooper
3ec75a6ccf Clean up trailing whitespace
MFC after: 1 week
2015-11-26 08:58:13 +00:00
Enji Cooper
a6961d88b4 r291359 was incorrect. Skip over tokens that start with `#' as fgetln can
return more than one '\n' delimited line in a buffer

Handle empty lines too, just in case

MFC after: 3 days
X-MFC with: r291359
2015-11-26 07:58:22 +00:00
Enji Cooper
059d81a6e4 Skip over lines that start with # (comments)
MFC after: 3 days
2015-11-26 07:03:59 +00:00
Enji Cooper
84da2236a4 Remove cnftp.bjpu.edu.cn (it no longer resolves)
Add localhost to resolv/mach for parity with nss/mach

MFC after: 3 days
2015-11-26 07:03:26 +00:00
Hans Petter Selasky
b35ff88448 Update usage:
- Add missing description of "-c" option.
- Add one more usage example.
2015-11-25 14:51:44 +00:00
Hans Petter Selasky
10ac20335c Add simple indent wrapper tool for style(9) checking GIT/SVN patches.
The indent_wrapper tool only accepts full context diffs and works by
identifying the surrounding C-block touched by a diff and passing only
that to indent for styling. In the end a diff is produced or an
external tool like meld can be invoked, to show the styling
differences.
2015-11-25 13:26:42 +00:00
Dag-Erling Smørgrav
1765946ba9 Retire the NONE cipher option. 2015-11-23 12:48:13 +00:00
Warner Losh
d07833f981 Add support for passing TARGET_CPUTYPE into the build. It's more
important for arm and mips than for the more generic x86 systems.
2015-11-20 21:54:05 +00:00
Craig Rodrigues
749f65e3e3 Use print as a function for Python 3 [PEP 3105]
Import print_function from the __future__ module
to activate this for Python 2.  This works as far back as Python 2.6.0a2:
   https://docs.python.org/2/library/__future__.html

[PEP 3105] https://www.python.org/dev/peps/pep-3105/
2015-11-19 00:01:52 +00:00
Craig Rodrigues
aef675d879 Use 'in' instead of 'has_key()' for testing dictionary membership.
In PEP 0290, has_key() was deprecated in Python 2.2 and higher:
https://www.python.org/dev/peps/pep-0290/#testing-dictionary-membership
https://docs.python.org/2.2/whatsnew/node4.html

In Python 3, dict.has_key() was removed:
https://docs.python.org/3.0/whatsnew/3.0.html#builtins
2015-11-18 23:32:29 +00:00
Bryan Drewery
7359fe7af4 Use -n to ln(1) which is compatible with GNU ln(1).
Sponsored by:	EMC / Isilon Storage Division
2015-11-16 23:27:44 +00:00
Bryan Drewery
804baa3822 Revert r290944. It was wrong. 2015-11-16 21:05:38 +00:00
Bryan Drewery
5a16e0b461 Fix error case for bmake to echo 0.
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-11-16 20:31:00 +00:00
Baptiste Daroussin
1d211085ac Bring back a couple of ISO8859-15 locales:
- af_ZA.ISO8859-15
- en_AU.ISO8859-15
- en_CA.ISO8859-15
- en_NZ.ISO8859-15
- en_US.ISO8859-15
- fr_CA.ISO8859-15
2015-11-16 12:58:47 +00:00
Enji Cooper
e742867ba4 Remove directory made obsolete by r290905
MFC after: 1 week
X-MFC with: r290905
X-MFC note: stable/10 only
Sponsored by: EMC / Isilon Storage Division
2015-11-16 06:56:45 +00:00
Enji Cooper
e30a620063 Integrate tools/regression/pipe in to the FreeBSD test suite as
tests/sys/kern/pipe

- Fix style(9) bugs
- Fix compiler warnings
- Use `nitems(x)` instead of `sizeof(x) / sizeof(*x)` pattern

The testcases will be converted over to ATF eventually, but for now will be
integrated in as plain C tests

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-11-16 05:38:40 +00:00
Baptiste Daroussin
0dc64c20b4 Remove trailing spaces at end of lines 2015-11-15 20:00:00 +00:00
Baptiste Daroussin
99b47c3cc6 Update the list of files to be removed in case world is built WITHOUT_LOCALES 2015-11-15 19:58:05 +00:00
Baptiste Daroussin
66cad538dd Generate in the FreeBSD keyword when generating the Makefiles 2015-11-15 14:34:29 +00:00
Baptiste Daroussin
09712c4216 Add ISO8859-1 everywhere ISO8859-15 exists 2015-11-15 14:19:56 +00:00
Baptiste Daroussin
30b3fca790 Allow to generate the locale when the source directory is not /usr/src 2015-11-15 14:19:08 +00:00
Simon J. Gerraty
32b5dc9a48 Regen src.conf.5 2015-11-14 04:50:28 +00:00
Simon J. Gerraty
948f327ee4 Rename META_MODE option to DIRDEPS_BUILD
This allows META_FILES option to be renamed META_MODE.
Also add META_COOKIE_TOUCH for use in targets that can benefit
from a cookie when in meta mode.

Differential Revision:	https://reviews.freebsd.org/D4153
Reviewed by:	bdrewery
2015-11-14 03:24:48 +00:00
Warner Losh
7b77d3ea7f Make the slice names for root configurable. For embedded platforms, we
need s1 to be a FAT partition, s2 to be the config partition and s3
and s4 to be the ping-pong upgrade partitions.

NANO_SLICE_ROOT defaults to s1
NANO_SLICE_ALTROOT defaults to s2
NANO_SLICE_CFG defaults to s3
NANO_SLICE_DATA defaults to s4

All can be overridden in the config file. Some basic sanity checking
is in place, but is no substitute for being careful.
2015-11-12 05:53:32 +00:00
Bryan Drewery
d4ea5890a8 Use explicit filename when creating locale symlinks to avoid creating a
directory symlink when the target directory does not exist.  This will
cause an error instead of a broken setup.

Sponsored by:	EMC / Isilon Storage Division
2015-11-11 18:45:48 +00:00
Enji Cooper
44642b54ec - Move ng_bluetooth.4 under MK_BLUETOOTH != no
- Move all section 5 bluetooth manpages under MK_BLUETOOTH != no

MFC after: 3 days
PR: 193260
Reported by: Philippe Michel <philippe.michel7@sfr.fr>
Sponsored by: EMC / Isilon Storage Division
2015-11-10 13:28:41 +00:00
Baptiste Daroussin
32810cf3c6 Add a README to explain how to generate the locales from CLDR data 2015-11-09 23:23:29 +00:00
Enji Cooper
fbf5b9f8a2 Integrate tools/regression/lib/libc/gen into the FreeBSD test suite
as lib/libc/tests/gen

The code in test-fnmatch that was used for generating:

- bin/sh/tests/builtins/case2.0
- bin/sh/tests/builtins/case3.0

has been left undisturbed. The target `make sh-tests` has been moved over
from tools/regression/lib/libc/gen/Makefile to
lib/libc/tests/gen/Makefile and made into a PHONY target

case2.0 and case3.0 test input generation isn't being done automatically.
This needs additional discussion.

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-11-09 06:24:11 +00:00
Enji Cooper
24732d675d Integrate tools/regression/lib/libc/net into the FreeBSD test suite
as lib/libc/tests/net

Also, fix eui64_aton_test:test_str(..). The test was comparing the result
of eui64_aton to a pointer of the expected result.

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-11-08 23:06:40 +00:00
Baptiste Daroussin
7b71bb4224 Modify the tool that generates the locales so that the generated CJK locales
are padded as expected by the users

Submitted by:	marino
Obtained from:	DragonflyBSD
2015-11-08 19:08:38 +00:00
Enji Cooper
347267dcf8 Integrate tools/regression/lib/libc/string into the FreeBSD test suite
as lib/libc/tests/string

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-11-08 07:53:31 +00:00
Enji Cooper
98682851f2 Integrate tools/regression/lib/libc/stdlib into the FreeBSD test suite
as lib/libc/tests/stdlib

- Make the code a bit more style(9) compliant
- Convert a sizeof(x)/sizeof(x[0]) to nitems

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-11-08 07:03:17 +00:00
Enji Cooper
1ee0219205 Integrate tools/regression/lib/libc/stdio into the FreeBSD test suite
as lib/libc/tests/stdio

- Fix some whitespace
- Convert the testcases to ATF
- Convert "/dev/null" to _PATH_DEVNULL

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-11-08 06:37:50 +00:00
Enji Cooper
9da7d79f25 Integrate tools/regression/lib/libc/locale into the FreeBSD test suite
as lib/libc/tests/locale

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-11-08 02:06:17 +00:00
Bryan Drewery
9160419c7a Add built-in ccache build support via WITH_CCACHE_BUILD option.
ccache is mostly beneficial for frequent builds where -DNO_CLEAN is not
used to achieve a safe pseudo-incremental build.  This is explained in
more detail upstream [1] [2].  It incurs about a 20%-28% hit to populate the
cache, but with a full cache saves 30-50% in build times.  When combined with
the WITH_FAST_DEPEND feature it saves up to 65% since ccache does cache the
resulting dependency file, which it does not do when using mkdep(1)/'CC
-E'.  Stats are provided at the end of this message.

This removes the need to modify /etc/make.conf with the CC:= and CXX:=
lines which conflicted with external compiler support [3] (causing the
bootstrap compiler to not be built which lead to obscure failures [4]),
incorrectly invoked ccache in various stages, required CCACHE_CPP2 to avoid
Clang errors with parenthesis, and did not work with META_MODE.

The option name was picked to match the existing option in ports.  This
feature is available for both in-src and out-of-src builds that use
/usr/share/mk.

Linking, assembly compiles, and pre-processing avoid using ccache since it is
only overhead.  ccache does nothing special in these modes, although there is
no harm in calling it for them.

CCACHE_COMPILERCHECK is set to 'content' when using the in-tree bootstrap
compiler to hash the content of the compiler binary to determine if it
should be a cache miss.  For external compilers the 'mtime' option is used
as it is more efficient and likely to be correct.  Future work may optimize the
'content' check using the same checks as whether a bootstrap compiler is needed
to be built.

The CCACHE_CPP2 pessimization is currently default in our devel/ccache
port due to Clang requiring it.  Clang's -Wparentheses-equality,
-Wtautological-compare, and -Wself-assign warnings do not mix well with
compiling already-pre-processed code that may have expanded macros that
trigger the warnings.  GCC has so far not had this issue so it is allowed to
disable the CCACHE_CPP2 default in our port.

Sharing a cache between multiple checkouts, or systems, is explained in
the ccache manual.  Sharing a cache over NFS would likely not be worth
it, but syncing cache directories between systems may be useful for an
organization.  There is also a memcached backend available [5].  Due to using
an object directory outside of the source directory though you will need to
ensure that both are in the same prefix and all users use the same layout.  A
possible working layout is as follows:
  Source: /some/prefix/src1
  Source: /some/prefix/src2
  Source: /some/prefix/src3
  Objdir: /some/prefix/obj
  Environment: CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
This will use src*/../obj as the MAKEOBJDIRPREFIX and tells ccache to replace
all absolute paths to be relative.  Using something like this is required due
to -I and -o flags containing both SRC and OBJDIR absolute paths that ccache
adds into its hash for the object without CCACHE_BASEDIR.

distcc can be hooked into by setting CCACHE_PREFIX=/usr/local/bin/distcc.
I have not personally tested this and assume it will not mix well with
using the bootstrap compiler.

The cache from buildworld can be reused in a subdir by first running
'make buildenv' (from r290424).

Note that the cache is currently different depending on whether -j is
used or not due to ccache enabling -fdiagnostics-color automatically if
stderr is a TTY, which bmake only does if not using -j.

The system I used for testing was:
  WITNESS
  Build options: -j20 WITH_LLDB=yes WITH_DEBUG_FILES=yes WITH_CCACHE_BUILD=yes
  DISK: ZFS 3-way mirror with very slow disks using SSD l2arc/log.
        The arc was fully populated with src tree files and ccache objects.
  RAM: 76GiB
  CPU: Intel(R) Xeon(R) CPU L5520 @2.27GHz
       2 package(s) x 4 core(s) x 2 SMT threads = hw.ncpu=16

The WITH_FAST_DEPEND feature was used for comparison here as well to show
the dramatic time savings with a full cache.

buildworld:
  x buildworld-before
  + buildworld-ccache-empty
  * buildworld-ccache-full
  % buildworld-ccache-full-fastdep
  # buildworld-fastdep
  +-------------------------------------------------------------------------------+
  |%            *                               #                                +|
  |%            *                               #                                +|
  |%            *                               #             xxx                +|
  |                                                           |A                  |
  |                                                                              A|
  |             A                                                                 |
  |A                                                                              |
  |                                             A                                 |
  +-------------------------------------------------------------------------------+
      N           Min           Max        Median           Avg        Stddev
  x   3       3744.13       3794.31       3752.25     3763.5633     26.935139
  +   3          4519       4525.04       4520.73       4521.59     3.1104823
  Difference at 95.0% confidence
          758.027 +/- 43.4565
          20.1412% +/- 1.15466%
          (Student's t, pooled s = 19.1726)
  *   3       1823.08        1827.2       1825.62        1825.3     2.0785572
  Difference at 95.0% confidence
          -1938.26 +/- 43.298
          -51.5007% +/- 1.15045%
          (Student's t, pooled s = 19.1026)
  %   3       1266.96       1279.37       1270.47     1272.2667     6.3971113
  Difference at 95.0% confidence
          -2491.3 +/- 44.3704
          -66.1952% +/- 1.17895%
          (Student's t, pooled s = 19.5758)
  #   3       3153.34       3155.16        3154.2     3154.2333    0.91045776
  Difference at 95.0% confidence
          -609.33 +/- 43.1943
          -16.1902% +/- 1.1477%
          (Student's t, pooled s = 19.0569)

buildkernel:
  x buildkernel-before
  + buildkernel-ccache-empty
  * buildkernel-ccache-empty-fastdep
  % buildkernel-ccache-full
  # buildkernel-ccache-full-fastdep
  @ buildkernel-fastdep
  +-------------------------------------------------------------------------------+
  |#                        @   %                  *                              |
  |#                        @   %                  *     x                      + |
  |#                        @   %                  *     xx                     ++|
  |                                                      MA                       |
  |                                                                             MA|
  |                                                A                              |
  |                             A                                                 |
  |A                                                                              |
  |                         A                                                     |
  +-------------------------------------------------------------------------------+
      N           Min           Max        Median           Avg        Stddev
  x   3        571.57        573.94        571.79     572.43333     1.3094401
  +   3        727.97        731.91        728.06     729.31333     2.2492295
  Difference at 95.0% confidence
          156.88 +/- 4.17129
          27.4058% +/- 0.728695%
          (Student's t, pooled s = 1.84034)
  *   3         527.1        528.29        528.08     527.82333    0.63516402
  Difference at 95.0% confidence
          -44.61 +/- 2.33254
          -7.79305% +/- 0.407478%
          (Student's t, pooled s = 1.02909)
  %   3         400.4        401.05        400.62        400.69     0.3306055
  Difference at 95.0% confidence
          -171.743 +/- 2.16453
          -30.0023% +/- 0.378128%
          (Student's t, pooled s = 0.954969)
  #   3        201.94        203.34        202.28        202.52    0.73020545
  Difference at 95.0% confidence
          -369.913 +/- 2.40293
          -64.6212% +/- 0.419774%
          (Student's t, pooled s = 1.06015)
  @   3        369.12        370.57         369.3     369.66333    0.79033748
  Difference at 95.0% confidence
          -202.77 +/- 2.45131
          -35.4225% +/- 0.428227%
          (Student's t, pooled s = 1.0815)

[1] https://ccache.samba.org/performance.html
[2] http://www.mail-archive.com/ccache@lists.samba.org/msg00576.html
[3] https://reviews.freebsd.org/D3484
[5] https://github.com/jrosdahl/ccache/pull/30

PR:		182944 [4]
MFC after:	3 weeks
Sponsored by:	EMC / Isilon Storage Division
Relnotes:	yes
2015-11-08 00:50:18 +00:00
Baptiste Daroussin
07fa68d600 Catchup with latest changes for ObsoleteFiles in case base is built using
WITHOUT_LOCALE knob
2015-11-07 11:28:25 +00:00
Baptiste Daroussin
3e4f384ed2 Merge from head r290483 2015-11-07 11:02:33 +00:00
Andriy Gapon
8787f18062 zfsboottest: catch up with r241289, call zfs_spa_init() for all found pools
MFC after:	8 days
2015-11-06 16:27:22 +00:00
Andriy Gapon
b6b87995cc zfsboottest: build as a 32 bit application
For better emulation of the actual zfs boot code.

MFC after:	8 days
2015-11-06 16:26:09 +00:00
Bryan Drewery
3dfad7c764 Don't allow environment-set options to bleed into src.conf.5 generation.
MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-11-06 05:28:08 +00:00
Bryan Drewery
cf1eeb33be Add a FAST_DEPEND option, off by default, which speeds up the build significantly.
This speeds up buildworld by 16% on my system and buildkernel by 35%.

Rather than calling mkdep(1), which is just a wrapper around 'cc -E',
use the modern -MD -MT -MF flags to gather and generate dependencies during
compilation.  This flag was introduced in GCC "a long time ago", in GCC 3.0,
and is also supported by Clang.  (It appears that ICC also supports this but I
do not have access to test it).  This avoids running the preprocessor *twice*
for every build, in both 'make depend' and 'make all'.  This is especially
noticeable when using ccache since it does not cache preprocessor results from
mkdep(1) / 'cc -E', but still speeds up compilation with the -MD flags.

For 'make depend' a tree-walk is still done to ensure that all DPSRCS
are generated when expected, and that beforedepend/afterdepend and
_EXTRADEPEND are all still respected.  In time this may change but for now
I've been conservative.  The time for a tree-walk with -j combined with
SUBDIR_PARALLEL is not significant.  For example, it takes about 9 seconds
with -j15 to walk all of src/ for 'make depend' now on my system.

A .depend file is still generated with the various rules that apply to
the final target, or custom rules.  Otherwise there are now
per-built-object-file .depend files, such as .depend.filename.o.  These
are included directly by make rather than populating .depend with a loop
and .depend lines, which only added overhead to the now almost-NOP 'make
depend' phase.

Before this I experimented with having mkdep(1) called in parallel per-file.
While this improved the kernel and lib/libc 'make depend' phase, it resulted
in slower build times overall.

The -M flags are removed from CFLAGS when linking since they have no effect.

Enabling this by default, for src or out-of-src, can be done once more testing
has been done, such as a ports exp-run, and with more compilers.

The system I used for testing was:
  WITNESS
  Build options: -j20 WITH_LLDB=yes WITH_DEBUG_FILES=yes WITH_FAST_DEPEND=yes
  DISK: ZFS 3-way mirror with very slow disks using SSD l2arc/log.
        The arc was fully populated with src tree files.
  RAM: 76GiB
  CPU: Intel(R) Xeon(R) CPU L5520 @2.27GHz
       2 package(s) x 4 core(s) x 2 SMT threads = hw.ncpu=16

buildworld:
  x buildworld-before
  + buildworld-fastdep
  +-------------------------------------------------------------------------------+
  |+                                                                              |
  |+                                                                              |
  |+                                                                       xx    x|
  |                                                                       |_MA___||
  |A                                                                              |
  +-------------------------------------------------------------------------------+
      N           Min           Max        Median           Avg        Stddev
  x   3       3744.13       3794.31       3752.25     3763.5633     26.935139
  +   3       3153.34       3155.16        3154.2     3154.2333    0.91045776
  Difference at 95.0% confidence
          -609.33 +/- 43.1943
          -16.1902% +/- 1.1477%
          (Student's t, pooled s = 19.0569)

buildkernel:
  x buildkernel-before
  + buildkernel-fastdep
  +-------------------------------------------------------------------------------+
  |+                                                                            x |
  |++                                                                           xx|
  |                                                                             A||
  |A|                                                                             |
  +-------------------------------------------------------------------------------+
      N           Min           Max        Median           Avg        Stddev
  x   3        571.57        573.94        571.79     572.43333     1.3094401
  +   3        369.12        370.57         369.3     369.66333    0.79033748
  Difference at 95.0% confidence
          -202.77 +/- 2.45131
          -35.4225% +/- 0.428227%
          (Student's t, pooled s = 1.0815)

Sponsored by:	EMC / Isilon Storage Division
MFC after:	3 weeks
Relnotes:	yes
2015-11-06 04:45:29 +00:00
Enji Cooper
2a923f8f3c Rename etc/periodic/daily/430.status-rwho to periodic/daily/430.status-uptime
The command was checking local/remote system uptime, so rename the script to
match its function and to avoid confusion

The controlling variable in /etc/periodic.conf has been renamed from
daily_status_rwho_enable to daily_status_uptime_enable.

MFC after: 3 days
Reported by: Peter Jeremy <peter@rulingia.com>
Relnotes: yes
Sponsored by: EMC / Isilon Storage Division
2015-11-02 01:05:34 +00:00
Enji Cooper
0c646040e8 Use nitems(x) instead of sizeof(x)/sizeof(x[0])
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-11-02 00:42:31 +00:00
Enji Cooper
55972acf7f Conditionally install (if_)?(otus|rsu).4, otusfw.4, rsufw.4, and urtwn.4 if
MK_USB != no

Add the manpages to OptionalObsoleteFiles.inc

As a side-effect, this also fixes installworld with MK_USB == no

X-MFC with: r290128
Sponsored by: EMC / Isilon Storage Division
2015-11-02 00:39:28 +00:00
Baptiste Daroussin
baa0e9ff92 Make generated makefiles respects ${SHAREDIR} 2015-11-01 21:20:29 +00:00
Baptiste Daroussin
3c3feed41a Merge from head 2015-11-01 21:17:38 +00:00
Enji Cooper
323b92baff Fix compiler warnings with open_to_operation.c
Other sidenotes:
- Remove unused variables with main(..)
- Convert errx/exit with -1 to errx/exit with 1
- Fix a bogus test in try_directory_open
  (expected_errno == expected_errno -> errno == expected_errno) [*]
- Fix some warnings related to discarded qualifiers
- Remove a bogus else-statement at the end of check_mmap_exec(..) in the
  successful case. mmap(2), POSIX, Linux, etc all don't state what the
  behavior is when mixing O_WRONLY + PROT_EXEC, so assume success for now to
  get the test program to pass again.

PR: 201286 [*]
MFC after: 1 week
Submitted by: David Binderman <dcb314@hotmail.com>
Sponsored by: EMC / Isilon Storage Division
2015-10-30 10:09:04 +00:00
Conrad Meyer
e9497f9bbd ioatcontrol(8): Add and document "raw" testing mode
Allows DMA from/to arbitrary KVA or physical address.  /dev/ioat_test
must be enabled by root and is only R/W root, so this is approximately
as dangerous as /dev/mem and /dev/kmem.

Sponsored by:	EMC / Isilon Storage Division
2015-10-29 04:16:16 +00:00
Eric van Gyzen
9300da1d3d Fix spelling and grammer in tools/test/README.
Reviewed by:	gnn
2015-10-28 15:00:21 +00:00
George V. Neville-Neil
bae28eaa8d Add a test for the listen queue using two test programs,
listen, and connect.  The listen program is a simple server that
accepts and closes sockets, until a fixed limit, then sets the listen
queue to 0 and counts how many remaining connections it processes.

The connect program repeatedly opens connections and closes them
serving as the driver for the listen program.

Sponsored by:	Limelight Networks
2015-10-28 03:43:24 +00:00
George V. Neville-Neil
9f12bed1cd Update the README to describe all the current tests in this directory. 2015-10-28 03:39:18 +00:00
Ed Maste
75908e8a23 Add WITHOUT_DEBUG_FILES description 2015-10-27 20:49:56 +00:00
Conrad Meyer
2a4fd6b17a ioat: Add support for Block Fill operations
The IOAT hardware supports writing a 64-bit pattern to some destination
buffer.  The same limitations on buffer length apply as for copy
operations.  Throughput is a bit higher (probably because fill does not
have to spend bandwidth reading from a source in memory).

Support for testing Block Fill has been added to ioatcontrol(8) and the
ioat_test device.  ioatcontrol(8) accepts the '-f' flag, which tests
Block Fill.  (If the flag is omitted, the tool tests copy by default.)
The '-V' flag, in conjunction with '-f', verifies that buffers are
filled in the expected pattern.

Tested on:	Broadwell DE (Xeon D-1500)
Sponsored by:	EMC / Isilon Storage Division
2015-10-26 19:34:12 +00:00
Enji Cooper
567be5c2fb Add libvmmapi to OptionalObsoleteFiles.inc when MK_BHYVE == no
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-10-24 23:25:43 +00:00
Bryan Drewery
ad437f9313 Fix warning about redefined *_crunchdir_hostname target after r289734.
'hostname' was in the build list twice.

X-MFC-With:	r289734
MFC after:	2 weeks
Reported by:	sbruno
Sponsored by:	EMC / Isilon Storage Division
2015-10-22 18:05:11 +00:00
Andriy Voskoboinyk
3c64fc9c3d Unbreak regression testing tools for net80211 crypto cipher modules
Approved by:	adrian (mentor)
Differential Revision:	https://reviews.freebsd.org/D3441
2015-10-22 17:08:12 +00:00
Conrad Meyer
7c69db50df Improve flexibility of ioat_test / ioatcontrol(8)
The test logic now preallocates memory before running the test.

The buffer size is now configurable.  Post-copy verification is
configurable.  The number of copies to chain into one transaction (one
interrupt) is configurable.

A 'duration' mode is added, which repeats the test until the duration
has elapsed, reporting the B/s and transactions completed.

ioatcontrol.8 has been updated to document the new arguments.

Initial limits (on this particular Broadwell-DE) (and when the
interrupts are working) seem to be: 256 interrupts/sec or ~6 GB/s,
whichever limit is more restrictive.

Unfortunately, it seems the interrupt-reset handling on Broadwell isn't
working as intended.  That will be fixed in a later commit.

Sponsored by:	EMC / Isilon Storage Division
2015-10-22 04:38:05 +00:00
Julio Merino
74c52c6526 Handle lib32 files during delete-old* when MK_LIB32=no.
Extend OptionalObsoleteFiles.inc to delete all lib32 files when MK_LIB32 is
set to no on a system that previously had lib32 libraries installed.

Also, to prevent "make delete-old-dirs" from always deleting lib32 directories
after an installworld, move the lib32 subtree to its own mtree file that only
gets applied when MK_LIB32=yes.

Test: Ran "make delete-old" and "make delete-old-libs" on a system that never
had MK_LIB32 enabled, and on a system where MK_LIB32 was enabled and later
disabled.  Did this both on amd64 and powerpc64.

Test: Ran "make tinderbox" without errors.

Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D3923
2015-10-20 20:35:34 +00:00
Baptiste Daroussin
031c294c1d Merge from head 2015-10-19 11:51:10 +00:00
Enji Cooper
b3af24b4ff Integrate tools/regression/acltools into the FreeBSD test suite as tests/sys/acl
- Make the requirements more complete for the testcases
- Detect prerequisites so the tests won't fail (zfs.ko is loaded, zpool(1)
  is available, ACL support is enabled with UFS, etc).
- Work with temporary files/directories/mountpoints that work with atf/kyua
- Limit the testcases to work on temporary filesystems to reduce tainting the
  test host

MFC after: 2 weeks
Reviewed by: trasz (earlier version)
Differential Revision: https://reviews.freebsd.org/D3810
2015-10-17 08:39:37 +00:00
Enji Cooper
4fdc3d75b9 Integrate tools/test/posixshm and tools/regression/posixshm into the FreeBSD
test suite as tests/sys/posixshm

Some other highlights:
- Convert the testcases over to ATF
- Don't use hardcoded paths to /tmp (which violate the ATF/kyua samdbox); use
  mkstemp to generate temporary paths for non-SHM_ANON shm objects.

MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division
2015-10-17 04:32:21 +00:00
Enji Cooper
d63d2d29cb Fix test-fenv:test_dfl_env when run on some amd64 CPUs
Compare the fields that the AMD [1] and Intel [2] specs say will be
set once fnstenv returns.

Not all amd64 capable processors zero out the env.__x87.__other field
(example: AMD Opteron 6308). The AMD64/x64 specs aren't explicit on what the
env.__x87.__other field will contain after fnstenv is executed, so the values
in env.__x87.__other could be filled with arbitrary data depending on how the
CPU-specific implementation of fnstenv.

1. http://support.amd.com/TechDocs/26569_APM_v5.pdf
2. http://www.intel.com/Assets/en_US/PDF/manual/253666.pdf

Discussed with: kib, Anton Rang <anton.rang@isilon.com>
Reviewed by: Daniel O'Connor <darius@dons.net.au> (earlier patch; pre-generalization)
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Reported by: Bill Morchin <wmorchin@isilon.com>
2015-10-14 20:22:12 +00:00
Enji Cooper
b2e7f20496 Integrate tools/regression/vfs into the FreeBSD test suite as tests/sys/vfs
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-10-14 08:16:15 +00:00
Ed Maste
fc30b2e333 Add WITHOUT_LLDB for src.conf(5)
It will be enabled by default on certain architectures.
2015-10-14 00:23:31 +00:00
Baptiste Daroussin
4a707b2112 Synchronize locale generation tools with dragonfly
generates the makefiles and the sources
2015-10-13 20:21:52 +00:00
Baptiste Daroussin
becbad1f6e Merge from head 2015-10-13 19:44:36 +00:00
Dimitry Andric
65dcb5bcb1 Merge ^/head r288197 through r288456. 2015-10-01 19:02:45 +00:00
Andriy Gapon
9875367b9a remove unused sgsmsg utility (originally imported from opensolaris)
MFC after:	25 days
2015-09-28 12:38:57 +00:00
Bryan Drewery
1e066951b0 Add missing binutils ldscripts.
Some of these are after the fix in r288230 to install them.

MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-09-25 20:45:10 +00:00
Bryan Drewery
54c7d75a06 META_MODE: Remove DEP_RELDIR from Makefile.depend files.
This has not been needed since r284171 in projects/bmake.

Sponsored by:	EMC / Isilon Storage Division
2015-09-25 19:26:08 +00:00
Dimitry Andric
26e065d02e Merge ^/head r288035 through r288099. 2015-09-22 09:50:11 +00:00
Enji Cooper
f7d9215fa6 Delete /etc/autofs/special_noauto when MK_AUTOFS == no
MFC after: 1 week
2015-09-21 03:39:13 +00:00
Dimitry Andric
b1fa820d8b Don't install Intrin.h, as this is an intrinsics header for Windows. 2015-09-20 21:39:55 +00:00
Dimitry Andric
ae2d96ab3a Merge ^/head r287878 through r288034. 2015-09-20 20:34:17 +00:00
Bryan Drewery
b917e97346 Document NO_DIRDEPS for META_MODE and give link to full details. 2015-09-18 22:22:32 +00:00
Bryan Drewery
317c99b793 makeman: Fix handling of env-only vars by using SRC_ENV_CONF rather than SRCCONF.
Also note that these env-only vars can be specified on the command line.

This fixes the dependent options that are env-only (such as WITH_META_MODE
and WITH_AUTO_OBJ) to properly display their dependencies.

Sponsored by:	EMC / Isilon Storage Division
2015-09-17 22:04:46 +00:00
Bryan Drewery
4078537c17 Optimize makeman slightly by removing uneeded cat and extra test -s.
Sponsored by:	EMC / Isilon Storage Division
2015-09-17 20:45:51 +00:00
Bryan Drewery
da6e996de3 src.conf.5: Make it self-documenting that the mkopts are environment-only.
Sponsored by:	EMC / Isilon Storage Division
2015-09-17 20:33:52 +00:00
Bryan Drewery
ca04571419 Document src-env.conf and note its use for MAKEOBJDIRPREFIX and WITH_META_MDOE.
Sponsored by:	EMC / Isilon Storage Division
2015-09-17 17:45:20 +00:00
Bryan Drewery
1c67eb6420 Document NO_SILENT for META_MODE.
Reword and add some formatting as well.
2015-09-17 05:01:04 +00:00
Dimitry Andric
a1cb6af119 Merge ^/head r287680 through r287877. 2015-09-16 22:35:59 +00:00
Dimitry Andric
854fa44b6f Update libc++ to 3.7.0 release. 2015-09-16 22:26:52 +00:00
Hans Petter Selasky
7ace4eafb8 Add missing BINDIR variable. 2015-09-14 12:25:45 +00:00
Dimitry Andric
b6c25e0ef3 Update llvm, clang and lldb to 3.7.0 release. 2015-09-06 19:58:48 +00:00
Dimitry Andric
85d8ef8f1f Import stripped lldb 3.7.0 release (r246257). 2015-09-06 18:37:19 +00:00
Dimitry Andric
36c5ade2f4 Import clang 3.7.0 release (r246257). 2015-09-06 18:36:24 +00:00
Dimitry Andric
69156b4c20 Import llvm 3.7.0 release (r246257). 2015-09-06 18:34:38 +00:00
Dimitry Andric
027f1c9655 Vendor import of (stripped) lldb trunk r242221:
https://llvm.org/svn/llvm-project/lldb/trunk@242221
2015-09-06 14:32:30 +00:00
Dimitry Andric
d9442b10a2 Merge ^/head r286858 through r287489. 2015-09-05 18:36:23 +00:00
Xin LI
28ffe927c2 Expose an interface to determine if an ACE is inherited.
Submitted by:	sef
Reviewed by:	trasz
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D3540
2015-09-04 00:14:20 +00:00
Adrian Chadd
883fafaf87 oops - mis-commit. 2015-08-30 21:55:01 +00:00
Adrian Chadd
267e3cf98d Convert this over to use the new cdev based ioctl path. 2015-08-30 21:54:47 +00:00
Craig Rodrigues
60caf0c9c2 - Replace N(a)/N(i)/N(T)/LEN(a)/ARRAY_SIZE(a) with nitems()
- Add missing <err.h> for err() and <sys/sysctl.h> for sysctlbyname()
- NULL -> 0 for 5th parameter of sysctlbyname()

Submitted by: Andriy Voskoboinyk <s3erios@gmail com>
Differential Revision: https://reviews.freebsd.org/D3442
2015-08-29 19:47:20 +00:00
Gleb Smirnoff
7a79cebfba Replay r286410. Change KPI of how device drivers that provide wireless
connectivity interact with the net80211 stack.

Historical background: originally wireless devices created an interface,
just like Ethernet devices do. Name of an interface matched the name of
the driver that created. Later, wlan(4) layer was introduced, and the
wlanX interfaces become the actual interface, leaving original ones as
"a parent interface" of wlanX. Kernelwise, the KPI between net80211 layer
and a driver became a mix of methods that pass a pointer to struct ifnet
as identifier and methods that pass pointer to struct ieee80211com. From
user point of view, the parent interface just hangs on in the ifconfig
list, and user can't do anything useful with it.

Now, the struct ifnet goes away. The struct ieee80211com is the only
KPI between a device driver and net80211. Details:

- The struct ieee80211com is embedded into drivers softc.
- Packets are sent via new ic_transmit method, which is very much like
  the previous if_transmit.
- Bringing parent up/down is done via new ic_parent method, which notifies
  driver about any changes: number of wlan(4) interfaces, number of them
  in promisc or allmulti state.
- Device specific ioctls (if any) are received on new ic_ioctl method.
- Packets/errors accounting are done by the stack. In certain cases, when
  driver experiences errors and can not attribute them to any specific
  interface, driver updates ic_oerrors or ic_ierrors counters.

Details on interface configuration with new world order:
- A sequence of commands needed to bring up wireless DOESN"T change.
- /etc/rc.conf parameters DON'T change.
- List of devices that can be used to create wlan(4) interfaces is
  now provided by net.wlan.devices sysctl.

Most drivers in this change were converted by me, except of wpi(4),
that was done by Andriy Voskoboinyk. Big thanks to Kevin Lo for testing
changes to at least 8 drivers. Thanks to pluknet@, Oliver Hartmann,
Olivier Cochard, gjb@, mmoll@, op@ and lev@, who also participated in
testing.

Reviewed by:	adrian
Sponsored by:	Netflix
Sponsored by:	Nginx, Inc.
2015-08-27 08:56:39 +00:00
Baptiste Daroussin
23a32822d2 Merge from HEAD 2015-08-25 20:14:50 +00:00
Conrad Meyer
8c8e848710 ioat(4): Minor style cleanups
Suggested by:	ngie
Reviewed by:	jimharris
Approved by:	markj (mentor)
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D3481
2015-08-25 17:39:03 +00:00
Conrad Meyer
e25d0a6df1 ioatcontrol(8): Fix build
Tripped up by the FBSD SVN pre-commit hook!

Approved by:	markj (mentor)
Sponsored by:	EMC / Isilon Storage Division
2015-08-24 20:39:22 +00:00
Conrad Meyer
e974f91c38 Import ioat(4) driver
I/OAT is also referred to as Crystal Beach DMA and is a Platform Storage
Extension (PSE) on some Intel server platforms.

This driver currently supports DMA descriptors only and is part of a
larger effort to upstream an interconnect between multiple systems using
the Non-Transparent Bridge (NTB) PSE.

For now, this driver is only built on AMD64 platforms.  It may be ported
to work on i386 later, if that is desired.  The hardware is exclusive to
x86.

Further documentation on ioat(4), including API documentation and usage,
can be found in the new manual page.

Bring in a test tool, ioatcontrol(8), in tools/tools/ioat.  The test
tool is not hooked up to the build and is not intended for end users.

Submitted by:	jimharris, Carl Delsey <carl.r.delsey@intel.com>
Reviewed by:	jimharris (reviewed my changes)
Approved by:	markj (mentor)
Relnotes:	yes
Sponsored by:	Intel
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D3456
2015-08-24 19:32:03 +00:00
Warner Losh
18803951d5 Remove cust_pkg() not that pkg_foo(1) has been removed. 2015-08-22 23:09:19 +00:00
Jilles Tjoelker
89cead337a wordexp(): Improve some error codes.
Distinguish between WRDE_BADVAL and WRDE_SYNTAX based on when the error
occurred (parsing or execution), not based on whether WRDE_UNDEF was passed.

Also, return WRDE_NOSPACE for a few more unexpected results from sh.
2015-08-19 20:31:03 +00:00
Poul-Henning Kamp
83fb3d8cef Update sysbuild to new ports infrastructure. 2015-08-18 20:19:48 +00:00
Dimitry Andric
6fdf637e23 Merge ^/head r286697 through r286857. 2015-08-17 19:02:23 +00:00
Enji Cooper
edefff7ed6 Reap MK_SYSINSTALL
It's no longer in use in the tree (most likely missed when sade/sysinstall
were removed)

MFC after: 1 week
2015-08-16 09:51:24 +00:00
Antoine Brodin
55f80482d4 Stop removing ELF toolchain tools 2015-08-13 22:04:30 +00:00
Ed Maste
1bc28ffccd Roll WITHOUT_ELFTOOLCHAIN_TOOLS into WITHOUT_TOOLCHAIN
The option was added only to ease the transition from GNU Binutils to
ELF Tool Chain tools, and that process is now complete (for the viable
replacements). Noting the removal in UPDATING is sufficient as we have
not shipped a release with the option.

Reviewed by:	brooks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3240
2015-08-13 17:50:47 +00:00
Dimitry Andric
f98ee84465 Merge ^/head r286422 through r286684. 2015-08-12 18:39:49 +00:00
Julio Merino
53d2ddb3fd Mark usr/include/c++/v1/tr1 as obsolete
The directory usr/include/c++/v1 was marked as obsolete but its tr1 subdir
was not, resulting in a removal error in delete-old.
2015-08-12 03:03:51 +00:00
Adrian Chadd
d237165a09 Finish reverting r286410 for now. 2015-08-10 06:12:53 +00:00
Baptiste Daroussin
e2ff105a99 Update Obsolete files in case MK_LOCALE=no 2015-08-09 15:44:14 +00:00
Baptiste Daroussin
764a768e16 Merge from HEAD 2015-08-09 00:15:17 +00:00
Renato Botelho
b8a1f275ac Add missing files to sendmail obsolete files list
Approved by:	gshapiro
MFC after:	3 days
Sponsored by:	Netgate
Differential Revision:	https://reviews.freebsd.org/D3302
2015-08-08 15:51:29 +00:00
Baptiste Daroussin
78e197d1f9 Add FreeBSD keyword on generated Makefiles 2015-08-08 00:57:27 +00:00
Baptiste Daroussin
c58c4251bb Add set of tools created by edwin@ long time ago to generate locales
Those tools were modified and extended by John Marino <draco@marino.st>
Add the generated charmaps and maps for LC_CTYPE generation

Obtained from:	Dragonfly
2015-08-08 00:28:23 +00:00
Dimitry Andric
51ece4aae5 Vendor import of clang trunk r242221:
https://llvm.org/svn/llvm-project/cfe/trunk@242221
2015-08-07 23:02:44 +00:00
Dimitry Andric
ee8648bdac Vendor import of llvm trunk r242221:
https://llvm.org/svn/llvm-project/llvm/trunk@242221
2015-08-07 23:01:33 +00:00
Dimitry Andric
1347814ced Merge ^/head r285924 through r286421. 2015-08-07 20:18:55 +00:00
Gleb Smirnoff
79d2c5e857 Change KPI of how device drivers that provide wireless connectivity interact
with the net80211 stack.

Historical background: originally wireless devices created an interface,
just like Ethernet devices do. Name of an interface matched the name of
the driver that created. Later, wlan(4) layer was introduced, and the
wlanX interfaces become the actual interface, leaving original ones as
"a parent interface" of wlanX. Kernelwise, the KPI between net80211 layer
and a driver became a mix of methods that pass a pointer to struct ifnet
as identifier and methods that pass pointer to struct ieee80211com. From
user point of view, the parent interface just hangs on in the ifconfig
list, and user can't do anything useful with it.

Now, the struct ifnet goes away. The struct ieee80211com is the only
KPI between a device driver and net80211. Details:

- The struct ieee80211com is embedded into drivers softc.
- Packets are sent via new ic_transmit method, which is very much like
  the previous if_transmit.
- Bringing parent up/down is done via new ic_parent method, which notifies
  driver about any changes: number of wlan(4) interfaces, number of them
  in promisc or allmulti state.
- Device specific ioctls (if any) are received on new ic_ioctl method.
- Packets/errors accounting are done by the stack. In certain cases, when
  driver experiences errors and can not attribute them to any specific
  interface, driver updates ic_oerrors or ic_ierrors counters.

Details on interface configuration with new world order:
- A sequence of commands needed to bring up wireless DOESN"T change.
- /etc/rc.conf parameters DON'T change.
- List of devices that can be used to create wlan(4) interfaces is
  now provided by net.wlan.devices sysctl.

Most drivers in this change were converted by me, except of wpi(4),
that was done by Andriy Voskoboinyk. Big thanks to Kevin Lo for testing
changes to at least 8 drivers. Thanks to Olivier Cochard, gjb@, mmoll@,
op@ and lev@, who also participated in testing. Details here:

https://wiki.freebsd.org/projects/ifnet/net80211

Still, drivers: ndis, wtap, mwl, ipw, bwn, wi, upgt, uath were not
tested. Changes to mwl, ipw, bwn, wi, upgt are trivial and chances
of problems are low. The wtap wasn't compilable even before this change.
But the ndis driver is complex, and it is likely to be broken with this
commit. Help with testing and debugging it is appreciated.

Differential Revision:	D2655, D2740
Sponsored by:	Nginx, Inc.
Sponsored by:	Netflix
2015-08-07 11:43:14 +00:00
Ed Maste
f97aa232eb Remove old GNU Binutils tools now provided by ELF Tool Chain
Reviewed by:	bapt, brooks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3238
2015-08-05 18:30:00 +00:00
Marcel Moolenaar
8743ddd850 Add an example program (in Python) for the AMD Am79c900 (ILACC)
ethernet controller. The ethernet controller is emulated by VMware
Fusion (for example) and is a good device to demonstrate how to use
the bus space and busdma functions due to its simple programming.

The program sets up the DMA structures, sends a DHCP discover packet,
waits 2 seconds, and iterates over the receive ring for an offer.
2015-08-02 21:24:03 +00:00
Marcel Moolenaar
015b858345 Rename busdma_sync() to busdma_sync_range() and rename the
base and size parameters to ofs and len (resp). Add a new
busdma_sync() that makes the entire MD coherent.
2015-08-02 01:09:30 +00:00
Mark Johnston
d912066c36 Add a src.conf option to build and install the DTrace test suite.
Reviewed by:	gnn, ngie
Differential Revision:	https://reviews.freebsd.org/D3195
2015-08-02 00:37:33 +00:00
Ed Maste
b43cca137b MK_ELFCOPY_AS_OBJCOPY should be a variable
PR:		201978
Submitted by:	O. Hartmann
Differential Revision:	https://reviews.freebsd.org/D2887
2015-07-29 21:41:15 +00:00
Ed Maste
c67acb7508 Remove mention of non-existent gconv tool
I believe this is a typo of gcov, but gcov is not controlled by
WITHOUT_BINUTILS anyhow.

Sponsored by:	The FreeBSD Foundation
2015-07-29 20:02:20 +00:00
Ed Maste
5ea9e83e2f Allow ELF Tool Chain elfcopy to be installed as objcopy
ELF Tool Chain elfcopy is nearly a drop-in replacement for GNU objcopy,
but does not currently support PE output which is needed for building
x86 UEFI bits.

Add a src.conf knob to allow installing it as objcopy and set it by
default for aarch64 only, where we don't have a native binutils.

Reviewed by:	bapt
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D2887
2015-07-29 18:45:38 +00:00
Ed Maste
2d83b16bd4 Update OLD_FILES for tools provided by ELF Tool Chain or Binutils
Sponsored by:	The FreeBSD Foundation
2015-07-29 18:33:11 +00:00
Ed Maste
8cdcc73cfa Include c++filt and readelf in WITHOUT_ELFTOOLCHAIN_TOOLS 2015-07-29 15:42:22 +00:00
Dimitry Andric
5f78ec1c9f Merge ^/head r285793 through r285923. 2015-07-27 22:20:28 +00:00
Marcel Moolenaar
71d80fbaf3 Change the dev argument from a full path to just the device
identification (e.g. isa:0x3f0 or pci0:2:1:0). In libbus,
the device is turned into a path name. For bus_space_map(),
the resource is now specified in a second argument.
Before:
	bus.map('/dev/proto/pci0:2:1:0/pcicfg')
	busdma.tag_create('/dev/proto/pci0:2:1:0/busdma', ...)
Now:
	bus.map('pci0:2:1:0', 'pcicfg')
	busdma.tag_create('pci0:2:1:0', ...)
2015-07-26 21:37:31 +00:00
Marcel Moolenaar
9af0c69a15 Remove debugging output. We should have tracing instead. 2015-07-26 16:40:51 +00:00
Baptiste Daroussin
c048a83f51 Replace GNU RCS ident with a BSD license ident
Rationale: ident(1) is useful out of RCS, lot of scripts are using ident(1) and
failing when base is built WITHOUT_RCS.

This version is:
- fully compatible with RCS 5.7 ident.
- fully compatible with RCS 5.9 ident.
- passes all ident test from GNU RCS 5.9 test suite

This version has support for: svn extension for the Keyword id (double colon and
# before last $)

Différences with GNU RCS ident:
- no long options as found in GNU RCS 5.9 (but not commented there).
- '-V' reports nothing but has been added for compatibility.

Differential Revision:	https://reviews.freebsd.org/D3200
Reviewed by:	pfg
2015-07-26 11:21:36 +00:00
Dimitry Andric
8d0f10857a Merge ^/head r285341 through r285792. 2015-07-22 19:55:32 +00:00
Andrey A. Chernov
96a59ba2ae Comment out usr/sbin/mailwrapper removal
because for no mailwrapper case we have:
/usr/sbin/sendmail -> /usr/sbin/mailwrapper
/usr/sbin/mailwrapper -> /usr/libexec/sendmail/sendmail
Add comment explaining it.
2015-07-16 02:08:54 +00:00
Christian Brueffer
238ca3cb7e Add a missing break statement, which made the code default to IPv6.
PR:		201285
Submitted by:	David Binderman
MFC after:	1 week
2015-07-14 15:24:50 +00:00
Dimitry Andric
3dac3a9bad Update llvm/clang to r241361. 2015-07-05 22:34:42 +00:00
Dimitry Andric
c192b3dcff Vendor import of clang trunk r241361:
https://llvm.org/svn/llvm-project/cfe/trunk@241361
2015-07-05 14:23:59 +00:00
Dimitry Andric
1a82d4c088 Vendor import of llvm trunk r241361:
https://llvm.org/svn/llvm-project/llvm/trunk@241361
2015-07-05 14:21:36 +00:00
Dimitry Andric
4cd9b24e47 Merge ^/head r284737 through r285152. 2015-07-04 21:50:39 +00:00
Ed Maste
5e95aa85bb Import LLDB as of upstream SVN 241361 (git 612c075f) 2015-07-03 16:57:06 +00:00
Marcel Moolenaar
4af242aad1 Implement busdma_md_unload() and busdma_sync().
While here:
1.  have the Python bindings contain constants for the space
    identifiers and the sync operation.
2.  change the segment iterators to return None when done,
    not ENXIO.
2015-07-03 05:47:56 +00:00
Marcel Moolenaar
22900685fd Add busdma_md_create, busdma_md_destroy and busdma_md_load. 2015-07-03 02:06:47 +00:00
Mariusz Zaborski
c36e54bb32 Let the nv.h and dnv.h includes be only in sys directory.
Change consumers to include those files from sys.
Add duplicated files to ObsoleteFiles.

Approved by:	pjd (mentor)
2015-07-02 21:58:10 +00:00
Navdeep Parhar
d50357c6f7 cxgbetool: fix code that decodes T5 SGE contexts. Some of the fields
that changed between T4 and T5 were not displayed correctly.

Obtained from:	Chelsio
MFC after:	3 days
Differential Revision:
2015-06-30 22:30:21 +00:00
Dimitry Andric
94f6f93ac8 Merge ^/head r284644 through r284736. 2015-06-23 18:55:08 +00:00
Dimitry Andric
cc38b6408e Update llvm/clang build glue. 2015-06-23 18:46:29 +00:00
Simon J. Gerraty
cc2520d2f3 Fix generation of src.conf.5
Since makeman turns all options on, we need to guard somethings from
make(showconfig)
2015-06-22 20:21:57 +00:00
Ed Maste
c5d9ea913f Report failing value from 'make showconfig' in build option script
Sponsored by:	The FreeBSD Foundation
2015-06-22 17:23:36 +00:00
Dimitry Andric
2e645aa569 Vendor import of clang trunk r240225:
https://llvm.org/svn/llvm-project/cfe/trunk@240225
2015-06-21 14:00:56 +00:00
Dimitry Andric
3a0822f094 Vendor import of llvm trunk r240225:
https://llvm.org/svn/llvm-project/llvm/trunk@240225
2015-06-21 13:59:01 +00:00
Dimitry Andric
76aeda8ad4 Merge ^/head r284188 through r284643. 2015-06-20 19:34:50 +00:00
Antoine Brodin
62a996ede4 Add more obsolete files 2015-06-20 08:52:44 +00:00
Antoine Brodin
78fa96c2b8 Add some files to remove when MK_BSD_GREP=no 2015-06-20 07:35:02 +00:00
Baptiste Daroussin
e2dd197458 The build and installation of rmail(8) is only related to the SENDMAIL option 2015-06-18 05:58:15 +00:00
Baptiste Daroussin
15953005d1 Do not remove mailwrapper(8) in case WITHOUT_SENDMAIL is used
It is required for other tools in base and/or ports like dma(8) or any MTA
available in ports. It is also build and installed anyway even if world is built
WITHOUT_SENDMAIL
2015-06-18 05:54:04 +00:00
Simon J. Gerraty
ccfb965433 Add META_MODE support.
Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision:       D2796
Reviewed by: brooks imp
2015-06-13 19:20:56 +00:00
Marcel Moolenaar
d11f2a4c8d Free the segment objects properly. 2015-06-12 14:53:56 +00:00
Marcel Moolenaar
cc6064789f Add accessor functions for iterating over segments. A segment
can be in bus address space, physical memory space or virtual
memory space.
2015-06-11 03:02:40 +00:00
Marcel Moolenaar
c0027d73e2 Rename bus_space to bus (i.e. drop _space). This makes the
API match the convenience macros in <sys/bus.h>. Bus space
can now reference both bus and busdma.
2015-06-10 16:00:09 +00:00
Dimitry Andric
3adc74c768 Merged ^/head r283871 through r284187. 2015-06-09 19:14:27 +00:00
Dimitry Andric
798321d8eb Vendor import of clang trunk r239412:
https://llvm.org/svn/llvm-project/cfe/trunk@239412
2015-06-09 19:08:19 +00:00
Dimitry Andric
85d8b2bbe3 Vendor import of llvm trunk r239412:
https://llvm.org/svn/llvm-project/llvm/trunk@239412
2015-06-09 19:06:30 +00:00
Marcel Moolenaar
cbb052dd3e Map the allocated DMA memory into the address space. 2015-06-08 22:01:34 +00:00
Marcel Moolenaar
6f769b730c Add busdma_mem_alloc & busdma_mem_free. 2015-06-08 03:23:20 +00:00
Marcel Moolenaar
9c2cdb1a7e Add DMA tag management to the C library and Python binding. 2015-06-06 16:14:03 +00:00
Dimitry Andric
16e7cc26b9 Merge ^/head r283771 through r283870. 2015-06-01 06:54:21 +00:00
Dimitry Andric
6b02d18041 Restore an accidentally deleted .endif. 2015-05-30 18:38:06 +00:00
Baptiste Daroussin
8faa40d1a0 Switch to mandoc's version of makewhatis(8), whatis(1), apropos(1) utilities.
This change among other things improve search capabilities over the manpages
allowing fine grain query.

A new build option WITHOUT_MANDOCDB has been added to keep the ancient version
of the database and the tools. The plan is to entirely remove this option before
11.0-RELEASE.

Differential Revision:	https://reviews.freebsd.org/D2603
2015-05-30 17:41:37 +00:00
Dimitry Andric
ebeff3f9b4 Update Makefiles and other build glue for llvm/clang 3.7.0, as of trunk
r238337.
2015-05-30 15:39:49 +00:00
Dimitry Andric
5e20cdd81c Vendor import of clang trunk r238337:
https://llvm.org/svn/llvm-project/cfe/trunk@238337
2015-05-27 18:47:56 +00:00
Dimitry Andric
5a5ac124e1 Vendor import of llvm trunk r238337:
https://llvm.org/svn/llvm-project/llvm/trunk@238337
2015-05-27 18:44:32 +00:00
Simon J. Gerraty
98e0ffaefb Merge sync of head 2015-05-27 01:19:58 +00:00
Dimitry Andric
ef6fa9e26d Upgrade our copy of clang and llvm to 3.6.1 release.
This release contains the following cherry-picked revisions from
upstream trunk:

  226124 226151 226164 226165 226166 226407 226408 226409 226652
  226905 226983 227084 227087 227089 227208 227209 227210 227211
  227212 227213 227214 227269 227430 227482 227503 227519 227574
  227822 227986 227987 227988 227989 227990 228037 228038 228039
  228040 228188 228189 228190 228273 228372 228373 228374 228403
  228765 228848 228918 229223 229225 229226 229227 229228 229230
  229234 229235 229236 229238 229239 229413 229507 229680 229750
  229751 229752 229911 230146 230147 230235 230253 230255 230469
  230500 230564 230603 230657 230742 230748 230956 231219 231237
  231245 231259 231280 231451 231563 231601 231658 231659 231662
  231984 231986 232046 232085 232142 232176 232179 232189 232382
  232386 232389 232425 232438 232443 232675 232786 232797 232943
  232957 233075 233080 233351 233353 233409 233410 233508 233584
  233819 233904 234629 234636 234891 234975 234977 235524 235641
  235662 235931 236099 236306 236307

Please note that from 3.5.0 onwards, clang and llvm require C++11
support to build; see UPDATING for more information.
2015-05-25 13:43:03 +00:00
Enji Cooper
5db06fccd8 Remove directory for test that has been integrated in under tests/sys/...
X-MFC with: r282067
MFC after: 1 week
2015-05-24 07:21:30 +00:00
Baptiste Daroussin
9c36af585e Mark libgomp.so.1 as an old lib not an old file 2015-05-21 15:05:46 +00:00
Enji Cooper
800eeabd82 Remove usr/share/dtrace/{tcpconn,tcpstate,tcptrack,udptrack} if MK_CDDL == no
Sponsored by: EMC / Isilon Storage Division
2015-05-20 10:56:09 +00:00
Adrian Chadd
a00efc96d1 Add mv / expr ; these are used by the updated freebsd-wifi-build environment. 2015-05-19 03:02:52 +00:00
Ed Maste
d485dbc7d8 Build libgcov only if we're building base system GCC
Clang uses compiler-rt for the code coverage runtime, and ports GCC
provides its own libgcov.

PR:		200203 (exp-run)
Sponsored by:	The FreeBSD Foundation
2015-05-18 15:02:35 +00:00
Enji Cooper
5956adf2c6 Fix more warnings related to missing headers
MFC after: 1 week
2015-05-16 22:53:26 +00:00
Adrian Chadd
a4398ca081 Make these all work with the new way of doing privatelib.
Without these CFLAGS settings a cross-compile won't find the headers
anywhere.

Tested:

* mips (32, big endian) cross-build w/ LOCAL_DIRS including these
  tools.
2015-05-16 06:18:39 +00:00
Dimitry Andric
8e7e3163be Provide reallocarray() in -legacy, if needed, to allow building head on
previous releases.

Also add a stdlib.h wrapper, which declares the function, otherwise the
compiler may assume it returns int, which can cause segfaults on LP64
architectures.

Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D2558
2015-05-15 22:19:35 +00:00
Ed Maste
810d5b3420 Build libgomp only if we're also building base system GCC
Clang's OpenMP support will emit Intel OpenMP API library calls,
and will therefore require libiomp (or whatever name is settled on).
An up-to-date version of libgomp is included in ports or pkg GCC.
Thus, there is no reason to build base libgomp without base system GCC.

PR:		199979 (exp-run)
Reviewed by:	pfg
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2459
2015-05-15 14:22:33 +00:00
Ed Maste
56af72b16b Fix make delete-old for gperf and GCC/CXX options
- Optional components go in OptionalObsoleteFiles
- Move gperf removal to be based on MK_GCC only, not MK_CXX and MK_GCC

Reviewed by:	imp, sbruno
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D2421
2015-05-06 15:20:50 +00:00
Baptiste Daroussin
363da13804 Replace groff's soelim by soeliminate(1) renamed soelim(1) 2015-05-01 20:08:25 +00:00
Ed Maste
45cf4a7cd6 OptionalObsoleteFiles: don't remove c++filt when using ELF Tool Chain
c++filt is listed here twice, for MK_CXX == no and MK_GCC == no, but
r282285 only caught one of them.
2015-05-01 16:37:40 +00:00
Bryan Drewery
fc2ef3b240 Add a -v to tell where each symbol is resolved from.
Sponsored by:	EMC / Isilon Storage Division
2015-05-01 05:01:56 +00:00
Bryan Drewery
b0cb3920d6 Fix a comment 2015-05-01 04:35:42 +00:00
Ed Maste
0a06cffc15 Add ELF Tool Chain's c++filt to the build
Differential Revision:	https://reviews.freebsd.org/D2408
Reviewed by:	brooks, imp
Sponsored by:	The FreeBSD Foundation
2015-04-30 21:30:33 +00:00
Enji Cooper
65221ed42e Integrate tools/regression/mmap into the FreeBSD test suite as
tests/sys/kern/mmap_test

MFC after: 1 week
2015-04-27 09:06:27 +00:00
Enji Cooper
fce04f6ee5 Convert this testcase over to a TAP format testcase
MFC after: 1 week
2015-04-27 09:04:16 +00:00
Enji Cooper
f44eb01339 Integrate tools/regression/aio/aiotest and tools/regression/aio/kqueue into the
FreeBSD test suite as tests/sys/aio

MFC after: 1 week
2015-04-27 08:51:40 +00:00
Enji Cooper
cfbf6b6975 - Fix style(9) a bit
-- Fix whitespace
-- Use err/errx
-- Remove superfluous braces
- Be a bit more defensive with input from the end-user
- Don't throw a floating point exception by dividing by 0 when processing a
  zero-byte file

MFC after: 1 week
2015-04-27 08:37:13 +00:00
Enji Cooper
a39b8b86f7 - Fix compilation (MAP_INHERIT's dead)
- Fix warnings
- Use mkstemp instead of tmpnam

MFC after: 1 week
2015-04-27 08:34:46 +00:00
Enji Cooper
e100f6a2fc Integrate tools/regression/mqueue into the FreeBSD test suite as
tests/sys/mqueue

MFC after: 1 week
2015-04-27 08:31:43 +00:00
Enji Cooper
3cedbec3ee Integrate tools/regression/fifo into the FreeBSD test suite as tests/sys/fifo
and tools/regression/file into the FreeBSD test suite as tests/sys/file

MFC after: 1 week
2015-04-27 08:15:17 +00:00
Enji Cooper
70598e5094 Integrate tools/regression/kqueue into the FreeBSD test suite as
tests/sys/kqueue

MFC after: 1 week
2015-04-27 07:37:48 +00:00
Enji Cooper
f19fbaf8eb Fix -Wformat warnings by using proper format string qualifiers for
long and unsigned[ long] types

MFC after: 1 week
2015-04-27 07:28:41 +00:00
Enji Cooper
bbf12e6f7f Integrate tools/regression/execve into the FreeBSD test suite as
tests/sys/kern/execve

MFC after: 1 week
2015-04-27 07:22:18 +00:00
John Baldwin
179fa75e6e Reassign copyright statements on several files from Advanced
Computing Technologies LLC to Hudson River Trading LLC.

Approved by:	Hudson River Trading LLC (who owns ACT LLC)
MFC after:	1 week
2015-04-23 14:22:20 +00:00
Bryan Drewery
64ee145b7d Tweak BSS symbol handling from r281811 to not consider them unresolved 2015-04-21 05:41:56 +00:00
Bryan Drewery
5f6c4518c8 Support libraries linked by path.
Sponsored by:	EMC / Isilon Storage Division
2015-04-21 05:10:18 +00:00
Bryan Drewery
3554283a7b - For executables search for matching (B) global uninitialized BSS symbols from
linked libraries. Only do this for BSS symbols that have a size which avoids
  __bss_start. Without this some libraries would be considered unneeded even
  though they were providing a B symbol.
- Add in the symbols from crt1.o to cover a handful of common unresolved symbols.
- Consider (C) common data symbols as provided by libraries/crt1.
- Move libkey() function to more appropriate place.

Sponsored by:	EMC / Isilon Storage Division
2015-04-21 03:29:03 +00:00
Bryan Drewery
60b38ce2b5 Revert r281805 for now as it breaks due to spaces in output 2015-04-21 03:06:58 +00:00
Bryan Drewery
c668010e3f Pass full path to ldd(1) so it works on files in cwd. 2015-04-21 02:02:25 +00:00
Bryan Drewery
9d273a1ffc Support demangling C++ symbols with -D flag.
Sponsored by:	EMC / Isilon Storage Division
2015-04-21 01:37:14 +00:00
Bryan Drewery
3844bbe29e - Speedup significantly by not using subshells for data already fetched.
Ran against /usr/local/sbin/pkg:
   Before:  25.12 real        12.41 user        33.14 sys
   After:   0.53 real         0.49 user         0.13 sys
- Exit with 1 if any missing or unresolved symbol is detected.
- Add option '-U' to skip looking up unresolved symbols.
- Don't consider provided weak objects as unresolved (nm V).

Sponsored by:	EMC / Isilon Storage Division
2015-04-20 20:51:19 +00:00
Bryan Drewery
972b622794 Fix indentation to use tabs 2015-04-20 20:45:10 +00:00
Adrian Chadd
56717743f2 Update pkt-gen to optionally use randomised source/destination
IPv4 addresses/ports.

When doing traffic testing of actual code that /does/ things to the
packet (rather than say, 'bridge.c'), it's typically a good idea to
use a variety of cache-busting and flow-tracking-busting packet
spreads.  The pkt-gen method of testing an IP range was to walk
it linearly - which is fine, but not useful enough.

This can be used to completely randomize the source/destination
addresses (eg to test out flow-tracking-busting) and to keep the
destination fixed whilst randomising the source (eg to test out
what a DDoS may look like.)

Tested:

* Intel ixgbe 10G (82599) netmap

Differential Revision:	https://reviews.freebsd.org/D2309
MFC after:	2 weeks
Sponsored by:	Norse Corp, Inc.
2015-04-19 17:07:51 +00:00
Konstantin Belousov
0538aafc41 The lseek(2), mmap(2), truncate(2), ftruncate(2), pread(2), and
pwrite(2) syscalls are wrapped to provide compatibility with pre-7.x
kernels which required padding before the off_t parameter.  The
fcntl(2) contains compatibility code to handle kernels before the
struct flock was changed during the 8.x CURRENT development.  The
shims were reasonable to allow easier revert to the older kernel at
that time.

Now, two or three major releases later, shims do not serve any
purpose.  Such old kernels cannot handle current libc, so revert the
compatibility code.

Make padded syscalls support conditional under the COMPAT6 config
option.  For COMPAT32, the syscalls were under COMPAT6 already.

Remove WITHOUT_SYSCALL_COMPAT build option, which only purpose was to
(partially) disable the removed shims.

Reviewed by:	jhb, imp (previous versions)
Discussed with:	peter
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-04-18 21:50:13 +00:00
Enji Cooper
a954133569 Fix even more warnings..
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 07:37:21 +00:00
Enji Cooper
13517893dd Fix more warnings I didn't catch in the first go-around
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 07:35:30 +00:00
Enji Cooper
75171ec59a Fix warnings, bump WARNS to 6, and use a temporary socket instead of one in /tmp
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 07:33:04 +00:00
Enji Cooper
f7f1145f94 - Remove the .t wrapper and put the "magic" of determining the number of
testcases into the .c file
- Require root for now because it fails with SOCK_RAW without root privileges
- Increment the test count properly on socket create failure

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 06:40:38 +00:00
Enji Cooper
ddecfa0403 Fix the knob twiddling to work properly per src.opts.mk
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 06:38:50 +00:00
Enji Cooper
93b278f08d Generate temporary files with mkstemp instead of mktemp
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 05:20:01 +00:00
Enji Cooper
1103e0c1bc Garbage collect argc/argv and bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:57:35 +00:00
Enji Cooper
f305e6eaf8 Garbage collect argc/argv and bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:56:23 +00:00
Enji Cooper
5a3935b6d6 - Garbage collect argc/argv
- Use random paths instead of one in /tmp

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:54:43 +00:00
Enji Cooper
1e0d206337 - Garbage collect argc/argv; bump WARNS to 6
- Make the socket path random and move it out of /tmp as that's outside ATF's
  prescribed path

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:43:43 +00:00
Enji Cooper
38a7f1e446 Fix warnings and bump WARNS to 6
- Staticize variables as needed
- Garbage collect argc/argv
- Fix -Wsign-compare warnings by casting small sizeof to (int)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:38:49 +00:00
Enji Cooper
d09e3a296c Garbage collect argc/argv and bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:35:33 +00:00
Enji Cooper
abbb25c74d Mark signum unused in signal_handler; bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:24:49 +00:00
Enji Cooper
bcd1483d9d Fix a -Wuninitialized warning by setting the socket to -1 and bump WARNS to 6
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:19:48 +00:00
Enji Cooper
b74bcac4bd - Don't use /tmp because it's outside ATF's prescribed sandbox
- Replace a hardcoded PATH_MAX value with sizeof(path)
- Use path like an array, not a pointer, and always try to unlink it in cleanup

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:18:14 +00:00
Enji Cooper
c7ded8ba9e Fix warnings and bump WARNS to 6
- Garbage collect argc/argv (-Wunused)
- sleep(3) will always return an unsigned int; don't check for return codes <0
  (-Wsign-compare)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 03:13:09 +00:00
Enji Cooper
572e1f51aa - Garbage collect argc/argv (-Wunused)
- Bump WARNS to 6

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 02:59:45 +00:00
Enji Cooper
f6b2ef31db - Use static buffers for temporary file paths instead of strdup of constant strings
- Don't use /tmp because it's outside ATF's prescribed sandbox
- Use mkstemp instead of mktemp to eliminate warning

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-11 02:50:44 +00:00
Enji Cooper
e04e98929f Use _exit, not exit in forked process
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-10 09:37:53 +00:00
Enji Cooper
62b65008d0 Remove argc/argv (-Wunused)
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-10 09:27:23 +00:00
Enji Cooper
7d075cff6e Fix warnings
- Remove argc/argv (-Wunused)
- Mark some parameters to socket_listen_update __unused (-Wunused)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-10 09:26:21 +00:00
Enji Cooper
cc469a3b3a Remove argc/argv (-Wunused)
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-10 09:23:00 +00:00
Enji Cooper
41119c8725 - Parameterize out the number of accept/connect attempts
- Randomize the bind port to allow 2+ consecutive calls in < 10 minutes, and
  to also not fail if (for instance) there's a server already listening on port
  8080
- Don't leak the listening socket / fds into the child process
- Fix warnings:
-- Remove argc/argv (-Wunused)
-- Mark sig __unused (-Wunused)
-- Mark quit static (-Wmissing-variable-declarations)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-10 09:21:07 +00:00
Enji Cooper
957885bf58 Fix -Wunused warnings, bump WARNS to 6
The output is still broken if prove -rv is run and the testcase aborts
prematurely with fail_assertion (the testcase doesn't really conform to TAP
protocol properly, except when it completes fully)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-10 08:01:49 +00:00
Enji Cooper
1aa40dada2 Fix -Wunused warnings, bump WARNS to 6
The testcase fails today on subtest # 9

The output is still broken if prove -rv is run and the testcase aborts
prematurely (the testcase doesn't really conform to TAP protocol properly,
except when it completes fully)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-10 07:59:46 +00:00
Enji Cooper
2084db1777 Fix warnings, fix a typo in a testcase description, bump WARNS to 3
- Remove argc/argv (-Wunused)
- Cast len in comparison to size_t (-Wsign-compare)

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-04-10 07:35:53 +00:00
Bryan Drewery
daa301d1d0 - Fix support with new elftoolchain readelf(1)
- Fix not finding global symbols by checking for D and R.
- Follow symlinks
- Show which matching symbol was used to consider the library needed.

Discussed with:	bapt
2015-04-09 22:16:35 +00:00
Gleb Smirnoff
a9903d5232 Remove debugging code that sneaked in. 2015-04-09 07:52:03 +00:00
Gleb Smirnoff
1ab64a6127 Provide a gdb script, that prints routing tables from a live kernel or a
core file, much like 'netstat -anr' does it for living kernel.

Right now only AF_INET routing table is printed. AF_INET6 needs to
be done. But the most difficult part of the script (recursion!) is
complete.

Sponsored by:	Nginx, Inc.
2015-04-09 07:45:30 +00:00
Gleb Smirnoff
56d5e0967c Stop including if_var.h from userland.
Sponsored by:	Nginx, Inc.
2015-04-06 09:42:23 +00:00
Adrian Chadd
d338532820 Typecast things. 2015-04-06 00:34:59 +00:00
Bryan Drewery
ec251dd4d0 Remove specific reference to g++(1) for WITH_CXX as it may be clang.
MFC after:	1 week
2015-04-03 23:55:04 +00:00
Adrian Chadd
582aab3be4 Don't use a private copy of the ANI definitions - use the HAL definitions.
Whilst I'm at it:

* fix the NI+ to be correct, rather than NI-;
* use the diag api codes, now that the HAL is public.

Tested:

* AR9380, STA mode
2015-04-01 04:57:27 +00:00
Enji Cooper
b41853c8fe - Fix -Wsign issue
- Bump up to WARNS=6
2015-03-31 06:51:13 +00:00
Enji Cooper
b5d45f0794 Minor cleanup before converting to ATF testcases
- Remove blank (tab-only) lines.
- Fix -Wunused warnings.
- Bump up to WARNS= 6
2015-03-31 06:50:28 +00:00
Enji Cooper
76cbe329d6 Cleanup and do minor refactoring before converting testcases to ATF
- Convert errx(-1, ..) to errx(1, ..)
- Move the aio(4) checks to a single function (aio_available); use modfind(2)
  instead of depending on SIGSYS (doesn't work when aio(4) support is missing,
  not documented in the aio syscall manpages).
- Use aio_available liberally in the testcase functions
- Use mkstemp(3) + unlink(2) instead of mktemp(3)
- Fix some -Wunused warnings
- Bump WARNS to 6

MFC after: 1 week
Submitted by: mjohnston [*]
Sponsored by: EMC / Isilon Storage Division
2015-03-31 06:43:55 +00:00
Dmitry Marakasov
1382ef3d6e - Remove more files when MK_ZONEINFO == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-31 04:44:46 +00:00
Dmitry Marakasov
587291d90e - Remove more files when MK_TESTS_SUPPORT == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-31 04:43:25 +00:00
Dmitry Marakasov
a6d0a667a9 - Remove more files when MK_LEGACY_CONSOLE == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-31 04:42:00 +00:00
Dmitry Marakasov
d6c957219b - Remove more files when MK_KERBEROS_SUPPORT == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-31 04:39:59 +00:00
Dmitry Marakasov
eb6edb77b0 - Remove more files when MK_KDUMP == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-31 04:37:57 +00:00
Dmitry Marakasov
659854cd3f - Remove more files when MK_JAIL == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-31 04:36:51 +00:00
Dmitry Marakasov
992cc53e37 - Remove more files when MK_CASPER == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-31 04:31:42 +00:00
Dmitry Marakasov
9c793fa870 - Remove more files when MK_INET6 == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-30 14:13:01 +00:00
Dmitry Marakasov
0c11ad652d - Remove more files when MK_FORTH == no
MFC after:	1 week
Reviewed by:	ngie
Approved by:	ngie
Differential Revision:	D1600
2015-03-30 14:00:17 +00:00