svn commit: r311306 - in projects/clang400-import: . contrib/bsnmp/lib contrib/bsnmp/snmp_mibII contrib/bsnmp/snmpd contrib/netbsd-tests/fs/tmpfs contrib/netbsd-tests/lib/libc/c063 contrib/netbsd-t...
Dimitry Andric
dim at FreeBSD.org
Wed Jan 4 20:41:49 UTC 2017
Author: dim
Date: Wed Jan 4 20:41:43 2017
New Revision: 311306
URL: https://svnweb.freebsd.org/changeset/base/311306
Log:
Merge ^/head r311132 through r311305.
Added:
- copied from r311305, head/contrib/zlib/
projects/clang400-import/sys/arm/allwinner/a33/
- copied from r311305, head/sys/arm/allwinner/a33/
projects/clang400-import/sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu
- copied unchanged from r311305, head/sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu
projects/clang400-import/sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu
- copied unchanged from r311305, head/sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu
projects/clang400-import/sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu
- copied unchanged from r311305, head/sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu
projects/clang400-import/tools/build/options/WITHOUT_EFI
- copied unchanged from r311305, head/tools/build/options/WITHOUT_EFI
projects/clang400-import/tools/build/options/WITH_EFI
- copied unchanged from r311305, head/tools/build/options/WITH_EFI
projects/clang400-import/tools/build/options/WITH_SSP
- copied unchanged from r311305, head/tools/build/options/WITH_SSP
Directory Properties:
projects/clang400-import/contrib/zlib/ (props changed)
Deleted:
projects/clang400-import/lib/libz/ChangeLog
projects/clang400-import/lib/libz/FAQ
projects/clang400-import/lib/libz/README
projects/clang400-import/lib/libz/adler32.c
projects/clang400-import/lib/libz/compress.c
projects/clang400-import/lib/libz/contrib/
projects/clang400-import/lib/libz/crc32.c
projects/clang400-import/lib/libz/crc32.h
projects/clang400-import/lib/libz/deflate.c
projects/clang400-import/lib/libz/deflate.h
projects/clang400-import/lib/libz/doc/
projects/clang400-import/lib/libz/gzclose.c
projects/clang400-import/lib/libz/gzguts.h
projects/clang400-import/lib/libz/gzlib.c
projects/clang400-import/lib/libz/gzread.c
projects/clang400-import/lib/libz/gzwrite.c
projects/clang400-import/lib/libz/infback.c
projects/clang400-import/lib/libz/inffast.c
projects/clang400-import/lib/libz/inffast.h
projects/clang400-import/lib/libz/inffixed.h
projects/clang400-import/lib/libz/inflate.c
projects/clang400-import/lib/libz/inflate.h
projects/clang400-import/lib/libz/inftrees.c
projects/clang400-import/lib/libz/inftrees.h
projects/clang400-import/lib/libz/test/
projects/clang400-import/lib/libz/trees.c
projects/clang400-import/lib/libz/trees.h
projects/clang400-import/lib/libz/uncompr.c
projects/clang400-import/lib/libz/zconf.h
projects/clang400-import/lib/libz/zlib.3
projects/clang400-import/lib/libz/zlib.h
projects/clang400-import/lib/libz/zutil.c
projects/clang400-import/lib/libz/zutil.h
projects/clang400-import/sys/boot/fdt/dts/arm/ubmc.dtsi
projects/clang400-import/sys/dev/cxgbe/firmware/t4fw-1.16.22.0.bin.uu
projects/clang400-import/sys/dev/cxgbe/firmware/t5fw-1.16.22.0.bin.uu
projects/clang400-import/sys/dev/cxgbe/firmware/t6fw-1.16.22.0.bin.uu
Modified:
projects/clang400-import/Makefile.inc1
projects/clang400-import/ObsoleteFiles.inc
projects/clang400-import/contrib/bsnmp/lib/snmpclient.c
projects/clang400-import/contrib/bsnmp/snmp_mibII/snmp_mibII.3
projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.c
projects/clang400-import/contrib/netbsd-tests/fs/tmpfs/h_tools.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_fexecve.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mkfifoat.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mknodat.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_dir.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_ftok.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strchr.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strlen.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_kevent.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_listen.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mincore.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mmap.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_pipe.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_revoke.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_select.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_stat.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_umask.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_unlink.c
projects/clang400-import/contrib/netbsd-tests/lib/libc/ttyio/t_ttyio.c
projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_condwait.c
projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_fpu.c
projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c
projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c
projects/clang400-import/lib/libstand/Makefile
projects/clang400-import/lib/libsysdecode/Makefile
projects/clang400-import/lib/libsysdecode/flags.c
projects/clang400-import/lib/libsysdecode/mktables
projects/clang400-import/lib/libsysdecode/sysdecode.h
projects/clang400-import/lib/libsysdecode/sysdecode_enum.3
projects/clang400-import/lib/libsysdecode/sysdecode_mask.3
projects/clang400-import/lib/libz/FREEBSD-upgrade
projects/clang400-import/lib/libz/Makefile
projects/clang400-import/lib/libz/Symbol.map
projects/clang400-import/lib/libz/Versions.def
projects/clang400-import/lib/libz/zlib.pc
projects/clang400-import/sbin/dhclient/dispatch.c
projects/clang400-import/secure/lib/libssh/Makefile
projects/clang400-import/secure/usr.bin/ssh/Makefile
projects/clang400-import/secure/usr.sbin/sshd/Makefile
projects/clang400-import/share/man/man5/src.conf.5
projects/clang400-import/share/man/man9/atomic.9
projects/clang400-import/share/mk/src.opts.mk
projects/clang400-import/sys/amd64/include/atomic.h
projects/clang400-import/sys/arm/allwinner/a10_gpio.c
projects/clang400-import/sys/arm/allwinner/aw_ccu.c
projects/clang400-import/sys/arm/allwinner/aw_machdep.c
projects/clang400-import/sys/arm/allwinner/aw_machdep.h
projects/clang400-import/sys/arm/allwinner/clk/aw_axiclk.c
projects/clang400-import/sys/arm/allwinner/clk/aw_gate.c
projects/clang400-import/sys/arm/conf/GENERIC
projects/clang400-import/sys/arm/include/atomic.h
projects/clang400-import/sys/boot/fdt/dts/arm/ufw.dts
projects/clang400-import/sys/cam/cam_xpt.c
projects/clang400-import/sys/cam/ctl/ctl_frontend_cam_sim.c
projects/clang400-import/sys/cam/ctl/ctl_frontend_iscsi.c
projects/clang400-import/sys/cam/scsi/scsi_low.c
projects/clang400-import/sys/cddl/compat/opensolaris/sys/atomic.h
projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h
projects/clang400-import/sys/conf/files
projects/clang400-import/sys/conf/options.arm
projects/clang400-import/sys/dev/aac/aac_cam.c
projects/clang400-import/sys/dev/aacraid/aacraid_cam.c
projects/clang400-import/sys/dev/advansys/advansys.c
projects/clang400-import/sys/dev/advansys/adwcam.c
projects/clang400-import/sys/dev/aha/aha.c
projects/clang400-import/sys/dev/ahb/ahb.c
projects/clang400-import/sys/dev/ahci/ahci.c
projects/clang400-import/sys/dev/ahci/ahciem.c
projects/clang400-import/sys/dev/aic/aic.c
projects/clang400-import/sys/dev/aic7xxx/aic79xx_osm.c
projects/clang400-import/sys/dev/aic7xxx/aic7xxx_osm.c
projects/clang400-import/sys/dev/amr/amr_cam.c
projects/clang400-import/sys/dev/arcmsr/arcmsr.c
projects/clang400-import/sys/dev/ata/ata-all.c
projects/clang400-import/sys/dev/buslogic/bt.c
projects/clang400-import/sys/dev/ciss/ciss.c
projects/clang400-import/sys/dev/cxgbe/firmware/t4fw_interface.h
projects/clang400-import/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt
projects/clang400-import/sys/dev/cxgbe/firmware/t6fw_cfg.txt
projects/clang400-import/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt
projects/clang400-import/sys/dev/dpt/dpt_scsi.c
projects/clang400-import/sys/dev/esp/ncr53c9x.c
projects/clang400-import/sys/dev/firewire/sbp.c
projects/clang400-import/sys/dev/firewire/sbp_targ.c
projects/clang400-import/sys/dev/hpt27xx/hpt27xx_osm_bsd.c
projects/clang400-import/sys/dev/hptiop/hptiop.c
projects/clang400-import/sys/dev/hptmv/entry.c
projects/clang400-import/sys/dev/hptnr/hptnr_osm_bsd.c
projects/clang400-import/sys/dev/hptrr/hptrr_osm_bsd.c
projects/clang400-import/sys/dev/hwpmc/hwpmc_core.c
projects/clang400-import/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
projects/clang400-import/sys/dev/iir/iir.c
projects/clang400-import/sys/dev/isci/isci_controller.c
projects/clang400-import/sys/dev/iscsi_initiator/isc_cam.c
projects/clang400-import/sys/dev/isp/isp_freebsd.c
projects/clang400-import/sys/dev/ixl/ixl_pf_main.c
projects/clang400-import/sys/dev/mfi/mfi_cam.c
projects/clang400-import/sys/dev/mly/mly.c
projects/clang400-import/sys/dev/mpr/mpr_sas.c
projects/clang400-import/sys/dev/mpr/mpr_sas_lsi.c
projects/clang400-import/sys/dev/mps/mps_sas.c
projects/clang400-import/sys/dev/mpt/mpt_cam.c
projects/clang400-import/sys/dev/mrsas/mrsas_cam.c
projects/clang400-import/sys/dev/mvs/mvs.c
projects/clang400-import/sys/dev/ncr/ncr.c
projects/clang400-import/sys/dev/nvme/nvme_sim.c
projects/clang400-import/sys/dev/pms/freebsd/driver/ini/src/agtiapi.c
projects/clang400-import/sys/dev/ppbus/vpo.c
projects/clang400-import/sys/dev/rtwn/if_rtwnvar.h
projects/clang400-import/sys/dev/siis/siis.c
projects/clang400-import/sys/dev/sym/sym_hipd.c
projects/clang400-import/sys/dev/trm/trm.c
projects/clang400-import/sys/dev/twa/tw_osl_cam.c
projects/clang400-import/sys/dev/tws/tws_cam.c
projects/clang400-import/sys/dev/virtio/scsi/virtio_scsi.c
projects/clang400-import/sys/dev/xen/netfront/netfront.c
projects/clang400-import/sys/kern/kern_mutex.c
projects/clang400-import/sys/kern/vfs_lookup.c
projects/clang400-import/sys/kern/vfs_syscalls.c
projects/clang400-import/sys/mips/conf/JZ4780
projects/clang400-import/sys/modules/cxgbe/t4_firmware/Makefile
projects/clang400-import/sys/modules/cxgbe/t5_firmware/Makefile
projects/clang400-import/sys/modules/cxgbe/t6_firmware/Makefile
projects/clang400-import/sys/net80211/_ieee80211.h
projects/clang400-import/sys/netinet/tcp_input.c
projects/clang400-import/sys/netinet/tcp_output.c
projects/clang400-import/sys/netinet/tcp_stacks/fastpath.c
projects/clang400-import/sys/netinet/tcp_subr.c
projects/clang400-import/sys/powerpc/ps3/ps3cdrom.c
projects/clang400-import/sys/powerpc/pseries/phyp_vscsi.c
projects/clang400-import/sys/sys/eventhandler.h
projects/clang400-import/sys/sys/mutex.h
projects/clang400-import/sys/vm/swap_pager.c
projects/clang400-import/sys/vm/swap_pager.h
projects/clang400-import/sys/vm/vm_page.c
projects/clang400-import/sys/vm/vm_page.h
projects/clang400-import/sys/vm/vm_pageout.c
projects/clang400-import/usr.bin/chat/chat.c
projects/clang400-import/usr.bin/indent/args.c
projects/clang400-import/usr.bin/indent/indent.1
projects/clang400-import/usr.bin/indent/indent.c
projects/clang400-import/usr.bin/indent/indent.h
projects/clang400-import/usr.bin/kdump/kdump.c
projects/clang400-import/usr.bin/minigzip/Makefile
projects/clang400-import/usr.bin/rpcgen/rpc_parse.c
projects/clang400-import/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c
projects/clang400-import/usr.sbin/bsnmpd/tools/Makefile
projects/clang400-import/usr.sbin/bsnmpd/tools/bsnmptools/Makefile
projects/clang400-import/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c
projects/clang400-import/usr.sbin/bsnmpd/tools/libbsnmptools/Makefile
projects/clang400-import/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c
projects/clang400-import/usr.sbin/diskinfo/diskinfo.c
Directory Properties:
projects/clang400-import/ (props changed)
projects/clang400-import/contrib/netbsd-tests/ (props changed)
projects/clang400-import/sys/cddl/contrib/opensolaris/ (props changed)
Modified: projects/clang400-import/Makefile.inc1
==============================================================================
--- projects/clang400-import/Makefile.inc1 Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/Makefile.inc1 Wed Jan 4 20:41:43 2017 (r311306)
@@ -2156,7 +2156,7 @@ secure/lib/libssh__L: lib/libz__L secure
.if ${MK_LDNS} != "no"
secure/lib/libssh__L: lib/libldns__L
.endif
-.if ${MK_KERBEROS_SUPPORT} != "no"
+.if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no"
secure/lib/libssh__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \
kerberos5/lib/libhx509__L kerberos5/lib/libasn1__L lib/libcom_err__L \
lib/libmd__L kerberos5/lib/libroken__L
Modified: projects/clang400-import/ObsoleteFiles.inc
==============================================================================
--- projects/clang400-import/ObsoleteFiles.inc Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/ObsoleteFiles.inc Wed Jan 4 20:41:43 2017 (r311306)
@@ -38,6 +38,13 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20170103: libbsnmptools.so made into an INTERNALLIB
+OLD_FILES+=usr/lib/libbsnmptools.a
+OLD_FILES+=usr/lib/libbsnmptools_p.a
+OLD_LIBS+=usr/lib/libbsnmptools.so.0
+OLD_LIBS+=usr/lib/libbsnmptools.so
+# 20170102: sysdecode_getfsstat_flags() renamed to sysdecode_getfsstat_mode()
+OLD_FILES+=usr/share/man/man3/sysdecode_getfsstat_flags.3.gz
# 20161230: libarchive ACL pax test renamed to test_acl_pax_posix1e.tar.uu
OLD_FILES+=usr/tests/lib/libarchive/test_acl_pax.tar.uu
# 20161229: Three files from gnop tests consolidated into one
Modified: projects/clang400-import/contrib/bsnmp/lib/snmpclient.c
==============================================================================
--- projects/clang400-import/contrib/bsnmp/lib/snmpclient.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/bsnmp/lib/snmpclient.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -1231,7 +1231,7 @@ snmp_send_packet(struct snmp_pdu * pdu)
struct asn_buf b;
ssize_t ret;
- if ((buf = malloc(snmp_client.txbuflen)) == NULL) {
+ if ((buf = calloc(1, snmp_client.txbuflen)) == NULL) {
seterr(&snmp_client, "%s", strerror(errno));
return (-1);
}
@@ -1256,7 +1256,7 @@ snmp_send_packet(struct snmp_pdu * pdu)
}
free(buf);
- return pdu->request_id;
+ return (pdu->request_id);
}
/*
@@ -1352,7 +1352,7 @@ snmp_receive_packet(struct snmp_pdu *pdu
socklen_t optlen;
#endif
- if ((buf = malloc(snmp_client.rxbuflen)) == NULL) {
+ if ((buf = calloc(1, snmp_client.rxbuflen)) == NULL) {
seterr(&snmp_client, "%s", strerror(errno));
return (-1);
}
Modified: projects/clang400-import/contrib/bsnmp/snmp_mibII/snmp_mibII.3
==============================================================================
--- projects/clang400-import/contrib/bsnmp/snmp_mibII/snmp_mibII.3 Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/bsnmp/snmp_mibII/snmp_mibII.3 Wed Jan 4 20:41:43 2017 (r311306)
@@ -31,7 +31,7 @@
.\"
.\" $Begemot: bsnmp/snmp_mibII/snmp_mibII.3,v 1.10 2005/10/04 08:46:52 brandt_h Exp $
.\"
-.Dd October 4, 2005
+.Dd January 4, 2017
.Dt SNMP_MIBII 3
.Os
.Sh NAME
@@ -63,6 +63,8 @@
.Sh LIBRARY
.Pq begemotSnmpdModulePath."mibII" = "@MODPATH at snmp_mibII.so"
.Sh SYNOPSIS
+.In net/if.h
+.In net/if_mib.h
.In bsnmp/snmpmod.h
.In bsnmp/snmp_mibII.h
.Ft typedef void
Modified: projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.c
==============================================================================
--- projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -226,6 +226,7 @@ udp_send(struct tport *tp, const u_char
iov.iov_base = __DECONST(void*, buf);
iov.iov_len = len;
+ msg.msg_flags = 0;
msg.msg_iov = &iov;
msg.msg_iovlen = 1;
msg.msg_name = __DECONST(void *, addr);
Modified: projects/clang400-import/contrib/netbsd-tests/fs/tmpfs/h_tools.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/fs/tmpfs/h_tools.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/fs/tmpfs/h_tools.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -243,12 +243,19 @@ sockets_main(int argc, char **argv)
return EXIT_FAILURE;
}
+#ifdef __FreeBSD__
+ addr.sun_len = sizeof(addr.sun_path);
+ (void)strlcpy(addr.sun_path, argv[1], addr.sun_len);
+#else
(void)strlcpy(addr.sun_path, argv[1], sizeof(addr.sun_path));
+#endif
addr.sun_family = PF_UNIX;
-
error = bind(fd, (struct sockaddr *)&addr, sizeof(addr));
if (error == -1) {
warn("connect");
+#ifdef __FreeBSD__
+ (void)close(fd);
+#endif
return EXIT_FAILURE;
}
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_fexecve.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_fexecve.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_fexecve.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -70,6 +70,9 @@ ATF_TC_BODY(fexecve, tc)
error = 76;
else
error = EXIT_FAILURE;
+#ifdef __FreeBSD__
+ (void)close(fd);
+#endif
err(error, "fexecve");
}
}
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mkfifoat.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mkfifoat.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mkfifoat.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -63,6 +63,9 @@ ATF_TC_BODY(mkfifoat_fd, tc)
ATF_REQUIRE((fd = mkfifoat(dfd, BASEFIFO, mode)) != -1);
ATF_REQUIRE(close(fd) == 0);
ATF_REQUIRE(access(FIFO, F_OK) == 0);
+#ifdef __FreeBSD__
+ (void)close(dfd);
+#endif
}
ATF_TC(mkfifoat_fdcwd);
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mknodat.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mknodat.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/c063/t_mknodat.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -80,6 +80,9 @@ ATF_TC_BODY(mknodat_fd, tc)
ATF_REQUIRE((fd = mknodat(dfd, BASEFILE, mode, dev)) != -1);
ATF_REQUIRE(close(fd) == 0);
ATF_REQUIRE(access(FILE, F_OK) == 0);
+#ifdef __FreeBSD__
+ (void)close(dfd);
+#endif
}
ATF_TC(mknodat_fdcwd);
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_dir.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_dir.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_dir.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -39,6 +39,10 @@
#include <sys/stat.h>
+#ifdef __FreeBSD__
+#include <errno.h>
+#endif
+
ATF_TC(seekdir_basic);
ATF_TC_HEAD(seekdir_basic, tc)
{
@@ -54,10 +58,26 @@ ATF_TC_BODY(seekdir_basic, tc)
struct dirent *entry;
long here;
+#ifdef __FreeBSD__
+#define CREAT(x, m) do { \
+ int _creat_fd; \
+ ATF_REQUIRE_MSG((_creat_fd = creat((x), (m))), \
+ "creat(%s, %x) failed: %s", (x), (m), \
+ strerror(errno)); \
+ (void)close(_creat_fd); \
+ } while(0);
+
+ ATF_REQUIRE_MSG(mkdir("t", 0755) == 0,
+ "mkdir failed: %s", strerror(errno));
+ CREAT("t/a", 0600);
+ CREAT("t/b", 0600);
+ CREAT("t/c", 0600);
+#else
mkdir("t", 0755);
creat("t/a", 0600);
creat("t/b", 0600);
creat("t/c", 0600);
+#endif
dp = opendir("t");
if ( dp == NULL)
@@ -70,9 +90,17 @@ ATF_TC_BODY(seekdir_basic, tc)
/* get first entry */
entry = readdir(dp);
here = telldir(dp);
+#ifdef __FreeBSD__
+ ATF_REQUIRE_MSG(here != -1,
+ "telldir failed: %s", strerror(errno));
+#endif
/* get second entry */
entry = readdir(dp);
+#ifdef __FreeBSD__
+ ATF_REQUIRE_MSG(entry != NULL,
+ "readdir failed: %s", strerror(errno));
+#endif
wasname = strdup(entry->d_name);
if (wasname == NULL)
atf_tc_fail("cannot allocate memory");
@@ -109,6 +137,9 @@ ATF_TC_BODY(seekdir_basic, tc)
atf_tc_fail("3rd seekdir found wrong name");
closedir(dp);
+#ifdef __FreeBSD__
+ free(wasname);
+#endif
}
/* There is no sbrk on AArch64 and RISC-V */
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_ftok.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_ftok.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_ftok.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -68,6 +68,9 @@ ATF_TC_BODY(ftok_link, tc)
fd = open(path, O_RDONLY | O_CREAT);
ATF_REQUIRE(fd >= 0);
+#ifdef __FreeBSD__
+ (void)close(fd);
+#endif
ATF_REQUIRE(link(path, hlnk) == 0);
ATF_REQUIRE(symlink(path, slnk) == 0);
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -247,6 +247,9 @@ ATF_TC_BODY(humanize_number_basic, tc)
newline();
atf_tc_fail_nonfatal("Failed for table entry %d", i);
}
+#ifdef __FreeBSD__
+ free(buf);
+#endif
}
ATF_TC(humanize_number_big);
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -78,6 +78,9 @@ ATF_TC_BODY(ttyname_err, tc)
ATF_REQUIRE(ttyname(fd) == NULL);
ATF_REQUIRE(errno == ENOTTY);
+#ifdef __FreeBSD__
+ (void)close(fd);
+#endif
}
}
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strchr.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strchr.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strchr.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -58,6 +58,9 @@ ATF_TC_HEAD(strchr_basic, tc)
ATF_TC_BODY(strchr_basic, tc)
{
+#ifdef __FreeBSD__
+ void *dl_handle;
+#endif
unsigned int t, a;
char *off;
char buf[32];
@@ -245,8 +248,12 @@ ATF_TC_BODY(strchr_basic, tc)
"abcdefgh/abcdefgh/",
};
-
+#ifdef __FreeBSD__
+ dl_handle = dlopen(NULL, RTLD_LAZY);
+ strchr_fn = dlsym(dl_handle, "test_strlen");
+#else
strchr_fn = dlsym(dlopen(0, RTLD_LAZY), "test_strchr");
+#endif
if (!strchr_fn)
strchr_fn = strchr;
@@ -281,6 +288,9 @@ ATF_TC_BODY(strchr_basic, tc)
verify_strchr(buf + a, 0xff, t, a);
}
}
+#ifdef __FreeBSD__
+ (void)dlclose(dl_handle);
+#endif
}
ATF_TP_ADD_TCS(tp)
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strlen.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strlen.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/string/t_strlen.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -40,6 +40,9 @@ ATF_TC_HEAD(strlen_basic, tc)
ATF_TC_BODY(strlen_basic, tc)
{
+#ifdef __FreeBSD__
+ void *dl_handle;
+#endif
/* try to trick the compiler */
size_t (*strlen_fn)(const char *);
@@ -107,7 +110,12 @@ ATF_TC_BODY(strlen_basic, tc)
* During testing it is useful have the rest of the program
* use a known good version!
*/
+#ifdef __FreeBSD__
+ dl_handle = dlopen(NULL, RTLD_LAZY);
+ strlen_fn = dlsym(dl_handle, "test_strlen");
+#else
strlen_fn = dlsym(dlopen(NULL, RTLD_LAZY), "test_strlen");
+#endif
if (!strlen_fn)
strlen_fn = strlen;
@@ -134,6 +142,9 @@ ATF_TC_BODY(strlen_basic, tc)
}
}
}
+#ifdef __FreeBSD__
+ (void)dlclose(dl_handle);
+#endif
}
ATF_TC(strlen_huge);
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_kevent.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_kevent.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_kevent.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -101,6 +101,9 @@ ATF_TC_BODY(kqueue_desc_passing, tc)
m.msg_namelen = 0;
m.msg_control = msg;
m.msg_controllen = CMSG_SPACE(sizeof(int));
+#ifdef __FreeBSD__
+ m.msg_flags = 0;
+#endif
child = fork();
if (child == 0) {
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_listen.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_listen.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_listen.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -110,6 +110,9 @@ ATF_TC_BODY(listen_low_port, tc)
int sd, val;
sd = socket(AF_INET, SOCK_STREAM, 0);
+#ifdef __FreeBSD__
+ ATF_REQUIRE_MSG(sd != -1, "socket failed: %s", strerror(errno));
+#endif
val = IP_PORTRANGE_LOW;
if (setsockopt(sd, IPPROTO_IP, IP_PORTRANGE, &val,
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mincore.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mincore.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mincore.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -279,6 +279,9 @@ ATF_TC_BODY(mincore_resid, tc)
(void)munmap(addr2, npgs * page);
(void)munmap(addr3, npgs * page);
(void)unlink(path);
+#ifdef __FreeBSD__
+ free(buf);
+#endif
}
ATF_TC_CLEANUP(mincore_resid, tc)
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mmap.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mmap.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_mmap.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -381,9 +381,13 @@ ATF_TC_BODY(mmap_prot_3, tc)
* the access should generate SIGSEGV.
*/
fd = open(path, O_RDWR | O_CREAT, 0700);
-
if (fd < 0)
+#ifdef __FreeBSD__
+ atf_tc_skip("opening %s failed; skipping testcase: %s",
+ path, strerror(errno));
+#else
return;
+#endif
ATF_REQUIRE(write(fd, "XXX", 3) == 3);
ATF_REQUIRE(close(fd) == 0);
@@ -409,6 +413,9 @@ ATF_TC_BODY(mmap_prot_3, tc)
ATF_REQUIRE(WIFEXITED(sta) != 0);
ATF_REQUIRE(WEXITSTATUS(sta) == SIGSEGV);
ATF_REQUIRE(munmap(map, 3) == 0);
+#ifdef __FreeBSD__
+ (void)close(fd);
+#endif
}
ATF_TC_CLEANUP(mmap_prot_3, tc)
@@ -453,6 +460,9 @@ ATF_TC_BODY(mmap_truncate, tc)
ATF_REQUIRE(ftruncate(fd, page / 12) == 0);
ATF_REQUIRE(ftruncate(fd, page / 64) == 0);
+#ifdef __FreeBSD__
+ (void)munmap(map, page);
+#endif
ATF_REQUIRE(close(fd) == 0);
}
@@ -509,6 +519,10 @@ ATF_TC_BODY(mmap_truncate_signal, tc)
prevent the access to be optimized out */
ATF_REQUIRE(i == 0);
ATF_REQUIRE(sta == 0);
+#ifdef __FreeBSD__
+ (void)munmap(map, page);
+ (void)close(fd);
+#endif
return;
}
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_pipe.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_pipe.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_pipe.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -153,6 +153,9 @@ ATF_TC_BODY(pipe_restart, tc)
ATF_REQUIRE_EQ(WEXITSTATUS(st), 0);
}
+#ifdef __FreeBSD__
+ free(f);
+#endif
}
ATF_TP_ADD_TCS(tp)
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_revoke.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_revoke.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_revoke.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -176,6 +176,9 @@ ATF_TC_BODY(revoke_perm, tc)
if (WIFEXITED(sta) == 0 || WEXITSTATUS(sta) != EXIT_SUCCESS)
atf_tc_fail("revoke(2) did not obey permissions");
+#ifdef __FreeBSD__
+ (void)close(fd);
+#endif
ATF_REQUIRE(unlink(path) == 0);
}
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_select.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_select.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_select.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -135,6 +135,9 @@ child(const struct timespec *ts)
"after timeout %s != %s",
prmask(&nset, nbuf, sizeof(nbuf)),
prmask(&oset, obuf, sizeof(obuf)));
+#ifdef __FreeBSD__
+ _exit(0);
+#endif
}
ATF_TC(pselect_sigmask);
@@ -154,6 +157,9 @@ ATF_TC_BODY(pselect_sigmask, tc)
switch (pid = fork()) {
case 0:
child(NULL);
+#ifdef __FreeBSD__
+ break;
+#endif
case -1:
err(1, "fork");
default:
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -129,6 +129,9 @@ out:
if (lim != 0)
atf_tc_fail("failed to set limit (%d)", lim);
+#ifdef __FreeBSD__
+ free(buf);
+#endif
}
ATF_TC(setrlimit_current);
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_stat.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_stat.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_stat.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -398,6 +398,9 @@ ATF_TC_BODY(stat_symlink, tc)
ATF_REQUIRE(unlink(path) == 0);
ATF_REQUIRE(unlink(pathlink) == 0);
+#ifdef __FreeBSD__
+ (void)close(fd);
+#endif
}
ATF_TC_CLEANUP(stat_symlink, tc)
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_umask.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_umask.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_umask.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -129,6 +129,9 @@ ATF_TC_BODY(umask_open, tc)
if (fd < 0)
continue;
+#ifdef __FreeBSD__
+ (void)close(fd);
+#endif
(void)memset(&st, 0, sizeof(struct stat));
if (stat(path, &st) != 0) {
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_unlink.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_unlink.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/sys/t_unlink.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -63,7 +63,12 @@ ATF_TC_BODY(unlink_basic, tc)
ATF_REQUIRE(unlink(path) == 0);
errno = 0;
+#ifdef __FreeBSD__
+ ATF_REQUIRE_ERRNO(ENOENT, (fd = open(path, O_RDONLY)) == -1);
+ (void)close(fd);
+#else
ATF_REQUIRE_ERRNO(ENOENT, open(path, O_RDONLY) == -1);
+#endif
}
}
@@ -111,12 +116,24 @@ ATF_TC_HEAD(unlink_fifo, tc)
ATF_TC_BODY(unlink_fifo, tc)
{
+#ifdef __FreeBSD__
+ int fd;
+ ATF_REQUIRE_MSG((fd = mkfifo(path, 0666)) == 0,
+ "mkfifo failed: %s", strerror(errno));
+ (void)close(fd);
+#else
ATF_REQUIRE(mkfifo(path, 0666) == 0);
+#endif
ATF_REQUIRE(unlink(path) == 0);
errno = 0;
+#ifdef __FreeBSD__
+ ATF_REQUIRE_ERRNO(ENOENT, (fd = open(path, O_RDONLY)) == -1);
+ (void)close(fd);
+#else
ATF_REQUIRE_ERRNO(ENOENT, open(path, O_RDONLY) == -1);
+#endif
}
ATF_TC_CLEANUP(unlink_fifo, tc)
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libc/ttyio/t_ttyio.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libc/ttyio/t_ttyio.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libc/ttyio/t_ttyio.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -152,6 +152,9 @@ ATF_TC_BODY(ioctl, tc)
REQUIRE_ERRNO(sigaction(SIGCHLD, &sa, NULL), -1);
(void) wait(NULL);
+#ifdef __FreeBSD__
+ (void)close(s);
+#endif
ATF_REQUIRE_EQ(rc, 0);
}
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_condwait.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_condwait.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_condwait.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -42,6 +42,8 @@ __RCSID("$NetBSD: t_condwait.c,v 1.4 201
#ifdef __FreeBSD__
#include <sys/time.h>
+
+#include "h_common.h"
#endif
#define WAITTIME 2 /* Timeout wait secound */
@@ -60,8 +62,13 @@ run(void *param)
clck = *(clockid_t *)param;
+#ifdef __FreeBSD__
+ PTHREAD_REQUIRE(pthread_condattr_init(&attr));
+ PTHREAD_REQUIRE(pthread_condattr_setclock(&attr, clck));
+#else
pthread_condattr_init(&attr);
pthread_condattr_setclock(&attr, clck); /* MONOTONIC or MONOTONIC */
+#endif
pthread_cond_init(&cond, &attr);
ATF_REQUIRE_EQ((ret = pthread_mutex_lock(&m)), 0);
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_fpu.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_fpu.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_fpu.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -58,6 +58,11 @@ __RCSID("$NetBSD: t_fpu.c,v 1.2 2013/01/
#include <atf-c.h>
+#ifdef __FreeBSD__
+#include <errno.h>
+#include <string.h>
+#endif
+
#include "h_common.h"
#define N_RECURSE 10
@@ -77,14 +82,24 @@ stir(void *p)
for (;;) {
x = sin ((y = cos (x + y + .4)) - (z = cos (x + z + .6)));
+#ifdef __FreeBSD__
+ ATF_REQUIRE_MSG(sched_yield() == 0,
+ "sched_yield failed: %s", strerror(errno));
+#else
PTHREAD_REQUIRE(sched_yield());
+#endif
}
}
static double
mul3(double x, double y, double z)
{
+#ifdef __FreeBSD__
+ ATF_REQUIRE_MSG(sched_yield() == 0,
+ "sched_yield failed: %s", strerror(errno));
+#else
PTHREAD_REQUIRE(sched_yield());
+#endif
return x * y * z;
}
@@ -114,7 +129,11 @@ bar(void *p)
static void
recurse(void) {
pthread_t s2;
+#ifdef __FreeBSD__
+ PTHREAD_REQUIRE(pthread_create(&s2, 0, bar, 0));
+#else
pthread_create(&s2, 0, bar, 0);
+#endif
sleep(20); /* XXX must be long enough for our slowest machine */
}
@@ -134,7 +153,11 @@ ATF_TC_BODY(fpu, tc)
PTHREAD_REQUIRE(pthread_mutex_init(&recursion_depth_lock, 0));
+#ifdef __FreeBSD__
+ PTHREAD_REQUIRE(pthread_create(&s5, 0, stir, stirseed));
+#else
pthread_create(&s5, 0, stir, stirseed);
+#endif
recurse();
atf_tc_fail("exiting from main");
Modified: projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c
==============================================================================
--- projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -30,6 +30,8 @@ __RCSID("$NetBSD");
#ifdef __FreeBSD__
#include <sys/types.h>
+#include <errno.h>
+#include <string.h>
#endif
#include <pthread.h>
#include <ucontext.h>
@@ -80,7 +82,12 @@ threadfunc(void *arg)
oself = (void *)pthread_self();
printf("before swapcontext self = %p\n", oself);
+#ifdef __FreeBSD__
+ ATF_REQUIRE_MSG(swapcontext(&octx, &nctx) != -1, "swapcontext failed: %s",
+ strerror(errno));
+#else
PTHREAD_REQUIRE(swapcontext(&octx, &nctx));
+#endif
/* NOTREACHED */
return NULL;
@@ -111,7 +118,12 @@ ATF_TC_BODY(swapcontext1, tc)
printf("Testing if swapcontext() alters pthread_self()\n");
+#ifdef __FreeBSD__
+ ATF_REQUIRE_MSG(getcontext(&nctx) != -1, "getcontext failed: %s",
+ strerror(errno));
+#else
PTHREAD_REQUIRE(getcontext(&nctx));
+#endif
PTHREAD_REQUIRE(pthread_create(&thread, NULL, threadfunc, NULL));
PTHREAD_REQUIRE(pthread_join(thread, NULL));
}
Modified: projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c
==============================================================================
--- projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -1,6 +1,6 @@
/*-
* Copyright (c) 2012 Konstantin Belousov <kib at FreeBSD.org>
- * Copyright (c) 2016 The FreeBSD Foundation
+ * Copyright (c) 2016, 2017 The FreeBSD Foundation
* All rights reserved.
*
* Portions of this software were developed by Konstantin Belousov
@@ -42,11 +42,11 @@ __FBSDID("$FreeBSD$");
#include <string.h>
#include <unistd.h>
#include "un-namespace.h"
+#include <machine/atomic.h>
#include <machine/cpufunc.h>
#include <machine/specialreg.h>
#include <dev/acpica/acpi_hpet.h>
#ifdef __amd64__
-#include <machine/atomic.h>
#include <dev/hyperv/hyperv.h>
#endif
#include "libc_private.h"
@@ -115,37 +115,47 @@ __vdso_rdtsc32(void)
return (rdtsc32());
}
-static char *hpet_dev_map = NULL;
-static uint32_t hpet_idx = 0xffffffff;
+#define HPET_DEV_MAP_MAX 10
+static volatile char *hpet_dev_map[HPET_DEV_MAP_MAX];
static void
__vdso_init_hpet(uint32_t u)
{
static const char devprefix[] = "/dev/hpet";
char devname[64], *c, *c1, t;
+ volatile char *new_map, *old_map;
+ uint32_t u1;
int fd;
c1 = c = stpcpy(devname, devprefix);
- u = hpet_idx;
+ u1 = u;
do {
- *c++ = u % 10 + '0';
- u /= 10;
- } while (u != 0);
+ *c++ = u1 % 10 + '0';
+ u1 /= 10;
+ } while (u1 != 0);
*c = '\0';
for (c--; c1 != c; c1++, c--) {
t = *c1;
*c1 = *c;
*c = t;
}
+
+ old_map = hpet_dev_map[u];
+ if (old_map != NULL)
+ return;
+
fd = _open(devname, O_RDONLY);
if (fd == -1) {
- hpet_dev_map = MAP_FAILED;
+ atomic_cmpset_rel_ptr((volatile uintptr_t *)&hpet_dev_map[u],
+ (uintptr_t)old_map, (uintptr_t)MAP_FAILED);
return;
}
- if (hpet_dev_map != NULL && hpet_dev_map != MAP_FAILED)
- munmap(hpet_dev_map, PAGE_SIZE);
- hpet_dev_map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd, 0);
+ 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);
}
#ifdef __amd64__
@@ -213,7 +223,8 @@ __vdso_hyperv_tsc(struct hyperv_reftsc *
int
__vdso_gettc(const struct vdso_timehands *th, u_int *tc)
{
- uint32_t tmp;
+ volatile char *map;
+ uint32_t idx;
switch (th->th_algo) {
case VDSO_TH_ALGO_X86_TSC:
@@ -221,14 +232,19 @@ __vdso_gettc(const struct vdso_timehands
__vdso_rdtsc32();
return (0);
case VDSO_TH_ALGO_X86_HPET:
- tmp = th->th_x86_hpet_idx;
- if (hpet_dev_map == NULL || tmp != hpet_idx) {
- hpet_idx = tmp;
- __vdso_init_hpet(hpet_idx);
+ idx = th->th_x86_hpet_idx;
+ if (idx >= HPET_DEV_MAP_MAX)
+ return (ENOSYS);
+ map = (volatile char *)atomic_load_acq_ptr(
+ (volatile uintptr_t *)&hpet_dev_map[idx]);
+ if (map == NULL) {
+ __vdso_init_hpet(idx);
+ map = (volatile char *)atomic_load_acq_ptr(
+ (volatile uintptr_t *)&hpet_dev_map[idx]);
}
- if (hpet_dev_map == MAP_FAILED)
+ if (map == MAP_FAILED)
return (ENOSYS);
- *tc = *(volatile uint32_t *)(hpet_dev_map + HPET_MAIN_COUNTER);
+ *tc = *(volatile uint32_t *)(map + HPET_MAIN_COUNTER);
return (0);
#ifdef __amd64__
case VDSO_TH_ALGO_X86_HVTSC:
Modified: projects/clang400-import/lib/libstand/Makefile
==============================================================================
--- projects/clang400-import/lib/libstand/Makefile Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libstand/Makefile Wed Jan 4 20:41:43 2017 (r311306)
@@ -109,9 +109,9 @@ libstand_bzlib_private.h: bzlib_private.
sed -e 's|<stdlib.h>|"stand.h"|' \
${.ALLSRC} > ${.TARGET}
-# decompression functionality from libz
-.PATH: ${LIBSTAND_SRC}/../libz
-CFLAGS+=-DHAVE_MEMCPY -I${LIBSTAND_SRC}/../libz
+# decompression functionality from zlib
+.PATH: ${LIBSTAND_SRC}/../../contrib/zlib
+CFLAGS+=-DHAVE_MEMCPY -I${LIBSTAND_SRC}/../../contrib/zlib
SRCS+= adler32.c crc32.c libstand_zutil.h libstand_gzguts.h
.for file in infback.c inffast.c inflate.c inftrees.c zutil.c
Modified: projects/clang400-import/lib/libsysdecode/Makefile
==============================================================================
--- projects/clang400-import/lib/libsysdecode/Makefile Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libsysdecode/Makefile Wed Jan 4 20:41:43 2017 (r311306)
@@ -30,6 +30,7 @@ MLINKS+=sysdecode_enum.3 sysdecode_aclty
sysdecode_enum.3 sysdecode_extattrnamespace.3 \
sysdecode_enum.3 sysdecode_fadvice.3 \
sysdecode_enum.3 sysdecode_fcntl_cmd.3 \
+ sysdecode_enum.3 sysdecode_getfsstat_mode.3 \
sysdecode_enum.3 sysdecode_idtype.3 \
sysdecode_enum.3 sysdecode_ipproto.3 \
sysdecode_enum.3 sysdecode_kldsym_cmd.3 \
@@ -70,7 +71,6 @@ MLINKS+=sysdecode_mask.3 sysdecode_acces
sysdecode_mask.3 sysdecode_fileflags.3 \
sysdecode_mask.3 sysdecode_filemode.3 \
sysdecode_mask.3 sysdecode_flock_operation.3 \
- sysdecode_mask.3 sysdecode_getfsstat_flags.3 \
sysdecode_mask.3 sysdecode_mlockall_flags.3 \
sysdecode_mask.3 sysdecode_mmap_flags.3 \
sysdecode_mask.3 sysdecode_mmap_prot.3 \
Modified: projects/clang400-import/lib/libsysdecode/flags.c
==============================================================================
--- projects/clang400-import/lib/libsysdecode/flags.c Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libsysdecode/flags.c Wed Jan 4 20:41:43 2017 (r311306)
@@ -472,11 +472,15 @@ sysdecode_flock_operation(FILE *fp, int
return (print_mask_int(fp, flockops, operation, rem));
}
-bool
-sysdecode_getfsstat_flags(FILE *fp, int flags, int *rem)
+static struct name_table getfsstatmode[] = {
+ X(MNT_WAIT) X(MNT_NOWAIT) XEND
+};
+
+const char *
+sysdecode_getfsstat_mode(int mode)
{
- return (print_mask_int(fp, getfsstatflags, flags, rem));
+ return (lookup_value(getfsstatmode, mode));
}
const char *
Modified: projects/clang400-import/lib/libsysdecode/mktables
==============================================================================
--- projects/clang400-import/lib/libsysdecode/mktables Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libsysdecode/mktables Wed Jan 4 20:41:43 2017 (r311306)
@@ -94,7 +94,6 @@ gen_table "extattrns" "EXTATTR_NAM
gen_table "fadvisebehav" "POSIX_FADV_[A-Z]+[[:space:]]+[0-9]+" "sys/fcntl.h"
gen_table "openflags" "O_[A-Z]+[[:space:]]+0x[0-9A-Fa-f]+" "sys/fcntl.h" "O_RDONLY|O_RDWR|O_WRONLY"
gen_table "flockops" "LOCK_[A-Z]+[[:space:]]+0x[0-9]+" "sys/fcntl.h"
-gen_table "getfsstatflags" "MNT_[A-Z]+[[:space:]]+[1-9][0-9]*" "sys/mount.h"
gen_table "kldsymcmd" "KLDSYM_[A-Z]+[[:space:]]+[0-9]+" "sys/linker.h"
gen_table "kldunloadfflags" "LINKER_UNLOAD_[A-Z]+[[:space:]]+[0-9]+" "sys/linker.h"
gen_table "lio_listiomodes" "LIO_(NO)?WAIT[[:space:]]+[0-9]+" "aio.h"
Modified: projects/clang400-import/lib/libsysdecode/sysdecode.h
==============================================================================
--- projects/clang400-import/lib/libsysdecode/sysdecode.h Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libsysdecode/sysdecode.h Wed Jan 4 20:41:43 2017 (r311306)
@@ -54,7 +54,7 @@ bool sysdecode_fileflags(FILE *_fp, ffla
bool sysdecode_filemode(FILE *_fp, int _mode, int *_rem);
bool sysdecode_flock_operation(FILE *_fp, int _operation, int *_rem);
int sysdecode_freebsd_to_abi_errno(enum sysdecode_abi _abi, int _error);
-bool sysdecode_getfsstat_flags(FILE *_fp, int _flags, int *_rem);
+const char *sysdecode_getfsstat_mode(int _mode);
const char *sysdecode_idtype(int _idtype);
const char *sysdecode_ioctlname(unsigned long _val);
const char *sysdecode_ipproto(int _protocol);
Modified: projects/clang400-import/lib/libsysdecode/sysdecode_enum.3
==============================================================================
--- projects/clang400-import/lib/libsysdecode/sysdecode_enum.3 Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libsysdecode/sysdecode_enum.3 Wed Jan 4 20:41:43 2017 (r311306)
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 17, 2016
+.Dd January 2, 2017
.Dt sysdecode_enum 3
.Os
.Sh NAME
@@ -35,6 +35,7 @@
.Nm sysdecode_extattrnamespace ,
.Nm sysdecode_fadvice ,
.Nm sysdecode_fcntl_cmd ,
+.Nm sysdecode_getfsstat_mode ,
.Nm sysdecode_idtype ,
.Nm sysdecode_ipproto ,
.Nm sysdecode_kldsym_cmd ,
@@ -86,6 +87,8 @@
.Ft const char *
.Fn sysdecode_fcntl_cmd "int cmd"
.Ft const char *
+.Fn sysdecode_getfsstat_mode "int mode"
+.Ft const char *
.Fn sysdecode_idtype "int idtype"
.Ft const char *
.Fn sysdecode_ipproto "int protocol"
@@ -168,6 +171,7 @@ Most of these functions decode an argume
.It Fn sysdecode_extattrnamespace Ta Xr extattr_get_fd 2 Ta Fa attrnamespace
.It Fn sysdecode_fadvice Ta Xr posix_fadvise 2 Ta Fa advice
.It Fn sysdecode_fcntl_cmd Ta Xr fcntl 2 Ta Fa cmd
+.It Fn sysdecode_getfsstat_mode Ta Xr getfsstat 2 Ta Fa mode
.It Fn sysdecode_idtype Ta
.Xr procctl 2 ,
.Xr waitid 2
Modified: projects/clang400-import/lib/libsysdecode/sysdecode_mask.3
==============================================================================
--- projects/clang400-import/lib/libsysdecode/sysdecode_mask.3 Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libsysdecode/sysdecode_mask.3 Wed Jan 4 20:41:43 2017 (r311306)
@@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 17, 2016
+.Dd January 2, 2017
.Dt sysdecode_mask 3
.Os
.Sh NAME
@@ -36,7 +36,6 @@
.Nm sysdecode_fileflags ,
.Nm sysdecode_filemode ,
.Nm sysdecode_flock_operation ,
-.Nm sysdecode_getfsstat_flags ,
.Nm sysdecode_mlockall_flags ,
.Nm sysdecode_mmap_flags ,
.Nm sysdecode_mmap_prot ,
@@ -153,7 +152,6 @@ Most of these functions decode an argume
.It Fn sysdecode_fileflags Ta Xr chflags 2 Ta Fa flags
.It Fn sysdecode_filemode Ta Xr chmod 2 , Xr open 2 Ta mode
.It Fn sysdecode_flock_operation Ta Xr flock 2 Ta Fa operation
-.It Fn sysdecode_getfsstat_flags Ta Xr getfsstatflags 2 Ta Fa flags
.It Fn sysdecode_mlockall_flags Ta Xr mlockall 2 Ta Fa flags
.It Fn sysdecode_mmap_flags Ta Xr mmap 2 Ta Fa flags
.It Fn sysdecode_mmap_prot Ta Xr mmap 2 Ta Fa prot
Modified: projects/clang400-import/lib/libz/FREEBSD-upgrade
==============================================================================
--- projects/clang400-import/lib/libz/FREEBSD-upgrade Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libz/FREEBSD-upgrade Wed Jan 4 20:41:43 2017 (r311306)
@@ -1,44 +1,16 @@
$FreeBSD$
-ZLib 1.2.2
-
-Original distribution from http://www.gzip.org/zlib/
-
-Vendor files removed from distribution before import:
- INDEX configure qnx/
- Makefile contrib/ win32/
- Makefile.in msdos/ zconf.in.h
- amiga/ old/
- as400/ projects/
-
-Vendor files imported:
- ChangeLog example.c minigzip.c
- FAQ gzio.c trees.c
- README infback.c trees.h
- adler32.c inffast.c uncompr.c
- algorithm.txt inffast.h zconf.h
- compress.c inffixed.h zlib.3
- crc32.c inflate.c zlib.h
- crc32.h inflate.h zutil.c
- deflate.c inftrees.c zutil.h
- deflate.h inftrees.h
-
-As of April, 2005, only the following three vendor files
-had non-trivial local changes:
- gzio.c minigzip.c zconf.h
-
-Added files (not from vendor):
- Makefile zopen.c FREEBSD-upgrade
+Original distribution from http://zlib.net/. Currently, only trivial
+changes were made to support build of libstand and to suppress certain
+compiler warnings, we upstream our local changes whenever they would
+benefit other consumers.
To Update:
1) Unpack vendor sources into a clean directory.
- 2) Delete unnecessary files.
- 3) Import onto the vendor branch. The 1.2.2 import was done like this:
- cvs -d <CVSROOT> import -ko -m "ZLib 1.2.2" src/lib/libz ZLIB v1_2_2
- 4) In a clean directory, check out a fresh copy of HEAD,
- merging in vendor changes since the last import.
- cvs -d <CVSROOT> co -jZLIB:yesterday -jZLIB src/lib/libz
- 5) Resolve any conflicts and commit them.
- 6) Update this file with any changes to the file list or update procedure.
+ 2) Import onto the vendor area.
+ 3) Merge the vendor tree to contrib/zlib, which contains a stripped down
+ version of upstream source, resolve any conflicts.
+ 4) Double check zconf.h, zlib.pc, and Symbol.map to make sure that we
+ have the required changes. Test universe and commit them.
-kientzle at FreeBSD.org
+delphij at FreeBSD.org
Modified: projects/clang400-import/lib/libz/Makefile
==============================================================================
--- projects/clang400-import/lib/libz/Makefile Wed Jan 4 20:26:42 2017 (r311305)
+++ projects/clang400-import/lib/libz/Makefile Wed Jan 4 20:41:43 2017 (r311306)
@@ -8,6 +8,10 @@ SHLIBDIR?= /lib
SHLIB_MAJOR= 6
MAN= zlib.3 zopen.3
+ZLIBSRC= ${SRCTOP}/contrib/zlib
+
+.PATH: ${ZLIBSRC}
+
#CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7
#CFLAGS=-g -DDEBUG
#CFLAGS=-O3 -Wall -Wwrite-strings -Wpointer-arith -Wconversion \
@@ -37,14 +41,14 @@ SRCS+= zopen.c
SRCS+= zutil.c
#.if ${MACHINE_ARCH} == "i386" && ${MACHINE_CPU:M*i686*}
-#.PATH: ${.CURDIR}/contrib/asm686
+#.PATH: ${ZLIBSRC}/contrib/asm686
#SRCS+= match.S
#CFLAGS+= -DASMV -DNO_UNDERLINE
#ACFLAGS+= -Wa,--noexecstack
#.endif
#.if ${MACHINE_ARCH} == "amd64"
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list