Commit Graph

243805 Commits

Author SHA1 Message Date
Dimitry Andric
1db4d87c40 Fix mtree syntax. 2019-09-01 19:13:20 +00:00
Dimitry Andric
dac87cc057 Update build glue for building libomp. 2019-09-01 18:25:45 +00:00
Dimitry Andric
f57be329fc Update libclang_rt:
* Add cfi, dd, fuzzer and xray
* Update arch support
* Update OptionalObsoleteFiles.inc
2019-09-01 18:21:06 +00:00
Dimitry Andric
2f3724e658 Update Makefile and mtree for clang internal headers, and update
OptionalObsoleteFiles.inc for added and removed files.
2019-08-31 18:04:33 +00:00
Dimitry Andric
91baa74420 Update build glue for building compiler-rt. 2019-08-29 20:39:24 +00:00
Dimitry Andric
302310d928 Update libunwind custom frame register and deregister functions for
FreeBSD: use the new doubly underscored names for unw_add_dynamic_fde
and unw_remove_dynamic_fde.

NOTE: this should be upstreamed...
2019-08-29 18:53:00 +00:00
Dimitry Andric
b0d4288fb1 Update build glue for building libc++. 2019-08-28 20:05:55 +00:00
Dimitry Andric
a32f82c2c1 Update build glue for a build of clang plus lldb (enabled via MK_LLDB). 2019-08-26 21:00:14 +00:00
Dimitry Andric
560bf0c7df Add lldb-tblgen tool. 2019-08-26 20:57:45 +00:00
Dimitry Andric
5c1533a86d Disable UniversalMachO support in lldb's SystemInitializerFull.cpp,
since we do not need it.
2019-08-26 20:56:16 +00:00
Dimitry Andric
1f1d86b2b3 Update FREEBSD-Xlist for lldb. 2019-08-25 20:36:52 +00:00
Dimitry Andric
1771245355 Merge missed sources for lldb-specific TableGen tool. 2019-08-25 20:36:02 +00:00
Dimitry Andric
fdb00c4408 Import missed sources for lldb-specific TableGen tool. 2019-08-25 20:29:50 +00:00
Dimitry Andric
390be9fc05 Update build glue for a build of clang plus lld (enabled via MK_LLD). 2019-08-24 22:07:38 +00:00
Dimitry Andric
23559b6ac2 Update build glue for a build of clang including the static analyzer
(enabled via MK_CLANG_FULL).
2019-08-24 21:04:29 +00:00
Dimitry Andric
24b8043ea5 Update build glue for a build of clang plus the extra tools (enabled via
MK_CLANG_EXTRAS).
2019-08-24 19:21:11 +00:00
Dimitry Andric
0db9a49e84 Update build glue for a build of clang plus default base tools (llvm-ar,
llvm-nm, llvm-objdump, llvm-symbolizer).
2019-08-24 16:44:47 +00:00
Dimitry Andric
4014a71fd2 Update build glue for a minimal build of the clang executable. 2019-08-23 22:17:36 +00:00
Dimitry Andric
86aa9539fe Regenerate config and version headers. 2019-08-23 22:13:23 +00:00
Dimitry Andric
72e1e27118 Change clang lib dir to 9.0.0. 2019-08-23 22:12:20 +00:00
Dimitry Andric
cbcf53de47 Merge openmp trunk r366426, resolve conflicts, and add FREEBSD-Xlist. 2019-08-22 20:26:20 +00:00
Dimitry Andric
d8053d0817 Merge libunwind trunk r366426, resolve conflicts, and add FREEBSD-Xlist. 2019-08-22 20:14:59 +00:00
Dimitry Andric
2f1cb2a6c9 Merge libc++ trunk r366426, resolve conflicts, and add FREEBSD-Xlist. 2019-08-22 19:49:51 +00:00
Dimitry Andric
14a0b2859e Merge compiler-rt trunk r366426, resolve conflicts, and add
FREEBSD-Xlist.
2019-08-22 19:26:11 +00:00
Dimitry Andric
580d4aa65a Merge lldb trunk r366426, resolve conflicts, and update FREEBSD-Xlist. 2019-08-22 19:14:02 +00:00
Dimitry Andric
22d1794578 Merge lld trunk r366426, and resolve conflicts. 2019-08-21 20:44:42 +00:00
Dimitry Andric
e123fc8fd8 Merge clang trunk r366426, resolve conflicts, and update FREEBSD-Xlist. 2019-08-21 19:57:54 +00:00
Dimitry Andric
54db30ce18 Merge llvm trunk r366426, resolve conflicts, and update FREEBSD-Xlist. 2019-08-21 18:13:02 +00:00
Ed Maste
35284c22e9 makefs.8: update history
- ported to FreeBSD and first appeared in 8.0
- Christos Zoulas added the FAT support that I imported
2019-08-20 21:14:44 +00:00
Dimitry Andric
1756886afc Vendor import of stripped LLVM openmp trunk r366426 (just before the
release_90 branch point):

https://llvm.org/svn/llvm-project/openmp/trunk@366426
2019-08-20 20:52:04 +00:00
Dimitry Andric
5f29bb8a67 Vendor import of stripped lldb trunk r366426 (just before the release_90
branch point):

https://llvm.org/svn/llvm-project/lldb/trunk@366426
2019-08-20 20:51:52 +00:00
Dimitry Andric
f1e1c239e3 Vendor import of stripped lld trunk r366426 (just before the release_90
branch point):

https://llvm.org/svn/llvm-project/lld/trunk@366426
2019-08-20 20:51:32 +00:00
Dimitry Andric
cd5ff43da5 Vendor import of stripped LLVM libunwind trunk r366426 (just before the
release_90 branch point):

https://llvm.org/svn/llvm-project/libunwind/trunk@366426
2019-08-20 20:51:22 +00:00
Dimitry Andric
1147845301 Vendor import of stripped libc++ trunk r366426 (just before the release_90 branch
point):

https://llvm.org/svn/llvm-project/libcxx/trunk@366426
2019-08-20 20:51:16 +00:00
Dimitry Andric
8f3cadc28c Vendor import of stripped compiler-rt trunk r366426 (just before the release_90
branch point):

https://llvm.org/svn/llvm-project/compiler-rt/trunk@366426
2019-08-20 20:51:06 +00:00
Dimitry Andric
2298981669 Vendor import of stripped clang trunk r366426 (just before the
release_90 branch point):

https://llvm.org/svn/llvm-project/cfe/trunk@366426
2019-08-20 20:50:49 +00:00
Dimitry Andric
e6d1592492 Vendor import of stripped llvm trunk r366426 (just before the release_90
branch point):

https://llvm.org/svn/llvm-project/llvm/trunk@366426
2019-08-20 20:50:12 +00:00
Ed Maste
b350417ae6 makefs: avoid "dereferencing 'void *' pointer" warnings
On GCC 4.2.1 archs

MFC with:	r351273
Sponsored by:	The FreeBSD Foundation
2019-08-20 20:04:16 +00:00
Toomas Soome
a15a23234d loader.efi: efipart should be more careful about constructing block device lists
The cd handles should be collected as list of partitions. Some systems also
provide base name for block device (like PciRoot(0x0)/Pci(0x5,0x0)), we need
to be careful about those.

To make out life a bit easier, we prepare not just an array of handles, but we
allocate pdinfo struct for each handle and devicepath, then we can simplify
our work to sort the devices.

Differential Revision:	https://reviews.freebsd.org/D21187
2019-08-20 19:31:11 +00:00
Ed Maste
98dc8da58c makefs: add msdosfs (FAT) support
Add FAT support to makefs by copying some files from sys/fs/msdosfs/ and
updating others with changes from NetBSD.

The six files copied from sys/fs/msdosfs at r348251 and modified are:
denode.h direntry.h fat.h msdosfs_fat.c msdosfs_lookup.c msdosfsmount.h

I would prefer to avoid the duplication, but reluctance to doing so was
expressed in a previous review (D11197); for now copy the files and
revisit in the future.

Submitted by:	Siva Mahadevan
Discussed with:	cem, imp
MFC after:	1 month
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D16438
2019-08-20 18:20:45 +00:00
Dimitry Andric
88c643b6fe Remove upstream files and directories from vendor/lldb/dist that we do
not use.  This saves on repository space, and reduces the number of tree
conflicts when merging.
2019-08-20 18:01:57 +00:00
Dimitry Andric
7d6988fdd2 Remove upstream files and directories from vendor/lld/dist that we do
not use.  This saves on repository space, and reduces the number of tree
conflicts when merging.
2019-08-20 18:01:33 +00:00
Dimitry Andric
b7332b04df Remove upstream files and directories from vendor/libc++/dist that we do
not use.  This saves on repository space, and reduces the number of tree
conflicts when merging.
2019-08-20 18:01:01 +00:00
Dimitry Andric
63714eb580 Remove upstream files and directories from vendor/compiler-rt/dist that
we do not use.  This saves on repository space, and reduces the number
of tree conflicts when merging.
2019-08-20 18:00:15 +00:00
Dimitry Andric
9a83721404 Remove upstream files and directories from vendor/clang/dist that we do
not use.  This saves on repository space, and reduces the number of tree
conflicts when merging.
2019-08-20 17:59:23 +00:00
Dimitry Andric
1a56a5ead7 Remove upstream files and directories from vendor/llvm/dist that we do
not use.  This saves on repository space, and reduces the number of tree
conflicts when merging.
2019-08-20 17:58:59 +00:00
Mark Johnston
35fd0fc409 Use a sleepable lock for midistat functions.
Otherwise the mutex needs to be dropped when copying out the midistat
sbuf, leading to a race which allows one to read kernel memory beyond
the end of the sbuf buffer.

Reported and tested by:	pho
Security:	CVE-2019-5612
2019-08-20 17:52:12 +00:00
Ed Maste
f37192064a mqueuefs: fix compat32 struct file leak
In a compat32 error case we previously leaked a struct file.

Submitted by:	Karsten König, Secfault Security
Security:	CVE-2019-5603
2019-08-20 17:44:03 +00:00
Dimitry Andric
51ff47d7a5 Pull in r368867 from upstream libc++ trunk (by Marshall Clow):
Rework recursive_timed_mutex so that it uses __thread_id instead of
  using the lower-level __libcpp_thread_id. This is prep for fixing
  PR42918. Reviewed as https://reviews.llvm.org/D65895

Pull in r368916 from upstream libc++ trunk (by Marshall Clow):

  Fix thread comparison by making sure we never pass our special 'not a
  thread' value to the underlying implementation. Fixes PR#42918.

This should fix std:🧵🆔:operator==() attempting to call
pthread_equal(3) with zero values.

Reported by:	andrew@tao11.riddles.org.uk
PR:		239038, 239550
MFC after:	3 days
2019-08-20 17:39:32 +00:00
Brooks Davis
98ab79066d Remove some compatability with Seventh Edition UNIX realloc().
In Seventh Edition UNIX, the last pointer passed to free() was
guaranteed to not actually have been freed allowing memory to be
"compacted" via the following pattern:

free(foo);
foo = realloc(foo, newsize);

Further, Andrew Koenig reports in "C Traps and Pitfalls" that the
original realloc() implementation required this pattern.

The C standard is clear that this is Undefined Behavior. Modern
allocators don't support it and no portable code could rely on it so
remove this support.

Note: the removed implementation contains an off-by-one error and if
an item isn't found on the freelist, then twice as much memory as the
largest possible allocation will be copied.

Reviewed by:	kib, imp
Obtained from:	CheriBSD
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D21296
2019-08-20 16:07:17 +00:00