dim [Sun, 2 Jul 2017 11:41:15 +0000 (11:41 +0000)]
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306956, and update
build glue.
dim [Sat, 1 Jul 2017 13:24:58 +0000 (13:24 +0000)]
Vendor import of lldb trunk r306956:
https://llvm.org/svn/llvm-project/lldb/trunk@306956
dim [Sat, 1 Jul 2017 13:24:45 +0000 (13:24 +0000)]
Vendor import of lld trunk r306956:
https://llvm.org/svn/llvm-project/lld/trunk@306956
dim [Sat, 1 Jul 2017 13:24:15 +0000 (13:24 +0000)]
Vendor import of compiler-rt trunk r306956:
https://llvm.org/svn/llvm-project/compiler-rt/trunk@306956
dim [Sat, 1 Jul 2017 13:24:05 +0000 (13:24 +0000)]
Vendor import of clang trunk r306956:
https://llvm.org/svn/llvm-project/cfe/trunk@306956
dim [Sat, 1 Jul 2017 13:22:02 +0000 (13:22 +0000)]
Vendor import of llvm trunk r306956:
https://llvm.org/svn/llvm-project/llvm/trunk@306956
dim [Tue, 27 Jun 2017 06:44:32 +0000 (06:44 +0000)]
Merge ^/head r320042 through r320397.
dim [Tue, 27 Jun 2017 06:40:39 +0000 (06:40 +0000)]
Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306325, and update
build glue.
cy [Tue, 27 Jun 2017 04:54:58 +0000 (04:54 +0000)]
Replace AF_INET6 ifdefs with USE_INET6 to be consistent with the rest
of the ipfilter souce tree.
jpaetzel [Tue, 27 Jun 2017 03:57:31 +0000 (03:57 +0000)]
ioctl METEORGBRIG in bktr_core.c forgets to add 128 to value
PR: 59289
Submitted by: Danovitsch@Vitsch.net
jpaetzel [Tue, 27 Jun 2017 03:45:09 +0000 (03:45 +0000)]
driver incorrectly handles the setting of frame rates
PR: 36415
Submitted by: brandt@fokus.gmd.de
jhibbits [Tue, 27 Jun 2017 01:57:22 +0000 (01:57 +0000)]
Disable interrupts when updating the TLB
Without disabling interrupts it's possible for another thread to preempt
and update the registers post-read (tlb1_read_entry) or pre-write
(tlb1_write_entry), and confuse the kernel with mixed register states.
MFC after: 2 weeks
jhibbits [Tue, 27 Jun 2017 01:29:10 +0000 (01:29 +0000)]
Update comments and simplify conditionals for compat32
Only amd64 (because of i386) needs 32-bit time_t compat now, everything else is
64-bit time_t. Rather than checking on all 64-bit time_t archs, only check the
oddball amd64/i386.
Reviewed By: emaste, kib, andrew
Differential Revision: https://reviews.freebsd.org/D11364
araujo [Tue, 27 Jun 2017 01:22:27 +0000 (01:22 +0000)]
With r318394 seems it breaks gpart(8) in some embedded systems such like PCEngines,
RPI1-B, Alix and APU2 boards as well as NanoBSD with the following message:
vnode_pager_generic_getpages_done: I/O read error 5
Seems the breakage was because it was missed to include acr in glabel update.
Reported by: Peter Blok <pblok@bsd4all.org>,
madpilot, imp and trasz.
Reviewed by: trasz
Tested by: Peter Blok and madpilot.
MFC after: 3 days.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D11365
imp [Mon, 26 Jun 2017 22:48:04 +0000 (22:48 +0000)]
Sort the compat11.* syscalls I added. Remove duplicate compat11.stat.
Submitted by: jhb@
andrew [Mon, 26 Jun 2017 22:32:52 +0000 (22:32 +0000)]
In _bswap16 and _bswap32 cast constant values to the appropriate type. This is
similar to what is done in the x86 code.
Sponsored by: DARPA, AFRL
gonzo [Mon, 26 Jun 2017 21:45:33 +0000 (21:45 +0000)]
[arm] Use correct index value when checking range validity
Reviewed by: andrew
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D9145
markj [Mon, 26 Jun 2017 21:14:33 +0000 (21:14 +0000)]
Sort SRCS.
MFC after: 1 week
dim [Mon, 26 Jun 2017 20:33:56 +0000 (20:33 +0000)]
Vendor import of lldb trunk r306325:
https://llvm.org/svn/llvm-project/lldb/trunk@306325
dim [Mon, 26 Jun 2017 20:33:45 +0000 (20:33 +0000)]
Vendor import of lld trunk r306325:
https://llvm.org/svn/llvm-project/lld/trunk@306325
dim [Mon, 26 Jun 2017 20:33:22 +0000 (20:33 +0000)]
Vendor import of compiler-rt trunk r306325:
https://llvm.org/svn/llvm-project/compiler-rt/trunk@306325
dim [Mon, 26 Jun 2017 20:33:12 +0000 (20:33 +0000)]
Vendor import of clang trunk r306325:
https://llvm.org/svn/llvm-project/cfe/trunk@306325
dim [Mon, 26 Jun 2017 20:32:52 +0000 (20:32 +0000)]
Vendor import of llvm trunk r306325:
https://llvm.org/svn/llvm-project/llvm/trunk@306325
gjb [Mon, 26 Jun 2017 20:17:48 +0000 (20:17 +0000)]
Revert r319603, r319608, and r319609. Creating a hard link to the
dtb file for the cubieboard2 is no longer needed in 12-CURRENT.
Sponsored by: The FreeBSD Foundation
markj [Mon, 26 Jun 2017 19:41:14 +0000 (19:41 +0000)]
Fix a memory leak in ses_get_elm_devnames().
After r307132 the sbuf buffer is malloc()ed, but corresponding
sbuf_delete() call was missing.
Fix a nearby whitespace bug.
MFC after: 3 days
Sponsored by: Dell EMC Isilon
lidl [Mon, 26 Jun 2017 18:28:00 +0000 (18:28 +0000)]
Add IPSEC support to mips ERL kernel config file
emaste [Mon, 26 Jun 2017 18:11:48 +0000 (18:11 +0000)]
Add "Terminus BSD Console" size 32
Dimitar Toshkov, Terminus' creator, has made size 32 available under the
2-clause BSD license for use by *BSD consoles.
markj [Mon, 26 Jun 2017 16:28:46 +0000 (16:28 +0000)]
Implement parts of the hrtimer API in the LinuxKPI.
Reviewed by: hselasky
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D11359
trasz [Mon, 26 Jun 2017 16:08:28 +0000 (16:08 +0000)]
Improve terminology in a comment.
Suggested by: ian
MFC after: 2 weeks
trasz [Mon, 26 Jun 2017 15:40:24 +0000 (15:40 +0000)]
Provide visual feedback when timezone files are installed.
After r320003 it wasn't being shown in any way.
Submitted by: bdrewery
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D11154
trasz [Mon, 26 Jun 2017 13:14:41 +0000 (13:14 +0000)]
Make resizewin(1) do flushing by using TCSAFLUSH instead of TCSANOW
followed by tcflush(3). This works just as well and is more elegant.
Suggested by: bde
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
trasz [Mon, 26 Jun 2017 13:11:21 +0000 (13:11 +0000)]
Add vfs.nfsd.nfsd_enable_uidtostring, which works just like
vfs.nfsd.nfsd_enable_stringtouid, but in reverse - when set to 1,
it forces the NFSv4 server to return numeric UIDs and GIDs instead
of "user@domain" strings. This helps with clients that can't
translate returned identifiers, eg when rerooting.
The same can be achieved by just never running nfsuserd(8),
but the sysctl is useful to toggle the behaviour back and forth
without rebooting.
Reviewed by: rmacklem (earlier version)
MFC after: 2 weeks
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D11326
avg [Mon, 26 Jun 2017 09:13:25 +0000 (09:13 +0000)]
linux_getdents, linux_readdir: fix mismatch between malloc and free tags
MFC after: 3 days
avg [Mon, 26 Jun 2017 09:10:09 +0000 (09:10 +0000)]
zfs: port vdev_file part of illumos change 3306
3306 zdb should be able to issue reads in parallel
illumos/illumos-gate/
31d7e8fa33fae995f558673adb22641b5aa8b6e1
https://www.illumos.org/issues/3306
The upstream change was made before we started to import upstream commits
individually. It was imported into the illumos vendor area as r242733.
That commit was MFV-ed in r260138, but as the commit message says
vdev_file.c was left intact.
This commit actually implements the parallel I/O for vdev_file using a
taskqueue with multiple thread. This implementation does not depend on
the illumos or FreeBSD bio interface at all, but uses zio_t to pass
around all the relevent data. So, the code looks a bit different from
the upstream.
This commit also incorporates ZoL commit
zfsonlinux/zfs/
bc25c9325b0e5ced897b9820dad239539d561ec9 that fixed
https://github.com/zfsonlinux/zfs/issues/2270
We need to use a dedicated taskqueue for exactly the same reason as ZoL
as we do not implement TASKQ_DYNAMIC.
Obtained from: illumos, ZFS on Linux
MFC after: 2 weeks
jhibbits [Mon, 26 Jun 2017 02:25:19 +0000 (02:25 +0000)]
Solve the y2038 problem for powerpc
AKA Make time_t 64 bits on powerpc(32).
PowerPC currently (until now) was one of two architectures with a 32-bit time_t
on 32-bit archs (the other being i386). This is an ABI breakage, so all ports,
and all local binaries, *must* be recompiled.
Tested by: andreast, others
MFC after: Never
Relnotes: Yes
rmacklem [Mon, 26 Jun 2017 00:43:04 +0000 (00:43 +0000)]
Add support to the NFSv4.1/pNFS client for commits through the DS.
A NFSv4.1/pNFS server using File Layout can specify that Commit operations
are to be done against the DS instead of MDS. Since no extant pNFS
server did this, the code was untested and "#ifdef notyet".
The FreeBSD pNFS server I am developing does specify that Commits be done
through the DS, so the code has been enabled/tested.
This patch should only affect the case of a pNFS server that specfies
Commits through the DS.
PR: 219551
MFC after: 2 weeks
kib [Sun, 25 Jun 2017 23:16:37 +0000 (23:16 +0000)]
For now, allow mprotect(2) over the guards to succeed regardless of
the requested protection.
The syscall returns success without changing the protection of the
guard. This is consistent with the current mprotect(2) behaviour on
the unmapped ranges. More important, the calls performed by libc and
libthr to allow execution of stacks, if requested by the loaded ELF
objects, do the expected change instead of failing on the grow space
guard.
Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
emaste [Sun, 25 Jun 2017 22:39:28 +0000 (22:39 +0000)]
Update to ELF Tool Chain snapshot at r3561
This update is primarily bug fixes in C++ symbol demangling, including:
- rvalue reference
- builtin type auto and decltype(auto)
- revamped support for function return types
- formatting fixes
- omit void when its the only param
- ref-qualifiers and others in function types
- type qualifiers in pointer-to-member function types
- incorrect handling regarding CV-qualifiers in function types
- ref-qualifier found in nested-name
- properly handle <name> ::= <substitute><template-args>
- make sure that nested function name is not a substitute candidate
- correctly handle expression in template args
- skip unknown substitution abbreviations
MFC after: 4 days
jilles [Sun, 25 Jun 2017 21:53:08 +0000 (21:53 +0000)]
sh: Ignore error when cd writes the directory actually switched to.
If CDPATH is used non-trivially or the operand is "-", cd writes the
directory actually switched to. (We currently do this only in interactive
shells, but POSIX requires this in non-interactive shells as well.)
As mentioned in Austin group bug #1045, cd shall not return an error while
leaving the current directory changed. Therefore, ignore any write error.
kib [Sun, 25 Jun 2017 20:06:05 +0000 (20:06 +0000)]
Correctly handle small MAP_STACK requests.
If mmap(2) is called with the MAP_STACK flag and the size which is
less or equal to the initial stack mapping size plus guard,
calculation of the mapping layout created zero-sized guard. Attempt
to create such entry failed in vm_map_insert(), causing the whole
mmap(2) call to fail.
Fix it by adjusting the initial mapping size to have space for
non-empty guard. Reject MAP_STACK requests which are shorter or equal
to the configured guard pages size.
Reported and tested by: Manfred Antar <null@pozo.com>
Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Sun, 25 Jun 2017 19:59:39 +0000 (19:59 +0000)]
Remove stale part of the comment.
Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
markj [Sun, 25 Jun 2017 19:30:20 +0000 (19:30 +0000)]
Add u64_to_user_ptr() to the LinuxKPI.
MFC after: 1 week
markj [Sun, 25 Jun 2017 19:28:01 +0000 (19:28 +0000)]
Add ns_to_ktime() to the LinuxKPI.
MFC after: 1 week
markj [Sun, 25 Jun 2017 19:23:14 +0000 (19:23 +0000)]
Add a couple of macros to lockdep.h in the LinuxKPI.
MFC after: 1 week
markj [Sun, 25 Jun 2017 19:21:59 +0000 (19:21 +0000)]
Add the thaw_early method to struct dev_pm_ops in the LinuxKPI.
MFC after: 1 week
markj [Sun, 25 Jun 2017 19:20:12 +0000 (19:20 +0000)]
Add noop_lseek() to the LinuxKPI.
MFC after: 1 week
kib [Sun, 25 Jun 2017 18:40:59 +0000 (18:40 +0000)]
Style.
Reviewed by: alc, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
dchagin [Sun, 25 Jun 2017 15:21:51 +0000 (15:21 +0000)]
PFS_DELEN is the sum of the permanent part of the struct dirent and
fixed size for the name buffer PFS_NAMELEN.
As r318736 was commited (ino64 project) the size of the permanent part
of the struct dirent was changed, so calulate PFS_DELEN properly.
andrew [Sun, 25 Jun 2017 13:22:49 +0000 (13:22 +0000)]
Stop calling cpu_dcache_wb_range from PTE_SYNC.
We set the shareability attributes in TCR_EL1 on boot. These tell the
hardware the pagetables are in cached memory so there is no need to flush
the entries from the cache to memory.
This has about 4.2% improvement in system time and 2.7% improvement in
user time for a buildkernel -j48 on a ThunderX.
Keep the old code for now to allow for further comparisons.
manu [Sun, 25 Jun 2017 11:31:39 +0000 (11:31 +0000)]
Remove ALLWINNER kernel config file, all release image for SMP Allwinner
board uses GENERIC and it's not updated for newer SoC.
glebius [Sun, 25 Jun 2017 01:41:07 +0000 (01:41 +0000)]
Provide sbsetopt() that handles socket buffer related socket options.
It distinguishes between data flow sockets and listening sockets, and
in case of the latter doesn't change resource limits, since listening
sockets don't hold any buffers, they only carry values to be inherited
by their children.
rmacklem [Sat, 24 Jun 2017 20:09:23 +0000 (20:09 +0000)]
Add RPC count reporting for the two new RPCs added by r320322.
This is a content change.
PR: 219550
MFC after: 2 weeks
rmacklem [Sat, 24 Jun 2017 20:01:21 +0000 (20:01 +0000)]
Add two new compound RPCs to the NFSv4.1/pNFS client.
When the NFSv4.1 client is doing pNFS, it needs to get an Open and
a Layout for every file it will be doing I/O on. The current code
does two separate RPCs to get these. This patch adds two new compounds
that do the both the Open and LayoutGet in the same RPC, reducing the
RPC count.
It also factors out the code that sets up and parses the LayoutGet operation
into separate functions, so that the code doesn't get duplicated for
these new RPCs.
This patch is fairly large, but should only affect the NFSv4.1 client
when the "pnfs" option is specified.
PR: 219550
MFC after: 2 weeks
emaste [Sat, 24 Jun 2017 18:37:51 +0000 (18:37 +0000)]
Clean up stale dependencies after r320278
Our current approach to dependency tracking cannot cope with switching
generated asm syscall stubs into C wrappers. Perpetuate the hack in
Makefile.inc1 to paper over the problem until we can take a holistic
approach to fixing dependency problems.
Differential Revision: https://reviews.freebsd.org/D11344
alc [Sat, 24 Jun 2017 17:10:33 +0000 (17:10 +0000)]
Increase the pageout cluster size to 32 pages.
Decouple the pageout cluster size from the size of the hash table entry
used by the swap pager for mapping (object, pindex) to a block on the
swap device(s), and keep the size of a hash table entry at its current
size.
Eliminate a pointless macro.
Reviewed by: kib, markj (an earlier version)
MFC after: 4 weeks
Differential Revision: https://reviews.freebsd.org/D11305
kib [Sat, 24 Jun 2017 17:04:27 +0000 (17:04 +0000)]
Use address space guard to implement inter-segment gap.
Rtld checks and use old MAP_ANON/PROT_NONE method of creating gap if
running on old kernel.
Reviewed by: alc, markj
Tested by: pho, Qualys
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Sat, 24 Jun 2017 17:01:11 +0000 (17:01 +0000)]
Implement address space guards.
Guard, requested by the MAP_GUARD mmap(2) flag, prevents the reuse of
the allocated address space, but does not allow instantiation of the
pages in the range. It is useful for more explicit support for usual
two-stage reserve then commit allocators, since it prevents accidental
instantiation of the mapping, e.g. by mprotect(2).
Use guards to reimplement stack grow code. Explicitely track stack
grow area with the guard, including the stack guard page. On stack
grow, trivial shift of the guard map entry and stack map entry limits
makes the stack expansion. Move the code to detect stack grow and
call vm_map_growstack(), from vm_fault() into vm_map_lookup().
As result, it is impossible to get random mapping to occur in the
stack grow area, or to overlap the stack guard page.
Enable stack guard page by default.
Reviewed by: alc, markj
Man page update reviewed by: alc, bjk, emaste, markj, pho
Tested by: pho, Qualys
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D11306 (man pages)
kib [Sat, 24 Jun 2017 16:47:41 +0000 (16:47 +0000)]
Do not try to unmark MAP_ENTRY_IN_TRANSITION marked by other thread.
The issue is catched by "vm_map_wire: alien wire" KASSERT at the end
of the vm_map_wire(). We currently check for MAP_ENTRY_WIRE_SKIPPED
flag before ensuring that the wiring_thread is curthread. For HOLESOK
wiring, this means that we might see WIRE_SKIPPED entry from different
wiring.
The fix it by only checking WIRE_SKIPPED if the entry is put
IN_TRANSITION by us. Also fixed a typo in the comment explaining the
situation.
Reported and tested by: pho
Reviewed by: alc
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
manu [Sat, 24 Jun 2017 16:41:26 +0000 (16:41 +0000)]
Allwinner: Add support for H2 Plus SoC
H2+ SoC is a stripped down version of H3 without gigabit ethernet and 4K HDMI.
Also add sun8i-h2-plus-orangepi-zero.dts to the build as we run on this board.
kib [Sat, 24 Jun 2017 16:36:30 +0000 (16:36 +0000)]
Remove the description of MAP_HASSEMAPHORE.
The flag is not implemented, all FreeBSD architectures correctly
handle locks on normal cacheable mappings. On the other hand, the
flag was specified by some software, so it is kept in the header as
nop. Removal from the man page should discourage its use.
Reviewed by: alc, bjk, emaste, markj, pho
MFC after: 3 days
X-Differential revision: https://reviews.freebsd.org/D11306
kib [Sat, 24 Jun 2017 16:21:34 +0000 (16:21 +0000)]
Fix typo.
Noted by: alc
MFC after: 3 days
imp [Sat, 24 Jun 2017 14:32:57 +0000 (14:32 +0000)]
Document that the dependencies aren't quite right for non-clean build.
kib [Sat, 24 Jun 2017 11:38:31 +0000 (11:38 +0000)]
Translate between abridged and full x87 tags for compat32
ptrace(PT_GETFPREGS).
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
kib [Sat, 24 Jun 2017 10:19:06 +0000 (10:19 +0000)]
Fix indent.
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
manu [Sat, 24 Jun 2017 09:33:25 +0000 (09:33 +0000)]
loader.efi: Disable smbios for arm
The smbios code does a lot of unaligned access, since we don't really
care about smbios info on ARM (not all board expose information and those
who does don't expose useful ones) disable smbios for this arch (at least
for now).
imp [Sat, 24 Jun 2017 00:28:35 +0000 (00:28 +0000)]
Be sure to free allocated statfs11 buffer.
Submitted by: Alistair Crooks
sobomax [Fri, 23 Jun 2017 23:11:05 +0000 (23:11 +0000)]
Doh, fix some botched "fix" in r320277.
Reported by: cem
MFC after: 6 weeks
tuexen [Fri, 23 Jun 2017 21:01:57 +0000 (21:01 +0000)]
Handle sctp_get_next_param() in a consistent way.
This addresses an issue found by Felix Weinrank using libfuzz.
While there, use also consistent nameing.
MFC after: 3 days
manu [Fri, 23 Jun 2017 20:21:53 +0000 (20:21 +0000)]
dtc: Update to upstream
9ce35ff8
- Add "compatible with gpl dtc X.Y.Z" to version output so U-Boot doesn't complain
- Fix cross reference node
This fixes some Allwinner DTS (and probably others).
bdrewery [Fri, 23 Jun 2017 19:03:31 +0000 (19:03 +0000)]
NO_ROOT: Remove excessive // when DESTDIR/DISTDIR are empty.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
emaste [Fri, 23 Jun 2017 18:58:28 +0000 (18:58 +0000)]
makefs: add copies of NetBSD makefs msdos source files
We do not treat makefs as contrib code. Import copies of makefs msdos
files from NetBSD so that we can track our changes to these files.
These are copied from NetBSD, with only a change to use __FBSDID and
$FreeBSD$ instead of __KERNEL_RCSID and $NetBSD$. A copy of the
original $NetBSD$ tag remains in each source file.
These two files were missed in r320212. Also remove a stray blank line
added in msdosfs_vfsops.c.
Submitted by: Siva Mahadevan
Sponsored by: The FreeBSD Foundation
gjb [Fri, 23 Jun 2017 18:42:47 +0000 (18:42 +0000)]
Include WORLD_FLAGS in CHROOT_IMAKEFLAGS and CHROOT_DMAKEFLAGS, to
allow passing '-jN' to the installworld and distributeworld targets.
Submitted by: bdrewery
Sponsored by: The FreeBSD Foundation
emaste [Fri, 23 Jun 2017 18:41:49 +0000 (18:41 +0000)]
Allow Clang's integrated assembler to assemble boot0
dim@ compared clang IAS-built and GNU as-built boot0 and found them
equivalent. IAS encoded one instruction using two bytes where GNU as
used three, and another instruction using three bytes where GNU as used
two. The net result is equivalent and tested, so there is no need to
force IAS off for boot0.
wblock [Fri, 23 Jun 2017 18:38:27 +0000 (18:38 +0000)]
Remove redundant wording, minor edits for clarity.
MFC after: 1 week
Sponsored by: iXsystems
bdrewery [Fri, 23 Jun 2017 18:27:03 +0000 (18:27 +0000)]
compiler-metadata: Properly handle cross-build OBJDIR.
MFC after: 3 days
Sponsored by: Dell EMC Isilon
bdrewery [Fri, 23 Jun 2017 18:27:00 +0000 (18:27 +0000)]
Expose only the create-packages-* targets since they set needed DEST/DIRDIR.
The other targets just fail confusingly otherwise.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
bdrewery [Fri, 23 Jun 2017 18:26:57 +0000 (18:26 +0000)]
packages: Parallelize individual kernel packaging.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
bdrewery [Fri, 23 Jun 2017 18:26:54 +0000 (18:26 +0000)]
packages: Allow actually building individual world packages in parallel.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
bdrewery [Fri, 23 Jun 2017 18:26:51 +0000 (18:26 +0000)]
packages: Allow creating kernel/world packages in parallel.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
bdrewery [Fri, 23 Jun 2017 18:26:47 +0000 (18:26 +0000)]
packages: Allow staging world/kernel in parallel.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
bdrewery [Fri, 23 Jun 2017 18:26:33 +0000 (18:26 +0000)]
packages: Allow stageworld/stagekernel to run with make jobs.
The -B was originally added in projects/release-pkg r289381 as a copy
of what 'make world' did at the time. The -B was removed from
the 'installworld' call in 'world' in r303844 though. The staging
of files is safe to run in parallel.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
imp [Fri, 23 Jun 2017 18:06:46 +0000 (18:06 +0000)]
Decode FreeBSD 11 compat stat, fstat and lstat calls.
imp [Fri, 23 Jun 2017 18:06:20 +0000 (18:06 +0000)]
Forward compatibility for ino64.
Add forward compatibility so that new binaries can run on old
kernels. If the new system call from ino64 isn't available on your
system, then the old one will be used and the results translated. The
stat and statfs families of functions are fully emulated. While not
required by policy, in this case it is helpful to our users to provide
this compatibility. In this case, it allows rollback of the kernel
after installing a new userland should a problem be discovered. It
also prevents foot-shooting if a user does an install before rebooting
with the new kernel. Finally, it allows the use case where one needs
to run new binaries on an old kernel as part of an upgrade process.
The getdirentries family uses tricks that may not work on remote
filesystems. Specifically, it uses a buffer 1/4 the size requested to
get the data from he old syscall.
The code carefully uses direct syscalls for old system calls to avoid
referencing freebsd11_* symbols, which contaminate ld-elf.so.1's
export table due to its use of stat functions, which causes errno to
be incorrect in client programs due to the wrong *stat* function being
resolved in some cases.
This code should removed sometime after 12 is branched.
Tested on: 12-current binaries on a 10.3-beta kernel run and return
consistent results. 12-current kernel and userland with
packages from before ino64 was committed also work.
Differential Revision: https://reviews.freebsd.org/D11185
Reviewed by: kib@, emaste@
sobomax [Fri, 23 Jun 2017 17:39:00 +0000 (17:39 +0000)]
Don't leak file descriptor in some cases.
Reported by: cem
MFC after: 6 weeks
manu [Fri, 23 Jun 2017 17:31:07 +0000 (17:31 +0000)]
ipfw: Note that bandwidth can take G suffix in the manpage
Reported by: Jose Luis Duran (github)
emaste [Fri, 23 Jun 2017 17:21:37 +0000 (17:21 +0000)]
Introduce LINKER_FEATURES to avoid duplicating version logic
Submitted by: bdrewery
Reported by: kib
bdrewery [Fri, 23 Jun 2017 16:38:46 +0000 (16:38 +0000)]
Set compiler metadata for stageworld/distributeworld.
This fixes LD errors during 'make packages' but also for the unlikely case of
'buildworld' on 1 system and 'packages' on another [1].
PR: 212877 [1]
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
bdrewery [Fri, 23 Jun 2017 16:38:18 +0000 (16:38 +0000)]
Allow ALWAYS_BOOTSTRAP_MAKE to force bmake bootstrapping.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
emaste [Fri, 23 Jun 2017 15:57:58 +0000 (15:57 +0000)]
enable --build-id for the kernel link
A Build-ID is an identifier generated at link time to uniquely identify
ELF binaries. It allows efficient confirmation that an executable or
shared library and a corresponding standalone debuginfo file match.
(Otherwise, a checksum of the debuginfo file must be calculated when
opening it in a debugger.)
The FreeBSD base system includes GNU bfd ld 2.17.50 as the linker for
architectures other than arm64. Build-ID support was added to bfd ld
shortly after that version, so was not previously available to us.
We can now start making use of Build-ID as we migrate to using lld or
bfd ld from ports, conditionally enabled based on the LINKER_TYPE and
LINKER_VERSION make variables added in r320244 and subsequent commits.
Reviewed by: dim
MFC after: 3 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D11314
bapt [Fri, 23 Jun 2017 15:27:23 +0000 (15:27 +0000)]
sesutil no longer depends on libsbuf
Sponsored by: Gandi.net
bapt [Fri, 23 Jun 2017 15:09:08 +0000 (15:09 +0000)]
Directly print the extra status instead of filling a buffer
then printing it.
This prepares the code to make it libxo friendly
Reviewed by: manu, Nikita Kozlov (nikita elyzion.net)
MFC after: 2 weeks
Sponsored by: Gandi.net
asomers [Fri, 23 Jun 2017 15:02:49 +0000 (15:02 +0000)]
style fixes in bin/echo/tests
Submitted by: shivansh
Reviewed by: asomers
MFC after: 2 weeks
X-MFC-With: 319626
Sponsored by: Google, Inc (GSoC 2017)
Differential Revision: https://reviews.freebsd.org/D11318
manu [Fri, 23 Jun 2017 14:00:28 +0000 (14:00 +0000)]
ipfw: dummynet: Add 'G' and 'g' suffix for bandwidth configuration/display
MFC after: 2 weeks
Sponsored by: Gandi.net
bapt [Fri, 23 Jun 2017 13:26:13 +0000 (13:26 +0000)]
Do not use sprintf(3) when not needed, while here,
prefer snprintf(3) over sprintf(3)
avg [Fri, 23 Jun 2017 11:55:43 +0000 (11:55 +0000)]
jedec_ts: add support for devices manufactured by IDT
Full manufacturer name is Integrated Device Technology, Inc.
Supported devices include TSE2002B3C and TS3000B3A.
MFC after: 1 week
mmokhi [Fri, 23 Jun 2017 10:36:27 +0000 (10:36 +0000)]
Fix caveat in new implementation of linprocfs_docpuinfo():
Prevent kernel panic in case that extended-cpuid isn't supported by CPU
Reviewed by: kib, ngie, trasz
Approved by: trasz
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D11294
tuexen [Fri, 23 Jun 2017 10:09:49 +0000 (10:09 +0000)]
Check the length of a COOKIE chunk before accessing fields in it.
Thanks to Felix Weinrank for reporting the issue he found by using
libFuzzer.
MFC after: 3 days
tuexen [Fri, 23 Jun 2017 09:27:31 +0000 (09:27 +0000)]
Use a longer buffer for messages in ERROR chunks.
This allows them to be sent in a non truncated way and addresses a warning
given by newver versions of gcc.
Thanks to Anselm Jonas Scholl for reporting it and providing a patch.
avg [Fri, 23 Jun 2017 08:42:53 +0000 (08:42 +0000)]
fix gcc-specific fallout from r320156, MFV of r318946, ZFS ABD
Reported by: jhibbits
MFC after: 1 week
X-MFC with: r320156
tuexen [Fri, 23 Jun 2017 08:35:54 +0000 (08:35 +0000)]
Honor the backlog field.