svn commit: r314421 - in projects/clang400-import: . crypto/openssh etc etc/defaults etc/rc.d include/arpa lib/libc/regex lib/libc/x86/sys lib/libfetch lib/librss sbin/geom/class/part sbin/setkey s...
Dimitry Andric
dim at FreeBSD.org
Tue Feb 28 21:30:32 UTC 2017
Author: dim
Date: Tue Feb 28 21:30:26 2017
New Revision: 314421
URL: https://svnweb.freebsd.org/changeset/base/314421
Log:
Merge ^/head r314270 through r314419.
Added:
projects/clang400-import/sys/arm/allwinner/clkng/
- copied from r314419, head/sys/arm/allwinner/clkng/
projects/clang400-import/sys/arm/conf/SOCDK
- copied unchanged from r314419, head/sys/arm/conf/SOCDK
projects/clang400-import/sys/arm/conf/SOCFPGA
- copied unchanged from r314419, head/sys/arm/conf/SOCFPGA
projects/clang400-import/sys/boot/fdt/dts/arm/socfpga_arria10_socdk_sdmmc.dts
- copied unchanged from r314419, head/sys/boot/fdt/dts/arm/socfpga_arria10_socdk_sdmmc.dts
projects/clang400-import/sys/boot/fdt/dts/arm/socfpga_cyclone5_sockit_beri_sdmmc.dts
- copied unchanged from r314419, head/sys/boot/fdt/dts/arm/socfpga_cyclone5_sockit_beri_sdmmc.dts
projects/clang400-import/sys/boot/fdt/dts/arm/socfpga_cyclone5_sockit_sdmmc.dts
- copied unchanged from r314419, head/sys/boot/fdt/dts/arm/socfpga_cyclone5_sockit_sdmmc.dts
Deleted:
projects/clang400-import/share/man/man4/man4.i386/streams.4
projects/clang400-import/share/man/man4/man4.i386/svr4.4
projects/clang400-import/sys/arm/conf/SOCKIT.common
projects/clang400-import/sys/boot/fdt/dts/arm/socfpga-sockit-beri.dts
projects/clang400-import/sys/boot/fdt/dts/arm/socfpga-sockit.dts
projects/clang400-import/sys/boot/fdt/dts/arm/socfpga.dtsi
projects/clang400-import/sys/compat/svr4/
projects/clang400-import/sys/dev/streams/
projects/clang400-import/sys/i386/svr4/
projects/clang400-import/sys/modules/streams/
projects/clang400-import/sys/modules/svr4/
Modified:
projects/clang400-import/ObsoleteFiles.inc
projects/clang400-import/crypto/openssh/freebsd-configure.sh
projects/clang400-import/crypto/openssh/readconf.c
projects/clang400-import/etc/defaults/rc.conf
projects/clang400-import/etc/devd.conf
projects/clang400-import/etc/rc.d/abi
projects/clang400-import/include/arpa/nameser_compat.h
projects/clang400-import/lib/libc/regex/re_format.7
projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c
projects/clang400-import/lib/libfetch/common.c
projects/clang400-import/lib/librss/librss.c
projects/clang400-import/sbin/geom/class/part/gpart.8
projects/clang400-import/sbin/setkey/setkey.8
projects/clang400-import/share/man/man4/man4.i386/Makefile
projects/clang400-import/share/man/man5/rc.conf.5
projects/clang400-import/share/man/man9/sbuf.9
projects/clang400-import/sys/amd64/amd64/pmap.c
projects/clang400-import/sys/amd64/conf/NOTES
projects/clang400-import/sys/amd64/include/pmap.h
projects/clang400-import/sys/amd64/linux/linux_dummy.c
projects/clang400-import/sys/amd64/linux/linux_proto.h
projects/clang400-import/sys/amd64/linux/linux_sysent.c
projects/clang400-import/sys/amd64/linux/linux_systrace_args.c
projects/clang400-import/sys/amd64/linux/syscalls.master
projects/clang400-import/sys/amd64/linux32/linux.h
projects/clang400-import/sys/amd64/linux32/linux32_dummy.c
projects/clang400-import/sys/amd64/linux32/linux32_proto.h
projects/clang400-import/sys/amd64/linux32/linux32_sysent.c
projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c
projects/clang400-import/sys/amd64/linux32/syscalls.master
projects/clang400-import/sys/arm/allwinner/a31/files.a31
projects/clang400-import/sys/arm/allwinner/files.allwinner
projects/clang400-import/sys/arm/allwinner/h3/files.h3
projects/clang400-import/sys/arm/altera/socfpga/socfpga_machdep.c
projects/clang400-import/sys/arm/altera/socfpga/socfpga_manager.c
projects/clang400-import/sys/arm/altera/socfpga/socfpga_mp.c
projects/clang400-import/sys/arm/altera/socfpga/socfpga_mp.h
projects/clang400-import/sys/arm/altera/socfpga/socfpga_rstmgr.c
projects/clang400-import/sys/arm/altera/socfpga/socfpga_rstmgr.h
projects/clang400-import/sys/arm/at91/uart_bus_at91usart.c
projects/clang400-import/sys/arm/cavium/cns11xx/uart_bus_ec.c
projects/clang400-import/sys/arm/conf/SOCKIT
projects/clang400-import/sys/arm/conf/SOCKIT-BERI
projects/clang400-import/sys/arm/nvidia/tegra_uart.c
projects/clang400-import/sys/arm/xscale/i8134x/uart_bus_i81342.c
projects/clang400-import/sys/arm/xscale/ixp425/uart_bus_ixp425.c
projects/clang400-import/sys/arm/xscale/pxa/uart_bus_pxa.c
projects/clang400-import/sys/boot/forth/loader.conf
projects/clang400-import/sys/boot/i386/boot2/Makefile
projects/clang400-import/sys/boot/i386/common/drv.c
projects/clang400-import/sys/cam/cam_xpt.c
projects/clang400-import/sys/cam/cam_xpt.h
projects/clang400-import/sys/cam/ctl/ctl.c
projects/clang400-import/sys/cam/ctl/ctl_private.h
projects/clang400-import/sys/cam/ctl/ctl_tpc.c
projects/clang400-import/sys/cam/ctl/scsi_ctl.c
projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
projects/clang400-import/sys/compat/linux/linux_event.c
projects/clang400-import/sys/compat/linux/linux_event.h
projects/clang400-import/sys/compat/linux/linux_misc.c
projects/clang400-import/sys/compat/linux/linux_stats.c
projects/clang400-import/sys/compat/linux/linux_time.c
projects/clang400-import/sys/compat/linux/linux_timer.h
projects/clang400-import/sys/compat/linuxkpi/common/include/linux/bitops.h
projects/clang400-import/sys/compat/linuxkpi/common/include/linux/types.h
projects/clang400-import/sys/conf/config.mk
projects/clang400-import/sys/conf/files
projects/clang400-import/sys/conf/files.i386
projects/clang400-import/sys/conf/kern.post.mk
projects/clang400-import/sys/conf/options.amd64
projects/clang400-import/sys/conf/options.arm
projects/clang400-import/sys/conf/options.i386
projects/clang400-import/sys/dev/acpica/acpi_cmbat.c
projects/clang400-import/sys/dev/aic7xxx/aic79xx.c
projects/clang400-import/sys/dev/aic7xxx/aic7xxx.c
projects/clang400-import/sys/dev/bnxt/bnxt.h
projects/clang400-import/sys/dev/bnxt/bnxt_txrx.c
projects/clang400-import/sys/dev/bwi/if_bwi.c
projects/clang400-import/sys/dev/bwn/if_bwn.c
projects/clang400-import/sys/dev/bxe/bxe.c
projects/clang400-import/sys/dev/bxe/bxe.h
projects/clang400-import/sys/dev/bxe/bxe_elink.c
projects/clang400-import/sys/dev/bxe/bxe_stats.c
projects/clang400-import/sys/dev/bxe/bxe_stats.h
projects/clang400-import/sys/dev/chromebook_platform/chromebook_platform.c
projects/clang400-import/sys/dev/cxgbe/iw_cxgbe/cm.c
projects/clang400-import/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h
projects/clang400-import/sys/dev/firewire/sbp.c
projects/clang400-import/sys/dev/firewire/sbp_targ.c
projects/clang400-import/sys/dev/hyperv/netvsc/if_hn.c
projects/clang400-import/sys/dev/isp/isp.c
projects/clang400-import/sys/dev/isp/isp_freebsd.c
projects/clang400-import/sys/dev/isp/isp_freebsd.h
projects/clang400-import/sys/dev/isp/isp_target.c
projects/clang400-import/sys/dev/iwm/if_iwm.c
projects/clang400-import/sys/dev/iwn/if_iwn.c
projects/clang400-import/sys/dev/otus/if_otus.c
projects/clang400-import/sys/dev/ral/rt2560.c
projects/clang400-import/sys/dev/ral/rt2661.c
projects/clang400-import/sys/dev/ral/rt2860.c
projects/clang400-import/sys/dev/rtwn/if_rtwn_tx.c
projects/clang400-import/sys/dev/uart/uart.h
projects/clang400-import/sys/dev/uart/uart_bus.h
projects/clang400-import/sys/dev/uart/uart_bus_acpi.c
projects/clang400-import/sys/dev/uart/uart_bus_ebus.c
projects/clang400-import/sys/dev/uart/uart_bus_fdt.c
projects/clang400-import/sys/dev/uart/uart_bus_isa.c
projects/clang400-import/sys/dev/uart/uart_bus_pccard.c
projects/clang400-import/sys/dev/uart/uart_bus_pci.c
projects/clang400-import/sys/dev/uart/uart_bus_puc.c
projects/clang400-import/sys/dev/uart/uart_bus_scc.c
projects/clang400-import/sys/dev/uart/uart_core.c
projects/clang400-import/sys/dev/uart/uart_cpu.h
projects/clang400-import/sys/dev/uart/uart_cpu_arm64.c
projects/clang400-import/sys/dev/uart/uart_cpu_fdt.c
projects/clang400-import/sys/dev/uart/uart_cpu_fdt.h
projects/clang400-import/sys/dev/uart/uart_dev_pl011.c
projects/clang400-import/sys/dev/uart/uart_dev_snps.c
projects/clang400-import/sys/dev/usb/controller/dwc_otg_fdt.c
projects/clang400-import/sys/dev/usb/controller/xhci_pci.c
projects/clang400-import/sys/dev/usb/serial/u3g.c
projects/clang400-import/sys/dev/usb/storage/cfumass.c
projects/clang400-import/sys/dev/usb/usbdevs
projects/clang400-import/sys/dev/usb/wlan/if_rum.c
projects/clang400-import/sys/dev/usb/wlan/if_run.c
projects/clang400-import/sys/dev/usb/wlan/if_ural.c
projects/clang400-import/sys/dev/usb/wlan/if_urtw.c
projects/clang400-import/sys/dev/usb/wlan/if_zyd.c
projects/clang400-import/sys/dev/wpi/if_wpi.c
projects/clang400-import/sys/dev/xen/gntdev/gntdev.c
projects/clang400-import/sys/geom/part/g_part.c
projects/clang400-import/sys/i386/conf/NOTES
projects/clang400-import/sys/i386/i386/pmap.c
projects/clang400-import/sys/i386/include/pmap.h
projects/clang400-import/sys/i386/linux/linux.h
projects/clang400-import/sys/i386/linux/linux_dummy.c
projects/clang400-import/sys/i386/linux/linux_proto.h
projects/clang400-import/sys/i386/linux/linux_sysent.c
projects/clang400-import/sys/i386/linux/linux_systrace_args.c
projects/clang400-import/sys/i386/linux/syscalls.master
projects/clang400-import/sys/kern/makesyscalls.sh
projects/clang400-import/sys/kern/subr_prf.c
projects/clang400-import/sys/mips/adm5120/uart_bus_adm5120.c
projects/clang400-import/sys/mips/alchemy/uart_bus_alchemy.c
projects/clang400-import/sys/mips/atheros/ar531x/uart_bus_ar5315.c
projects/clang400-import/sys/mips/atheros/uart_bus_ar71xx.c
projects/clang400-import/sys/mips/atheros/uart_bus_ar933x.c
projects/clang400-import/sys/mips/broadcom/uart_bus_chipc.c
projects/clang400-import/sys/mips/cavium/uart_bus_octeonusart.c
projects/clang400-import/sys/mips/idt/uart_bus_rc32434.c
projects/clang400-import/sys/mips/ingenic/jz4780_uart.c
projects/clang400-import/sys/mips/malta/uart_bus_maltausart.c
projects/clang400-import/sys/mips/nlm/xlp_pci.c
projects/clang400-import/sys/mips/rmi/uart_bus_xlr_iodi.c
projects/clang400-import/sys/mips/rmi/xlr_pci.c
projects/clang400-import/sys/mips/rt305x/uart_bus_rt305x.c
projects/clang400-import/sys/modules/Makefile
projects/clang400-import/sys/modules/cam/Makefile
projects/clang400-import/sys/net/ieee8023ad_lacp.c
projects/clang400-import/sys/net/if.c
projects/clang400-import/sys/ofed/drivers/infiniband/core/cma.c
projects/clang400-import/sys/ofed/drivers/infiniband/core/iwcm.c
projects/clang400-import/sys/powerpc/include/trap.h
projects/clang400-import/sys/powerpc/powermac/cpcht.c
projects/clang400-import/sys/powerpc/powerpc/trap.c
projects/clang400-import/sys/powerpc/psim/uart_iobus.c
projects/clang400-import/sys/sparc64/pci/fire.c
projects/clang400-import/sys/sparc64/pci/psycho.c
projects/clang400-import/sys/sparc64/pci/sbbc.c
projects/clang400-import/sys/sparc64/pci/schizo.c
projects/clang400-import/sys/sys/file.h
projects/clang400-import/sys/sys/sbuf.h
projects/clang400-import/sys/vm/uma_core.c
projects/clang400-import/sys/vm/vm_kern.c
projects/clang400-import/sys/vm/vm_pageout.c
projects/clang400-import/sys/vm/vm_pageout.h
projects/clang400-import/sys/x86/include/apicreg.h
projects/clang400-import/sys/x86/include/apicvar.h
projects/clang400-import/sys/x86/x86/cpu_machdep.c
projects/clang400-import/sys/x86/x86/local_apic.c
projects/clang400-import/usr.bin/dc/bcode.c
projects/clang400-import/usr.bin/dc/dc.1
projects/clang400-import/usr.bin/dc/dc.c
projects/clang400-import/usr.bin/dc/stack.c
projects/clang400-import/usr.bin/fortune/datfiles/freebsd-tips
projects/clang400-import/usr.sbin/bhyve/bhyve.8
projects/clang400-import/usr.sbin/bsdconfig/startup/include/messages.subr
projects/clang400-import/usr.sbin/bsdconfig/startup/misc
Directory Properties:
projects/clang400-import/ (props changed)
projects/clang400-import/crypto/openssh/ (props changed)
projects/clang400-import/sys/cddl/contrib/opensolaris/ (props changed)
Modified: projects/clang400-import/ObsoleteFiles.inc
==============================================================================
--- projects/clang400-import/ObsoleteFiles.inc Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/ObsoleteFiles.inc Tue Feb 28 21:30:26 2017 (r314421)
@@ -151,6 +151,11 @@ OLD_FILES+=usr/lib/clang/3.9.1/lib/freeb
OLD_DIRS+=usr/lib/clang/3.9.1/lib/freebsd
OLD_DIRS+=usr/lib/clang/3.9.1/lib
OLD_DIRS+=usr/lib/clang/3.9.1
+# 20170226: SVR4 compatibility removed
+.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386"
+OLD_FILES+=usr/share/man/man4/streams.4
+OLD_FILES+=usr/share/man/man4/svr4.4
+.endif
# 20170219: OpenPAM RADULA upgrade removed the libpam tests
OLD_FILES+=usr/tests/lib/libpam/Kyuafile
OLD_FILES+=usr/tests/lib/libpam/t_openpam_ctype
@@ -8454,7 +8459,7 @@ OLD_FILES+=usr/share/man/man8/boot_i386.
.endif
.if ${TARGET_ARCH} != "aarch64" && ${TARGET} != "arm" && \
${TARGET_ARCH} != "powerpc" && ${TARGET_ARCH} != "powerpc64" && \
- ${TARGET_ARCH} != "sparc64"
+ ${TARGET_ARCH} != "sparc64" && ${TARGET} != "mips"
OLD_FILES+=usr/share/man/man8/ofwdump.8.gz
.endif
OLD_FILES+=usr/share/man/man8/mount_reiserfs.8.gz
Modified: projects/clang400-import/crypto/openssh/freebsd-configure.sh
==============================================================================
--- projects/clang400-import/crypto/openssh/freebsd-configure.sh Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/crypto/openssh/freebsd-configure.sh Tue Feb 28 21:30:26 2017 (r314421)
@@ -30,7 +30,7 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbi
unset LD_LIBRARY_PATH
# generate config.h with krb5 and stash it
-sh configure $configure_args --with-kerberos5
+sh configure $configure_args --with-kerberos5=/usr
mv config.log config.log.orig
mv config.h config.h.orig
Modified: projects/clang400-import/crypto/openssh/readconf.c
==============================================================================
--- projects/clang400-import/crypto/openssh/readconf.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/crypto/openssh/readconf.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -319,7 +319,6 @@ add_local_forward(Options *options, cons
#else
ipport_reserved = IPPORT_RESERVED;
#endif
- if (newfwd->listen_port < ipport_reserved && original_real_uid != 0)
if (newfwd->listen_port < ipport_reserved && original_real_uid != 0 &&
newfwd->listen_path == NULL)
fatal("Privileged ports can only be forwarded by root.");
Modified: projects/clang400-import/etc/defaults/rc.conf
==============================================================================
--- projects/clang400-import/etc/defaults/rc.conf Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/etc/defaults/rc.conf Tue Feb 28 21:30:26 2017 (r314421)
@@ -630,7 +630,6 @@ firstboot_sentinel="/firstboot" # Script
# Emulation/compatibility services provided by /etc/rc.d/abi
sysvipc_enable="NO" # Load System V IPC primitives at startup (or NO).
linux_enable="NO" # Linux binary compatibility loaded at startup (or NO).
-svr4_enable="NO" # SysVR4 emulation loaded at startup (or NO).
clear_tmp_enable="NO" # Clear /tmp at startup.
clear_tmp_X="YES" # Clear and recreate X11-related directories in /tmp
ldconfig_insecure="NO" # Set to YES to disable ldconfig security checks
Modified: projects/clang400-import/etc/devd.conf
==============================================================================
--- projects/clang400-import/etc/devd.conf Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/etc/devd.conf Tue Feb 28 21:30:26 2017 (r314421)
@@ -312,10 +312,10 @@ notify 10 {
};
# This example works around a memory leak in PostgreSQL, restarting
-# it when the "user:pgsql:swap:devctl=1G" rctl(8) rule gets triggered.
+# it when the "user:postgres:swap:devctl=1G" rctl(8) rule gets triggered.
notify 0 {
match "system" "RCTL";
- match "rule" "user:70:swap:.*";
+ match "rule" "user:770:swap:.*";
action "/usr/local/etc/rc.d/postgresql restart";
};
Modified: projects/clang400-import/etc/rc.d/abi
==============================================================================
--- projects/clang400-import/etc/rc.d/abi Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/etc/rc.d/abi Tue Feb 28 21:30:26 2017 (r314421)
@@ -43,25 +43,18 @@ linux_start()
fi
}
-svr4_start()
-{
- echo -n ' svr4'
- load_kld -m svr4elf svr4
-}
-
abi_start()
{
local _echostop
_echostop=
- if checkyesno sysvipc_enable || checkyesno linux_enable || checkyesno svr4_enable; then
+ if checkyesno sysvipc_enable || checkyesno linux_enable; then
echo -n 'Additional ABI support:'
_echostop=yes
fi
checkyesno sysvipc_enable && sysv_start
checkyesno linux_enable && linux_start
- checkyesno svr4_enable && svr4_start
[ -n "${_echostop}" ] && echo '.'
}
Modified: projects/clang400-import/include/arpa/nameser_compat.h
==============================================================================
--- projects/clang400-import/include/arpa/nameser_compat.h Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/include/arpa/nameser_compat.h Tue Feb 28 21:30:26 2017 (r314421)
@@ -175,6 +175,7 @@ typedef struct {
#define T_ATMA ns_t_atma
#define T_NAPTR ns_t_naptr
#define T_A6 ns_t_a6
+#define T_DNAME ns_t_dname
#define T_OPT ns_t_opt
#define T_TSIG ns_t_tsig
#define T_IXFR ns_t_ixfr
Modified: projects/clang400-import/lib/libc/regex/re_format.7
==============================================================================
--- projects/clang400-import/lib/libc/regex/re_format.7 Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/lib/libc/regex/re_format.7 Tue Feb 28 21:30:26 2017 (r314421)
@@ -319,7 +319,7 @@ The additional word delimiters
and
.Ql \e>
are provided to ease compatibility with traditional
-.Xr svr4 4
+SVR4
systems but are not portable and should be avoided.
.Pp
In the event that an RE could match more than one substring of a given
Modified: projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c
==============================================================================
--- projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -33,6 +33,7 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include "namespace.h"
+#include <sys/capsicum.h>
#include <sys/elf.h>
#include <sys/fcntl.h>
#include <sys/mman.h>
@@ -124,6 +125,7 @@ __vdso_init_hpet(uint32_t u)
static const char devprefix[] = "/dev/hpet";
char devname[64], *c, *c1, t;
volatile char *new_map, *old_map;
+ unsigned int mode;
uint32_t u1;
int fd;
@@ -144,18 +146,25 @@ __vdso_init_hpet(uint32_t u)
if (old_map != NULL)
return;
+ if (cap_getmode(&mode) == 0 && mode != 0)
+ goto fail;
+
fd = _open(devname, O_RDONLY);
- if (fd == -1) {
- atomic_cmpset_rel_ptr((volatile uintptr_t *)&hpet_dev_map[u],
- (uintptr_t)old_map, (uintptr_t)MAP_FAILED);
- return;
- }
+ if (fd == -1)
+ goto fail;
+
new_map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd, 0);
_close(fd);
if (atomic_cmpset_rel_ptr((volatile uintptr_t *)&hpet_dev_map[u],
(uintptr_t)old_map, (uintptr_t)new_map) == 0 &&
new_map != MAP_FAILED)
- munmap((void *)new_map, PAGE_SIZE);
+ munmap((void *)new_map, PAGE_SIZE);
+
+ return;
+fail:
+ /* Prevent the caller from re-entering. */
+ atomic_cmpset_rel_ptr((volatile uintptr_t *)&hpet_dev_map[u],
+ (uintptr_t)old_map, (uintptr_t)MAP_FAILED);
}
#ifdef WANT_HYPERV
@@ -174,16 +183,22 @@ static void
__vdso_init_hyperv_tsc(void)
{
int fd;
+ unsigned int mode;
+
+ if (cap_getmode(&mode) == 0 && mode != 0)
+ goto fail;
fd = _open(HYPERV_REFTSC_DEVPATH, O_RDONLY);
- if (fd < 0) {
- /* Prevent the caller from re-entering. */
- hyperv_ref_tsc = MAP_FAILED;
- return;
- }
+ if (fd < 0)
+ goto fail;
hyperv_ref_tsc = mmap(NULL, sizeof(*hyperv_ref_tsc), PROT_READ,
MAP_SHARED, fd, 0);
_close(fd);
+
+ return;
+fail:
+ /* Prevent the caller from re-entering. */
+ hyperv_ref_tsc = MAP_FAILED;
}
static int
Modified: projects/clang400-import/lib/libfetch/common.c
==============================================================================
--- projects/clang400-import/lib/libfetch/common.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/lib/libfetch/common.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -153,7 +153,7 @@ fetch_syserr(void)
case EHOSTDOWN:
fetchLastErrCode = FETCH_DOWN;
break;
-default:
+ default:
fetchLastErrCode = FETCH_UNKNOWN;
}
snprintf(fetchLastErrString, MAXERRSTRING, "%s", strerror(errno));
@@ -371,7 +371,7 @@ fetch_connect(const char *host, int port
}
if (err != 0) {
if (verbose)
- fetch_info("failed to connect to %s:%s", host, port);
+ fetch_info("failed to connect to %s:%d", host, port);
goto syserr;
}
Modified: projects/clang400-import/lib/librss/librss.c
==============================================================================
--- projects/clang400-import/lib/librss/librss.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/lib/librss/librss.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -244,10 +244,10 @@ rss_config_get(void)
return (rc);
error:
- if ((rc != NULL) && rc->rss_bucket_map)
+ if (rc != NULL) {
free(rc->rss_bucket_map);
- if (rc != NULL)
free(rc);
+ }
return (NULL);
}
Modified: projects/clang400-import/sbin/geom/class/part/gpart.8
==============================================================================
--- projects/clang400-import/sbin/geom/class/part/gpart.8 Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sbin/geom/class/part/gpart.8 Tue Feb 28 21:30:26 2017 (r314421)
@@ -1146,6 +1146,18 @@ variables can be used to control the beh
GEOM class.
The default value is shown next to each variable.
.Bl -tag -width indent
+.It Va kern.geom.part.auto_resize: No 1
+This variable controls automatic resize behavior of
+.Nm
+GEOM class.
+When this variable is enable and new size of provider is detected, the schema
+metadata is resized but all changes are not saved to disk, until
+.Cm gpart commit
+is run to confirm changes.
+This behavior is also reported with diagnostic message:
+.Sy "GEOM_PART: (provider) was automatically resized."
+.Sy "Use `gpart commit (provider)` to save changes or `gpart undo (provider)`"
+.Sy "to revert them."
.It Va kern.geom.part.check_integrity : No 1
This variable controls the behaviour of metadata integrity checks.
When integrity checks are enabled, the
Modified: projects/clang400-import/sbin/setkey/setkey.8
==============================================================================
--- projects/clang400-import/sbin/setkey/setkey.8 Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sbin/setkey/setkey.8 Tue Feb 28 21:30:26 2017 (r314421)
@@ -29,7 +29,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 6, 2017
+.Dd February 27, 2017
.Dt SETKEY 8
.Os
.\"
@@ -593,12 +593,11 @@ keyed-md5 128 ah: 96bit ICV (no documen
keyed-sha1 160 ah: 96bit ICV (no document)
160 ah-old: 128bit ICV (no document)
null 0 to 2048 for debugging
-hmac-sha2-256 256 ah: 96bit ICV
- (draft-ietf-ipsec-ciph-sha-256-00)
+hmac-sha2-256 256 ah: 128bit ICV (RFC4868)
256 ah-old: 128bit ICV (no document)
-hmac-sha2-384 384 ah: 96bit ICV (no document)
+hmac-sha2-384 384 ah: 192bit ICV (RFC4868)
384 ah-old: 128bit ICV (no document)
-hmac-sha2-512 512 ah: 96bit ICV (no document)
+hmac-sha2-512 512 ah: 256bit ICV (RFC4868)
512 ah-old: 128bit ICV (no document)
hmac-ripemd160 160 ah: 96bit ICV (RFC2857)
ah-old: 128bit ICV (no document)
Modified: projects/clang400-import/share/man/man4/man4.i386/Makefile
==============================================================================
--- projects/clang400-import/share/man/man4/man4.i386/Makefile Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/share/man/man4/man4.i386/Makefile Tue Feb 28 21:30:26 2017 (r314421)
@@ -25,8 +25,6 @@ MAN= aic.4 \
pnpbios.4 \
sbni.4 \
smapi.4 \
- streams.4 \
- svr4.4 \
vpd.4 \
vx.4
Modified: projects/clang400-import/share/man/man5/rc.conf.5
==============================================================================
--- projects/clang400-import/share/man/man5/rc.conf.5 Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/share/man/man5/rc.conf.5 Tue Feb 28 21:30:26 2017 (r314421)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 10, 2016
+.Dd February 26, 2017
.Dt RC.CONF 5
.Os
.Sh NAME
@@ -3631,11 +3631,6 @@ Set to
.Dq Li YES
to enable Linux/ELF binary emulation at system initial
boot time.
-.It Va svr4_enable
-.Pq Vt bool
-If set to
-.Dq Li YES ,
-enable SysVR4 emulation at boot time.
.It Va sysvipc_enable
.Pq Vt bool
If set to
Modified: projects/clang400-import/share/man/man9/sbuf.9
==============================================================================
--- projects/clang400-import/share/man/man9/sbuf.9 Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/share/man/man9/sbuf.9 Tue Feb 28 21:30:26 2017 (r314421)
@@ -57,7 +57,8 @@
.Nm sbuf_delete ,
.Nm sbuf_start_section ,
.Nm sbuf_end_section ,
-.Nm sbuf_hexdump
+.Nm sbuf_hexdump ,
+.Nm sbuf_putbuf
.Nd safe string composition
.Sh SYNOPSIS
.In sys/types.h
@@ -124,6 +125,8 @@
.Fa "const char *hdr"
.Fa "int flags"
.Fc
+.Ft void
+.Fn sbuf_putbuf "struct sbuf *s"
.In sys/sysctl.h
.Ft struct sbuf *
.Fn sbuf_new_for_sysctl "struct sbuf *s" "char *buf" "int length" "struct sysctl_req *req"
@@ -472,6 +475,12 @@ representation of the bytes if possible.
See the
.Xr hexdump 3
man page for more details on the interface.
+.Pp
+The
+.Fn sbuf_putbuf
+function printfs the sbuf to stdout if in userland, and to the console
+and log if in the kernel.
+It does not drain the buffer or update any pointers.
.Sh NOTES
If an operation caused an
.Fa sbuf
Modified: projects/clang400-import/sys/amd64/amd64/pmap.c
==============================================================================
--- projects/clang400-import/sys/amd64/amd64/pmap.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/amd64/pmap.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -613,6 +613,8 @@ static vm_page_t pmap_enter_quick_locked
vm_page_t m, vm_prot_t prot, vm_page_t mpte, struct rwlock **lockp);
static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte);
static int pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
+static void pmap_invalidate_pde_page(pmap_t pmap, vm_offset_t va,
+ pd_entry_t pde);
static void pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode);
static void pmap_pde_attr(pd_entry_t *pde, int cache_bits, int mask);
static void pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va,
@@ -1838,6 +1840,27 @@ pmap_update_pde(pmap_t pmap, vm_offset_t
}
#endif /* !SMP */
+static void
+pmap_invalidate_pde_page(pmap_t pmap, vm_offset_t va, pd_entry_t pde)
+{
+
+ /*
+ * When the PDE has PG_PROMOTED set, the 2MB page mapping was created
+ * by a promotion that did not invalidate the 512 4KB page mappings
+ * that might exist in the TLB. Consequently, at this point, the TLB
+ * may hold both 4KB and 2MB page mappings for the address range [va,
+ * va + NBPDR). Therefore, the entire range must be invalidated here.
+ * In contrast, when PG_PROMOTED is clear, the TLB will not hold any
+ * 4KB page mappings for the address range [va, va + NBPDR), and so a
+ * single INVLPG suffices to invalidate the 2MB page mapping from the
+ * TLB.
+ */
+ if ((pde & PG_PROMOTED) != 0)
+ pmap_invalidate_range(pmap, va, va + NBPDR - 1);
+ else
+ pmap_invalidate_page(pmap, va);
+}
+
#define PMAP_CLFLUSH_THRESHOLD (2 * 1024 * 1024)
void
@@ -3472,7 +3495,8 @@ pmap_demote_pde_locked(pmap_t pmap, pd_e
SLIST_INIT(&free);
sva = trunc_2mpage(va);
pmap_remove_pde(pmap, pde, sva, &free, lockp);
- pmap_invalidate_range(pmap, sva, sva + NBPDR - 1);
+ if ((oldpde & PG_G) == 0)
+ pmap_invalidate_pde_page(pmap, sva, oldpde);
pmap_free_zero_pages(&free);
CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
" in pmap %p", va, pmap);
@@ -3612,25 +3636,8 @@ pmap_remove_pde(pmap_t pmap, pd_entry_t
oldpde = pte_load_clear(pdq);
if (oldpde & PG_W)
pmap->pm_stats.wired_count -= NBPDR / PAGE_SIZE;
-
- /*
- * When workaround_erratum383 is false, a promotion to a 2M
- * page mapping does not invalidate the 512 4K page mappings
- * from the TLB. Consequently, at this point, the TLB may
- * hold both 4K and 2M page mappings. Therefore, the entire
- * range of addresses must be invalidated here. In contrast,
- * when workaround_erratum383 is true, a promotion does
- * invalidate the 512 4K page mappings, and so a single INVLPG
- * suffices to invalidate the 2M page mapping.
- */
- if ((oldpde & PG_G) != 0) {
- if (workaround_erratum383)
- pmap_invalidate_page(kernel_pmap, sva);
- else
- pmap_invalidate_range(kernel_pmap, sva,
- sva + NBPDR - 1);
- }
-
+ if ((oldpde & PG_G) != 0)
+ pmap_invalidate_pde_page(kernel_pmap, sva, oldpde);
pmap_resident_count_dec(pmap, NBPDR / PAGE_SIZE);
if (oldpde & PG_MANAGED) {
CHANGE_PV_LIST_LOCK_TO_PHYS(lockp, oldpde & PG_PS_FRAME);
@@ -4010,16 +4017,16 @@ retry:
if ((prot & VM_PROT_EXECUTE) == 0)
newpde |= pg_nx;
if (newpde != oldpde) {
- if (!atomic_cmpset_long(pde, oldpde, newpde))
+ /*
+ * As an optimization to future operations on this PDE, clear
+ * PG_PROMOTED. The impending invalidation will remove any
+ * lingering 4KB page mappings from the TLB.
+ */
+ if (!atomic_cmpset_long(pde, oldpde, newpde & ~PG_PROMOTED))
goto retry;
- if (oldpde & PG_G) {
- /* See pmap_remove_pde() for explanation. */
- if (workaround_erratum383)
- pmap_invalidate_page(kernel_pmap, sva);
- else
- pmap_invalidate_range(kernel_pmap, sva,
- sva + NBPDR - 1);
- } else
+ if ((oldpde & PG_G) != 0)
+ pmap_invalidate_pde_page(kernel_pmap, sva, oldpde);
+ else
anychanged = TRUE;
}
return (anychanged);
@@ -4272,7 +4279,7 @@ setpte:
if (workaround_erratum383)
pmap_update_pde(pmap, va, pde, PG_PS | newpde);
else
- pde_store(pde, PG_PS | newpde);
+ pde_store(pde, PG_PROMOTED | PG_PS | newpde);
atomic_add_long(&pmap_pde_promotions, 1);
CTR2(KTR_PMAP, "pmap_promote_pde: success for va %#lx"
@@ -4585,7 +4592,8 @@ pmap_enter_pde(pmap_t pmap, vm_offset_t
pmap_resident_count_inc(pmap, NBPDR / PAGE_SIZE);
/*
- * Map the superpage.
+ * Map the superpage. (This is not a promoted mapping; there will not
+ * be any lingering 4KB page mappings in the TLB.)
*/
pde_store(pde, newpde);
Modified: projects/clang400-import/sys/amd64/conf/NOTES
==============================================================================
--- projects/clang400-import/sys/amd64/conf/NOTES Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/conf/NOTES Tue Feb 28 21:30:26 2017 (r314421)
@@ -633,27 +633,6 @@ options LINPROCFS
# and PSEUDOFS)
options LINSYSFS
-#
-# SysVR4 ABI emulation
-#
-# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
-# a KLD module.
-# The STREAMS network emulation code can also be compiled statically or as a
-# module. If loaded as a module, it must be loaded before the svr4 module
-# (the /usr/sbin/svr4 script does this for you). If compiling statically,
-# the `streams' device must be configured into any kernel which also
-# specifies COMPAT_SVR4. It is possible to have a statically-configured
-# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
-# script understands that it doesn't need to load the `streams' module under
-# those circumstances.
-# Caveat: At this time, `options KTRACE' is required for the svr4 emulator
-# (whether static or dynamic).
-#
-#XXX#options COMPAT_SVR4 # build emulator statically
-#XXX#options DEBUG_SVR4 # enable verbose debugging
-#XXX#device streams # STREAMS network driver (required for svr4).
-
-
#####################################################################
# VM OPTIONS
Modified: projects/clang400-import/sys/amd64/include/pmap.h
==============================================================================
--- projects/clang400-import/sys/amd64/include/pmap.h Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/include/pmap.h Tue Feb 28 21:30:26 2017 (r314421)
@@ -109,6 +109,7 @@
#define PG_MANAGED X86_PG_AVAIL2
#define EPT_PG_EMUL_V X86_PG_AVAIL(52)
#define EPT_PG_EMUL_RW X86_PG_AVAIL(53)
+#define PG_PROMOTED X86_PG_AVAIL(54) /* PDE only */
#define PG_FRAME (0x000ffffffffff000ul)
#define PG_PS_FRAME (0x000fffffffe00000ul)
Modified: projects/clang400-import/sys/amd64/linux/linux_dummy.c
==============================================================================
--- projects/clang400-import/sys/amd64/linux/linux_dummy.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux/linux_dummy.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -103,10 +103,6 @@ DUMMY(vmsplice);
DUMMY(move_pages);
/* linux 2.6.22: */
DUMMY(signalfd);
-DUMMY(timerfd_create);
-/* linux 2.6.25: */
-DUMMY(timerfd_settime);
-DUMMY(timerfd_gettime);
/* linux 2.6.27: */
DUMMY(signalfd4);
DUMMY(inotify_init1);
Modified: projects/clang400-import/sys/amd64/linux/linux_proto.h
==============================================================================
--- projects/clang400-import/sys/amd64/linux/linux_proto.h Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux/linux_proto.h Tue Feb 28 21:30:26 2017 (r314421)
@@ -995,12 +995,14 @@ struct linux_epoll_pwait_args {
char maxevents_l_[PADL_(l_int)]; l_int maxevents; char maxevents_r_[PADR_(l_int)];
char timeout_l_[PADL_(l_int)]; l_int timeout; char timeout_r_[PADR_(l_int)];
char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)];
+ char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)];
};
struct linux_signalfd_args {
register_t dummy;
};
struct linux_timerfd_create_args {
- register_t dummy;
+ char clockid_l_[PADL_(l_int)]; l_int clockid; char clockid_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_eventfd_args {
char initval_l_[PADL_(l_uint)]; l_uint initval; char initval_r_[PADR_(l_uint)];
@@ -1012,10 +1014,14 @@ struct linux_fallocate_args {
char len_l_[PADL_(l_loff_t)]; l_loff_t len; char len_r_[PADR_(l_loff_t)];
};
struct linux_timerfd_settime_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+ char new_value_l_[PADL_(const struct l_itimerspec *)]; const struct l_itimerspec * new_value; char new_value_r_[PADR_(const struct l_itimerspec *)];
+ char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)];
};
struct linux_timerfd_gettime_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)];
};
struct linux_accept4_args {
char s_l_[PADL_(l_int)]; l_int s; char s_r_[PADR_(l_int)];
Modified: projects/clang400-import/sys/amd64/linux/linux_sysent.c
==============================================================================
--- projects/clang400-import/sys/amd64/linux/linux_sysent.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux/linux_sysent.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -300,11 +300,11 @@ struct sysent linux_sysent[] = {
{ AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 280 = linux_utimensat */
{ AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 281 = linux_epoll_pwait */
{ 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 282 = linux_signalfd */
- { 0, (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 283 = linux_timerfd_create */
+ { AS(linux_timerfd_create_args), (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 283 = linux_timerfd_create */
{ AS(linux_eventfd_args), (sy_call_t *)linux_eventfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 284 = linux_eventfd */
{ AS(linux_fallocate_args), (sy_call_t *)linux_fallocate, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 285 = linux_fallocate */
- { 0, (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 286 = linux_timerfd_settime */
- { 0, (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 287 = linux_timerfd_gettime */
+ { AS(linux_timerfd_settime_args), (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 286 = linux_timerfd_settime */
+ { AS(linux_timerfd_gettime_args), (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 287 = linux_timerfd_gettime */
{ AS(linux_accept4_args), (sy_call_t *)linux_accept4, AUE_ACCEPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 288 = linux_accept4 */
{ 0, (sy_call_t *)linux_signalfd4, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 289 = linux_signalfd4 */
{ AS(linux_eventfd2_args), (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 290 = linux_eventfd2 */
Modified: projects/clang400-import/sys/amd64/linux/linux_systrace_args.c
==============================================================================
--- projects/clang400-import/sys/amd64/linux/linux_systrace_args.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux/linux_systrace_args.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -2068,7 +2068,8 @@ systrace_args(int sysnum, void *params,
iarg[2] = p->maxevents; /* l_int */
iarg[3] = p->timeout; /* l_int */
uarg[4] = (intptr_t) p->mask; /* l_sigset_t * */
- *n_args = 5;
+ iarg[5] = p->sigsetsize; /* l_size_t */
+ *n_args = 6;
break;
}
/* linux_signalfd */
@@ -2078,7 +2079,10 @@ systrace_args(int sysnum, void *params,
}
/* linux_timerfd_create */
case 283: {
- *n_args = 0;
+ struct linux_timerfd_create_args *p = params;
+ iarg[0] = p->clockid; /* l_int */
+ iarg[1] = p->flags; /* l_int */
+ *n_args = 2;
break;
}
/* linux_eventfd */
@@ -2100,12 +2104,20 @@ systrace_args(int sysnum, void *params,
}
/* linux_timerfd_settime */
case 286: {
- *n_args = 0;
+ struct linux_timerfd_settime_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ iarg[1] = p->flags; /* l_int */
+ uarg[2] = (intptr_t) p->new_value; /* const struct l_itimerspec * */
+ uarg[3] = (intptr_t) p->old_value; /* struct l_itimerspec * */
+ *n_args = 4;
break;
}
/* linux_timerfd_gettime */
case 287: {
- *n_args = 0;
+ struct linux_timerfd_gettime_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->old_value; /* struct l_itimerspec * */
+ *n_args = 2;
break;
}
/* linux_accept4 */
@@ -5635,6 +5647,9 @@ systrace_entry_setargdesc(int sysnum, in
case 4:
p = "userland l_sigset_t *";
break;
+ case 5:
+ p = "l_size_t";
+ break;
default:
break;
};
@@ -5644,6 +5659,16 @@ systrace_entry_setargdesc(int sysnum, in
break;
/* linux_timerfd_create */
case 283:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_eventfd */
case 284:
@@ -5676,9 +5701,35 @@ systrace_entry_setargdesc(int sysnum, in
break;
/* linux_timerfd_settime */
case 286:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland const struct l_itimerspec *";
+ break;
+ case 3:
+ p = "userland struct l_itimerspec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_timerfd_gettime */
case 287:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland struct l_itimerspec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_accept4 */
case 288:
@@ -7494,6 +7545,9 @@ systrace_return_setargdesc(int sysnum, i
case 282:
/* linux_timerfd_create */
case 283:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_eventfd */
case 284:
if (ndx == 0 || ndx == 1)
@@ -7506,8 +7560,14 @@ systrace_return_setargdesc(int sysnum, i
break;
/* linux_timerfd_settime */
case 286:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_timerfd_gettime */
case 287:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_accept4 */
case 288:
if (ndx == 0 || ndx == 1)
Modified: projects/clang400-import/sys/amd64/linux/syscalls.master
==============================================================================
--- projects/clang400-import/sys/amd64/linux/syscalls.master Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux/syscalls.master Tue Feb 28 21:30:26 2017 (r314421)
@@ -473,14 +473,18 @@
280 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \
const struct l_timespec *times, l_int flags); }
281 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
- l_int maxevents, l_int timeout, l_sigset_t *mask); }
+ l_int maxevents, l_int timeout, l_sigset_t *mask, \
+ l_size_t sigsetsize); }
282 AUE_NULL STD { int linux_signalfd(void); }
-283 AUE_NULL STD { int linux_timerfd_create(void); }
+283 AUE_NULL STD { int linux_timerfd_create(l_int clockid, l_int flags); }
284 AUE_NULL STD { int linux_eventfd(l_uint initval); }
285 AUE_NULL STD { int linux_fallocate(l_int fd, l_int mode, \
l_loff_t offset, l_loff_t len); }
-286 AUE_NULL STD { int linux_timerfd_settime(void); }
-287 AUE_NULL STD { int linux_timerfd_gettime(void); }
+286 AUE_NULL STD { int linux_timerfd_settime(l_int fd, l_int flags, \
+ const struct l_itimerspec *new_value, \
+ struct l_itimerspec *old_value); }
+287 AUE_NULL STD { int linux_timerfd_gettime(l_int fd, \
+ struct l_itimerspec *old_value); }
288 AUE_ACCEPT STD { int linux_accept4(l_int s, l_uintptr_t addr, \
l_uintptr_t namelen, int flags); }
; linux 2.6.27:
Modified: projects/clang400-import/sys/amd64/linux32/linux.h
==============================================================================
--- projects/clang400-import/sys/amd64/linux32/linux.h Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux32/linux.h Tue Feb 28 21:30:26 2017 (r314421)
@@ -250,7 +250,9 @@ struct l_statfs64 {
uint64_t f_ffree;
l_fsid_t f_fsid;
l_int f_namelen;
- l_int f_spare[6];
+ l_int f_frsize;
+ l_int f_flags;
+ l_int f_spare[4];
} __packed;
/* sigaction flags */
Modified: projects/clang400-import/sys/amd64/linux32/linux32_dummy.c
==============================================================================
--- projects/clang400-import/sys/amd64/linux32/linux32_dummy.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux32/linux32_dummy.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -103,10 +103,6 @@ DUMMY(move_pages);
DUMMY(getcpu);
/* linux 2.6.22: */
DUMMY(signalfd);
-DUMMY(timerfd_create);
-/* linux 2.6.25: */
-DUMMY(timerfd_settime);
-DUMMY(timerfd_gettime);
/* linux 2.6.27: */
DUMMY(signalfd4);
DUMMY(inotify_init1);
Modified: projects/clang400-import/sys/amd64/linux32/linux32_proto.h
==============================================================================
--- projects/clang400-import/sys/amd64/linux32/linux32_proto.h Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux32/linux32_proto.h Tue Feb 28 21:30:26 2017 (r314421)
@@ -1051,6 +1051,7 @@ struct linux_epoll_pwait_args {
char maxevents_l_[PADL_(l_int)]; l_int maxevents; char maxevents_r_[PADR_(l_int)];
char timeout_l_[PADL_(l_int)]; l_int timeout; char timeout_r_[PADR_(l_int)];
char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)];
+ char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)];
};
struct linux_utimensat_args {
char dfd_l_[PADL_(l_int)]; l_int dfd; char dfd_r_[PADR_(l_int)];
@@ -1062,7 +1063,8 @@ struct linux_signalfd_args {
register_t dummy;
};
struct linux_timerfd_create_args {
- register_t dummy;
+ char clockid_l_[PADL_(l_int)]; l_int clockid; char clockid_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
};
struct linux_eventfd_args {
char initval_l_[PADL_(l_uint)]; l_uint initval; char initval_r_[PADR_(l_uint)];
@@ -1074,10 +1076,14 @@ struct linux_fallocate_args {
char len_l_[PADL_(l_loff_t)]; l_loff_t len; char len_r_[PADR_(l_loff_t)];
};
struct linux_timerfd_settime_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char flags_l_[PADL_(l_int)]; l_int flags; char flags_r_[PADR_(l_int)];
+ char new_value_l_[PADL_(const struct l_itimerspec *)]; const struct l_itimerspec * new_value; char new_value_r_[PADR_(const struct l_itimerspec *)];
+ char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)];
};
struct linux_timerfd_gettime_args {
- register_t dummy;
+ char fd_l_[PADL_(l_int)]; l_int fd; char fd_r_[PADR_(l_int)];
+ char old_value_l_[PADL_(struct l_itimerspec *)]; struct l_itimerspec * old_value; char old_value_r_[PADR_(struct l_itimerspec *)];
};
struct linux_signalfd4_args {
register_t dummy;
Modified: projects/clang400-import/sys/amd64/linux32/linux32_sysent.c
==============================================================================
--- projects/clang400-import/sys/amd64/linux32/linux32_sysent.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux32/linux32_sysent.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -340,11 +340,11 @@ struct sysent linux32_sysent[] = {
{ AS(linux_epoll_pwait_args), (sy_call_t *)linux_epoll_pwait, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 319 = linux_epoll_pwait */
{ AS(linux_utimensat_args), (sy_call_t *)linux_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 320 = linux_utimensat */
{ 0, (sy_call_t *)linux_signalfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 321 = linux_signalfd */
- { 0, (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 322 = linux_timerfd_create */
+ { AS(linux_timerfd_create_args), (sy_call_t *)linux_timerfd_create, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 322 = linux_timerfd_create */
{ AS(linux_eventfd_args), (sy_call_t *)linux_eventfd, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 323 = linux_eventfd */
{ AS(linux_fallocate_args), (sy_call_t *)linux_fallocate, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 324 = linux_fallocate */
- { 0, (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 325 = linux_timerfd_settime */
- { 0, (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 326 = linux_timerfd_gettime */
+ { AS(linux_timerfd_settime_args), (sy_call_t *)linux_timerfd_settime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 325 = linux_timerfd_settime */
+ { AS(linux_timerfd_gettime_args), (sy_call_t *)linux_timerfd_gettime, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 326 = linux_timerfd_gettime */
{ 0, (sy_call_t *)linux_signalfd4, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 327 = linux_signalfd4 */
{ AS(linux_eventfd2_args), (sy_call_t *)linux_eventfd2, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 328 = linux_eventfd2 */
{ AS(linux_epoll_create1_args), (sy_call_t *)linux_epoll_create1, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 329 = linux_epoll_create1 */
Modified: projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c
==============================================================================
--- projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux32/linux32_systrace_args.c Tue Feb 28 21:30:26 2017 (r314421)
@@ -2169,7 +2169,8 @@ systrace_args(int sysnum, void *params,
iarg[2] = p->maxevents; /* l_int */
iarg[3] = p->timeout; /* l_int */
uarg[4] = (intptr_t) p->mask; /* l_sigset_t * */
- *n_args = 5;
+ iarg[5] = p->sigsetsize; /* l_size_t */
+ *n_args = 6;
break;
}
/* linux_utimensat */
@@ -2189,7 +2190,10 @@ systrace_args(int sysnum, void *params,
}
/* linux_timerfd_create */
case 322: {
- *n_args = 0;
+ struct linux_timerfd_create_args *p = params;
+ iarg[0] = p->clockid; /* l_int */
+ iarg[1] = p->flags; /* l_int */
+ *n_args = 2;
break;
}
/* linux_eventfd */
@@ -2211,12 +2215,20 @@ systrace_args(int sysnum, void *params,
}
/* linux_timerfd_settime */
case 325: {
- *n_args = 0;
+ struct linux_timerfd_settime_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ iarg[1] = p->flags; /* l_int */
+ uarg[2] = (intptr_t) p->new_value; /* const struct l_itimerspec * */
+ uarg[3] = (intptr_t) p->old_value; /* struct l_itimerspec * */
+ *n_args = 4;
break;
}
/* linux_timerfd_gettime */
case 326: {
- *n_args = 0;
+ struct linux_timerfd_gettime_args *p = params;
+ iarg[0] = p->fd; /* l_int */
+ uarg[1] = (intptr_t) p->old_value; /* struct l_itimerspec * */
+ *n_args = 2;
break;
}
/* linux_signalfd4 */
@@ -5970,6 +5982,9 @@ systrace_entry_setargdesc(int sysnum, in
case 4:
p = "userland l_sigset_t *";
break;
+ case 5:
+ p = "l_size_t";
+ break;
default:
break;
};
@@ -5998,6 +6013,16 @@ systrace_entry_setargdesc(int sysnum, in
break;
/* linux_timerfd_create */
case 322:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ default:
+ break;
+ };
break;
/* linux_eventfd */
case 323:
@@ -6030,9 +6055,35 @@ systrace_entry_setargdesc(int sysnum, in
break;
/* linux_timerfd_settime */
case 325:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland const struct l_itimerspec *";
+ break;
+ case 3:
+ p = "userland struct l_itimerspec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_timerfd_gettime */
case 326:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "userland struct l_itimerspec *";
+ break;
+ default:
+ break;
+ };
break;
/* linux_signalfd4 */
case 327:
@@ -8128,6 +8179,9 @@ systrace_return_setargdesc(int sysnum, i
case 321:
/* linux_timerfd_create */
case 322:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_eventfd */
case 323:
if (ndx == 0 || ndx == 1)
@@ -8140,8 +8194,14 @@ systrace_return_setargdesc(int sysnum, i
break;
/* linux_timerfd_settime */
case 325:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_timerfd_gettime */
case 326:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_signalfd4 */
case 327:
/* linux_eventfd2 */
Modified: projects/clang400-import/sys/amd64/linux32/syscalls.master
==============================================================================
--- projects/clang400-import/sys/amd64/linux32/syscalls.master Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/amd64/linux32/syscalls.master Tue Feb 28 21:30:26 2017 (r314421)
@@ -533,19 +533,23 @@
; linux 2.6.19:
318 AUE_NULL STD { int linux_getcpu(void); }
319 AUE_NULL STD { int linux_epoll_pwait(l_int epfd, struct epoll_event *events, \
- l_int maxevents, l_int timeout, l_sigset_t *mask); }
+ l_int maxevents, l_int timeout, l_sigset_t *mask, \
+ l_size_t sigsetsize); }
; linux 2.6.22:
320 AUE_FUTIMESAT STD { int linux_utimensat(l_int dfd, const char *pathname, \
const struct l_timespec *times, l_int flags); }
321 AUE_NULL STD { int linux_signalfd(void); }
-322 AUE_NULL STD { int linux_timerfd_create(void); }
+322 AUE_NULL STD { int linux_timerfd_create(l_int clockid, l_int flags); }
323 AUE_NULL STD { int linux_eventfd(l_uint initval); }
; linux 2.6.23:
324 AUE_NULL STD { int linux_fallocate(l_int fd, l_int mode, \
l_loff_t offset, l_loff_t len); }
; linux 2.6.25:
-325 AUE_NULL STD { int linux_timerfd_settime(void); }
-326 AUE_NULL STD { int linux_timerfd_gettime(void); }
+325 AUE_NULL STD { int linux_timerfd_settime(l_int fd, l_int flags, \
+ const struct l_itimerspec *new_value, \
+ struct l_itimerspec *old_value); }
+326 AUE_NULL STD { int linux_timerfd_gettime(l_int fd, \
+ struct l_itimerspec *old_value); }
; linux 2.6.27:
327 AUE_NULL STD { int linux_signalfd4(void); }
328 AUE_NULL STD { int linux_eventfd2(l_uint initval, l_int flags); }
Modified: projects/clang400-import/sys/arm/allwinner/a31/files.a31
==============================================================================
--- projects/clang400-import/sys/arm/allwinner/a31/files.a31 Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/arm/allwinner/a31/files.a31 Tue Feb 28 21:30:26 2017 (r314421)
@@ -1,5 +1,6 @@
# $FreeBSD$
+arm/allwinner/clkng/ccu_a31.c standard
arm/allwinner/a31/a31_padconf.c standard
arm/allwinner/a31/a31_r_padconf.c standard
arm/allwinner/a31/a31s_padconf.c standard
Modified: projects/clang400-import/sys/arm/allwinner/files.allwinner
==============================================================================
--- projects/clang400-import/sys/arm/allwinner/files.allwinner Tue Feb 28 21:27:51 2017 (r314420)
+++ projects/clang400-import/sys/arm/allwinner/files.allwinner Tue Feb 28 21:30:26 2017 (r314421)
@@ -56,3 +56,8 @@ arm/allwinner/clk/aw_oscclk.c standard
arm/allwinner/clk/aw_pll.c standard
arm/allwinner/clk/aw_thsclk.c standard
arm/allwinner/clk/aw_usbclk.c standard
+
+arm/allwinner/clkng/aw_ccung.c standard
+arm/allwinner/clkng/aw_clk_nkmp.c standard
+arm/allwinner/clkng/aw_clk_nm.c standard
+arm/allwinner/clkng/aw_clk_prediv_mux.c standard
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list