svn commit: r277660 - in projects/building-blocks: . bin/cp bin/ln bin/mv contrib/gdb/gdb contrib/netbsd-tests/lib/libc/c063 contrib/tcpdump etc/mtree etc/tests etc/tests/rc.d lib/libc/include lib/...
Garrett Cooper
ngie at FreeBSD.org
Sat Jan 24 21:21:47 UTC 2015
Author: ngie
Date: Sat Jan 24 21:21:39 2015
New Revision: 277660
URL: https://svnweb.freebsd.org/changeset/base/277660
Log:
MFhead @ r277659
Added:
projects/building-blocks/etc/tests/rc.d/
- copied from r277659, head/etc/tests/rc.d/
projects/building-blocks/lib/libc/sys/futimens.c
- copied unchanged from r277659, head/lib/libc/sys/futimens.c
projects/building-blocks/lib/libc/sys/utimensat.2
- copied unchanged from r277659, head/lib/libc/sys/utimensat.2
projects/building-blocks/lib/libc/sys/utimensat.c
- copied unchanged from r277659, head/lib/libc/sys/utimensat.c
projects/building-blocks/sys/arm/freescale/imx/imx6_audmux.c
- copied unchanged from r277659, head/sys/arm/freescale/imx/imx6_audmux.c
projects/building-blocks/sys/arm/freescale/imx/imx6_sdma.c
- copied unchanged from r277659, head/sys/arm/freescale/imx/imx6_sdma.c
projects/building-blocks/sys/arm/freescale/imx/imx6_sdma.h
- copied unchanged from r277659, head/sys/arm/freescale/imx/imx6_sdma.h
projects/building-blocks/sys/arm/freescale/imx/imx6_ssi.c
- copied unchanged from r277659, head/sys/arm/freescale/imx/imx6_ssi.c
projects/building-blocks/usr.sbin/pw/tests/pw_groupshow.sh
- copied unchanged from r277659, head/usr.sbin/pw/tests/pw_groupshow.sh
projects/building-blocks/usr.sbin/pw/tests/pw_usershow.sh
- copied unchanged from r277659, head/usr.sbin/pw/tests/pw_usershow.sh
Modified:
projects/building-blocks/Makefile.inc1
projects/building-blocks/bin/cp/utils.c
projects/building-blocks/bin/ln/symlink.7
projects/building-blocks/bin/mv/mv.c
projects/building-blocks/contrib/gdb/gdb/corelow.c
projects/building-blocks/contrib/gdb/gdb/dwarf2expr.c
projects/building-blocks/contrib/gdb/gdb/remote.c
projects/building-blocks/contrib/gdb/gdb/std-regs.c
projects/building-blocks/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c
projects/building-blocks/contrib/tcpdump/tcpdump.c
projects/building-blocks/etc/mtree/BSD.tests.dist
projects/building-blocks/etc/tests/Makefile
projects/building-blocks/lib/libc/include/libc_private.h
projects/building-blocks/lib/libc/sys/Makefile.inc
projects/building-blocks/lib/libc/sys/Symbol.map
projects/building-blocks/lib/libc/tests/c063/Makefile
projects/building-blocks/lib/libstand/libstand.3
projects/building-blocks/lib/libstand/printf.c
projects/building-blocks/release/Makefile
projects/building-blocks/release/Makefile.vm
projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml
projects/building-blocks/release/picobsd/build/picobsd
projects/building-blocks/sbin/ping/ping.c
projects/building-blocks/share/man/man3/tree.3
projects/building-blocks/share/man/man4/rights.4
projects/building-blocks/share/man/man9/printf.9
projects/building-blocks/sys/amd64/vmm/amd/svm.c
projects/building-blocks/sys/arm/arm/mem.c
projects/building-blocks/sys/arm/freescale/imx/files.imx6
projects/building-blocks/sys/arm/freescale/imx/imx6_anatop.c
projects/building-blocks/sys/arm/freescale/imx/imx6_anatopreg.h
projects/building-blocks/sys/arm/freescale/imx/imx6_anatopvar.h
projects/building-blocks/sys/arm/freescale/imx/imx6_ccm.c
projects/building-blocks/sys/arm/freescale/imx/imx6_ccmreg.h
projects/building-blocks/sys/arm/freescale/imx/imx_ccmvar.h
projects/building-blocks/sys/arm/freescale/imx/imx_iomux.c
projects/building-blocks/sys/arm/ti/am335x/am335x_lcd.c
projects/building-blocks/sys/boot/fdt/dts/arm/apalis-imx6.dts
projects/building-blocks/sys/boot/fdt/dts/arm/imx6.dtsi
projects/building-blocks/sys/boot/i386/libfirewire/firewire.c
projects/building-blocks/sys/cam/ctl/ctl_tpc.c
projects/building-blocks/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
projects/building-blocks/sys/compat/freebsd32/freebsd32_misc.c
projects/building-blocks/sys/compat/freebsd32/freebsd32_proto.h
projects/building-blocks/sys/compat/freebsd32/freebsd32_syscall.h
projects/building-blocks/sys/compat/freebsd32/freebsd32_syscalls.c
projects/building-blocks/sys/compat/freebsd32/freebsd32_sysent.c
projects/building-blocks/sys/compat/freebsd32/freebsd32_systrace_args.c
projects/building-blocks/sys/compat/freebsd32/syscalls.master
projects/building-blocks/sys/conf/files
projects/building-blocks/sys/dev/acpica/acpi_ec.c
projects/building-blocks/sys/dev/agp/agp_nvidia.c
projects/building-blocks/sys/dev/cx/cxddk.c
projects/building-blocks/sys/dev/dc/if_dc.c
projects/building-blocks/sys/dev/fdt/fdt_clock.c
projects/building-blocks/sys/dev/mem/memdev.c
projects/building-blocks/sys/dev/netmap/netmap.c
projects/building-blocks/sys/i386/i386/mem.c
projects/building-blocks/sys/kern/capabilities.conf
projects/building-blocks/sys/kern/init_sysent.c
projects/building-blocks/sys/kern/subr_prf.c
projects/building-blocks/sys/kern/syscalls.c
projects/building-blocks/sys/kern/syscalls.master
projects/building-blocks/sys/kern/systrace_args.c
projects/building-blocks/sys/kern/vfs_syscalls.c
projects/building-blocks/sys/mips/mips/mem.c
projects/building-blocks/sys/modules/cxgbe/if_cxgbe/Makefile
projects/building-blocks/sys/netinet/ip_carp.c
projects/building-blocks/sys/powerpc/aim/machdep.c
projects/building-blocks/sys/powerpc/aim/trap_subr32.S
projects/building-blocks/sys/powerpc/aim/trap_subr64.S
projects/building-blocks/sys/sparc64/sparc64/mem.c
projects/building-blocks/sys/sys/capsicum.h
projects/building-blocks/sys/sys/param.h
projects/building-blocks/sys/sys/stat.h
projects/building-blocks/sys/sys/syscall.h
projects/building-blocks/sys/sys/syscall.mk
projects/building-blocks/sys/sys/syscallsubr.h
projects/building-blocks/sys/sys/sysproto.h
projects/building-blocks/sys/sys/tree.h
projects/building-blocks/sys/vm/vm_map.c
projects/building-blocks/sys/vm/vm_pageout.c
projects/building-blocks/tools/regression/file/flock/flock.c
projects/building-blocks/usr.bin/kdump/kdump.c
projects/building-blocks/usr.bin/touch/touch.c
projects/building-blocks/usr.bin/vmstat/vmstat.c
projects/building-blocks/usr.sbin/config/config.y
projects/building-blocks/usr.sbin/config/configvers.h
projects/building-blocks/usr.sbin/iostat/iostat.c
projects/building-blocks/usr.sbin/pw/pw_group.c
projects/building-blocks/usr.sbin/pw/pw_user.c
projects/building-blocks/usr.sbin/pw/tests/Makefile
Directory Properties:
projects/building-blocks/ (props changed)
projects/building-blocks/contrib/gdb/ (props changed)
projects/building-blocks/contrib/tcpdump/ (props changed)
projects/building-blocks/etc/ (props changed)
projects/building-blocks/lib/libc/ (props changed)
projects/building-blocks/sbin/ (props changed)
projects/building-blocks/share/ (props changed)
projects/building-blocks/share/man/man4/ (props changed)
projects/building-blocks/sys/ (props changed)
projects/building-blocks/sys/amd64/vmm/ (props changed)
projects/building-blocks/sys/boot/ (props changed)
projects/building-blocks/sys/cddl/contrib/opensolaris/ (props changed)
projects/building-blocks/sys/conf/ (props changed)
Modified: projects/building-blocks/Makefile.inc1
==============================================================================
--- projects/building-blocks/Makefile.inc1 Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/Makefile.inc1 Sat Jan 24 21:21:39 2015 (r277660)
@@ -1460,6 +1460,9 @@ _elftctools= lib/libelftc \
usr.bin/nm \
usr.bin/size \
usr.bin/strings
+# These are not required by the build, but can be useful for developers who
+# cross-build on a FreeBSD 10 host:
+_elftctools+= usr.bin/addr2line
.endif
.endif
Modified: projects/building-blocks/bin/cp/utils.c
==============================================================================
--- projects/building-blocks/bin/cp/utils.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/bin/cp/utils.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -330,7 +330,7 @@ copy_special(struct stat *from_stat, int
int
setfile(struct stat *fs, int fd)
{
- static struct timeval tv[2];
+ static struct timespec tspec[2];
struct stat ts;
int rval, gotstat, islink, fdval;
@@ -340,10 +340,11 @@ setfile(struct stat *fs, int fd)
fs->st_mode &= S_ISUID | S_ISGID | S_ISVTX |
S_IRWXU | S_IRWXG | S_IRWXO;
- TIMESPEC_TO_TIMEVAL(&tv[0], &fs->st_atim);
- TIMESPEC_TO_TIMEVAL(&tv[1], &fs->st_mtim);
- if (islink ? lutimes(to.p_path, tv) : utimes(to.p_path, tv)) {
- warn("%sutimes: %s", islink ? "l" : "", to.p_path);
+ tspec[0] = fs->st_atim;
+ tspec[1] = fs->st_mtim;
+ if (utimensat(AT_FDCWD, to.p_path, tspec,
+ islink ? AT_SYMLINK_NOFOLLOW : 0)) {
+ warn("utimensat: %s", to.p_path);
rval = 1;
}
if (fdval ? fstat(fd, &ts) :
Modified: projects/building-blocks/bin/ln/symlink.7
==============================================================================
--- projects/building-blocks/bin/ln/symlink.7 Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/bin/ln/symlink.7 Sat Jan 24 21:21:39 2015 (r277660)
@@ -29,7 +29,7 @@
.\" @(#)symlink.7 8.3 (Berkeley) 3/31/94
.\" $FreeBSD$
.\"
-.Dd December 29, 2014
+.Dd January 23, 2015
.Dt SYMLINK 7
.Os
.Sh NAME
@@ -147,9 +147,10 @@ unless given the
.Dv AT_SYMLINK_NOFOLLOW
flag:
.Xr fchmodat 2 ,
-.Xr fchownat 2
+.Xr fchownat 2 ,
+.Xr fstatat 2
and
-.Xr fstatat 2 .
+.Xr utimensat 2 .
.Pp
The owner and group of an existing symbolic link can be changed by
means of the
Modified: projects/building-blocks/bin/mv/mv.c
==============================================================================
--- projects/building-blocks/bin/mv/mv.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/bin/mv/mv.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -273,7 +273,7 @@ do_move(const char *from, const char *to
static int
fastcopy(const char *from, const char *to, struct stat *sbp)
{
- struct timeval tval[2];
+ struct timespec ts[2];
static u_int blen = MAXPHYS;
static char *bp = NULL;
mode_t oldmode;
@@ -350,10 +350,9 @@ err: if (unlink(to))
} else
warn("%s: cannot stat", to);
- tval[0].tv_sec = sbp->st_atime;
- tval[1].tv_sec = sbp->st_mtime;
- tval[0].tv_usec = tval[1].tv_usec = 0;
- if (utimes(to, tval))
+ ts[0] = sbp->st_atim;
+ ts[1] = sbp->st_mtim;
+ if (utimensat(AT_FDCWD, to, ts, 0))
warn("%s: set times", to);
if (close(to_fd)) {
Modified: projects/building-blocks/contrib/gdb/gdb/corelow.c
==============================================================================
--- projects/building-blocks/contrib/gdb/gdb/corelow.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/contrib/gdb/gdb/corelow.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -432,15 +432,16 @@ get_core_register_section (char *name,
char *human_name,
int required)
{
- char section_name[100];
+ static char *section_name = NULL;
struct bfd_section *section;
bfd_size_type size;
char *contents;
+ xfree (section_name);
if (PIDGET (inferior_ptid))
- sprintf (section_name, "%s/%d", name, PIDGET (inferior_ptid));
+ section_name = xstrprintf ("%s/%d", name, PIDGET (inferior_ptid));
else
- strcpy (section_name, name);
+ section_name = xstrdup (name);
section = bfd_get_section_by_name (core_bfd, section_name);
if (! section)
Modified: projects/building-blocks/contrib/gdb/gdb/dwarf2expr.c
==============================================================================
--- projects/building-blocks/contrib/gdb/gdb/dwarf2expr.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/contrib/gdb/gdb/dwarf2expr.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -575,6 +575,7 @@ execute_stack_op (struct dwarf_expr_cont
break;
case DW_OP_div:
binop = BINOP_DIV;
+ break;
case DW_OP_minus:
binop = BINOP_SUB;
break;
@@ -595,6 +596,7 @@ execute_stack_op (struct dwarf_expr_cont
break;
case DW_OP_shr:
binop = BINOP_RSH;
+ break;
case DW_OP_shra:
binop = BINOP_RSH;
val1 = value_from_longest (signed_address_type (), first);
Modified: projects/building-blocks/contrib/gdb/gdb/remote.c
==============================================================================
--- projects/building-blocks/contrib/gdb/gdb/remote.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/contrib/gdb/gdb/remote.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -3463,7 +3463,7 @@ remote_store_registers (int regnum)
{
int i;
regs = alloca (rs->sizeof_g_packet);
- memset (regs, rs->sizeof_g_packet, 0);
+ memset (regs, 0, rs->sizeof_g_packet);
for (i = 0; i < NUM_REGS + NUM_PSEUDO_REGS; i++)
{
struct packet_reg *r = &rs->regs[i];
Modified: projects/building-blocks/contrib/gdb/gdb/std-regs.c
==============================================================================
--- projects/building-blocks/contrib/gdb/gdb/std-regs.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/contrib/gdb/gdb/std-regs.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -61,7 +61,7 @@ value_of_builtin_frame_reg (struct frame
val = allocate_value (builtin_type_frame_reg);
VALUE_LVAL (val) = not_lval;
buf = VALUE_CONTENTS_RAW (val);
- memset (buf, TYPE_LENGTH (VALUE_TYPE (val)), 0);
+ memset (buf, 0, TYPE_LENGTH (VALUE_TYPE (val)));
/* frame.base. */
if (frame != NULL)
ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
@@ -87,7 +87,7 @@ value_of_builtin_frame_fp_reg (struct fr
struct value *val = allocate_value (builtin_type_void_data_ptr);
char *buf = VALUE_CONTENTS_RAW (val);
if (frame == NULL)
- memset (buf, TYPE_LENGTH (VALUE_TYPE (val)), 0);
+ memset (buf, 0, TYPE_LENGTH (VALUE_TYPE (val)));
else
ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
get_frame_base_address (frame));
@@ -105,7 +105,7 @@ value_of_builtin_frame_pc_reg (struct fr
struct value *val = allocate_value (builtin_type_void_data_ptr);
char *buf = VALUE_CONTENTS_RAW (val);
if (frame == NULL)
- memset (buf, TYPE_LENGTH (VALUE_TYPE (val)), 0);
+ memset (buf, 0, TYPE_LENGTH (VALUE_TYPE (val)));
else
ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
get_frame_pc (frame));
Modified: projects/building-blocks/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c
==============================================================================
--- projects/building-blocks/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -40,6 +40,9 @@ __RCSID("$NetBSD: t_utimensat.c,v 1.5 20
#include <string.h>
#include <unistd.h>
#include <sys/param.h>
+#ifdef __FreeBSD__
+#include <sys/stat.h>
+#endif
#include <sys/time.h>
#define DIR "dir"
Modified: projects/building-blocks/contrib/tcpdump/tcpdump.c
==============================================================================
--- projects/building-blocks/contrib/tcpdump/tcpdump.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/contrib/tcpdump/tcpdump.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -77,12 +77,12 @@ extern int SIZE_BUF;
#ifdef __FreeBSD__
#include <sys/capsicum.h>
#include <sys/sysctl.h>
+#endif /* __FreeBSD__ */
+#ifdef HAVE_CAPSICUM
#include <libcapsicum.h>
#include <libcapsicum_dns.h>
#include <libcapsicum_service.h>
#include <nv.h>
-#endif /* __FreeBSD__ */
-#ifdef HAVE_CAPSICUM
#include <sys/capability.h>
#include <sys/ioccom.h>
#include <net/bpf.h>
@@ -966,8 +966,8 @@ main(int argc, char **argv)
FILE *VFile;
#ifdef HAVE_CAPSICUM
cap_rights_t rights;
- int cansandbox;
#endif /* HAVE_CAPSICUM */
+ int cansandbox;
#ifdef WIN32
if(wsockinit() != 0) return 1;
Modified: projects/building-blocks/etc/mtree/BSD.tests.dist
==============================================================================
--- projects/building-blocks/etc/mtree/BSD.tests.dist Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/etc/mtree/BSD.tests.dist Sat Jan 24 21:21:39 2015 (r277660)
@@ -52,6 +52,8 @@
..
..
etc
+ rc.d
+ ..
..
games
..
Modified: projects/building-blocks/etc/tests/Makefile
==============================================================================
--- projects/building-blocks/etc/tests/Makefile Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/etc/tests/Makefile Sat Jan 24 21:21:39 2015 (r277660)
@@ -7,4 +7,6 @@ TESTSDIR= ${TESTSBASE}/etc
.PATH: ${.CURDIR:H:H}/tests
KYUAFILE= yes
+TESTS_SUBDIRS+= rc.d
+
.include <bsd.test.mk>
Modified: projects/building-blocks/lib/libc/include/libc_private.h
==============================================================================
--- projects/building-blocks/lib/libc/include/libc_private.h Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/lib/libc/include/libc_private.h Sat Jan 24 21:21:39 2015 (r277660)
@@ -357,6 +357,10 @@ int __libc_system(const char *);
int __libc_tcdrain(int);
int __fcntl_compat(int fd, int cmd, ...);
+int __sys_futimens(int fd, const struct timespec *times) __hidden;
+int __sys_utimensat(int fd, const char *path,
+ const struct timespec *times, int flag) __hidden;
+
/* execve() with PATH processing to implement posix_spawnp() */
int _execvpe(const char *, char * const *, char * const *);
Modified: projects/building-blocks/lib/libc/sys/Makefile.inc
==============================================================================
--- projects/building-blocks/lib/libc/sys/Makefile.inc Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/lib/libc/sys/Makefile.inc Sat Jan 24 21:21:39 2015 (r277660)
@@ -38,6 +38,10 @@ SRCS+= ${SYSCALL_COMPAT_SRCS}
NOASM+= ${SYSCALL_COMPAT_SRCS:S/.c/.o/}
.endif
+SRCS+= futimens.c utimensat.c
+NOASM+= futimens.o utimensat.o
+PSEUDO+= _futimens.o _utimensat.o
+
INTERPOSED = \
accept \
accept4 \
@@ -310,6 +314,7 @@ MAN+= sctp_generic_recvmsg.2 \
umask.2 \
undelete.2 \
unlink.2 \
+ utimensat.2 \
utimes.2 \
utrace.2 \
uuidgen.2 \
@@ -442,6 +447,7 @@ MLINKS+=timer_settime.2 timer_getoverrun
timer_settime.2 timer_gettime.2
MLINKS+=truncate.2 ftruncate.2
MLINKS+=unlink.2 unlinkat.2
+MLINKS+=utimensat.2 futimens.2
MLINKS+=utimes.2 futimes.2 \
utimes.2 futimesat.2 \
utimes.2 lutimes.2
Modified: projects/building-blocks/lib/libc/sys/Symbol.map
==============================================================================
--- projects/building-blocks/lib/libc/sys/Symbol.map Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/lib/libc/sys/Symbol.map Sat Jan 24 21:21:39 2015 (r277660)
@@ -397,7 +397,9 @@ FBSD_1.3 {
};
FBSD_1.4 {
+ futimens;
ppoll;
+ utimensat;
};
FBSDprivate_1.0 {
Copied: projects/building-blocks/lib/libc/sys/futimens.c (from r277659, head/lib/libc/sys/futimens.c)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/building-blocks/lib/libc/sys/futimens.c Sat Jan 24 21:21:39 2015 (r277660, copy of r277659, head/lib/libc/sys/futimens.c)
@@ -0,0 +1,97 @@
+/*-
+ * Copyright (c) 2015 Jilles Tjoelker
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include "namespace.h"
+#include <sys/stat.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <time.h>
+#include "un-namespace.h"
+
+#include "libc_private.h"
+
+int
+futimens(int fd, const struct timespec times[2])
+{
+ struct timeval now, tv[2], *tvp;
+ struct stat sb;
+
+ if (__getosreldate() >= 1100056)
+ return (__sys_futimens(fd, times));
+
+ if (times == NULL || (times[0].tv_nsec == UTIME_NOW &&
+ times[1].tv_nsec == UTIME_NOW))
+ tvp = NULL;
+ else if (times[0].tv_nsec == UTIME_OMIT &&
+ times[1].tv_nsec == UTIME_OMIT)
+ return (0);
+ else {
+ if ((times[0].tv_nsec < 0 || times[0].tv_nsec > 999999999) &&
+ times[0].tv_nsec != UTIME_NOW &&
+ times[0].tv_nsec != UTIME_OMIT) {
+ errno = EINVAL;
+ return (-1);
+ }
+ if ((times[1].tv_nsec < 0 || times[1].tv_nsec > 999999999) &&
+ times[1].tv_nsec != UTIME_NOW &&
+ times[1].tv_nsec != UTIME_OMIT) {
+ errno = EINVAL;
+ return (-1);
+ }
+ tv[0].tv_sec = times[0].tv_sec;
+ tv[0].tv_usec = times[0].tv_nsec / 1000;
+ tv[1].tv_sec = times[1].tv_sec;
+ tv[1].tv_usec = times[1].tv_nsec / 1000;
+ tvp = tv;
+ if (times[0].tv_nsec == UTIME_OMIT ||
+ times[1].tv_nsec == UTIME_OMIT) {
+ if (_fstat(fd, &sb) == -1)
+ return (-1);
+ if (times[0].tv_nsec == UTIME_OMIT) {
+ tv[0].tv_sec = sb.st_atim.tv_sec;
+ tv[0].tv_usec = sb.st_atim.tv_nsec / 1000;
+ }
+ if (times[1].tv_nsec == UTIME_OMIT) {
+ tv[1].tv_sec = sb.st_mtim.tv_sec;
+ tv[1].tv_usec = sb.st_mtim.tv_nsec / 1000;
+ }
+ }
+ if (times[0].tv_nsec == UTIME_NOW ||
+ times[1].tv_nsec == UTIME_NOW) {
+ if (gettimeofday(&now, NULL) == -1)
+ return (-1);
+ if (times[0].tv_nsec == UTIME_NOW)
+ tv[0] = now;
+ if (times[1].tv_nsec == UTIME_NOW)
+ tv[1] = now;
+ }
+ }
+ return (futimes(fd, tvp));
+}
Copied: projects/building-blocks/lib/libc/sys/utimensat.2 (from r277659, head/lib/libc/sys/utimensat.2)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/building-blocks/lib/libc/sys/utimensat.2 Sat Jan 24 21:21:39 2015 (r277660, copy of r277659, head/lib/libc/sys/utimensat.2)
@@ -0,0 +1,292 @@
+.\" $NetBSD: utimes.2,v 1.13 1999/03/22 19:45:11 garbled Exp $
+.\"
+.\" Copyright (c) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\" Copyright (c) 2012, Jilles Tjoelker
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)utimes.2 8.1 (Berkeley) 6/4/93
+.\" $FreeBSD$
+.\"
+.Dd January 23, 2015
+.Dt UTIMENSAT 2
+.Os
+.Sh NAME
+.Nm futimens ,
+.Nm utimensat
+.Nd set file access and modification times
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In sys/stat.h
+.Ft int
+.Fn futimens "int fd" "const struct timespec times[2]"
+.Ft int
+.Fo utimensat
+.Fa "int fd"
+.Fa "const char *path"
+.Fa "const struct timespec times[2]"
+.Fa "int flag"
+.Fc
+.Sh DESCRIPTION
+The access and modification times of the file named by
+.Fa path
+or referenced by
+.Fa fd
+are changed as specified by the argument
+.Fa times .
+The inode-change-time of the file is set to the current time.
+.Pp
+If
+.Fa path
+specifies a relative path,
+it is relative to the current working directory if
+.Fa fd
+is
+.Dv AT_FDCWD
+and otherwise relative to the directory associated with the file descriptor
+.Fa fd .
+.Pp
+The
+.Va tv_nsec
+field of a
+.Vt timespec
+structure
+can be set to the special value
+.Dv UTIME_NOW
+to set the current time, or to
+.Dv UTIME_OMIT
+to leave the time unchanged.
+In either case, the
+.Va tv_sec
+field is ignored.
+.Pp
+If
+.Fa times
+is
+.No non- Ns Dv NULL ,
+it is assumed to point to an array of two timespec structures.
+The access time is set to the value of the first element, and the
+modification time is set to the value of the second element.
+For file systems that support file birth (creation) times (such as
+.Dv UFS2 ) ,
+the birth time will be set to the value of the second element
+if the second element is older than the currently set birth time.
+To set both a birth time and a modification time,
+two calls are required; the first to set the birth time
+and the second to set the (presumably newer) modification time.
+Ideally a new system call will be added that allows the setting
+of all three times at once.
+If
+.Fa times
+is
+.Dv NULL ,
+this is equivalent to passing
+a pointer to an array of two timespec structures
+with both
+.Va tv_nsec
+fields set to
+.Dv UTIME_NOW .
+.Pp
+If both
+.Va tv_nsec
+fields are
+.Dv UTIME_OMIT ,
+the timestamps remain unchanged and
+no permissions are needed for the file itself,
+although search permissions may be required for the path prefix.
+The call may or may not succeed if the named file does not exist.
+.Pp
+If both
+.Va tv_nsec
+fields are
+.Dv UTIME_NOW ,
+the caller must be the owner of the file, have permission to
+write the file, or be the super-user.
+.Pp
+For all other values of the timestamps,
+the caller must be the owner of the file or be the super-user.
+.Pp
+The values for the
+.Fa flag
+argument of the
+.Fn utimensat
+system call
+are constructed by a bitwise-inclusive OR of flags from the following list,
+defined in
+.In fcntl.h :
+.Bl -tag -width indent
+.It Dv AT_SYMLINK_NOFOLLOW
+If
+.Fa path
+names a symbolic link, the symbolic link's times are changed.
+By default,
+.Fn utimensat
+changes the times of the file referenced by the symbolic link.
+.El
+.Sh RETURN VALUES
+.Rv -std
+.Sh COMPATIBILITY
+If the running kernel does not support this system call,
+a wrapper emulates it using
+.Xr fstatat 2 ,
+.Xr futimesat 2
+and
+.Xr lutimes 2 .
+As a result, timestamps will be rounded down to the nearest microsecond,
+.Dv UTIME_OMIT
+is not atomic and
+.Dv AT_SYMLINK_NOFOLLOW
+is not available with a path relative to a file descriptor.
+.Sh ERRORS
+These system calls will fail if:
+.Bl -tag -width Er
+.It Bq Er EACCES
+The
+.Fa times
+argument is
+.Dv NULL ,
+or both
+.Va tv_nsec
+values are
+.Dv UTIME_NOW ,
+and the effective user ID of the process does not
+match the owner of the file, and is not the super-user, and write
+access is denied.
+.It Bq Er EFAULT
+The
+.Fa times
+argument
+points outside the process's allocated address space.
+.It Bq Er EINVAL
+The
+.Va tv_usec
+component of at least one of the values specified by the
+.Fa times
+argument has a value less than 0 or greater than 999999.
+.It Bq Er EIO
+An I/O error occurred while reading or writing the affected inode.
+.It Bq Er EPERM
+The
+.Fa times
+argument is not
+.Dv NULL
+nor are both
+.Va tv_nsec
+values
+.Dv UTIME_NOW ,
+nor are both
+.Va tv_nsec
+values
+.Dv UTIME_OMIT
+and the calling process's effective user ID
+does not match the owner of the file and is not the super-user.
+.It Bq Er EPERM
+The named file has its immutable or append-only flag set, see the
+.Xr chflags 2
+manual page for more information.
+.It Bq Er EROFS
+The file system containing the file is mounted read-only.
+.El
+.Pp
+The
+.Fn futimens
+system call
+will fail if:
+.Bl -tag -width Er
+.It Bq Er EBADF
+The
+.Fa fd
+argument
+does not refer to a valid descriptor.
+.El
+.Pp
+The
+.Fn utimensat
+system call
+will fail if:
+.Bl -tag -width Er
+.It Bq Er EACCES
+Search permission is denied for a component of the path prefix.
+.It Bq Er EBADF
+The
+.Fa path
+argument does not specify an absolute path and the
+.Fa fd
+argument is neither
+.Dv AT_FDCWD
+nor a valid file descriptor.
+.It Bq Er EFAULT
+The
+.Fa path
+argument
+points outside the process's allocated address space.
+.It Bq Er ELOOP
+Too many symbolic links were encountered in translating the pathname.
+.It Bq Er ENAMETOOLONG
+A component of a pathname exceeded
+.Dv NAME_MAX
+characters, or an entire path name exceeded
+.Dv PATH_MAX
+characters.
+.It Bq Er ENOENT
+The named file does not exist.
+.It Bq Er ENOTDIR
+A component of the path prefix is not a directory.
+.It Bq Er ENOTDIR
+The
+.Fa path
+argument is not an absolute path and
+.Fa fd
+is neither
+.Dv AT_FDCWD
+nor a file descriptor associated with a directory.
+.It Bq Er ENOTSUP
+The running kernel does not support this system call and
+.Dv AT_SYMLINK_NOFOLLOW
+is used with a path relative to a file descriptor.
+.El
+.Sh SEE ALSO
+.Xr chflags 2 ,
+.Xr stat 2 ,
+.Xr symlink 2 ,
+.Xr utimes 2 ,
+.Xr utime 3 ,
+.Xr symlink 7
+.Sh STANDARDS
+The
+.Fn futimens
+and
+.Fn utimensat
+system calls are expected to conform to
+.St -p1003.1-2008 .
+.Sh HISTORY
+The
+.Fn futimens
+and
+.Fn utimensat
+system calls appeared in
+.Fx 11.0 .
Copied: projects/building-blocks/lib/libc/sys/utimensat.c (from r277659, head/lib/libc/sys/utimensat.c)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ projects/building-blocks/lib/libc/sys/utimensat.c Sat Jan 24 21:21:39 2015 (r277660, copy of r277659, head/lib/libc/sys/utimensat.c)
@@ -0,0 +1,109 @@
+/*-
+ * Copyright (c) 2015 Jilles Tjoelker
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include "namespace.h"
+#include <sys/stat.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#include <time.h>
+#include "un-namespace.h"
+
+#include "libc_private.h"
+
+int
+utimensat(int fd, const char *path, const struct timespec times[2], int flag)
+{
+ struct timeval now, tv[2], *tvp;
+ struct stat sb;
+
+ if (__getosreldate() >= 1100056)
+ return (__sys_utimensat(fd, path, times, flag));
+
+ if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0) {
+ errno = EINVAL;
+ return (-1);
+ }
+ if (times == NULL || (times[0].tv_nsec == UTIME_NOW &&
+ times[1].tv_nsec == UTIME_NOW))
+ tvp = NULL;
+ else if (times[0].tv_nsec == UTIME_OMIT &&
+ times[1].tv_nsec == UTIME_OMIT)
+ return (0);
+ else {
+ if ((times[0].tv_nsec < 0 || times[0].tv_nsec > 999999999) &&
+ times[0].tv_nsec != UTIME_NOW &&
+ times[0].tv_nsec != UTIME_OMIT) {
+ errno = EINVAL;
+ return (-1);
+ }
+ if ((times[1].tv_nsec < 0 || times[1].tv_nsec > 999999999) &&
+ times[1].tv_nsec != UTIME_NOW &&
+ times[1].tv_nsec != UTIME_OMIT) {
+ errno = EINVAL;
+ return (-1);
+ }
+ tv[0].tv_sec = times[0].tv_sec;
+ tv[0].tv_usec = times[0].tv_nsec / 1000;
+ tv[1].tv_sec = times[1].tv_sec;
+ tv[1].tv_usec = times[1].tv_nsec / 1000;
+ tvp = tv;
+ if (times[0].tv_nsec == UTIME_OMIT ||
+ times[1].tv_nsec == UTIME_OMIT) {
+ if (fstatat(fd, path, &sb, flag) == -1)
+ return (-1);
+ if (times[0].tv_nsec == UTIME_OMIT) {
+ tv[0].tv_sec = sb.st_atim.tv_sec;
+ tv[0].tv_usec = sb.st_atim.tv_nsec / 1000;
+ }
+ if (times[1].tv_nsec == UTIME_OMIT) {
+ tv[1].tv_sec = sb.st_mtim.tv_sec;
+ tv[1].tv_usec = sb.st_mtim.tv_nsec / 1000;
+ }
+ }
+ if (times[0].tv_nsec == UTIME_NOW ||
+ times[1].tv_nsec == UTIME_NOW) {
+ if (gettimeofday(&now, NULL) == -1)
+ return (-1);
+ if (times[0].tv_nsec == UTIME_NOW)
+ tv[0] = now;
+ if (times[1].tv_nsec == UTIME_NOW)
+ tv[1] = now;
+ }
+ }
+ if ((flag & AT_SYMLINK_NOFOLLOW) == 0)
+ return (futimesat(fd, path, tvp));
+ else if ((flag & AT_SYMLINK_NOFOLLOW) != 0 &&
+ (fd == AT_FDCWD || path[0] == '/'))
+ return (lutimes(path, tvp));
+ else {
+ errno = ENOTSUP;
+ return (-1);
+ }
+}
Modified: projects/building-blocks/lib/libc/tests/c063/Makefile
==============================================================================
--- projects/building-blocks/lib/libc/tests/c063/Makefile Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/lib/libc/tests/c063/Makefile Sat Jan 24 21:21:39 2015 (r277660)
@@ -2,7 +2,7 @@
TESTSDIR= ${TESTSBASE}/lib/libc/c063
-#TODO: t_o_search, t_utimensat
+#TODO: t_o_search
NETBSD_ATF_TESTS_C= faccessat
NETBSD_ATF_TESTS_C+= fchmodat
@@ -18,6 +18,7 @@ NETBSD_ATF_TESTS_C+= readlinkat
NETBSD_ATF_TESTS_C+= renameat
NETBSD_ATF_TESTS_C+= symlinkat
NETBSD_ATF_TESTS_C+= unlinkat
+NETBSD_ATF_TESTS_C+= utimensat
CFLAGS+= -D_INCOMPLETE_XOPEN_C063
Modified: projects/building-blocks/lib/libstand/libstand.3
==============================================================================
--- projects/building-blocks/lib/libstand/libstand.3 Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/lib/libstand/libstand.3 Sat Jan 24 21:21:39 2015 (r277660)
@@ -288,7 +288,7 @@ Thus
printf(
.Qq reg=%b\en ,
3,
-.Qq \e10\e2BITTWO\e1BITONE\en
+.Qq \e10\e2BITTWO\e1BITONE
);
.Ed
.Pp
Modified: projects/building-blocks/lib/libstand/printf.c
==============================================================================
--- projects/building-blocks/lib/libstand/printf.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/lib/libstand/printf.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -187,7 +187,7 @@ ksprintn(char *nbuf, uintmax_t num, int
* the next characters (up to a control character, i.e. a character <= 32),
* give the name of the register. Thus:
*
- * kvprintf("reg=%b\n", 3, "\10\2BITTWO\1BITONE\n");
+ * kvprintf("reg=%b\n", 3, "\10\2BITTWO\1BITONE");
*
* would produce output:
*
@@ -500,7 +500,7 @@ number:
while (percent < fmt)
PCHAR(*percent++);
/*
- * Since we ignore an formatting argument it is no
+ * Since we ignore a formatting argument it is no
* longer safe to obey the remaining formatting
* arguments as the arguments will no longer match
* the format specs.
Modified: projects/building-blocks/release/Makefile
==============================================================================
--- projects/building-blocks/release/Makefile Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/release/Makefile Sat Jan 24 21:21:39 2015 (r277660)
@@ -279,6 +279,7 @@ ftp: packagesystem
cp *.txz MANIFEST ftp
release: real-release vm-release cloudware-release
+ @true
real-release:
${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj
Modified: projects/building-blocks/release/Makefile.vm
==============================================================================
--- projects/building-blocks/release/Makefile.vm Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/release/Makefile.vm Sat Jan 24 21:21:39 2015 (r277660)
@@ -50,8 +50,8 @@ vm-${_CW:tl}:
.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
CLEANDIRS+= ${VMTARGETS}
-CLEANFILES+= ${VMBASE}.img
. for FORMAT in ${VMFORMATS}
+CLEANFILES+= ${FORMAT}.img
CLEANFILES+= ${VMBASE}.${FORMAT}
. endfor
.endif
@@ -65,7 +65,7 @@ vm-image:
env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
${.CURDIR}/scripts/mk-vmimage.sh \
-C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \
- -i ${.OBJDIR}/${VMBASE}.img -s ${VMSIZE} -f ${FORMAT} \
+ -i ${.OBJDIR}/${FORMAT}.img -s ${VMSIZE} -f ${FORMAT} \
-S ${WORLDDIR} -o ${.OBJDIR}/${VMBASE}.${FORMAT}
. endfor
.endif
Modified: projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml
==============================================================================
--- projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/release/doc/en_US.ISO8859-1/relnotes/article.xml Sat Jan 24 21:21:39 2015 (r277660)
@@ -20,7 +20,7 @@
<pubdate>$FreeBSD$</pubdate>
- <!-- Last rev: 276551 -->
+ <!-- Last rev: 277458 -->
<copyright>
<year>2015</year>
@@ -691,6 +691,10 @@
has been updated to support <acronym>UTF</acronym>-8, which
additionally provides unicode support to &man.sh.1;.</para>
+ <para revision="277166" arch="powerpc">The &man.ptrace.2; system
+ call has been updated include support for Altivec registers on
+ &os;/&arch.powerpc;.</para>
+
<sect3 xml:id="abi-compat">
<title><acronym>ABI</acronym> Compatibility</title>
@@ -791,6 +795,11 @@
<application>strings</application> were switched to the
versions from the ELF Tool Chain project.</para>
+ <para revision="276881">The <literal>libedit</literal> library
+ has been updated to include <acronym>UTF-8</acronym> support,
+ adding <acronym>UTF-8</acronym> support to the &man.sh.1;
+ shell.</para>
+
<para revision="277270"><application>OpenSSL</application> has
been updated to version 1.0.1l.</para>
</sect2>
@@ -804,7 +813,10 @@
<sect2 xml:id="releng">
<title>Release Engineering and Integration</title>
- <para> </para>
+ <para revision="277458" contrib="sponsor" sponsor="&ff;">The
+ Release Engineering build tools have been updated to include
+ support for producing virtual machine disk images for various
+ cloud hosting providers.</para>
</sect2>
<sect2 xml:id="doc">
Modified: projects/building-blocks/release/picobsd/build/picobsd
==============================================================================
--- projects/building-blocks/release/picobsd/build/picobsd Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/release/picobsd/build/picobsd Sat Jan 24 21:21:39 2015 (r277660)
@@ -734,8 +734,8 @@ populate_mfs_tree() {
[ -n "${copy_files}" ] && do_copyfiles ${dst} copy_files
do_copyfiles_user ${dst} || true
[ -n "${links}" ] && do_links ${dst} links
- strip ${dst}/libexec/* ${dst}/lib/* ${dst}/stand/* 2> /dev/null || true
-
+ strip ${dst}/libexec/* ${dst}/lib/* 2> /dev/null || true
+ # strip ${dst}/stand/* 2> /dev/null || true
# The 'import_files' mechanism is deprecated, as it requires
# root permissions to follow the symlinks, and also does
# not let you rename the entries.
@@ -756,7 +756,7 @@ populate_mfs_tree() {
# override the owner
echo "/set uid=0 gid=0" > mtree.out
mtree -ic -p ${dst} -k "" >> mtree.out
- log "mtre.out at ${BUILDDIR}/mtree.out"
+ log "mtree.out at ${BUILDDIR}/mtree.out size ${MFS_SIZE}k"
makefs -t ffs -o bsize=4096 -o fsize=512 \
-s ${MFS_SIZE}k -f 1000 -F mtree.out ${c_fs} ${dst}
ls -l ${c_fs} )
Modified: projects/building-blocks/sbin/ping/ping.c
==============================================================================
--- projects/building-blocks/sbin/ping/ping.c Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/sbin/ping/ping.c Sat Jan 24 21:21:39 2015 (r277660)
@@ -713,7 +713,7 @@ main(int argc, char *const *argv)
ip->ip_hl = sizeof(struct ip) >> 2;
ip->ip_tos = tos;
ip->ip_id = 0;
- ip->ip_off = df ? IP_DF : 0;
+ ip->ip_off = htons(df ? IP_DF : 0);
ip->ip_ttl = ttl;
ip->ip_p = IPPROTO_ICMP;
ip->ip_src.s_addr = source ? sock_in.sin_addr.s_addr : INADDR_ANY;
@@ -1078,7 +1078,7 @@ pinger(void)
if (options & F_HDRINCL) {
cc += sizeof(struct ip);
ip = (struct ip *)outpackhdr;
- ip->ip_len = cc;
+ ip->ip_len = htons(cc);
ip->ip_sum = in_cksum((u_short *)outpackhdr, cc);
packet = outpackhdr;
}
Modified: projects/building-blocks/share/man/man3/tree.3
==============================================================================
--- projects/building-blocks/share/man/man3/tree.3 Sat Jan 24 21:05:18 2015 (r277659)
+++ projects/building-blocks/share/man/man3/tree.3 Sat Jan 24 21:21:39 2015 (r277660)
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 10, 2013
+.Dd January 24, 2015
.Dt TREE 3
.Os
.Sh NAME
@@ -53,8 +53,26 @@
.Nm SPLAY_REMOVE ,
.Nm RB_PROTOTYPE ,
.Nm RB_PROTOTYPE_STATIC ,
+.Nm RB_PROTOTYPE_INSERT ,
+.Nm RB_PROTOTYPE_INSERT_COLOR ,
+.Nm RB_PROTOTYPE_REMOVE ,
+.Nm RB_PROTOTYPE_REMOVE_COLOR ,
+.Nm RB_PROTOTYPE_FIND ,
+.Nm RB_PROTOTYPE_NFIND ,
+.Nm RB_PROTOTYPE_NEXT ,
+.Nm RB_PROTOTYPE_PREV ,
+.Nm RB_PROTOTYPE_MINMAX ,
.Nm RB_GENERATE ,
.Nm RB_GENERATE_STATIC ,
+.Nm RB_GENERATE_INSERT ,
+.Nm RB_GENERATE_INSERT_COLOR ,
+.Nm RB_GENERATE_REMOVE ,
+.Nm RB_GENERATE_REMOVE_COLOR ,
+.Nm RB_GENERATE_FIND ,
+.Nm RB_GENERATE_NFIND ,
+.Nm RB_GENERATE_NEXT ,
+.Nm RB_GENERATE_PREV ,
+.Nm RB_GENERATE_MINMAX ,
.Nm RB_ENTRY ,
.Nm RB_HEAD ,
.Nm RB_INITIALIZER ,
@@ -111,8 +129,26 @@
.Fn SPLAY_REMOVE NAME "SPLAY_HEAD *head" "struct TYPE *elm"
.Fn RB_PROTOTYPE NAME TYPE FIELD CMP
.Fn RB_PROTOTYPE_STATIC NAME TYPE FIELD CMP
+.Fn RB_PROTOTYPE_INSERT NAME TYPE ATTR
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list