Commit Graph

6282 Commits

Author SHA1 Message Date
Dimitry Andric
0f0f2bfa77 Pull in r227752 from upstream llvm trunk (by Michael Kuperstein):
[X86] Convert esp-relative movs of function arguments to pushes, step 2

  This moves the transformation introduced in r223757 into a separate MI pass.
  This allows it to cover many more cases (not only cases where there must be a
  reserved call frame), and perform rudimentary call folding. It still doesn't
  have a heuristic, so it is enabled only for optsize/minsize, with stack
  alignment <= 8, where it ought to be a fairly clear win.

  (Re-commit of r227728)

  Differential Revision: http://reviews.llvm.org/D6789

This helps to get sys/boot/i386/boot2 below the required size again,
when optimizing with -Oz.
2015-02-02 20:34:40 +00:00
Dimitry Andric
73ee00cef5 Merge ^/head r278005 through r278109. 2015-02-02 20:18:47 +00:00
Dimitry Andric
b73700f547 Belatedly add the clang patch corresponding to r277423. 2015-02-02 20:05:52 +00:00
Jilles Tjoelker
424c16b2ce ttyname_r(): Return actual error, not always [ENOTTY].
Adjust the test that used to fail because of this bug.

PR:		191936
MFC after:	1 week
2015-02-01 22:50:33 +00:00
Andrew Turner
573a66c3dc FreeBSD expects _Unwind_GetGR, _Unwind_SetGR, and _Unwind_SetIP to be
symbols and not macros. Make this so. This fixes a few ports that try to
link against these functions but fail as they previously didn't exist.
2015-02-01 09:50:33 +00:00
Dimitry Andric
2e5092d911 Belatedly bump the clang repository URL for 3.6.0 RC2. 2015-02-01 01:53:59 +00:00
Dimitry Andric
07122a2a31 Import libcxxrt master 1cb607e89f6135bbc10f3d3b6fba1f983e258dcc.
Interesting fixes:
1cb607e	Correct gcc version check for __cxa_begin_catch() declaration
	with or without throw()

MFC after:	3 days
2015-01-31 23:31:45 +00:00
Dimitry Andric
4bf41ce2a6 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
2015-01-31 23:08:29 +00:00
Dimitry Andric
3de688eb16 Merge llvm 3.6.0rc2 from ^/vendor/llvm/dist, merge clang 3.6.0rc2 from
^/vendor/clang/dist, resolve conflicts, and cleanup patches.
2015-01-31 21:57:38 +00:00
Dimitry Andric
acdf53f9a3 Merge ^/head r277975 through r277998. 2015-01-31 20:49:30 +00:00
Pedro F. Giffuni
4a7f186ea6 MFV r277981:
Upstream fixes for issues found with afl (Issue #417).

- Fix length checking.

Check both the captured length and the on-the-wire length (the latter
*should* be greater than or equal to the former, but that's not
guaranteed).

Add some additional length checks, so neither caplen nor length
underflow.

If we stop dissecting because the packet is too short, return 1, not 0,
as we've "dissected" what we can; 0 means "this is LLC+SNAP with an OUI
of 0 and an unknown Ethertype".

commit:	743bcecdc92f88b118ec7aac4f68b606601205cc

- Clean up length checks.

Check only the amount of length that matters at any given point; yes,
this means we do multiple checks, but so it goes.

We don't need to check for LLC+SNAP - llc_print() does that for us.  We
do, however, need to check to make sure we can safely skip the Fore
header.

commit:	5c65e7532fa16308e01299988852b0dc5b027559
2015-01-31 16:34:39 +00:00
Dimitry Andric
f72f83dcae Merge ^/head r277902 through r277944. 2015-01-30 18:34:56 +00:00
Dimitry Andric
09a4a1f2d8 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 after:	3 days
2015-01-30 18:26:38 +00:00
Dimitry Andric
7aeb836a3b Merge ^/head r277861 through r277895. 2015-01-29 19:21:21 +00:00
Pedro F. Giffuni
71501ba6e3 MFV r277870
Fix compile warnings for gcc-4.4.x
This also fixes at least a warning with clang 3.6.0
including the fix for r277841.

MFC after:	1 week
2015-01-29 15:35:55 +00:00
Pedro F. Giffuni
490f7995d3 Revert r277841: It will be re-merged through the vendor area. 2015-01-29 15:33:05 +00:00
Pedro F. Giffuni
f773f195ea MFV r277866
amd: Add extra check for NULL before deref.

CID:		274421
Obtained from:	NetBSD
MFC after:	4 days
2015-01-29 01:28:39 +00:00
Pedro F. Giffuni
395a48cfad Revert r277814: It will be re-merged through the vendor area. 2015-01-29 01:26:23 +00:00
Pedro F. Giffuni
e925d4a747 amd: flatten the tree 2015-01-28 22:55:06 +00:00
Dimitry Andric
6402890244 Merge ^/head r277804 through r277843. 2015-01-28 18:45:40 +00:00
Ed Maste
272a972b88 Preserve hard & symbolic links when modifying source file
Strip is often used to modify existing files, rather than creating new
files. If the existing file has hard links or is a symbolic link, act as
if editing the file in place and preserve the links.

Reported by:	luigi
Reviewed by:	imp, rpaulo
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D1682
2015-01-28 18:37:09 +00:00
Dimitry Andric
54edb5043c Fix the following clang 3.6.0 warning in contrib/amd/hlfsd/homedir.c:
contrib/amd/hlfsd/homedir.c:497:8: error: address of array 'buf' will
always evaluate to 'true' [-Werror,-Wpointer-bool-conversion]
  if (!buf || buf[0] == '\0')
      ~^~~

In the affected function, 'buf' is declared as an array of char, so it
can never be null.  Remove the unecessary check.
2015-01-28 18:19:25 +00:00
Dimitry Andric
a45fd13259 Apply changeset 854 from upstream openpam (by Dag-Erling Smørgrav):
Silence all remaining qual-cast warnings except in the test suite.
2015-01-28 18:13:52 +00:00
Enji Cooper
0d972b25f6 Revert r277357 as expr has been enhanced to better detect overflow conditions,
and now the tests pass

PR: 196867
X-MFC with: r277798
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-01-28 11:38:12 +00:00
Pedro F. Giffuni
1c139114b6 amd: Add extra check for NULL before deref.
CID:		274421
Obtained from:	NetBSD
MFC after:	5 days
2015-01-27 20:48:05 +00:00
Dimitry Andric
76f411ce48 Merging ^/head r277777 through r277803. 2015-01-27 19:40:08 +00:00
Gregory Neil Shapiro
e18480699e Remove build specific details from sendmail.cf/submit.cf in support of
https://wiki.freebsd.org/ReproducibleBuilds

The contrib/sendmail change will be made in the upstream source for a
future sendmail release.

Reviewed by:	des
MFC after:	3 days
2015-01-27 04:06:47 +00:00
Pedro F. Giffuni
20869109e3 MFV r277782:
Merge some cherry-picked fixes originating in OpenBSD

Check whether the version field is available before looking at it.
While we're at it, use ND_TCHECK(), rather than a hand-rolled check, to
check whether we have the full fixed-length portion of the IPv4 header.

commit c67afe913011138a2504ec4d3d423b48e73b12f3

Do more length checking. From OpenBSD.

commit d7516761f9c4877bcb05bb6543be3543e165249
2015-01-27 01:45:47 +00:00
Dimitry Andric
8179004eba Merge ^/head r277719 through 277776. 2015-01-26 21:41:54 +00:00
Dimitry Andric
09e84db383 Add llvm and clang patches corresponding to r277774 and r277775. 2015-01-26 21:24:04 +00:00
Dimitry Andric
fce16cf29f Pull in r227062 from upstream clang trunk (by Renato Golin):
Allows Clang to use LLVM's fixes-x18 option

  This patch allows clang to have llvm reserve the x18
  platform register on AArch64. FreeBSD will use this in the kernel for
  per-cpu data but has no need to reserve this register in userland so
  will need this flag to reserve it.

  This uses llvm r226664 to allow this register to be reserved.

  Patch by Andrew Turner.

Requested by:	andrew
2015-01-26 21:19:24 +00:00
Dimitry Andric
5ada58c747 Pull in r226664 from upstream llvm trunk (by Tim Northover):
AArch64: add backend option to reserve x18 (platform register)

  AAPCS64 says that it's up to the platform to specify whether x18 is
  reserved, and a first step on that way is to add a flag controlling
  it.

  From: Andrew Turner <andrew@fubar.geek.nz>

Requested by:	andrew
2015-01-26 21:17:14 +00:00
Dimitry Andric
477129542c Merge ^/head r277327 through r277718. 2015-01-25 23:43:12 +00:00
Dimitry Andric
39d628a0c7 Merge llvm 3.6.0rc1 from ^/vendor/llvm/dist, merge clang 3.6.0rc1 from
^/vendor/clang/dist, resolve conflicts, and cleanup patches.
2015-01-25 23:36:55 +00:00
Pedro F. Giffuni
82b6caf97a MFV r277658:
GDB: Replace use of sprintf.

2005-03-17  Mark Kettenis  <kettenis@gnu.org>

      * corelow.c (get_core_register_section): Replace usage of sprintf
      and strcpy with xstrprintf and xstrdup.

Sourceware commit:	3ecda4574edb38ad12fb491ccaf6d9b0caa3a07a

CID:	1006819
MFC after:	4 days
2015-01-24 21:05:18 +00:00
Pedro F. Giffuni
af2c167e63 MFV: r277654
gdb: Add missing break statements

2004-05-21  Jim Blandy  <jimb@redhat.com>

       * dwarf2expr.c (execute_stack_op): Add 'break' statements after
       cases for DW_OP_div and DW_OP_shr.  (Thanks to Reva Cuthbertson.)

Sourceware commit	99c87dab95747d380392a3698740507a21ad3236

CID:	1008254
MFC after:	4 days
2015-01-24 20:25:21 +00:00
Jilles Tjoelker
8dd985befe Enable utimensat tests from NetBSD.
As with other tests from c063, a required #include <sys/stat.h> was missing.
2015-01-24 15:49:40 +00:00
Xin LI
2fae2ab4c7 Don't include libcapsicum headers when requested.
Reported by:	luigi
MFC after:	14 days
X-MFC-with:	r276788
2015-01-24 06:06:46 +00:00
Pedro F. Giffuni
f860bc065a MFV r277607:
GDB: Fix memset thinkos.

2005-03-25  Anthony Green  <green@redhat.com>

       * remote.c (remote_store_registers): Fix memset usage.
       * std-regs.c (value_of_builtin_frame_reg): Ditto.
       (value_of_builtin_frame_fp_reg): Ditto.
       (value_of_builtin_frame_reg): Ditto.

Reported by:	Dirk Engling
CID:		604160, 604161, 604162, 604163
MFC after:	5 days
2015-01-23 20:40:31 +00:00
Ed Maste
5773625048 redelf: Add missing R_X86_64_ relocation types
PR:		196918
Reviewed by:	dim
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D1570
2015-01-21 01:07:58 +00:00
Sean Bruno
20ef3b88cd Allow clang to be built for mips/mips64 backend types by adding our mips
triple ids

This only allows testing and does not change the defaults for mips/mips64.
They still build/use gcc by default.

Differential Revision:	https://reviews.freebsd.org/D1190
Reviewed by:	dim
2015-01-20 17:00:28 +00:00
Enji Cooper
2e5b60079b Expect :overflow to fail with FreeBSD's expr as it doesn't have stringent
overflow checks like NetBSD's expr does

MFC after: 3 days
PR: 196867
2015-01-19 06:10:01 +00:00
Marcel Moolenaar
545ddfbe7d Upgrade libxo to 0.2.0.
Obtained from:	https://github.com/Juniper/libxo
Requested by: Phil Shafer <phil@juniper.net>

Revisions 276253 & 276273 were incorporated into 0.2.0.
Revision 276260 has been merged-in.
2015-01-19 02:22:03 +00:00
Allan Jude
0700a396cb Fix minor syntax and grammar errors in the markup of the ee(1) man page
Differential Revision:	https://reviews.freebsd.org/D1552
Submitted by:	bcallah@openbsd.org (original)
Approved by:	wblock (mentor)
MFC after:	1 week
Sponsored by:	ScaleEngine Inc.
2015-01-18 17:25:41 +00:00
Dimitry Andric
9cac79b378 Upgrade our copy of clang and llvm to 3.5.1 release. This is a bugfix
only release, no new features have been added.

Please note that this version requires C++11 support to build; see
UPDATING for more information.

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

MFC after:	1 month
X-MFC-With:	276479
2015-01-18 14:14:47 +00:00
Enji Cooper
0c76184ced Fix lib/libthr/tests/detach_test
- Eliminate race with liberal use of sleep(3) [1]
- Fix NetBSD-specific implementation way of testing result from pthread_cancel
  by testing with `td` instead of `NULL` [2]

PR: 196738 [1]
PR: 191906 [2]

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
2015-01-17 00:58:24 +00:00
Enji Cooper
5962fd53ac Don't call abort on usage errors; print out the usage message instead
PR: 196793
MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division
2015-01-16 21:12:36 +00:00
Ed Maste
8ae6c16d82 Verify that section header offset is not past EOF
MFC After:	1 week
Sponsored by:	The FreeBSD Foundation
2015-01-16 15:16:19 +00:00
Dimitry Andric
d72607e9e2 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 after:	1 month
2015-01-15 21:17:36 +00:00
Hans Petter Selasky
d7275b3f14 Fix compilation for 32-bit architectures.
PR:		196580
Sponsored by:	Mellanox Technologies
MFC after:	3 days
2015-01-15 14:47:48 +00:00