1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
Commit Graph

5235 Commits

Author SHA1 Message Date
Pedro F. Giffuni
b76bfc09c3 gcc: avoid generating negative values to DW_AT_byte_size.
There is a bug in gcc (GCC/35998) where dwarf reports
sizes of unsigned -1 (0xffffffff).

On NetBSD this generated a faulty CTF entry which then
caused a segfault in ctfmerge. The issue was worked
around in NetBSD's Dtrace but since the issue originated
in gcc, it seems reasonable to fix it here.

Upstream gcc has been slow to react to this issue and
the author that submitted the patch is not interested
in licensing the change to us, so I did an independent
workaround for the issue.

MFC after:	1 week
2012-12-28 19:02:28 +00:00
Andrew Turner
b8d52352a7 Fix the __glibcxx_min and __glibcxx_max macros for a signed wchar_t.
* The __glibcxx_max macro came from GCC svn r138078, the last GPLv2
  revision of this file.
* I wrote the updated __glibcxx_min macro.
2012-12-25 07:37:33 +00:00
Andrew Turner
0d526975ee Pull in r170096 from upstream clang trunk:
Initial support for FreeBSD on ARM.
2012-12-23 21:41:39 +00:00
Dimitry Andric
c80e6c4bec Upgrade our copy of llvm/clang to 3.2 release.
Release notes for llvm:
http://llvm.org/releases/3.2/docs/ReleaseNotes.html

Release notes for clang:
http://llvm.org/releases/3.2/tools/clang/docs/ReleaseNotes.html

MFC after:	2 weeks
2012-12-23 13:04:00 +00:00
Martin Matuska
3632bc4c71 MFV r244559:
Update contrib/xz to version 5.0.4

MFC after:	2 weeks
2012-12-22 21:32:12 +00:00
Dimitry Andric
64ea2f800e Fix a bug in ld --gc-sections: it strips out .note sections, while it
should never do so.  This can cause global constructors and destructors
to not be executed at run-time, resulting in crashes and other strange
behaviour.

Reported by:	rene
MFC after:	1 week
2012-12-22 20:46:46 +00:00
Dimitry Andric
d1ff5f1ee2 Pull in r170353 from upstream llvm trunk:
Fix another SROA crasher, PR14601.

  This was a silly oversight, we weren't pruning allocas which were used
  by variable-length memory intrinsics from the set that could be widened
  and promoted as integers. Fix that.

This should fix the following assertion failure:

  Assertion failed: (CanSROA), function visitUsers, file
  /usr/src/lib/clang/libllvmscalaropts/../../../contrib/llvm/lib/Transforms/Scalar/SROA.cpp,
  line 2395.

Reported by:	gerald
2012-12-22 20:16:21 +00:00
Brooks Davis
c6ec7d3183 Add NetBSD's mtree to the tree and install it as nmtree as the first step
towards replacing our mtree.

Sponsored by:	DARPA, AFRL
Thanks to:	cristos@NetBSD for reviewing and committing my patches
		wiz@NetBSD for fixing typos in my patches
2012-12-21 21:00:00 +00:00
Ed Maste
6b926c8f45 Support restrict qualifier in dwarf debug info
Newer clang/llvm emit DW_TAG_restrict_type, which wasn't handled by gdb.
Import support from Apple's gdb-1822:

|  2009-03-24  Jason Molenda  (jmolenda@apple.com)
|
|    * gdbtypes.c (make_cv_type): Rename this function to make_cvr_type to
|    also handle restrict qualifiers.
|    (check_typedef): Handle TYPE_RESTRICT.
|    * gdbtypes.h (TYPE_FLAG_RESTRICT, TYPE_RESTRICT): New.
|    * hpread.c (hpread_type_lookup): Update to use make_cvr_type.
|    * stabsread.c (read_type): Pass the restrict qualifiers along.
|    * parse.c (follow_types): Pass the restrict qualifiers along.
|    * dwarf2read.c (read_tag_const_type): Call make_cvr_type.
|    (read_tag_volatile_type): Same.
|    (read_tag_restrict_type): New function.
|    (read_type_die): Handle DW_TAG_restrict_type.

Obtained from: Apple
Sponsored by: ADARA Networks
2012-12-19 16:23:20 +00:00
Brooks Davis
8ccca1222d Replace our implementation of the vis(3) and unvis(3) APIs with
NetBSD's.  This output size limited versions of vis and unvis functions
as well as a set of vis variants that allow arbitrary characters to be
specified for encoding.

Finally, MIME Quoted-Printable encoding as described in RFC 2045 is
supported.
2012-12-18 16:37:24 +00:00
Andrew Turner
d131070105 Don't define CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP on arm when
built with clang. When these are defined the lists are defined similar to:

asm(".section .ctors");
STATIC func_ptr __CTOR_LIST__[1] = { (func_ptr) (-1) };
asm(".section .dtors");
STATIC func_ptr __DTOR_LIST__[1] = { (func_ptr) (-1) };

The problem is clang will move the two arrays out of the .ctors and .dtors
sections causing these sections to contain a single null address. By not
defining these macros we use the version of the code that places the arrays
is their sections by using __attribute__((section(".ctors"))) and similar
for .dtors.

Submitted by:	Daisuke Aoyama <aoyama AT peach.ne.jp>
2012-12-15 21:24:31 +00:00
Andrew Turner
384f99dea7 Recognise vfpv2 as a value for the ARM .fpu asm directive. Clang generates
these even when building soft floating-point code

Submitted by:	Daisuke Aoyama <aoyama AT peach.ne.jp>
2012-12-15 21:12:13 +00:00
Andrew Turner
2890206e6e Fix a comment in an asm block to work with compilers other than GCC 2012-12-15 21:06:14 +00:00
Robert Watson
f7d2299713 Merge OpenBSM 1.2-alpha3 from the vendor branch to 10-CURRENT; this version
included various upstreamed patches from the FreeBSD base to make OpenBSM
compile more easily with bmake, higher warning levels, clang, and several
other loose ends.

Obtained from:	TrustedBSD Project
2012-12-15 14:59:00 +00:00
Rui Paulo
07fb19177d Bump MAX_COLS to 512 to take advantage of wider terminals. 2012-12-13 06:45:45 +00:00
Erwin Lansing
cfd4d2c42e Update to 9.8.4-P1.
Security Fixes

   Prevents named from aborting with a require assertion failure
   on servers with DNS64 enabled.  These crashes might occur as a
   result of  specific queries that are received.

New Features

*  Elliptic Curve Digital Signature Algorithm keys and signatures in
   DNSSEC are now supported per RFC 6605. [RT #21918]

Feature Changes

*  Improves OpenSSL error logging [RT #29932]

*  nslookup now returns a nonzero exit code when it is unable to get
   an answer.  [RT #29492]

Other critical bug fixes are included.

Approved by:	delphij (mentor)
MFC after:	3 days
Security:	CVE-2012-5688
Sponsored by:	DK Hostmaster A/S
2012-12-07 12:39:58 +00:00
Eitan Adler
37a6031461 Clean up hardcoded ar(1) flags in the tree to use the global ARFLAGS in
share/mk/sys.mk instead.

This is part of a medium term project to permit deterministic builds of
FreeBSD.

Submitted by:	Erik Cederstrand <erik@cederstrand.dk>
Reviewed by:	imp, toolchain@
Approved by:	cperciva
MFC after:	2 weeks
2012-12-06 01:31:25 +00:00
Dimitry Andric
3861d79fd7 Upgrade our copy of llvm/clang to r168974, from upstream's release_32
branch.  This is effectively llvm/clang 3.2 RC2; the 3.2 release is
coming soon.
2012-12-03 19:24:08 +00:00
Xin LI
21fa654189 MFV: less v456. 2012-12-03 19:00:23 +00:00
Robert Watson
aa77200569 Merge OpenBSM 1.2-alpha2 from vendor branch to FreeBSD 10-CURRENT; the
primary new feature is auditdistd.

Obtained from:	TrustedBSD Project
Sponsored by:	The FreeBSD Foundation (auditdistd)
2012-12-01 11:58:08 +00:00
David Chisnall
fb6c5de628 Merge new libc++ into head. 2012-11-29 13:35:44 +00:00
Hajimu UMEMOTO
a944d3c61e cyrus-sasl 2.1.26 was released. In this version, the type of callback
functions was changed from "unsigned long" to "size_t".

Reviewed by:	gshapiro
MFC after:	3 days
2012-11-28 11:47:47 +00:00
Dimitry Andric
5f5f8832fb Pull in r168610 from upstream libc++:
When using libc++ headers on FreeBSD, in combination with -std=c++98,
  -ansi or -std=c++03, the long long type is not supported.  So in this
  case, several functions and types, like lldiv_t, strtoll(), are not
  declared.

This should make it possible to use the libc++ headers in c++98 mode.

Note: libc++ is originally designed as a c++0x or higher library, so you
should still take care when using it with c++98 or c++03.

Noted by:	Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>
MFC after:	1 week
2012-11-26 21:32:31 +00:00
Colin Percival
43f13bea35 MFS security patches which seem to have accidentally not reached HEAD:
Fix insufficient message length validation for EAP-TLS messages.

Fix Linux compatibility layer input validation error.

Security:	FreeBSD-SA-12:07.hostapd
Security:	FreeBSD-SA-12:08.linux
Security:	CVE-2012-4445, CVE-2012-4576
With hat:	so@
2012-11-23 01:48:31 +00:00
Simon J. Gerraty
59a02420d8 Merge bmake-20121111
Also pay attention to MK_SHARED_TOOLCHAIN.

Approved by:	marcel (mentor)
2012-11-16 01:37:25 +00:00
Marcel Moolenaar
701791c75b Add ATF update instructions and file exclude list.
Submitted by:	Garrett Cooper <yanegomi@gmail.com>
2012-11-15 04:51:37 +00:00
Marcel Moolenaar
8017b8a3c1 The *_STR* macros use strcmp() to check their arguments. Include string.h
to have this definition available.
Upstream commit: 1dc1884f778f88811583e6a54610a6d7e421ca63

Submitted by:	Garrett Cooper <yanegomi@gmail.com>
2012-11-15 04:42:30 +00:00
Marcel Moolenaar
89e54125a4 Add support for DragonFly and FreeBSD.
Upstreamed:
    http://code.google.com/p/kyua/issues/detail?id=45

Submitted by:	Garrett Cooper <yanegomi@gmail.com>
2012-11-15 04:32:55 +00:00
Marcel Moolenaar
112988e702 Fix typos in description for exp{err,out}_mismatch_head.
Upstreamed:
    http://code.google.com/p/kyua/issues/detail?id=44

Submitted by:	Garrett Cooper <yanegomi@gmail.com>
2012-11-15 04:29:12 +00:00
Marcel Moolenaar
a4fb74f1ac Remove redundant text describing the cleanup routine.
Upstreamed:
    http://code.google.com/p/kyua/issues/detail?id=43

Submitted by:	Garrett Cooper <yanegomi@gmail.com>
2012-11-15 04:24:17 +00:00
Edwin Groothuis
f09b8c49d8 Merge of vendor import of 242999, tzdata2012j
- Libya went to Standard Time on 10 November 2012
2012-11-13 21:10:50 +00:00
David Chisnall
1e0896ace6 Import new version of libc++ into base. 2012-11-13 03:27:43 +00:00
Ed Maste
c73d086b04 Do not unwind past a zero PC frame.
This improves GDB usability when debugging code compiled with
optimization.

Upstream GDB revision f0031b6d3ae9b164b3747986ab898190bd4dcf8c (prior
to GDB's switch to GPLv3), with frame_debug_got_null_frame expanded
inline.

| 2004-12-12  Andrew Cagney  <cagney@gnu.org>
|
| * frame.c (get_prev_frame): When unwinding normal frames, check
| that the PC isn't zero.

Sponsored by:	ADARA Networks
MFC After:	1 month
2012-11-13 03:05:28 +00:00
Ed Maste
b4b74d6100 Set optimized_out instead of reporting an error.
This provides a better display when debugging code compiled with
optimization on.

GDB git revision e8395b4efd184f745070afb953f451f99e922be7 (prior to GDB's
switch to GPLv3), modified for the interfaces provided by GDB 6.1.1.

2005-02-28  Daniel Jacobowitz  <dan@codesourcery.com>

 * dwarf2loc.c (loclist_read_variable): Set optimized_out
 instead of reporting an error.
 * valprint.c (value_check_printable): New function.
 (common_val_print): New function.  Use value_check_printable.
 (value_print): Use value_check_printable.
 * value.h (common_val_print): Add prototype.
 * c-valprint.c (c_val_print): Use common_val_print.
 * cp-valprint.c (cp_print_value_fields): Likewise.
 (cp_print_hpacc_virtual_table_entries): Likewise.
 * f-valprint.c (f_val_print): Likewise.
 * jv-valprint.c (java_value_print, java_print_value_fields):
 Likewise.
 * scm-valprint.c (scm_value_print): Likewise.
 * stack.c (print_frame_args): Likewise.
 * varobj.c (c_value_of_variable): Likewise.
 * p-valprint.c (pascal_val_print, pascal_value_print): Likewise.
 (pascal_object_print_value_fields): Likewise.  Update call to
 pascal_object_print_static_field.
 (pascal_object_print_static_field): Remove TYPE argument.  Use
 common_val_print.

Sponsored by:	ADARA Networks
MFC after:	1 month
2012-11-13 01:21:17 +00:00
Edwin Groothuis
e10f650296 Merge of vendor import of 242925, tzdata2012i
Update to tzdata2012i:
- Cuba is changing back to Standard Time on 4 November 2012.
2012-11-12 20:44:59 +00:00
Rui Paulo
2c141bfc43 Add "pid" to the help menu (sort keys section). 2012-11-11 08:22:58 +00:00
Jason Evans
82872ac086 Import jemalloc 3.2.0. 2012-11-10 01:46:13 +00:00
Dimitry Andric
39d9149396 Reduce LLVM's default stack alignment for i386 from 16 to 4 bytes, as
the FreeBSD ABI requires.  This is essentially a revert of upstream llvm
commit r126226, and it will be reverted by upstream too.

MFC after:	1 week
2012-11-09 18:56:27 +00:00
Xin LI
4cc5fc9a0c MFV: less v453. 2012-11-04 20:52:26 +00:00
Dimitry Andric
762496516b Pull in r165377 from upstream llvm trunk:
X86: fcmov doesn't handle all possible EFLAGS, fall back to a branch
  for the others.

  Otherwise it will try to use SSE patterns and fail horribly if sse is
  disabled.

  Fixes PR14035.

This should fix the following assertion failure:

  Assertion failed: (Reg >= X86::FP0 && Reg <= X86::FP6 && "Expected FP
  register!"), function getFPReg, file
  contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp, line 330.

which can show up when compiling contrib/compiler-rt, using -march=i686
through -march=pentium3 (CPU's which do support fcmov, but don't support
SSE2).

MFC after:	1 week
2012-10-30 22:09:53 +00:00
Edwin Groothuis
2029f58919 Merge of vendor import of tzdata2012h
- Bahia no longer has DST.
- Tocantins has DST.
- Israel has new DST rules next year.
- Jordan stays on DST this winter.
2012-10-28 09:14:42 +00:00
Alexander Kabaev
31e8efde08 Follow clang lead and include mm_malloc.h only in hosted configurations.
This makes the use of intrinsics easier in kernel environment, according
to the submitter.

Requested by: jmg
2012-10-27 17:39:36 +00:00
Simon J. Gerraty
93036677b5 Merge bmake-20121010
Approved by:	marcel (mentor)
2012-10-25 23:18:05 +00:00
Ed Schouten
77d6b25fab Pull in r166498 from upstream clang trunk:
Add a new warning -Wmissing-variable-declarations, to warn about variables
defined without a previous declaration.  This is similar to
-Wmissing-prototypes, but for variables instead of functions.
2012-10-25 10:13:58 +00:00
Dimitry Andric
04a978f91b Pull in r165367 from upstream llvm trunk:
Make sure always-inline functions get inlined. <rdar://problem/12423986>

  Without this change, when the estimated cost for inlining a function with
  an "alwaysinline" attribute was lower than the inlining threshold, the
  getInlineCost function was returning that estimated cost rather than the
  special InlineCost::AlwaysInlineCost value. That is fine in the normal
  inlining case, but it can fail when the inliner considers the opportunity
  cost of inlining into an internal or linkonce-odr function. It may decide
  not to inline the always-inline function in that case. The fix here is just
  to make getInlineCost always return the special value for always-inline
  functions. I ran into this building clang with libc++. Tablegen failed to
  link because of an always-inline function that was not inlined. I have been
  unable to reduce the testcase down to a reasonable size.

This should fix the link errors that were reported when atf-run was
compiled with clang -stdlib=libc++.  In this case, at -O3 optimization,
some calls to basic_ios::clear() were not inlined, even when the
function was marked __always_inline__.

Reported by:	Jan Beich <jbeich@tormail.org>
MFC after:	1 week
2012-10-24 16:39:49 +00:00
Dimitry Andric
387c85f1ca Fix a number of other clang warnings in libstdc++, which could appear
when building other C++ software with it.  Also fix one actual bug in
libsupc++, which was exposed by such a warning.  This latter fix is the
only functional change.

MFC after:	1 week
2012-10-23 18:45:32 +00:00
Dimitry Andric
c9c047798c Fix two clang warnings in the recent atf import. These have also been
sent upstream.

Tested by:	Garrett Cooper <yanegomi@gmail.com>
2012-10-23 18:38:04 +00:00
Dimitry Andric
a23701e59d Fix several clang warnings in libstdc++, which were exposed by the
recent atf import.  These changes are purely cosmetic, no functional
change.

MFC after:	1 week
2012-10-23 18:36:07 +00:00
Dimitry Andric
d3c53822e7 Fix two -Wsystem-header warnings in libc++ that were exposed by the new
ATF import.  These have also been sent upstream.

MFC after:	1 month
2012-10-22 19:06:00 +00:00
Xin LI
52dba105d2 MFV: netcat from OpenBSD 5.2.
MFC after:	1 month
2012-10-22 18:56:31 +00:00