15697 Commits

Author SHA1 Message Date
rpaulo
e7f7550cc0 MFC r278658:
Teach libproc how to find debugging symbols in /usr/lib/debug.
2015-02-20 20:02:47 +00:00
mav
441b67d0c3 MFC r278311: Some NetGraph debug polishing.
Submitted by:	Dmitry Luhtionov <dmitryluhtionov@gmail.com>
2015-02-20 11:52:46 +00:00
kib
388f6686df MFC r278889:
Restore the extern qualifier on __cleanup.
2015-02-20 09:25:13 +00:00
pfg
34ee297366 MFC r278301, r278315:
tdelete(3): don't delete the node we are about to return.

CID:		272528
Obtained from:	NetBSD (CVS rev. 1.4)
2015-02-19 16:24:27 +00:00
pfg
dd4c641aac MFC r278300, r278314:
getdiskbyname(): plug resource leak

Variable cq going out of scope leaks the storage it points to.

CID:		270511
Phabric:	D1775
Reviewed by:	imp
Obtained from:	NetBSD (CVS rev. 1.34)
2015-02-19 16:17:44 +00:00
kib
01fc097c17 MFC r278627:
Update libthr(3) man page to reflect the work done to support dlopen.
2015-02-19 09:30:42 +00:00
delphij
a45941e76c MFC r278739:
Disallow pattern spaces which would cause intermediate calculations to
overflow size_t.

Obtained from:	DragonFly (2841837793bd095a82f477e9c370cfe6cfb3862c dillon)
Security:	CERT VU#695940
2015-02-17 19:14:16 +00:00
kib
0cb0cb1b24 MFC r278751:
Properly interpose libc spinlocks, was missed in r276630.
2015-02-17 01:03:06 +00:00
dim
3678f64ad3 Synchronize the default C++ stack in stable/10 with head, by merging
almost all recent changes to libc++ and libcxxrt.

MFC r256642:
  Since C++ typeinfo objects are currently not guaranteed to be merged at
  runtime by the dynamic linker, check for their equality in libcxxrt by
  not only comparing the typeinfo's name pointers, but also comparing the
  full names, if necessary.  (This is similar to what GNU libstdc++ does
  in its default configuration.)  The 'deep' check can be turned off again
  by defining LIBCXXRT_MERGED_TYPEINFO, and recompiling libcxxrt.

  Reviewed by:	theraven

MFC r270522 (by rdivacky):
  The standard we compile libc++ with is called c++11 not c++0x.

MFC r273066 (by bapt):
  Import patch from libc++ r197313 which allows using libc++ headers with gcc

  Differential Revision:	https://reviews.freebsd.org/D942
  Reviewed by:	imp

MFC r273381 (by bapt):
  Add support for __cxa_throw_bad_array_new_length in libcxxrt

  It is required for use with newer g++49

  Differential Revision:	https://reviews.freebsd.org/D982
  Reviewed by:	theraven
  Approved by:	theraven

MFC r273382 (by bapt):
  Fix build by marking the new functions as weak
  This is a temporary fix

MFC r273407 (by bapt):
  When using an external gcc 4.8+ and not building libstdc++ then create in the objectdir a
  fake libstdc++.so and libstdc++.a which is a symlink on libc++ that allow g++ to satisfy
  its links dependencies in the least hackish way.
  Please note that this hacky libstds++ never get installed on the final system

  Reviewed by:	imp

MFC r273434 (by bapt):
  Do not define bad_array_new_length::bad_array_new_length in libc++ anymore
  when used in combinaison with libcxxrt since it is now defined there already.
  This fixes building world

MFC r276417:
  Import libcxxrt master 00bc29eb6513624824a6d7db2ebc768a4216a604.

  Interesting fixes:
  76584a0  Reorganize code to use only 32bit atomic ops for 32bit platforms
  30d2ae5  Implement __cxa_throw_bad_array_new_length

  Reviewed by:	bapt
  Differential Revision: https://reviews.freebsd.org/D1390

MFC r277217:
  Import libc++ trunk r224926.  This fixes a number of bugs, completes
  C++14 support[1], adds more C++1z features[2], and fixes the following
  LWG issues[3]:

  1450: Contradiction in regex_constants
  2003: String exception inconsistency in erase.
  2075: Progress guarantees, lock-free property, and scheduling
	assumptions
  2104: unique_lock move-assignment should not be noexcept
  2112: User-defined classes that cannot be derived from
  2132: std::function ambiguity
  2135: Unclear requirement for exceptions thrown in
	condition_variable::wait()
  2142: packaged_task::operator() synchronization too broad?
  2182: Container::[const_]reference types are misleadingly specified
  2186: Incomplete action on async/launch::deferred
  2188: Reverse iterator does not fully support targets that overload
	operator&
  2193: Default constructors for standard library containers are explicit
  2205: Problematic postconditions of regex_match and regex_search
  2213: Return value of std::regex_replace
  2240: Probable misuse of term "function scope" in [thread.condition]
  2252: Strong guarantee on vector::push_back() still broken with C++11?
  2257: Simplify container requirements with the new algorithms
  2258: a.erase(q1, q2) unable to directly return q2
  2263: Comparing iterators and allocator pointers with different
	const-character
  2268: Setting a default argument in the declaration of a member
	function assign of std::basic_string
  2271: regex_traits::lookup_classname specification unclear
  2272: quoted should use char_traits::eq for character comparison
  2278: User-defined literals for Standard Library types
  2280: begin / end for arrays should be constexpr and noexcept
  2285: make_reverse_iterator
  2288: Inconsistent requirements for shared mutexes
  2291: std::hash is vulnerable to collision DoS attack
  2293: Wrong facet used by num_put::do_put
  2299: Effects of inaccessible key_compare::is_transparent type are not
	clear
  2301: Why is std::tie not constexpr?
  2304: Complexity of count in unordered associative containers
  2306: match_results::reference should be value_type&, not const
	value_type&
  2308: Clarify container destructor requirements w.r.t. std::array
  2313: tuple_size should always derive from integral_constant<size_t, N>
  2314: apply() should return decltype(auto) and use decay_t before
	tuple_size
  2315: weak_ptr should be movable
  2316: weak_ptr::lock() should be atomic
  2317: The type property queries should be UnaryTypeTraits returning
	size_t
  2320: select_on_container_copy_construction() takes allocators, not
	containers
  2322: Associative(initializer_list, stuff) constructors are
	underspecified
  2323: vector::resize(n, t)'s specification should be simplified
  2324: Insert iterator constructors should use addressof()
  2329: regex_match()/regex_search() with match_results should forbid
	temporary strings
  2330: regex("meow", regex::icase) is technically forbidden but should
	be permitted
  2332: regex_iterator/regex_token_iterator should forbid temporary
	regexes
  2339: Wording issue in nth_element
  2341: Inconsistency between basic_ostream::seekp(pos) and
	basic_ostream::seekp(off, dir)
  2344: quoted()'s interaction with padding is unclear
  2346: integral_constant's member functions should be marked noexcept
  2350: min, max, and minmax should be constexpr
  2356: Stability of erasure in unordered associative containers
  2357: Remaining "Assignable" requirement
  2359: How does regex_constants::nosubs affect basic_regex::mark_count()?
  2360: reverse_iterator::operator*() is unimplementable

  [1] http://libcxx.llvm.org/cxx1y_status.html
  [2] http://libcxx.llvm.org/cxx1z_status.html
  [3] http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html

  Exp-run:	antoine

MFC r277944:
  Partially revert r273382, to reduce diffs against upstream.  This was a
  temporary fix to solve a conflict with an older version of libc++, and
  it is no longer relevant.

MFC r278010:
  Revert r256642, not only to reduce diffs against upstream libcxxrt, but
  also because it is the wrong approach: comparing typeinfo names deeply
  causes trouble if two loaded DSOs use independent types of the same
  name.

  In addition, this particular change was never merged to FreeBSD 10.x and
  9.x, so let's get rid of it before it ends up in an 11.x release.

  Discussed with:	theraven, joerg@netbsd

MFC r278016:
  Import libcxxrt master 1cb607e89f6135bbc10f3d3b6fba1f983e258dcc.

  Interesting fixes:
  1cb607e Correct gcc version check for __cxa_begin_catch() declaration
          with or without throw()
2015-02-13 22:05:54 +00:00
kib
000b391a47 MFC r278313:
Fully initialize allocated memory for the new barrier.
2015-02-13 08:42:01 +00:00
ian
f8178723e9 MFC r276079, r276087:
Add a divisor parameter to twiddle() so that callers can request that
  output only happen on every Nth call.

  Add a new loader(8) variable, twiddle_divisor, allowing control over the
  output frequency of the "twiddle" IO progress indicator.
2015-02-11 22:55:24 +00:00
ngie
ffd518acc5 MFC r278182:
r278182:

  Conditionalize building radius support into libpam, ppp, etc via
  MK_RADIUS_SUPPORT

  Sponsored by: EMC / Isilon Storage Division
2015-02-11 08:52:29 +00:00
ngie
a01a4bc555 MFC r277727:
r277727:

  Add MK_BHYVE knob for building and installing bhyve(4), et al

  Sponsored by: EMC / Isilon Storage Division
2015-02-11 07:21:16 +00:00
jilles
25afd7ae71 MFC r268857: ttyname(3): Fix EBADF/ENOTTY error descriptions.
Also, make sure to document the return values and errors for all three
functions in the man page.

PR:		191931
2015-02-08 22:29:06 +00:00
jilles
fb8fcd2a04 MFC r278038: ttyname_r(): Return actual error, not always [ENOTTY].
Adjust the test that used to fail because of this bug.

PR:		191936
2015-02-08 22:24:03 +00:00
bapt
274501ab1e MFC: r265863
libedit: add H_SAVE_FP which saves history to a file pointer.

H_SAVE_FP is similar to H_SAVE but operates on a FILE* instead of a filename.
This is useful when operating in capability mode.

Reviewed by:	christos@NetBSD.org, pfg
2015-02-08 22:11:24 +00:00
jilles
cd2062bcd8 MFC r277862: sem_post(): Fix and document semaphore value overflow error.
The error code is per Austin Group issue #315.

I provided different wording for the manual page change.

Submitted by:	pluknet
2015-02-08 21:58:25 +00:00
dim
2ccbfd1b8e Revert r278017 (MFC of r273381 and r276417) and r278018 (MFC of r273434)
until I can figure out why it leads to link failures in some scenarios.
2015-02-01 02:29:58 +00:00
dim
d55f158aa0 MFC r273381 (by bapt):
Add support for __cxa_throw_bad_array_new_length in libcxxrt

It is required for use with newer g++49

Differential Revision:	https://reviews.freebsd.org/D982
Reviewed by:	theraven
Approved by:	theraven

MFC r276417:

Import libcxxrt master 00bc29eb6513624824a6d7db2ebc768a4216a604.

Interesting fixes:
76584a0  Reorganize code to use only 32bit atomic ops for 32bit platforms
30d2ae5  Implement __cxa_throw_bad_array_new_length

Reviewed by:	bapt
Differential Revision: https://reviews.freebsd.org/D1390
2015-01-31 23:48:59 +00:00
emaste
2f8208fe77 Merge libedit fixes from NetBSD
Add trailing NULL's to the varargs functions as required.
(John Spencer)

    readline.c r1.106

Bounds search for reallocated index, from OpenBSD via Andreas Fett

    map.c 1.34
    map.h 1.10
    parse.c 1.27
    read.c 1.71

This is a direct commit to stable/10 as these changes are included in a
broader sync with NetBSD committed by bapt@ in r276881.

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D1728
2015-01-30 14:22:15 +00:00
des
8ea51a793a MFH (r277237): pass PAM_RHOST to RADIUS server as Calling-Station-ID 2015-01-29 09:03:57 +00:00
hselasky
d9b0293669 MFC r277245:
Add more USB request definitions. The values are described in section
9.4.11 and 9.4.12 of the "Universal Serial Bus 3.0 Specification"
2015-01-28 19:49:53 +00:00
luigi
56e35bcee1 Merge 272659:
Add netmap support to libpcap. Tcpdump and other native pcap clients
can now run directly on netmap ports using netmap:foo or valeXX:YY
as device names.

Modifications to existing code are small and trivial,
the netmap-specific code is all in a new file.

Please be aware that in netmap mode the physical interface is
disconnected from the host stack, so libpcap will steal the traffic
not just make a copy.

For the full version of the code (including linux and autotools support) see
	https://code.google.com/p/netmap-libpcap/
2015-01-26 03:26:37 +00:00
kib
53cbeb6d49 MFC r277322:
Add procctl(2) PROC_TRACE_CTL command to enable or disable debugger
attachment to the process.
2015-01-25 13:15:12 +00:00
kib
bac6ad8875 MFC r277488:
Do not allow pthread_sigmask() to block SIGCANCEL.
2015-01-24 08:35:49 +00:00
delphij
606dfe1075 MFC r276577: MFV r276568:
Update file to 5.22.
2015-01-23 18:48:59 +00:00
emaste
227bb2b2ea libelf: Improve ELF header validation
Avoid integer overflow and reading past EOF.

MFC of r276427, r276443, r277249 from contrib/elftoolchain.
2015-01-23 04:07:07 +00:00
brooks
f4cd08de01 MFC r274816:
Add FPU support for MIPS setjmp(3)/longjmp(3).

This change saves/restores the callee-saved MIPS floating point
registers as documented by the o32/n32/n64 spec ("MIPSpro N32
ABI Handbook", Table 2-1) for the _setjmp(3), _longjmp(3),
setjmp(3) and longjmp(3) C library functions.  This is only
included when the C library is built with hardware floating point
support (or when "SOFTFLOAT" is not defined).

Submitted by:	sson
Sponsored by:	DARPA, AFRL
2015-01-22 21:17:58 +00:00
ngie
a170f61a5a MFC r267004,r274592:
r267004 (by gahr):

  - Use strlen instead of hardcoding a number
  - Terminate a sentence with a period

  Approved by:	cognet

r274592 (by ngie):

  Convert tools/regression/lib/libc/stdio/test-fmemopen into an ATF testcase and
  rename as lib/libc/stdio/fmemopen2_test

  Sponsored by: EMC / Isilon Storage Division
2015-01-20 21:59:48 +00:00
ngie
63ef816492 MFC r276590:
r276590 (by jilles):

  Link lib/libc/c063 tests to the build.

  Some files lack required #include <sys/stat.h>. The #ifdef is per ngie's
  request; the includes are clearly necessary for struct stat.

  The faccessat test fails because it tries to use AT_SYMLINK_NOFOLLOW with
  faccessat(), which is not specified by POSIX.1-2008.

  Differential Revision:	https://reviews.freebsd.org/D1411
  Reviewed by:	ngie
2015-01-20 21:48:42 +00:00
ngie
914ba0497a MFC r276318:
r276318 (by ngie):

  Build/install lib/libc/tests/hash/t_sha2 if MK_OPENSSL == yes

  Reported by: Beeblebrox <zaphod@berentweb.com>
2015-01-20 21:46:04 +00:00
ngie
447f2d204c MFC r274075,r274581,r274582,r274595:
r274075 (by ngie):

  Add reachover Makefiles for contrib/netbsd-tests/lib/libc; this adds approximately
  500 new testcases

  Various TODOs have been sprinkled around the Makefiles for items that even need
  to be ported (missing features), testcases have issues with building/linking, or
  issues at runtime.

  A variant of this code has been tested extensively on amd64 and i386
  10-STABLE/11-CURRENT for several months without issue. It builds on other
  architectures, but the code will remain off until I have prove it works on
  virtual hardware or real hardware on other architectures

  In collaboration with: pho, Casey Peel <casey.peel@isilon.com>
  Sponsored by: EMC / Isilon Storage Division

r274581 (by ngie):

  Convert tools/regression/lib/libc/gen/test-arc4random into an ATF testcase and
  rename as lib/libc/gen/arc4random_test

  Sponsored by: EMC / Isilon Storage Division

r274582 (by ngie):

  Remove test-arc4random from this Makefile so others can continue to use
  this as-is for the time being

r274595 (by ngie):

  Convert tools/regression/lib/libc/stdio/test-fpclassify into an ATF testcase and
  Rename as lib/libc/stdio/fpclassify2_test

  Sponsored by: EMC / Isilon Storage Division
2015-01-20 21:42:40 +00:00
kib
7fe8fbec77 Fix known issues which blow up the process after dlopen("libthr.so")
(or loading a dso linked to libthr.so into process which was not
linked against threading library).

MFC r276630:
Remove interposing, fix malloc, reinstall signal handlers wrappers on
libthr load.

MFC r276681:
Avoid calling internal libc function through PLT or accessing data
though GOT.

MFC r277032:
Reduce the size of the interposing table and amount of
cancellation-handling code in the libthr.

MFC note:
r276646 ("do not erronously export 'openat' symbol from rtld") is not
applicable to stable/10 yet, since PATHFDS support was not merged.
2015-01-18 11:54:20 +00:00
dim
f4d39872ad MFC r277147:
Since the merge of file 5.21 in r276415 and r276416, stable/9 and
stable/10 cannot be built from FreeBSD 8.x.  This is because the
build-tools stage requires libmagic, but lib/libmagic/config.h was
generated on head, and it now enables using the xlocale.h APIs, which
are not supported on 8.x (and on 9.x before __FreeBSD_version 900506).

See also the start of this thread on -stable:
https://lists.freebsd.org/pipermail/freebsd-stable/2015-January/081521.html

To fix this, conditionalize the use of xlocale.h APIs to make
bootstrapping from older FreeBSD versions work correctly.

Reviewed by:	delphij
Differential Revision: https://reviews.freebsd.org/D1518
2015-01-17 11:41:04 +00:00
nwhitehorn
612ef79eb0 MFC r276412:
Fix loader's ability to read the 10.1 release PowerPC ISOs. There appears to
be some kind of problem with the version of makefs used for these disks.
There may be a better way to handle this problem, so I've set the MFC
timer for a fairly long time period.
2015-01-14 21:23:46 +00:00
trasz
b93020e9d5 MFC r275752:
Fix quick_exit(3) manual page to match reality - the status was missing.

Sponsored by:	The FreeBSD Foundation
2015-01-14 11:31:31 +00:00
des
0d480bf6b4 MFH (r273114, r273124): disable SSLv3 by default. 2015-01-12 10:02:23 +00:00
ngie
0a1f910d39 MFC discussed with: jilles, -developers
MFC r266971:

  - Return NULL and set errno to EINVAL if size is 0 (as required by POSIX).
  Update the manpage to reflect this change.
  - Always set the current position to the first null-byte when opening in append
  mode. This makes the implementation compatible with glibc's. Update the test
  suite.

  Reported by:	pho
  Approved by:	cognet
2015-01-11 19:15:28 +00:00
kib
375caa6c5f MFC r276627:
Add rtld private interface for dso to detect dynamic loading
vs. static linking.
2015-01-10 09:22:17 +00:00
trasz
11ccf0efe9 MFC r274722:
Remove acl_size.c; apparently it was never used.

PR:		194398
Submitted by:	ngie@
Sponsored by:	The FreeBSD Foundation
2015-01-07 18:38:04 +00:00
kib
5777edec4a Merge reaper facility.
MFC r270443 (by mjg):
Properly reparent traced processes when the tracer dies.

MFC r273452 (by mjg):
Plug unnecessary PRS_NEW check in kern_procctl.

MFC 275800:
Add a facility for non-init process to declare itself the reaper of
the orphaned descendants.

MFC r275821:
Add missed break.

MFC r275846 (by mckusick):
Add some additional clarification and fix a few gammer nits.

MFC r275847 (by bdrewery):
Bump Dd for r275846.
2015-01-05 03:27:09 +00:00
ngie
6e9fd215c7 MFC r276320:
Parallelize building lib/ncurses

  Differential Revision: https://reviews.freebsd.org/D1353
2015-01-05 00:15:27 +00:00
ngie
fb7e4816db MFC r274618,r276521:
MFC Note: text corrected for r274618

r274618:

  Add reachover Makefiles for contrib/netbsd-tests/lib/msun

  A variant of this code has been tested on amd64/i386 for some time by
  EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
  code will remain off until it's proven it works on virtual hardware or real
  hardware on other architectures

  Sponsored by: EMC / Isilon Storage Division

r276521:

  Reset errno in :scalbnf_val and :scalbnl_val before running the tests so the
  tested errno isn't stale

  This was needed in order for the test to pass on amd64 with stable/10
2015-01-05 00:02:11 +00:00
delphij
b1a2801755 MFC r275930:
Plug a memory leak.

Obtained from:	DragonFlyBSD (commit 5119ece)
2015-01-02 18:31:12 +00:00
ngie
366f16dd6a MFC r274578,r274580:
r274578:

  Add reachover Makefiles for contrib/netbsd-tests/lib/libpthread as
  lib/libthr/tests

  A variant of this code has been tested on amd64/i386 for some time by
  EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
  code will remain off until it's proven it works on virtual hardware or real
  hardware on other architectures

  Original work by: pho
  Sponsored by: EMC / Isilon Storage Division

r274580:

  Add reachover Makefiles for contrib/netbsd-tests/lib/librt

  A variant of this code has been tested on amd64/i386 for some time by
  EMC/Isilon on 10-STABLE/11-CURRENT. It builds on other architectures, but the
  code will remain off until it's proven it works on virtual hardware or real
  hardware on other architectures

  Sponsored by: EMC / Isilon Storage Division
2015-01-01 02:12:43 +00:00
ngie
d4c625976a MFC r264400,r265836:
r264400:

  NO_MAN= has been deprecated in favor of MAN= for some time, go ahead
  and finish the job. ncurses is now the only Makefile in the tree that
  uses it since it wasn't a simple mechanical change, and will be
  addressed in a future commit.

r265836:

  Remove last two NO_MAN= in the tree. In both of these cases, MAN= is
  what is needed.
2014-12-31 23:25:37 +00:00
delphij
48f640fb39 MFC r275698: MFV r275696: file 5.21. 2014-12-30 19:39:31 +00:00
ngie
2e865a9c0a MFC r273482,r274078:
r273482:

  The NetBSD libc tests use several definitions/macros that aren't available in
  FreeBSD

  Add the missing compat definitions/macros to lib/libnetbsd so the testcases
  can be compiled with libnetbsd without having to invent ad hoc #define's, or
  having to convert things over to FreeBSD idioms

  Reviewed by: brooks
  Phabric: D993
  Sponsored by: EMC / Isilon Storage Division

r274078:

  Commit missing header for sys/time.h compat on NetBSD to unbreak the amd64/i386
  build

  Pointyhat to: me (forgot to svn add it sooner)
2014-12-21 11:11:17 +00:00
ngie
dc3ad5131f MFC r273929:
r273929 (by jmmv):

  MFV: Import atf-0.21.
2014-12-21 08:30:18 +00:00
dchagin
dfe2ad4d46 MFC r274462: Add the ppoll() system call. 2014-12-21 07:58:28 +00:00