CVS commit: src/usr.bin/make
Module Name:src Committed By: sjg Date: Tue Oct 1 05:37:17 UTC 2013 Modified Files: src/usr.bin/make: meta.c Log Message: meta_oodate: 'L'ink and 'M'ove entries need extra processing. The src of a Link should be treated as a file Read while the target a file Written. The src of a Move is like a file Deleted and the target like a file Written. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/usr.bin/make/meta.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/make/meta.c diff -u src/usr.bin/make/meta.c:1.32 src/usr.bin/make/meta.c:1.33 --- src/usr.bin/make/meta.c:1.32 Tue Jun 25 00:20:54 2013 +++ src/usr.bin/make/meta.c Tue Oct 1 05:37:17 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: meta.c,v 1.32 2013/06/25 00:20:54 sjg Exp $ */ +/* $NetBSD: meta.c,v 1.33 2013/10/01 05:37:17 sjg Exp $ */ /* * Implement 'meta' mode. @@ -860,6 +860,13 @@ string_match(const void *p, const void * continue; \ } +#define DEQUOTE(p) if (*p == '\'') { \ +char *ep; \ +p++; \ +if ((ep = strchr(p, '\''))) \ + *ep = '\0'; \ +} + Boolean meta_oodate(GNode *gn, Boolean oodate) { @@ -872,6 +879,8 @@ meta_oodate(GNode *gn, Boolean oodate) char fname2[MAXPATHLEN]; char *p; char *cp; +char *link_src; +char *move_target; static size_t cwdlen = 0; static size_t tmplen = 0; FILE *fp; @@ -938,6 +947,8 @@ meta_oodate(GNode *gn, Boolean oodate) oodate = TRUE; break; } + link_src = NULL; + move_target = NULL; /* Find the start of the build monitor section. */ if (!f) { if (strncmp(buf, -- filemon, 10) == 0) { @@ -1051,16 +1062,21 @@ meta_oodate(GNode *gn, Boolean oodate) break; case 'M': /* renaMe */ - if (Lst_IsEmpty(missingFiles)) - break; + /* + * For 'M'oves we want to check + * the src as for 'R'ead + * and the target as for 'W'rite. + */ + cp = p; /* save this for a second */ + /* now get target */ + if (strsep(p, ) == NULL) + continue; + CHECK_VALID_META(p); + move_target = p; + p = cp; /* 'L' and 'M' put single quotes around the args */ - if (*p == '\'') { - char *ep; - - p++; - if ((ep = strchr(p, '\''))) - *ep = '\0'; - } + DEQUOTE(p); + DEQUOTE(move_target); /* FALLTHROUGH */ case 'D': /* unlink */ if (*p == '/' !Lst_IsEmpty(missingFiles)) { @@ -1072,22 +1088,39 @@ meta_oodate(GNode *gn, Boolean oodate) ln = NULL; /* we're done with it */ } } + if (buf[0] == 'M') { + /* the target of the mv is a file 'W'ritten */ +#ifdef DEBUG_META_MODE + if (DEBUG(META)) + fprintf(debug_file, meta_oodate: M %s - %s\n, +p, move_target); +#endif + p = move_target; + goto check_write; + } break; case 'L': /* Link */ - /* we want the target */ + /* + * For 'L'inks check + * the src as for 'R'ead + * and the target as for 'W'rite. + */ + link_src = p; + /* now get target */ if (strsep(p, ) == NULL) continue; CHECK_VALID_META(p); /* 'L' and 'M' put single quotes around the args */ - if (*p == '\'') { - char *ep; - - p++; - if ((ep = strchr(p, '\''))) - *ep = '\0'; - } + DEQUOTE(p); + DEQUOTE(link_src); +#ifdef DEBUG_META_MODE + if (DEBUG(META)) + fprintf(debug_file, meta_oodate: L %s - %s\n, +link_src, p); +#endif /* FALLTHROUGH */ case 'W': /* Write */ + check_write: /* * If a file we generated within our bailiwick * but outside of .OBJDIR is missing, @@ -1119,6 +1152,14 @@ meta_oodate(GNode *gn, Boolean oodate) Lst_AtEnd(missingFiles, bmake_strdup(p)); } break; + check_link_src: + p = link_src; + link_src = NULL; +#ifdef DEBUG_META_MODE + if (DEBUG(META)) + fprintf(debug_file, meta_oodate: L src %s\n, p); +#endif + /* FALLTHROUGH */ case 'R': /* Read */ case 'E': /* Exec */ /* @@ -1213,6 +1254,8 @@ meta_oodate(GNode *gn, Boolean oodate) default: break; } + if (!oodate buf[0] == 'L' link_src != NULL) + goto check_link_src; } else if (strcmp(buf, CMD) == 0) { /* * Compare the current command with the one in the
CVS commit: src/sys/arch/evbarm/gemini
Module Name:src Committed By: skrll Date: Tue Oct 1 07:48:35 UTC 2013 Modified Files: src/sys/arch/evbarm/gemini: gemini_start.S Log Message: Appease new gas. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/evbarm/gemini/gemini_start.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/gemini/gemini_start.S diff -u src/sys/arch/evbarm/gemini/gemini_start.S:1.8 src/sys/arch/evbarm/gemini/gemini_start.S:1.9 --- src/sys/arch/evbarm/gemini/gemini_start.S:1.8 Thu Jun 30 20:09:24 2011 +++ src/sys/arch/evbarm/gemini/gemini_start.S Tue Oct 1 07:48:35 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: gemini_start.S,v 1.8 2011/06/30 20:09:24 wiz Exp $ */ +/* $NetBSD: gemini_start.S,v 1.9 2013/10/01 07:48:35 skrll Exp $ */ /* * Machine dependent startup code for GEMINI boards. @@ -91,20 +91,20 @@ #include arm/armreg.h #include assym.h -RCSID($NetBSD: gemini_start.S,v 1.8 2011/06/30 20:09:24 wiz Exp $) +RCSID($NetBSD: gemini_start.S,v 1.9 2013/10/01 07:48:35 skrll Exp $) #if defined(VERBOSE_INIT_ARM) # define _PUTCHAR(addr, areg, breg, c) \ ldr areg, addr;\ 1: \ - ldr breg, [ areg, #0x14 ]; /* LSR*/ \ + ldr breg, [areg, #0x14]; /* LSR*/ \ tst breg, #0x20; /* TXRDY? */ \ beq 1b; \ mov breg, #(c); /* c*/ \ - str breg, [ areg ]; /* TXDATA */ \ + str breg, [areg]; /* TXDATA */ \ 2: \ - ldr breg, [ areg, #0x14 ]; /* LSR*/ \ + ldr breg, [areg, #0x14]; /* LSR*/ \ tst breg, #0x40; /* TSRE? */ \ beq 2b; #else
CVS commit: src/usr.bin/infocmp
Module Name:src Committed By: roy Date: Tue Oct 1 09:01:49 UTC 2013 Modified Files: src/usr.bin/infocmp: infocmp.c Log Message: terminfo uses CDB instead of DB To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/usr.bin/infocmp/infocmp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.bin/infocmp/infocmp.c diff -u src/usr.bin/infocmp/infocmp.c:1.7 src/usr.bin/infocmp/infocmp.c:1.8 --- src/usr.bin/infocmp/infocmp.c:1.7 Mon Feb 22 23:05:39 2010 +++ src/usr.bin/infocmp/infocmp.c Tue Oct 1 09:01:49 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: infocmp.c,v 1.7 2010/02/22 23:05:39 roy Exp $ */ +/* $NetBSD: infocmp.c,v 1.8 2013/10/01 09:01:49 roy Exp $ */ /* * Copyright (c) 2009, 2010 The NetBSD Foundation, Inc. @@ -28,7 +28,7 @@ */ #include sys/cdefs.h -__RCSID($NetBSD: infocmp.c,v 1.7 2010/02/22 23:05:39 roy Exp $); +__RCSID($NetBSD: infocmp.c,v 1.8 2013/10/01 09:01:49 roy Exp $); #include sys/ioctl.h @@ -723,7 +723,7 @@ main(int argc, char **argv) printf(internal database\n); else printf(%s%s\n, _ti_database, -*_ti_database == '/' ? .db : ); +*_ti_database == '/' ? .cdb : ); } printf(%s, t-name); if (t-_alias != NULL *t-_alias != '\0')
CVS commit: src/share/terminfo
Module Name:src Committed By: roy Date: Tue Oct 1 09:17:41 UTC 2013 Modified Files: src/share/terminfo: terminfo Log Message: Import terminfo-20130607.src + mbalmers typo patch All our prior patches have been incorporated. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/share/terminfo/terminfo Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: src/external/gpl3/binutils/dist/gas/config
Module Name:src Committed By: skrll Date: Tue Oct 1 10:06:18 UTC 2013 Modified Files: src/external/gpl3/binutils/dist/gas/config: te-armnbsd.h Log Message: Default to ARM_ARCH_V4. Minimum processor for all arm ports is really StrongARM and has been for sometime. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 \ src/external/gpl3/binutils/dist/gas/config/te-armnbsd.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/dist/gas/config/te-armnbsd.h diff -u src/external/gpl3/binutils/dist/gas/config/te-armnbsd.h:1.1 src/external/gpl3/binutils/dist/gas/config/te-armnbsd.h:1.2 --- src/external/gpl3/binutils/dist/gas/config/te-armnbsd.h:1.1 Mon Sep 30 16:16:31 2013 +++ src/external/gpl3/binutils/dist/gas/config/te-armnbsd.h Tue Oct 1 10:06:17 2013 @@ -19,4 +19,4 @@ #include te-nbsd.h -#define CPU_DEFAULT ARM_ARCH_V3 +#define CPU_DEFAULT ARM_ARCH_V4
CVS commit: src/sys/arch/evbarm/conf
Module Name:src Committed By: kiyohara Date: Tue Oct 1 11:24:49 UTC 2013 Modified Files: src/sys/arch/evbarm/conf: OVERO Log Message: Add OMAP_MPU_CLOCK_FREQ=1300. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/sys/arch/evbarm/conf/OVERO Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/conf/OVERO diff -u src/sys/arch/evbarm/conf/OVERO:1.32 src/sys/arch/evbarm/conf/OVERO:1.33 --- src/sys/arch/evbarm/conf/OVERO:1.32 Thu Sep 26 16:14:34 2013 +++ src/sys/arch/evbarm/conf/OVERO Tue Oct 1 11:24:49 2013 @@ -1,5 +1,5 @@ # -# $NetBSD: OVERO,v 1.32 2013/09/26 16:14:34 kiyohara Exp $ +# $NetBSD: OVERO,v 1.33 2013/10/01 11:24:49 kiyohara Exp $ # # OVERO -- Gumstix. Inc. Overo COMS platforms kernel # @@ -205,6 +205,7 @@ omapmputmr0 at obio2 addr 0x49032000 int omapmputmr1 at obio2 addr 0x49034000 intr 39 # GP Timer 3 # Microtime Reference Timer omapmputmr2 at obio2 addr 0x49036000 intr 40 # GP Timer 4 +options OMAP_MPU_TIMER_CLOCK_FREQ=1300 # Watchdog timers omapwdt32k* at obio1 addr 0x48314000 size 0x1000 # WDT2
CVS commit: src/external/bsd/top/dist
Module Name:src Committed By: roy Date: Tue Oct 1 11:39:38 UTC 2013 Modified Files: src/external/bsd/top/dist: screen.c Log Message: Allow interactive displays if the termcap entry does not have the `li' setting but we can calculate the lines from ioctl. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/bsd/top/dist/screen.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/top/dist/screen.c diff -u src/external/bsd/top/dist/screen.c:1.4 src/external/bsd/top/dist/screen.c:1.5 --- src/external/bsd/top/dist/screen.c:1.4 Sat Dec 24 22:29:48 2011 +++ src/external/bsd/top/dist/screen.c Tue Oct 1 11:39:37 2013 @@ -273,8 +273,7 @@ screen_readtermcap(int interactive) /* set up common terminal capabilities */ if ((screen_length = tgetnum(li)) = 0) { - screen_length = smart_terminal = 0; - return No; + screen_length = 0; } /* screen_width is a little different */ @@ -329,6 +328,13 @@ screen_readtermcap(int interactive) sets lower_left. */ screen_getsize(); +/* If screen_length is 0 from both termcap and ioctl then we are dumb */ +if (screen_length == 0) +{ +smart_terminal = No; +return No; +} + /* if stdout is not a terminal, pretend we are a dumb terminal */ #ifdef USE_SGTTY if (ioctl(STDOUT, TIOCGETP, old_settings) == -1)
CVS commit: src/lib/libcurses
Module Name:src Committed By: blymn Date: Tue Oct 1 11:41:15 UTC 2013 Modified Files: src/lib/libcurses: getstr.c Log Message: Use the internal version of touchline to update the line. To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/lib/libcurses/getstr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libcurses/getstr.c diff -u src/lib/libcurses/getstr.c:1.22 src/lib/libcurses/getstr.c:1.23 --- src/lib/libcurses/getstr.c:1.22 Fri Jan 27 15:37:09 2012 +++ src/lib/libcurses/getstr.c Tue Oct 1 11:41:14 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: getstr.c,v 1.22 2012/01/27 15:37:09 christos Exp $ */ +/* $NetBSD: getstr.c,v 1.23 2013/10/01 11:41:14 blymn Exp $ */ /* * Copyright (c) 1981, 1993, 1994 @@ -35,7 +35,7 @@ #if 0 static char sccsid[] = @(#)getstr.c 8.2 (Berkeley) 5/4/94; #else -__RCSID($NetBSD: getstr.c,v 1.22 2012/01/27 15:37:09 christos Exp $); +__RCSID($NetBSD: getstr.c,v 1.23 2013/10/01 11:41:14 blymn Exp $); #endif #endif/* not lint */ @@ -178,7 +178,7 @@ __wgetnstr(WINDOW *win, char *str, int n win, c, remain); #endif *str = c; - touchline(win, win-cury, 1); + __touchline(win, win-cury, 0, (int) win-maxx - 1); if (c == ec || c == KEY_BACKSPACE || c == KEY_LEFT) { *str = '\0'; if (str != ostr) {
CVS commit: src/tools/binutils
Module Name:src Committed By: skrll Date: Tue Oct 1 15:41:17 UTC 2013 Modified Files: src/tools/binutils: mknative-binutils Log Message: Grab enable_initfini_array from the ld Makefile To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/tools/binutils/mknative-binutils Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tools/binutils/mknative-binutils diff -u src/tools/binutils/mknative-binutils:1.8 src/tools/binutils/mknative-binutils:1.9 --- src/tools/binutils/mknative-binutils:1.8 Sun Sep 25 04:00:58 2011 +++ src/tools/binutils/mknative-binutils Tue Oct 1 15:41:17 2013 @@ -1,5 +1,5 @@ #!/bin/sh -# $NetBSD: mknative-binutils,v 1.8 2011/09/25 04:00:58 christos Exp $ +# $NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp $ # # Shell script for generating all the constants needed for a native # platform build of src/external/gpl3/binutils @@ -122,6 +122,8 @@ get_binutils () { DEFS EMUL EMULATION_OFILES INCLUDES OFILES STRINGIFY TEXINFOS getvars ld/Makefile \ target_alias | sed 's,[\._0-9A-Z]*$,,' + getvars ld/Makefile \ + enable_initfini_array } | write_mk external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH/defs.mk for f in config ldemul-list; do
CVS commit: src/external/gpl3/binutils/usr.bin/ld
Module Name:src Committed By: skrll Date: Tue Oct 1 16:07:35 UTC 2013 Modified Files: src/external/gpl3/binutils/usr.bin/ld: Makefile Log Message: Use G_enable_initfini_array and default to no while mknative is rerun. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/external/gpl3/binutils/usr.bin/ld/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/usr.bin/ld/Makefile diff -u src/external/gpl3/binutils/usr.bin/ld/Makefile:1.19 src/external/gpl3/binutils/usr.bin/ld/Makefile:1.20 --- src/external/gpl3/binutils/usr.bin/ld/Makefile:1.19 Sun Sep 29 14:20:37 2013 +++ src/external/gpl3/binutils/usr.bin/ld/Makefile Tue Oct 1 16:07:35 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.19 2013/09/29 14:20:37 christos Exp $ +# $NetBSD: Makefile,v 1.20 2013/10/01 16:07:35 skrll Exp $ .include bsd.own.mk @@ -84,13 +84,15 @@ EMUL_LIB_PATH.${f}=/usr/lib #GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh ${srcdir} ${libdir} ${prefix} ${exec_prefix} @host@ @target@ @ta rget_alias@ @EMULATION_LIBPATH@ @NATIVE_LIB_DIRS@ @use_sysroot@ +G_enable_initfini_array?=no + e${f}.c: ${DIST}/ld/genscripts.sh ${.CURDIR}/Makefile stringify.sed ${_MKTARGET_CREATE} unset MACHINE || true; \ LIB_PATH=${EMUL_LIB_PATH.${f}} NATIVE=yes \ ${HOST_SH} ${DIST}/ld/genscripts.sh ${DIST}/ld ${LIBDIR} /usr /usr/bin \ ${G_target_alias} ${G_target_alias} ${G_target_alias} \ - ${G_EMUL} ${LIBDIR} yes yes ${f} ${G_target_alias} + ${G_EMUL} ${LIBDIR} yes ${G_enable_initfini_array} ${f} ${G_target_alias} .if ${BINUTILS_MACHINE_ARCH} == x86_64 \ || ${BINUTILS_MACHINE_ARCH} == sparc64 \
CVS commit: src/external/gpl3/binutils/usr.bin/ld/arch/x86_64
Module Name:src Committed By: skrll Date: Tue Oct 1 15:43:00 UTC 2013 Modified Files: src/external/gpl3/binutils/usr.bin/ld/arch/x86_64: defs.mk Log Message: Re-run binutils mknative for amd64 to grab enable_initfini_array To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/defs.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/defs.mk diff -u src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/defs.mk:1.3 src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/defs.mk:1.4 --- src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/defs.mk:1.3 Sun Sep 29 14:20:37 2013 +++ src/external/gpl3/binutils/usr.bin/ld/arch/x86_64/defs.mk Tue Oct 1 15:43:00 2013 @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-binutils,v 1.8 2011/09/25 04:00:58 christos Exp +# Generated from: NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_DEFS=-DHAVE_CONFIG_H @@ -10,3 +10,4 @@ G_OFILES=ldgram.o ldlex-wrapper.o lexsup G_STRINGIFY=astring.sed G_TEXINFOS=ld.texinfo G_target_alias=x86_64--netbsd +G_enable_initfini_array=no
CVS commit: src/lib/libarch/sparc/v8
Module Name:src Committed By: mrg Date: Tue Oct 1 17:37:08 UTC 2013 Modified Files: src/lib/libarch/sparc/v8: Makefile Log Message: pass -Av8 to the assembler. binutils 2.23 insists on it for v8 instructions. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/lib/libarch/sparc/v8/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libarch/sparc/v8/Makefile diff -u src/lib/libarch/sparc/v8/Makefile:1.3 src/lib/libarch/sparc/v8/Makefile:1.4 --- src/lib/libarch/sparc/v8/Makefile:1.3 Sat May 3 20:43:54 2008 +++ src/lib/libarch/sparc/v8/Makefile Tue Oct 1 17:37:08 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2008/05/03 20:43:54 nakayama Exp $ +# $NetBSD: Makefile,v 1.4 2013/10/01 17:37:08 mrg Exp $ NOLINKLIB= # defined NOPROFILE= # defined @@ -10,6 +10,8 @@ LIB= sparc_v8 DPLIBC= # nothing LDLIBC= -nodefaultlibs +AFLAGS+= -Av8 + SRCS= sparc_v8.S .include bsd.lib.mk
CVS commit: src/sys/fs/tmpfs
Module Name:src Committed By: rmind Date: Tue Oct 1 23:10:25 UTC 2013 Modified Files: src/sys/fs/tmpfs: tmpfs_vnops.c Log Message: tmpfs_remove: as per POSIX, if the file's link count is not 0, the last file status change timestamp of the file shall be marked for update. From Pedro Martelletto. To generate a diff of this commit: cvs rdiff -u -r1.101 -r1.102 src/sys/fs/tmpfs/tmpfs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/fs/tmpfs/tmpfs_vnops.c diff -u src/sys/fs/tmpfs/tmpfs_vnops.c:1.101 src/sys/fs/tmpfs/tmpfs_vnops.c:1.102 --- src/sys/fs/tmpfs/tmpfs_vnops.c:1.101 Mon Mar 18 19:35:40 2013 +++ src/sys/fs/tmpfs/tmpfs_vnops.c Tue Oct 1 23:10:25 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: tmpfs_vnops.c,v 1.101 2013/03/18 19:35:40 plunky Exp $ */ +/* $NetBSD: tmpfs_vnops.c,v 1.102 2013/10/01 23:10:25 rmind Exp $ */ /* * Copyright (c) 2005, 2006, 2007 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ */ #include sys/cdefs.h -__KERNEL_RCSID(0, $NetBSD: tmpfs_vnops.c,v 1.101 2013/03/18 19:35:40 plunky Exp $); +__KERNEL_RCSID(0, $NetBSD: tmpfs_vnops.c,v 1.102 2013/10/01 23:10:25 rmind Exp $); #include sys/param.h #include sys/dirent.h @@ -707,6 +707,11 @@ tmpfs_remove(void *v) tmpfs_dir_attach(dvp, de, TMPFS_NODE_WHITEOUT); else tmpfs_free_dirent(VFS_TO_TMPFS(vp-v_mount), de); + if (node-tn_links 0) { + /* We removed a hard link. */ + node-tn_status |= TMPFS_NODE_CHANGED; + tmpfs_update(vp, NULL, NULL, NULL, 0); + } error = 0; out: /* Drop the references and unlock the vnodes. */