262188 Commits

Author SHA1 Message Date
dim
5e01ccba83 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
dim
fc30b23855 Update build glue for building compiler-rt. 2019-08-29 20:39:24 +00:00
dim
4e1fbcdd39 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
dim
0210f0603e Update build glue for building libc++. 2019-08-28 20:05:55 +00:00
dim
e9d5da2647 Update build glue for a build of clang plus lldb (enabled via MK_LLDB). 2019-08-26 21:00:14 +00:00
dim
006dcf6159 Add lldb-tblgen tool. 2019-08-26 20:57:45 +00:00
dim
9f21cde5df Disable UniversalMachO support in lldb's SystemInitializerFull.cpp,
since we do not need it.
2019-08-26 20:56:16 +00:00
dim
81c60d44ad Update FREEBSD-Xlist for lldb. 2019-08-25 20:36:52 +00:00
dim
631c15893a Merge missed sources for lldb-specific TableGen tool. 2019-08-25 20:36:02 +00:00
dim
9301ec1d0e Import missed sources for lldb-specific TableGen tool. 2019-08-25 20:29:50 +00:00
dim
a55b60f01d Update build glue for a build of clang plus lld (enabled via MK_LLD). 2019-08-24 22:07:38 +00:00
dim
517d38705d 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
dim
3778091671 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
dim
913951ed82 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
dim
1d195d9a3a Update build glue for a minimal build of the clang executable. 2019-08-23 22:17:36 +00:00
dim
18019bd4ce Regenerate config and version headers. 2019-08-23 22:13:23 +00:00
dim
4b2c951dd1 Change clang lib dir to 9.0.0. 2019-08-23 22:12:20 +00:00
dim
2b5a0d9c4b Merge openmp trunk r366426, resolve conflicts, and add FREEBSD-Xlist. 2019-08-22 20:26:20 +00:00
dim
07fa3e3563 Merge libunwind trunk r366426, resolve conflicts, and add FREEBSD-Xlist. 2019-08-22 20:14:59 +00:00
dim
9e2b5394da Merge libc++ trunk r366426, resolve conflicts, and add FREEBSD-Xlist. 2019-08-22 19:49:51 +00:00
dim
799294dad5 Merge compiler-rt trunk r366426, resolve conflicts, and add
FREEBSD-Xlist.
2019-08-22 19:26:11 +00:00
dim
661050c23e Merge lldb trunk r366426, resolve conflicts, and update FREEBSD-Xlist. 2019-08-22 19:14:02 +00:00
dim
fa4108e7fa Merge lld trunk r366426, and resolve conflicts. 2019-08-21 20:44:42 +00:00
dim
cb34d97c74 Merge clang trunk r366426, resolve conflicts, and update FREEBSD-Xlist. 2019-08-21 19:57:54 +00:00
dim
8a381735b9 Merge llvm trunk r366426, resolve conflicts, and update FREEBSD-Xlist. 2019-08-21 18:13:02 +00:00
emaste
76d906fa00 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
dim
a16a7f6571 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
dim
e0fb479f8f 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
dim
020e7bcf43 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
dim
10907fcaca 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
dim
8312957c51 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
dim
5481597553 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
dim
26df4b1e76 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
emaste
82c5fb3e36 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
tsoome
7d38e9ccad 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
emaste
cb1c7a690d 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
dim
6828d94960 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
dim
87d3679e72 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
dim
f52eb4ccfb 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
dim
4a579e92e2 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
dim
c37ebd9d97 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
dim
917122157f 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
markj
578ed34189 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
emaste
f555099cb8 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
dim
23cc093cf6 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
cf5228cea1 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
jhibbits
50a22c0244 Unbreak USB ethernet module builds
Sponsored by:	Juniper Networks, Inc.
2019-08-20 15:14:32 +00:00
kp
567631864d netpfil tests: Add too many fragments test for pf, ipfw and ipf
Add test for checking that the packets are dropped if it is fragmented into
more than the defined value.

Submitted by:	Ahsan Barkati
Reviewed by:	kp
Sponsored by:	Google, Inc. (GSoC 2019)
Differential Revision:	https://reviews.freebsd.org/D21307
2019-08-20 14:46:12 +00:00
kp
d39fae8637 netpfil tests: Add the set ToS test for ipfw and pf
This test tests the following:

 - The firewall is able to set the tos bits
 - The firewall is able to set the DSCP bits when EN bits is already set and
   the EN bits remains unchanged.
 - The firewall is able to drop the packets based on ToS value

Submitted by:	Ahsan Barkati
Reviewed by:	kp
Sponsored by:	Google, Inc. (GSoC 2019)
Differential Revision:	https://reviews.freebsd.org/D21305
2019-08-20 14:31:22 +00:00
jhibbits
4c524d8f8d powerpc: Link Book-E kernels at the same address as AIM kernels
Summary:
Reduce the diff between AIM and Book-E even more.  This also cleans up
vmparam.h significantly.

Reviewed by:	luporl
Differential Revision:	https://reviews.freebsd.org/D21301
2019-08-20 01:26:02 +00:00