svn commit: r324103 - head/lib/libc/locale
Author: bdrewery Date: Fri Sep 29 16:30:50 2017 New Revision: 324103 URL: https://svnweb.freebsd.org/changeset/base/324103 Log: __setrunelocale: Fix asprintf(3) failure not returning an error. Also fix the style of the asprintf(3) call in __collate_load_tables_l(). Both of these lines were modified away from snprintf(3) during the import from DragonFly/Illumos. Reviewed by: jilles (briefly over shoulder) MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/lib/libc/locale/collate.c head/lib/libc/locale/setrunelocale.c Modified: head/lib/libc/locale/collate.c == --- head/lib/libc/locale/collate.c Fri Sep 29 15:53:26 2017 (r324102) +++ head/lib/libc/locale/collate.c Fri Sep 29 16:30:50 2017 (r324103) @@ -125,8 +125,7 @@ __collate_load_tables_l(const char *encoding, struct x return (_LDP_CACHE); } - asprintf(, "%s/%s/LC_COLLATE", _PathLocale, encoding); - if (buf == NULL) + if (asprintf(, "%s/%s/LC_COLLATE", _PathLocale, encoding) == -1) return (_LDP_ERROR); if ((fd = _open(buf, O_RDONLY)) < 0) { Modified: head/lib/libc/locale/setrunelocale.c == --- head/lib/libc/locale/setrunelocale.cFri Sep 29 15:53:26 2017 (r324102) +++ head/lib/libc/locale/setrunelocale.cFri Sep 29 16:30:50 2017 (r324103) @@ -110,9 +110,8 @@ __setrunelocale(struct xlocale_ctype *l, const char *e } /* Range checking not needed, encoding length already checked before */ - asprintf(, "%s/%s/LC_CTYPE", _PathLocale, encoding); - if (path == NULL) - return (0); + if (asprintf(, "%s/%s/LC_CTYPE", _PathLocale, encoding) == -1) + return (errno); if ((rl = _Read_RuneMagi(path)) == NULL) { free(path); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r323620 - head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise
Author: bdrewery Date: Fri Sep 15 19:48:48 2017 New Revision: 323620 URL: https://svnweb.freebsd.org/changeset/base/323620 Log: Fix the raise tests. - The exit probe was not appropriately filtered to only the known pid so it was firing on any random process that would exit rather the only the one we cared about. - The dtest script executes the tst.raise*.exe in the background from POSIX sh without jobs control. POSIX mandates that SIGINT be set to SIG_IGN in this case. The test executable never actually tested that SIGINT could be caught despite trying to block and delay the signal. So the SIGINT sent from raise() is never actually received since it is ignored. This could be fixed by calling 'trap - INT' from dtest before running the executable but I've opted to just use SIGUSR1 instead in these specific tests rather than adding more logic to test that SIGINT is not ignored at startup. These 2 issues meant that the tests would randomly work but only if a process coincidentally exited during the test. Reviewed by: markj MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.c head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.d head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.c head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.d head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.c head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.d Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.c == --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.c Fri Sep 15 19:47:44 2017(r323619) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.c Fri Sep 15 19:48:48 2017(r323620) @@ -35,13 +35,13 @@ main(int argc, char **argv) sigset_t ss; (void) sigemptyset(); - (void) sigaddset(, SIGINT); + (void) sigaddset(, SIGUSR1); (void) sigprocmask(SIG_BLOCK, , NULL); do { (void) getpid(); (void) sigpending(); - } while (!sigismember(, SIGINT)); + } while (!sigismember(, SIGUSR1)); return (0); } Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.d == --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.d Fri Sep 15 19:47:44 2017(r323619) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise1.d Fri Sep 15 19:48:48 2017(r323620) @@ -47,7 +47,7 @@ syscall::getpid:entry /pid == $1/ { trace("raised"); - raise(SIGINT); + raise(SIGUSR1); /* * Wait no more than half a second for the process to die. */ @@ -55,6 +55,7 @@ syscall::getpid:entry } syscall::exit:entry +/pid == $1/ { exit(0); } Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.c == --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.c Fri Sep 15 19:47:44 2017(r323619) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.c Fri Sep 15 19:48:48 2017(r323620) @@ -45,7 +45,7 @@ main(int argc, char **argv) sigemptyset(_mask); sa.sa_flags = 0; - (void) sigaction(SIGINT, , NULL); + (void) sigaction(SIGUSR1, , NULL); for (;;) { (void) getpid(); Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.d == --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.d Fri Sep 15 19:47:44 2017(r323619) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise2.d Fri Sep 15 19:48:48 2017(r323620) @@ -47,7 +47,7 @@ syscall::getpid:return /pid == $1/ { trace("raised"); - raise(SIGINT); + raise(SIGUSR1); /* * Wait no more than half a second for the process to die. */ @@ -55,6 +55,7 @@ syscall::getpid:return } syscall::exit:entry +/pid == $1/ { exit(0); } Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.c == --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.c Fri Sep 15 19:47:44 2017(r323619) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/raise/tst.raise3.c Fri Sep 15 19:48:48 2017(r323620)
svn commit: r323323 - head/share/mk
Author: bdrewery Date: Fri Sep 8 19:20:42 2017 New Revision: 323323 URL: https://svnweb.freebsd.org/changeset/base/323323 Log: Tweak comment for install -S usage since it does not impact the build. The -S flag is currently ignored for builds since we filter through tools/install.sh that is intended for both non-root and cross-builds. Sponsored by: Dell EMC Isilon X-MFC-With: r322565 Modified: head/share/mk/bsd.lib.mk Modified: head/share/mk/bsd.lib.mk == --- head/share/mk/bsd.lib.mkFri Sep 8 18:32:13 2017(r323322) +++ head/share/mk/bsd.lib.mkFri Sep 8 19:20:42 2017(r323323) @@ -327,9 +327,9 @@ _EXTRADEPEND: SHLINSTALLFLAGS+= -fschg .endif .endif -# Install libraries with -S to avoid linker races with WORLDTMP and risk -# of modifying in-use libraries when installing to a running system. -# It is safe to avoid this for NO_ROOT builds that are only creating an image. +# Install libraries with -S to avoid risk of modifying in-use libraries when +# installing to a running system. It is safe to avoid this for NO_ROOT builds +# that are only creating an image. .if !defined(NO_SAFE_LIBINSTALL) && !defined(NO_ROOT) SHLINSTALLFLAGS+= -S .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r322978 - head/sys/kern
Author: bdrewery Date: Mon Aug 28 19:29:51 2017 New Revision: 322978 URL: https://svnweb.freebsd.org/changeset/base/322978 Log: Allow vdrop() of a vnode not yet on the per-mount list after r306512. The old code allowed calling vdrop() before insmntque() to place the vnode back onto the freelist for later recycling. Some downstream consumers may rely on this support. Normally insmntque() failing is fine since is uses vgone() and immediately frees the vnode rather than attempting to add it to the freelist if vdrop() were used instead. Also assert that vhold() cannot be used on such a vnode. Reviewed by: kib, cem, markj Sponsored by: Dell EMC Isilon Differential Revision:https://reviews.freebsd.org/D12126 Modified: head/sys/kern/vfs_subr.c Modified: head/sys/kern/vfs_subr.c == --- head/sys/kern/vfs_subr.cMon Aug 28 19:27:33 2017(r322977) +++ head/sys/kern/vfs_subr.cMon Aug 28 19:29:51 2017(r322978) @@ -2861,6 +2861,8 @@ _vhold(struct vnode *vp, bool locked) * Remove a vnode from the free list, mark it as in use, * and put it on the active list. */ + VNASSERT(vp->v_mount != NULL, vp, + ("_vhold: vnode not on per mount vnode list")); mp = vp->v_mount; mtx_lock(>mnt_listmtx); if ((vp->v_mflag & VMP_TMPMNTFREELIST) != 0) { @@ -2935,21 +2937,35 @@ _vdrop(struct vnode *vp, bool locked) if ((vp->v_iflag & VI_OWEINACT) == 0) { vp->v_iflag &= ~VI_ACTIVE; mp = vp->v_mount; - mtx_lock(>mnt_listmtx); - if (active) { - TAILQ_REMOVE(>mnt_activevnodelist, vp, + if (mp != NULL) { + mtx_lock(>mnt_listmtx); + if (active) { + TAILQ_REMOVE(>mnt_activevnodelist, + vp, v_actfreelist); + mp->mnt_activevnodelistsize--; + } + TAILQ_INSERT_TAIL(>mnt_tmpfreevnodelist, + vp, v_actfreelist); + mp->mnt_tmpfreevnodelistsize++; + vp->v_iflag |= VI_FREE; + vp->v_mflag |= VMP_TMPMNTFREELIST; + VI_UNLOCK(vp); + if (mp->mnt_tmpfreevnodelistsize >= + mnt_free_list_batch) + vnlru_return_batch_locked(mp); + mtx_unlock(>mnt_listmtx); + } else { + VNASSERT(active == 0, vp, + ("vdropl: active vnode not on per mount " + "vnode list")); + mtx_lock(_free_list_mtx); + TAILQ_INSERT_TAIL(_free_list, vp, v_actfreelist); - mp->mnt_activevnodelistsize--; + freevnodes++; + vp->v_iflag |= VI_FREE; + VI_UNLOCK(vp); + mtx_unlock(_free_list_mtx); } - TAILQ_INSERT_TAIL(>mnt_tmpfreevnodelist, vp, - v_actfreelist); - mp->mnt_tmpfreevnodelistsize++; - vp->v_iflag |= VI_FREE; - vp->v_mflag |= VMP_TMPMNTFREELIST; - VI_UNLOCK(vp); - if (mp->mnt_tmpfreevnodelistsize >= mnt_free_list_batch) - vnlru_return_batch_locked(mp); - mtx_unlock(>mnt_listmtx); } else { VI_UNLOCK(vp); counter_u64_add(free_owe_inact, 1); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r306512 - in head/sys: kern sys
On 8/25/2017 3:37 PM, Konstantin Belousov wrote: > On Fri, Aug 25, 2017 at 02:29:28PM -0700, Bryan Drewery wrote: >> https://people.freebsd.org/~bdrewery/patches/vdrop-global-list.diff > I do not object against his handling. > > There is really very small amount of code shared between mp != NULL > and mp == NULL cases, you may consider making them use separate paths > instead of adding more than one check for mp != NULL. > Sure, and I incorrectly was adding VMP_TMPMNTFREELIST flag for mp==NULL case. I'll open a review. > VNASSERT() statement has wrong indent on the continuation line. > -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r306512 - in head/sys: kern sys
On 8/25/2017 3:35 AM, Konstantin Belousov wrote: > On Thu, Aug 24, 2017 at 08:18:03PM -0700, Bryan Drewery wrote: >> On 9/30/2016 10:27 AM, Mateusz Guzik wrote: >>> Author: mjg >>> Date: Fri Sep 30 17:27:17 2016 >>> New Revision: 306512 >>> URL: https://svnweb.freebsd.org/changeset/base/306512 >>> >>> Log: >>> vfs: batch free vnodes in per-mnt lists >>> >>> Previously free vnodes would always by directly returned to the global >>> LRU list. With this change up to mnt_free_list_batch vnodes are collected >>> first. >>> >>> syncer runs always return the batch regardless of its size. >>> >>> While vnodes on per-mnt lists are not counted as free, they can be >>> returned in case of vnode shortage. >>> >>> Reviewed by: kib >>> Tested by:pho >>> >>> Modified: >>> head/sys/kern/vfs_mount.c >>> head/sys/kern/vfs_subr.c >>> head/sys/sys/mount.h >>> head/sys/sys/vnode.h >>> >> ... >>> @@ -2753,17 +2824,25 @@ _vhold(struct vnode *vp, bool locked) >>> * Remove a vnode from the free list, mark it as in use, >>> * and put it on the active list. >>> */ >>> - mtx_lock(_free_list_mtx); >>> - TAILQ_REMOVE(_free_list, vp, v_actfreelist); >>> - freevnodes--; >>> - vp->v_iflag &= ~VI_FREE; >>> + mp = vp->v_mount; >>> + mtx_lock(>mnt_listmtx); >> ^^ >> >>> + if ((vp->v_mflag & VMP_TMPMNTFREELIST) != 0) { >>> + TAILQ_REMOVE(>mnt_tmpfreevnodelist, vp, v_actfreelist); >>> + mp->mnt_tmpfreevnodelistsize--; >>> + vp->v_mflag &= ~VMP_TMPMNTFREELIST; >>> + } else { >>> + mtx_lock(_free_list_mtx); >>> + TAILQ_REMOVE(_free_list, vp, v_actfreelist); >>> + freevnodes--; >>> + mtx_unlock(_free_list_mtx); >>> + } >>> KASSERT((vp->v_iflag & VI_ACTIVE) == 0, >>> ("Activating already active vnode")); >>> + vp->v_iflag &= ~VI_FREE; >>> vp->v_iflag |= VI_ACTIVE; >>> - mp = vp->v_mount; >>> TAILQ_INSERT_HEAD(>mnt_activevnodelist, vp, v_actfreelist); >>> mp->mnt_activevnodelistsize++; >>> - mtx_unlock(_free_list_mtx); >>> + mtx_unlock(>mnt_listmtx); >>> refcount_acquire(>v_holdcnt); >>> if (!locked) >>> VI_UNLOCK(vp); >>> @@ -2819,21 +2898,25 @@ _vdrop(struct vnode *vp, bool locked) >>> if ((vp->v_iflag & VI_OWEINACT) == 0) { >>> vp->v_iflag &= ~VI_ACTIVE; >>> mp = vp->v_mount; >>> - mtx_lock(_free_list_mtx); >>> + mtx_lock(>mnt_listmtx); >> ^^ >> >> If code runs getnewvnode() and then immediately runs vhold() or vrele(), >> without first running insmntque(vp, mp), then vp->v_mount is NULL here >> and the lock/freelist dereferencing just panic. > getnewvnode() returns vref-ed vnode, i.e. both hold and use counts are > set to 1. What is the use case there which requires vhold-ing vnode > without finishing its construction ? None that I can think of. For vhold I was just observing that a NULL dereference is possible. > >> Locking the vnode and then using vgone() and vput() on it avoids the >> issue since it marks the vnode VI_DOOMED and instead frees it in >> _vdrop() rather than try to re-add it to its NULL per-mount free list. > This is the common pattern where insmntque() fails. > >> >> I'm not sure what the right thing here is. Is it a requirement to >> insmntque() a new vnode immediately, or to vgone() it before releasing >> it if was just returned from getnewvnode()? > These are the only uses of a newly allocated vnode which make sense. > Do you need this for something that does not happen in the svn tree ? Outside of the tree in OneFS, we have some code that does getnewvnode(), then adds the unlocked vnode to a kqueue event list (it's actually very complicated compared to the basic description), and then does insmntque. The event list registration is failing in a stress run and it only does a vrele in this case. I need to change it to lock/vgone/vrele (or swap the event registration and insmntque calls of which I'm unsure on the impact). Previously the vrele was enough, and not vgone too, since the vnode
Re: svn commit: r306512 - in head/sys: kern sys
On 9/30/2016 10:27 AM, Mateusz Guzik wrote: > Author: mjg > Date: Fri Sep 30 17:27:17 2016 > New Revision: 306512 > URL: https://svnweb.freebsd.org/changeset/base/306512 > > Log: > vfs: batch free vnodes in per-mnt lists > > Previously free vnodes would always by directly returned to the global > LRU list. With this change up to mnt_free_list_batch vnodes are collected > first. > > syncer runs always return the batch regardless of its size. > > While vnodes on per-mnt lists are not counted as free, they can be > returned in case of vnode shortage. > > Reviewed by:kib > Tested by: pho > > Modified: > head/sys/kern/vfs_mount.c > head/sys/kern/vfs_subr.c > head/sys/sys/mount.h > head/sys/sys/vnode.h > ... > @@ -2753,17 +2824,25 @@ _vhold(struct vnode *vp, bool locked) >* Remove a vnode from the free list, mark it as in use, >* and put it on the active list. >*/ > - mtx_lock(_free_list_mtx); > - TAILQ_REMOVE(_free_list, vp, v_actfreelist); > - freevnodes--; > - vp->v_iflag &= ~VI_FREE; > + mp = vp->v_mount; > + mtx_lock(>mnt_listmtx); ^^ > + if ((vp->v_mflag & VMP_TMPMNTFREELIST) != 0) { > + TAILQ_REMOVE(>mnt_tmpfreevnodelist, vp, v_actfreelist); > + mp->mnt_tmpfreevnodelistsize--; > + vp->v_mflag &= ~VMP_TMPMNTFREELIST; > + } else { > + mtx_lock(_free_list_mtx); > + TAILQ_REMOVE(_free_list, vp, v_actfreelist); > + freevnodes--; > + mtx_unlock(_free_list_mtx); > + } > KASSERT((vp->v_iflag & VI_ACTIVE) == 0, > ("Activating already active vnode")); > + vp->v_iflag &= ~VI_FREE; > vp->v_iflag |= VI_ACTIVE; > - mp = vp->v_mount; > TAILQ_INSERT_HEAD(>mnt_activevnodelist, vp, v_actfreelist); > mp->mnt_activevnodelistsize++; > - mtx_unlock(_free_list_mtx); > + mtx_unlock(>mnt_listmtx); > refcount_acquire(>v_holdcnt); > if (!locked) > VI_UNLOCK(vp); > @@ -2819,21 +2898,25 @@ _vdrop(struct vnode *vp, bool locked) > if ((vp->v_iflag & VI_OWEINACT) == 0) { > vp->v_iflag &= ~VI_ACTIVE; > mp = vp->v_mount; > - mtx_lock(_free_list_mtx); > + mtx_lock(>mnt_listmtx); ^^ If code runs getnewvnode() and then immediately runs vhold() or vrele(), without first running insmntque(vp, mp), then vp->v_mount is NULL here and the lock/freelist dereferencing just panic. Locking the vnode and then using vgone() and vput() on it avoids the issue since it marks the vnode VI_DOOMED and instead frees it in _vdrop() rather than try to re-add it to its NULL per-mount free list. I'm not sure what the right thing here is. Is it a requirement to insmntque() a new vnode immediately, or to vgone() it before releasing it if was just returned from getnewvnode()? Perhaps these cases should assert that v_mount is not NULL or handle the odd case and just free the vnode instead, or can it still just add to the global vnode_free_list if mp is NULL? The old code handled the case fine since the freelist was global and not per-mount. 'mp' was only dereferenced below if the vnode had been active, which was not the case for my example. > if (active) { > TAILQ_REMOVE(>mnt_activevnodelist, vp, > v_actfreelist); > mp->mnt_activevnodelistsize--; > } > - TAILQ_INSERT_TAIL(_free_list, vp, > + TAILQ_INSERT_TAIL(>mnt_tmpfreevnodelist, vp, > v_actfreelist); > - freevnodes++; > + mp->mnt_tmpfreevnodelistsize++; > vp->v_iflag |= VI_FREE; > - mtx_unlock(_free_list_mtx); > + vp->v_mflag |= VMP_TMPMNTFREELIST; > + VI_UNLOCK(vp); > + if (mp->mnt_tmpfreevnodelistsize >= mnt_free_list_batch) > + vnlru_return_batch_locked(mp); > + mtx_unlock(>mnt_listmtx); > } else { > + VI_UNLOCK(vp); > atomic_add_long(_owe_inact, 1); > } > - VI_UNLOCK(vp); > return; > } > /* -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r322585 - in head: . share/mk sys/conf
Author: bdrewery Date: Wed Aug 16 17:54:24 2017 New Revision: 322585 URL: https://svnweb.freebsd.org/changeset/base/322585 Log: Quote ${MAKE} when passing in env in case it contains spaces. Downstream we are wrapping MAKE with a limits(1) call which interferes with these non-quoted cases. Sponsored by: Dell EMC Isilon Modified: head/Makefile head/share/mk/bsd.crunchgen.mk head/sys/conf/kern.post.mk Modified: head/Makefile == --- head/Makefile Wed Aug 16 17:46:45 2017(r322584) +++ head/Makefile Wed Aug 16 17:54:24 2017(r322585) @@ -221,7 +221,7 @@ SUB_MAKE= `test -x ${MYMAKE} && echo ${MYMAKE} || echo SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk .endif -_MAKE= PATH=${PATH} MAKE_CMD=${MAKE} ${SUB_MAKE} -f Makefile.inc1 \ +_MAKE= PATH=${PATH} MAKE_CMD="${MAKE}" ${SUB_MAKE} -f Makefile.inc1 \ TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH} # Only allow meta mode for the whitelisted targets. See META_TGT_WHITELIST Modified: head/share/mk/bsd.crunchgen.mk == --- head/share/mk/bsd.crunchgen.mk Wed Aug 16 17:46:45 2017 (r322584) +++ head/share/mk/bsd.crunchgen.mk Wed Aug 16 17:54:24 2017 (r322585) @@ -114,7 +114,7 @@ CRUNCHENV+= MK_TESTS=no \ ${OUTPUTS:[1]}: .META ${OUTPUTS:[2..-1]}: .NOMETA ${OUTPUTS}: ${CONF} - MAKE=${MAKE} ${CRUNCHENV:NMK_AUTO_OBJ=*} MAKEOBJDIRPREFIX=${CRUNCHOBJS} \ + MAKE="${MAKE}" ${CRUNCHENV:NMK_AUTO_OBJ=*} MAKEOBJDIRPREFIX=${CRUNCHOBJS} \ MK_AUTO_OBJ=${MK_AUTO_OBJ} \ ${CRUNCHGEN} -fq -m ${OUTMK} -c ${OUTC} ${CONF} # Avoid redundantly calling 'make objs' which we've done by our Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Wed Aug 16 17:46:45 2017(r322584) +++ head/sys/conf/kern.post.mk Wed Aug 16 17:54:24 2017(r322585) @@ -372,7 +372,7 @@ config.ln env.ln hints.ln vers.ln vnode_if.ln: REPRO_FLAG="-r" .endif vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP} - MAKE=${MAKE} sh $S/conf/newvers.sh ${REPRO_FLAG} ${KERN_IDENT} + MAKE="${MAKE}" sh $S/conf/newvers.sh ${REPRO_FLAG} ${KERN_IDENT} vnode_if.c: $S/tools/vnode_if.awk $S/kern/vnode_if.src ${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -c ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r322565 - head/share/mk
Author: bdrewery Date: Wed Aug 16 05:02:31 2017 New Revision: 322565 URL: https://svnweb.freebsd.org/changeset/base/322565 Log: Use -S for library installations except for -DNO_ROOT builds. Also disable this if NO_SAFE_LIBINSTALL is defined. There is little harm in always using -S and it fixes several issues: - A race during 'make libraries' where, for example, libgcc_s is being installed while another library is trying to link against it. This is possible because libgcc_s is connected in both _prereq_libs and _startup_libs. The first build (_prereq_libs) sets MK_PROFILE=no while the 2nd pass (_startup_libs) enables MK_PROFILE. Thus the libgcc_s library *is* present in WORLDTMP for other libraries to link to, so serializing further items in _startup_libs is not required. Just ensuring that libgcc_s is installed atomically (via rename(2)) is enough. [1] - Installation to a running system where some library that cannot be detected, copied and used from the temporary INSTALLTMP with LD_LIBRARY_PATH that the build itself uses for installation. Such an example is having the install an NSS module for user lookups that install(1) uses while concurrently installing the module in another process. This is not a problem for the FreeBSD base build but can be for downstream vendors. While this is a very specific case, installation to a running system with non-atomic library installation is prone to many problems. A further step still is to install in proper dependency ordering. Reported by: dhw many times [1] Sponsored by: Dell EMC Isilon MFC after:2 weeks Modified: head/share/mk/bsd.lib.mk Modified: head/share/mk/bsd.lib.mk == --- head/share/mk/bsd.lib.mkWed Aug 16 01:45:53 2017(r322564) +++ head/share/mk/bsd.lib.mkWed Aug 16 05:02:31 2017(r322565) @@ -326,6 +326,11 @@ _EXTRADEPEND: .if !defined(NO_FSCHG) SHLINSTALLFLAGS+= -fschg .endif +.endif +# Install libraries with -S to avoid linker races with WORLDTMP and risk +# of modifying in-use libraries when installing to a running system. +# It is safe to avoid this for NO_ROOT builds that are only creating an image. +.if !defined(NO_SAFE_LIBINSTALL) && !defined(NO_ROOT) SHLINSTALLFLAGS+= -S .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321887 - in head: . share/mk
Author: bdrewery Date: Tue Aug 1 18:26:20 2017 New Revision: 321887 URL: https://svnweb.freebsd.org/changeset/base/321887 Log: CCACHE_BUILD: Follow-up r321880: Fix some PATH issues with buildworld. - bsd.compiler.mk: Must ensure that the CCACHE_WRAPPER_PATH comes first in PATH. - Makefile.inc1: Must prepend the CCACHE_WRAPPER_PATH into BPATH as it overrides the PATH set in bsd.compiler.mk in sub-makes. The PATH set in bsd.compiler.mk is not exported and doing so would cause it to then override the BPATH set from environment. The only sane solution is to prepend into BPATH as needed. CCACHE_PATH could possibly be used for some of this as well. Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 head/share/mk/bsd.compiler.mk Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Tue Aug 1 18:25:04 2017(r321886) +++ head/Makefile.inc1 Tue Aug 1 18:26:20 2017(r321887) @@ -444,7 +444,7 @@ BUILD_ARCH!=uname -p .endif .endif WORLDTMP= ${OBJTREE}${.CURDIR}/tmp -BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin +BPATH= ${CCACHE_WRAPPER_PATH_PFX}${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/bin XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin STRICTTMPPATH= ${BPATH}:${XPATH} TMPPATH= ${STRICTTMPPATH}:${PATH} Modified: head/share/mk/bsd.compiler.mk == --- head/share/mk/bsd.compiler.mk Tue Aug 1 18:25:04 2017 (r321886) +++ head/share/mk/bsd.compiler.mk Tue Aug 1 18:26:20 2017 (r321887) @@ -82,8 +82,11 @@ PATH:= ${PATH:C,:?${CCACHE_WRAPPER_PATH}(/world)?(:$)? ${var}:= ${CCACHE_BIN} ${${var}} .endif .endfor -.elif empty(PATH:M*${CCACHE_WRAPPER_PATH}*) +.else +# Need to ensure CCACHE_WRAPPER_PATH is the first in ${PATH} +PATH:= ${PATH:C,:?${CCACHE_WRAPPER_PATH}(/world)?(:$)?,,g} PATH:= ${CCACHE_WRAPPER_PATH}:${PATH} +CCACHE_WRAPPER_PATH_PFX= ${CCACHE_WRAPPER_PATH}: .endif # ${CCACHE_BUILD_TYPE} == "command" # GCC does not need the CCACHE_CPP2 hack enabled by default in devel/ccache. # The port enables it due to ccache passing preprocessed C to clang ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321882 - head
Author: bdrewery Date: Tue Aug 1 16:41:17 2017 New Revision: 321882 URL: https://svnweb.freebsd.org/changeset/base/321882 Log: NO_CLEAN: No need to run delete-old if the directories don't exist. X-MFC-With: r321443 MFC after:1 month Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Tue Aug 1 16:20:33 2017(r321881) +++ head/Makefile.inc1 Tue Aug 1 16:41:17 2017(r321882) @@ -760,10 +760,12 @@ _worldtmp: .PHONY rm -rf ${LIBCOMPATTMP} .endif .else +.if exists(${WORLDTMP}) @echo ">>> Deleting stale files in build tree..." ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ delete-old delete-old-libs >/dev/null -.if defined(LIBCOMPAT) +.endif +.if defined(LIBCOMPAT) && exists(${LIBCOMPATTMP}) ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ DESTDIR=${LIBCOMPATTMP} \ delete-old delete-old-libs >/dev/null ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321880 - head/share/mk
Author: bdrewery Date: Tue Aug 1 16:15:08 2017 New Revision: 321880 URL: https://svnweb.freebsd.org/changeset/base/321880 Log: CCACHE_BUILD: Allow setting CCACHE_BUILD_TYPE=wrapper. This uses the /usr/local/libexec/ccache/wrappers rather than modifying CC to be '/usr/local/bin/ccache cc'. Some forms of compilation do not support the 'command' type. Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.compiler.mk Modified: head/share/mk/bsd.compiler.mk == --- head/share/mk/bsd.compiler.mk Tue Aug 1 16:05:23 2017 (r321879) +++ head/share/mk/bsd.compiler.mk Tue Aug 1 16:15:08 2017 (r321880) @@ -31,6 +31,9 @@ : .include +# command = /usr/local/bin/ccache cc ... +# wrapper = /usr/local/libexec/ccache/cc ... +CCACHE_BUILD_TYPE?=command # Handle ccache after CC is determined, but not if CC/CXX are already # overridden with a manual setup. .if ${MK_CCACHE_BUILD:Uno} == "yes" && \ @@ -65,19 +68,23 @@ CCACHE_COMPILERCHECK?= content CCACHE_COMPILERCHECK?= mtime .endif .export CCACHE_COMPILERCHECK -# Remove ccache from the PATH to prevent double calls and wasted CPP/LD time. -PATH:= ${PATH:C,:?${CCACHE_WRAPPER_PATH}(/world)?(:$)?,,g} # Ensure no bogus CCACHE_PATH leaks in which might avoid the in-tree compiler. .if !empty(CCACHE_PATH) CCACHE_PATH= .export CCACHE_PATH .endif +.if ${CCACHE_BUILD_TYPE} == "command" +# Remove ccache from the PATH to prevent double calls and wasted CPP/LD time. +PATH:= ${PATH:C,:?${CCACHE_WRAPPER_PATH}(/world)?(:$)?,,g} # Override various toolchain vars. .for var in CC CXX HOST_CC HOST_CXX .if defined(${var}) && ${${var}:M${CCACHE_BIN}} == "" ${var}:= ${CCACHE_BIN} ${${var}} .endif .endfor +.elif empty(PATH:M*${CCACHE_WRAPPER_PATH}*) +PATH:= ${CCACHE_WRAPPER_PATH}:${PATH} +.endif # ${CCACHE_BUILD_TYPE} == "command" # GCC does not need the CCACHE_CPP2 hack enabled by default in devel/ccache. # The port enables it due to ccache passing preprocessed C to clang # which fails with -Wparentheses-equality, -Wtautological-compare, and ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321824 - head/tests/sys/file
Author: bdrewery Date: Mon Jul 31 22:00:27 2017 New Revision: 321824 URL: https://svnweb.freebsd.org/changeset/base/321824 Log: Allow changing the test PORT at compile-time. Sponsored by: Dell EMC Isilon Modified: head/tests/sys/file/newfileops_on_fork_test.c Modified: head/tests/sys/file/newfileops_on_fork_test.c == --- head/tests/sys/file/newfileops_on_fork_test.c Mon Jul 31 22:00:00 2017(r321823) +++ head/tests/sys/file/newfileops_on_fork_test.c Mon Jul 31 22:00:27 2017(r321824) @@ -50,7 +50,9 @@ #include #include +#ifndef PORT #definePORT9000 +#endif static int listen_fd; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321493 - head
Author: bdrewery Date: Tue Jul 25 20:51:06 2017 New Revision: 321493 URL: https://svnweb.freebsd.org/changeset/base/321493 Log: NO_CLEAN: Hide delete-old output. It is full of distracting noise about UPDATING and may confuse the user about what is actually being deleted. It is also possible to have directories removed on every run with use of WITHOUT_ knobs that the mtree files do not account for and for which the directories are incorrectly in OLD_DIRS currently. X-MFC-With: r321443 MFC after:1 month Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Tue Jul 25 20:43:37 2017(r321492) +++ head/Makefile.inc1 Tue Jul 25 20:51:06 2017(r321493) @@ -761,12 +761,13 @@ _worldtmp: .PHONY rm -rf ${LIBCOMPATTMP} .endif .else + @echo ">>> Deleting stale files in build tree..." ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ - delete-old delete-old-libs + delete-old delete-old-libs >/dev/null .if defined(LIBCOMPAT) ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ DESTDIR=${LIBCOMPATTMP} \ - delete-old delete-old-libs + delete-old delete-old-libs >/dev/null .endif rm -rf ${WORLDTMP}/legacy/usr/include .if ${USING_SYSTEM_COMPILER} == "yes" ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321492 - head
Author: bdrewery Date: Tue Jul 25 20:43:37 2017 New Revision: 321492 URL: https://svnweb.freebsd.org/changeset/base/321492 Log: Only build libzfs_core in 'make libraries' if needed. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Tue Jul 25 20:43:26 2017(r321491) +++ head/Makefile.inc1 Tue Jul 25 20:43:37 2017(r321492) @@ -2336,10 +2336,12 @@ _cddl_lib_libumem= cddl/lib/libumem _cddl_lib_libnvpair= cddl/lib/libnvpair _cddl_lib_libavl= cddl/lib/libavl _cddl_lib_libuutil= cddl/lib/libuutil +.if ${MK_ZFS} != "no" _cddl_lib_libzfs_core= cddl/lib/libzfs_core +cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L +.endif _cddl_lib_libctf= cddl/lib/libctf _cddl_lib= cddl/lib -cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L cddl/lib/libctf__L: lib/libz__L .endif # cddl/lib/libdtrace requires lib/libproc and lib/librtld_db; it's only built ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321491 - head
Author: bdrewery Date: Tue Jul 25 20:43:26 2017 New Revision: 321491 URL: https://svnweb.freebsd.org/changeset/base/321491 Log: Remove unneeded dependency for libzfs. This dependency does nothing since cddl/lib/libzfs is never added into the 'make libraries' dependency chain directly. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Tue Jul 25 20:36:44 2017(r321490) +++ head/Makefile.inc1 Tue Jul 25 20:43:26 2017(r321491) @@ -2340,7 +2340,6 @@ _cddl_lib_libzfs_core= cddl/lib/libzfs_core _cddl_lib_libctf= cddl/lib/libctf _cddl_lib= cddl/lib cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L -cddl/lib/libzfs__L: lib/libgeom__L cddl/lib/libctf__L: lib/libz__L .endif # cddl/lib/libdtrace requires lib/libproc and lib/librtld_db; it's only built ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321485 - in head: share/mk sys/conf
Author: bdrewery Date: Tue Jul 25 16:46:12 2017 New Revision: 321485 URL: https://svnweb.freebsd.org/changeset/base/321485 Log: Allow -DNO_SKIP_DEPEND to override the _SKIP_DEPEND logic. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.dep.mk head/sys/conf/kern.post.mk Modified: head/share/mk/bsd.dep.mk == --- head/share/mk/bsd.dep.mkTue Jul 25 16:21:22 2017(r321484) +++ head/share/mk/bsd.dep.mkTue Jul 25 16:46:12 2017(r321485) @@ -88,7 +88,7 @@ _meta_filemon=1 # Also skip generating or including .depend.* files if in meta+filemon mode # since it will track dependencies itself. OBJS_DEPEND_GUESS is still used # for _meta_filemon but not for _SKIP_DEPEND. -.if defined(_SKIP_BUILD) +.if !defined(NO_SKIP_DEPEND) && defined(_SKIP_BUILD) _SKIP_DEPEND= 1 .endif .if ${MK_DIRDEPS_BUILD} == "no" Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Tue Jul 25 16:21:22 2017(r321484) +++ head/sys/conf/kern.post.mk Tue Jul 25 16:46:12 2017(r321485) @@ -201,9 +201,9 @@ _meta_filemon= 1 # Also skip generating or including .depend.* files if in meta+filemon mode # since it will track dependencies itself. OBJS_DEPEND_GUESS is still used # for _meta_filemon but not for _SKIP_DEPEND. -.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(*obj) || \ +.if !defined(NO_SKIP_DEPEND) && (make(*obj) || \ ${.TARGETS:M*clean*} == ${.TARGETS} || \ -${.TARGETS:M*install*} == ${.TARGETS} +${.TARGETS:M*install*} == ${.TARGETS}) _SKIP_DEPEND= 1 .endif .if defined(_SKIP_DEPEND) || defined(_meta_filemon) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r321444 - head/etc
On 7/24/2017 4:57 PM, Ngie Cooper wrote: > Author: ngie > Date: Mon Jul 24 23:57:43 2017 > New Revision: 321444 > URL: https://svnweb.freebsd.org/changeset/base/321444 > > Log: > Remove ${MTREE} and leverage etc/mtree/Makefile instead with > "make distribution". > > This also fixes the fact that BSD.debug.dist was being installed if/when > ${MK_DEBUG_FILES} != "no" before this commit. This was intentional, see r279248. > > MFC after: 2 months > > Modified: > head/etc/Makefile > > Modified: head/etc/Makefile > == > --- head/etc/Makefile Mon Jul 24 23:32:46 2017(r321443) > +++ head/etc/Makefile Mon Jul 24 23:57:43 2017(r321444) > @@ -152,20 +152,6 @@ BIN1+= regdomain.xml > # -rwxr-xr-x root:wheel, for the new cron root:wheel > BIN2=netstart pccard_ether rc.suspend rc.resume > > -MTREE= BSD.debug.dist BSD.include.dist BSD.root.dist BSD.usr.dist > BSD.var.dist > -.if ${MK_LIB32} != "no" > -MTREE+= BSD.lib32.dist > -.endif > -.if ${MK_LIBSOFT} != "no" > -MTREE+= BSD.libsoft.dist > -.endif > -.if ${MK_TESTS} != "no" > -MTREE+= BSD.tests.dist > -.endif > -.if ${MK_SENDMAIL} != "no" > -MTREE+= BSD.sendmail.dist > -.endif > - > PPPCNF= ppp.conf > > .if ${MK_SENDMAIL} == "no" > @@ -254,6 +240,7 @@ distribution: > ${_+_}cd ${.CURDIR}/defaults; ${MAKE} install > ${_+_}cd ${.CURDIR}/devd; ${MAKE} install > ${_+_}cd ${.CURDIR}/gss; ${MAKE} install > + ${_+_}cd ${.CURDIR}/mtree; ${MAKE} install > ${_+_}cd ${.CURDIR}/newsyslog.conf.d; ${MAKE} install > .if ${MK_NTP} != "no" > ${_+_}cd ${.CURDIR}/ntp; ${MAKE} install > @@ -308,8 +295,6 @@ distribution: > rm -f ${DESTDIR}/.cshrc; \ > ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc > .endif > - cd ${.CURDIR}/mtree; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ > - ${MTREE} ${DESTDIR}/etc/mtree > .if ${MK_MAIL} != "no" > cd ${.CURDIR}/mail; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ > ${ETCMAIL} ${DESTDIR}/etc/mail > -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r321445 - head/share/mk
Author: bdrewery Date: Tue Jul 25 00:12:48 2017 New Revision: 321445 URL: https://svnweb.freebsd.org/changeset/base/321445 Log: cleandir: Fix ESTALE errors from parallel removals. This fixes 'make cleandir' to use the same ordering as 'make cleanobj'. Meaning that SUBDIR will be recursed before the current directory is handled. This avoids an 'rm -rf /usr/obj/usr/src/lib/libc' while a child 'rm -rf /usr/obj/usr/src/lib/libc/tests' is being ran next, or even removing the current directory and then recursing into a child and using the 'missing OBJDIR' logic to remove files rather than the directory. The most ideal ordering here would be for 'cleanobj' and 'cleandir' to simply remove the .OBJDIR and then not recurse at all. This is only safe if it is guaranteed that all children directories have no orphaned files in their source checkout and are only using obj directories. This is usually safe from the top-level build targets and when using WITH_AUTO_OBJ. Improving the build for those cases is coming. Reported by: cperciva, scottl X-MFC-With: r321427 MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.obj.mk Modified: head/share/mk/bsd.obj.mk == --- head/share/mk/bsd.obj.mkMon Jul 24 23:57:43 2017(r321444) +++ head/share/mk/bsd.obj.mkTue Jul 25 00:12:48 2017(r321445) @@ -183,9 +183,9 @@ clean: .endif .ORDER: clean all -cleandir: cleanobj - .include + +cleandir: .WAIT cleanobj .if make(destroy*) && defined(OBJROOT) # this (rm -rf objdir) is much faster and more reliable than cleaning. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321440 - in head: share/mk sys/conf
Author: bdrewery Date: Mon Jul 24 23:32:36 2017 New Revision: 321440 URL: https://svnweb.freebsd.org/changeset/base/321440 Log: Slightly simplify logic for which depend file is expected. This is a NOP. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.dep.mk head/sys/conf/kern.post.mk Modified: head/share/mk/bsd.dep.mk == --- head/share/mk/bsd.dep.mkMon Jul 24 23:32:24 2017(r321439) +++ head/share/mk/bsd.dep.mkMon Jul 24 23:32:36 2017(r321440) @@ -240,8 +240,12 @@ _meta_obj= ${.OBJDIR:C,/,_,g}_${__obj:C,/,_,g}.meta _meta_obj= ${__obj}.meta .endif _dep_obj= ${DEPENDFILE}.${__obj:${DEPEND_FILTER}} -.if (defined(_meta_filemon) && !exists(${.OBJDIR}/${_meta_obj})) || \ -(!defined(_meta_filemon) && !exists(${.OBJDIR}/${_dep_obj})) +.if defined(_meta_filemon) +_depfile= ${.OBJDIR}/${_meta_obj} +.else +_depfile= ${.OBJDIR}/${_dep_obj} +.endif +.if !exists(${_depfile}) ${__obj}: ${OBJS_DEPEND_GUESS} ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} .elif defined(_meta_filemon) @@ -252,7 +256,7 @@ ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} # guesses do include headers though since they may not be in SRCS. ${__obj}: ${OBJS_DEPEND_GUESS:N*.h} ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} -.endif +.endif # !exists(${_depfile}) .endfor # Always run 'make depend' to generate dependencies early and to avoid the Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Mon Jul 24 23:32:24 2017(r321439) +++ head/sys/conf/kern.post.mk Mon Jul 24 23:32:36 2017(r321440) @@ -259,8 +259,12 @@ beforebuild: kernel-depend # For meta+filemon the .meta file is checked for since it is the dependency # file used. .for __obj in ${DEPENDOBJS:O:u} -.if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \ -(!defined(_meta_filemon) && !exists(${.OBJDIR}/.depend.${__obj})) +.if defined(_meta_filemon) +_depfile= ${.OBJDIR}/${__obj}.meta +.else +_depfile= ${.OBJDIR}/.depend.${__obj} +.endif +.if !exists(${_depfile}) .if ${SYSTEM_OBJS:M${__obj}} ${__obj}: ${OBJS_DEPEND_GUESS} .endif @@ -275,7 +279,7 @@ ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} ${__obj}: ${OBJS_DEPEND_GUESS:N*.h} .endif ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} -.endif +.endif # !exists(${_depfile}) .endfor .NOPATH: .depend ${DEPENDFILES_OBJS} ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321439 - in head: . lib/clang/libllvm
Author: bdrewery Date: Mon Jul 24 23:32:24 2017 New Revision: 321439 URL: https://svnweb.freebsd.org/changeset/base/321439 Log: Move llvm Options.inc hack from r321433 for NO_CLEAN to lib/clang/libllvm. The files are only ever generated to .OBJDIR, not to WORLDTMP (as a sysroot) and are only ever included from a compilation. So using a beforebuild target here removes the file before the compilation tries to include it. MFC after:2 months X-MFC-With: r321369 Modified: head/Makefile.inc1 head/lib/clang/libllvm/Makefile Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Mon Jul 24 22:26:48 2017(r321438) +++ head/Makefile.inc1 Mon Jul 24 23:32:24 2017(r321439) @@ -813,16 +813,6 @@ _worldtmp: .PHONY ${OBJTREE}${.CURDIR}/world32/${.CURDIR}/lib/libc/.depend.${f}.* .endif .endfor -# 20170724 remove stale lib/clang/libllvm/Options.inc file, of which there are -# two different versions after r308421, one for llvm-lib, one for llvm-dlltool -.for d in ${OBJTREE} ${WORLDTMP} -.for f in ${d}${.CURDIR}/lib/clang/libllvm/Options.inc -.if exists(${f}) || exists(${f}.d) - @echo Removing stale generated ${f} files - @rm -f ${f} ${f}.d -.endif -.endfor -.endfor .for _dir in \ lib lib/casper usr legacy/bin legacy/usr mkdir -p ${WORLDTMP}/${_dir} Modified: head/lib/clang/libllvm/Makefile == --- head/lib/clang/libllvm/Makefile Mon Jul 24 22:26:48 2017 (r321438) +++ head/lib/clang/libllvm/Makefile Mon Jul 24 23:32:24 2017 (r321439) @@ -1302,6 +1302,16 @@ llvm-dlltool/Options.inc: ${LLVM_SRCS}/lib/ToolDrivers TGHDRS+= llvm-dlltool/Options.inc CFLAGS.DlltoolDriver.cpp+= -I${.OBJDIR}/llvm-dlltool +beforebuild: +# 20170724 remove stale Options.inc file, of which there are two different +# versions after r308421, one for llvm-lib, one for llvm-dlltool +.for f in Options.inc +.if exists(${f}) || exists(${f}.d) + @echo Removing stale generated ${f} files + @rm -f ${f} ${f}.d +.endif +.endfor + # Note: some rules are superfluous, not every combination is valid. .for arch in \ AArch64/AArch64 ARM/ARM Mips/Mips PowerPC/PPC Sparc/Sparc X86/X86 ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321443 - head
Author: bdrewery Date: Mon Jul 24 23:32:46 2017 New Revision: 321443 URL: https://svnweb.freebsd.org/changeset/base/321443 Log: NO_CLEAN: Utilize delete-old to remove old orphaned libraries/headers in WORLDTMP. This prevents situations with -DNO_CLEAN from finding stale headers or libraries in places that no longer exist or have moved. It avoids the need to remove all of WORLDTMP by reusing what we already know is obsolete. MFC after:1 month Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Mon Jul 24 23:32:43 2017(r321442) +++ head/Makefile.inc1 Mon Jul 24 23:32:46 2017(r321443) @@ -761,6 +761,13 @@ _worldtmp: .PHONY rm -rf ${LIBCOMPATTMP} .endif .else + ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ + delete-old delete-old-libs +.if defined(LIBCOMPAT) + ${_+_}cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ + DESTDIR=${LIBCOMPATTMP} \ + delete-old delete-old-libs +.endif rm -rf ${WORLDTMP}/legacy/usr/include .if ${USING_SYSTEM_COMPILER} == "yes" .for cc in cc c++ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321441 - in head: share/mk sys/conf
Author: bdrewery Date: Mon Jul 24 23:32:40 2017 New Revision: 321441 URL: https://svnweb.freebsd.org/changeset/base/321441 Log: Allow disabling dependency tracking if DEPEND_CFLAGS is empty. This falls back on using the guesssed dependencies if so. Also remove a pre-bmake check while here. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.dep.mk head/sys/conf/kern.post.mk Modified: head/share/mk/bsd.dep.mk == --- head/share/mk/bsd.dep.mkMon Jul 24 23:32:36 2017(r321440) +++ head/share/mk/bsd.dep.mkMon Jul 24 23:32:40 2017(r321441) @@ -195,13 +195,11 @@ ${DEPENDFILE}:.NOMETA DEPEND_CFLAGS+=-MD ${DEPEND_MP} -MF${DEPENDFILE}.${.TARGET:${DEPEND_FILTER}} DEPEND_CFLAGS+=-MT${.TARGET} .if !defined(_meta_filemon) -.if defined(.PARSEDIR) +.if !empty(DEPEND_CFLAGS) # Only add in DEPEND_CFLAGS for CFLAGS on files we expect from DEPENDOBJS # as those are the only ones we will include. DEPEND_CFLAGS_CONDITION= "${DEPENDOBJS:${DEPEND_FILTER}:M${.TARGET:${DEPEND_FILTER}}}" != "" CFLAGS+= ${${DEPEND_CFLAGS_CONDITION}:?${DEPEND_CFLAGS}:} -.else -CFLAGS+= ${DEPEND_CFLAGS} .endif .for __depend_obj in ${DEPENDFILES_OBJS} .if ${MAKE_VERSION} < 20160220 Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Mon Jul 24 23:32:36 2017(r321440) +++ head/sys/conf/kern.post.mk Mon Jul 24 23:32:40 2017(r321441) @@ -232,13 +232,11 @@ ${DEPENDOBJS}:.NOMETA DEPEND_CFLAGS+=-MD ${DEPEND_MP} -MF.depend.${.TARGET} DEPEND_CFLAGS+=-MT${.TARGET} .if !defined(_meta_filemon) -.if defined(.PARSEDIR) +.if !empty(DEPEND_CFLAGS) # Only add in DEPEND_CFLAGS for CFLAGS on files we expect from DEPENDOBJS # as those are the only ones we will include. DEPEND_CFLAGS_CONDITION= "${DEPENDOBJS:M${.TARGET}}" != "" CFLAGS+= ${${DEPEND_CFLAGS_CONDITION}:?${DEPEND_CFLAGS}:} -.else -CFLAGS+= ${DEPEND_CFLAGS} .endif .for __depend_obj in ${DEPENDFILES_OBJS} .if ${MAKE_VERSION} < 20160220 ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321442 - head
Author: bdrewery Date: Mon Jul 24 23:32:43 2017 New Revision: 321442 URL: https://svnweb.freebsd.org/changeset/base/321442 Log: The .depend.obj cleanup hacks are only needed with -DNO_CLEAN. Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Mon Jul 24 23:32:40 2017(r321441) +++ head/Makefile.inc1 Mon Jul 24 23:32:43 2017(r321442) @@ -770,7 +770,6 @@ _worldtmp: .PHONY fi .endfor .endif # ${USING_SYSTEM_COMPILER} == "yes" -.endif # !defined(NO_CLEAN) # Our current approach to dependency tracking cannot cope with certain source # tree changes, particularly with respect to removing source files and @@ -813,6 +812,9 @@ _worldtmp: .PHONY ${OBJTREE}${.CURDIR}/world32/${.CURDIR}/lib/libc/.depend.${f}.* .endif .endfor + +.endif # !defined(NO_CLEAN) + .for _dir in \ lib lib/casper usr legacy/bin legacy/usr mkdir -p ${WORLDTMP}/${_dir} ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r321433 - head
On 7/24/2017 11:52 AM, Dimitry Andric wrote: > Author: dim > Date: Mon Jul 24 18:52:40 2017 > New Revision: 321433 > URL: https://svnweb.freebsd.org/changeset/base/321433 > > Log: > Cleanup stale Options.inc files from the previous libllvm build for > clang 4.0.0. Otherwise, these can get included before the two newly > generated ones (which are different) for clang 5.0.0. > > Reported by:Mark Millard > MFC after: 2 months > X-MFC-With: r321369 > > Modified: > head/Makefile.inc1 > > Modified: head/Makefile.inc1 > == > --- head/Makefile.inc1Mon Jul 24 18:25:08 2017(r321432) > +++ head/Makefile.inc1Mon Jul 24 18:52:40 2017(r321433) > @@ -813,6 +813,16 @@ _worldtmp: .PHONY > ${OBJTREE}${.CURDIR}/world32/${.CURDIR}/lib/libc/.depend.${f}.* > .endif > .endfor > +# 20170724 remove stale lib/clang/libllvm/Options.inc file, of which there > are > +# two different versions after r308421, one for llvm-lib, one for > llvm-dlltool > +.for d in ${OBJTREE} ${WORLDTMP} > +.for f in ${d}${.CURDIR}/lib/clang/libllvm/Options.inc The 2nd .for is not needed, there's only 1 item. It could probably be f=${d}${.CURDIR}/lib/clang/libllvm/Options.inc instead. > +.if exists(${f}) || exists(${f}.d) > + @echo Removing stale generated ${f} files > + @rm -f ${f} ${f}.d > +.endif > +.endfor > +.endfor > .for _dir in \ > lib lib/casper usr legacy/bin legacy/usr > mkdir -p ${WORLDTMP}/${_dir} > -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r321434 - head
Author: bdrewery Date: Mon Jul 24 18:54:56 2017 New Revision: 321434 URL: https://svnweb.freebsd.org/changeset/base/321434 Log: Add some .ORDER for distrib-dirs, distribute, distribution and distributeworld. Reported by: Mark Millard MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile Modified: head/Makefile == --- head/Makefile Mon Jul 24 18:52:40 2017(r321433) +++ head/Makefile Mon Jul 24 18:54:56 2017(r321434) @@ -158,8 +158,18 @@ META_TGT_WHITELIST+= \ toolchains universe world worlds xdev xdev-build .ORDER: buildworld installworld +.ORDER: buildworld distrib-dirs +.ORDER: buildworld distribution +.ORDER: buildworld distribute .ORDER: buildworld distributeworld .ORDER: buildworld buildkernel +.ORDER: distrib-dirs distribute +.ORDER: distrib-dirs distributeworld +.ORDER: distrib-dirs installworld +.ORDER: distribution distribute +.ORDER: distributeworld distribute +.ORDER: distributeworld distribution +.ORDER: installworld distribute .ORDER: installworld distribution .ORDER: installworld installkernel .ORDER: buildkernel installkernel ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r321426 - head/share/mk
On 7/24/2017 10:55 AM, Ngie Cooper (yaneurabeya) wrote: > >> On Jul 24, 2017, at 10:53, Bryan Drewery <bdrew...@freebsd.org> wrote: >> >> Author: bdrewery >> Date: Mon Jul 24 17:53:45 2017 >> New Revision: 321426 >> URL: https://svnweb.freebsd.org/changeset/base/321426 >> >> Log: >> cleanobj: Unhide removal of directory. >> >> MFC after: 2 weeks >> Sponsored by: Dell EMC Isilon >> >> Modified: >> head/share/mk/bsd.obj.mk > > Why? Dumping output of things like this is why “make -d l” is helpful. > -Ngie > There's no output for this one clean operation, while all other clean operations have output. The opposite, 'make obj', has output as well. This was doing something with no affirmation that anything was actually being done. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r321427 - head/share/mk
Author: bdrewery Date: Mon Jul 24 17:54:03 2017 New Revision: 321427 URL: https://svnweb.freebsd.org/changeset/base/321427 Log: PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS. - Only recurse on cleanobj/cleandir if there is no .OBJDIR being used. If we don't recurse then bsd.obj.mk will just rm -rf the OBJDIR dir. - When recursing on cleanobj/cleandir don't remove dependfiles/dirs redundantly from the child and main processes. Meaning '.depend', and 'tags', and '.depend.*' will now only be removed from the main process. - Stop recursing on 'cleandepend' since the main process can handle removing all files via the default glob patterns in CLEANDEPENDFILES. - This reverts r288201, by readding recursion on 'cleanobj', due to r291635 changing how bsd.subdir.mk handles recursion. This is primarily targeting ESTALE NFS errors from rm(1) during a buildworld but is also a performance optimization as both issues fixed were redundant anyway. Reported by: cperciva, scottl MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.obj.mk head/share/mk/bsd.progs.mk Modified: head/share/mk/bsd.obj.mk == --- head/share/mk/bsd.obj.mkMon Jul 24 17:53:45 2017(r321426) +++ head/share/mk/bsd.obj.mkMon Jul 24 17:54:03 2017(r321427) @@ -157,6 +157,7 @@ whereobj: @echo ${.OBJDIR} .endif +# Same check in bsd.progs.mk .if ${CANONICALOBJDIR} != ${.CURDIR} && exists(${CANONICALOBJDIR}/) cleanobj: -rm -rf ${CANONICALOBJDIR} Modified: head/share/mk/bsd.progs.mk == --- head/share/mk/bsd.progs.mk Mon Jul 24 17:53:45 2017(r321426) +++ head/share/mk/bsd.progs.mk Mon Jul 24 17:54:03 2017(r321427) @@ -116,7 +116,16 @@ ${_PROGS_COMMON_OBJS}: .NOMETA .if !empty(PROGS) && !defined(_RECURSING_PROGS) && !defined(PROG) # tell progs.mk we might want to install things -PROGS_TARGETS+= checkdpadd clean cleandepend cleandir depend install +PROGS_TARGETS+= checkdpadd clean depend install +# Only handle removing depend files from the main process. +_PROG_MK.cleandir= CLEANDEPENDFILES= CLEANDEPENDDIRS= +_PROG_MK.cleanobj= CLEANDEPENDFILES= CLEANDEPENDDIRS= +# Only recurse on these if there is no objdir, meaning a normal +# 'clean' gets ran via the target defined in bsd.obj.mk. +# Same check from cleanobj: in bsd.obj.mk +.if ${CANONICALOBJDIR} == ${.CURDIR} || !exists(${CANONICALOBJDIR}/) +PROGS_TARGETS+=cleandir cleanobj +.endif # Ensure common objects are built before recursing. .if !empty(_PROGS_COMMON_OBJS) @@ -142,7 +151,7 @@ $p.$t: .PHONY .MAKE (cd ${.CURDIR} && \ DEPENDFILE=.depend.$p \ NO_SUBDIR=1 ${MAKE} -f ${MAKEFILE} _RECURSING_PROGS=t \ - PROG=$p ${x.$p} ${@:E}) + ${_PROG_MK.${t}} PROG=$p ${x.$p} ${@:E}) .endfor .endfor ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321426 - head/share/mk
Author: bdrewery Date: Mon Jul 24 17:53:45 2017 New Revision: 321426 URL: https://svnweb.freebsd.org/changeset/base/321426 Log: cleanobj: Unhide removal of directory. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.obj.mk Modified: head/share/mk/bsd.obj.mk == --- head/share/mk/bsd.obj.mkMon Jul 24 17:29:56 2017(r321425) +++ head/share/mk/bsd.obj.mkMon Jul 24 17:53:45 2017(r321426) @@ -159,7 +159,7 @@ whereobj: .if ${CANONICALOBJDIR} != ${.CURDIR} && exists(${CANONICALOBJDIR}/) cleanobj: - @-rm -rf ${CANONICALOBJDIR} + -rm -rf ${CANONICALOBJDIR} .else cleanobj: clean cleandepend .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321340 - stable/11
Author: bdrewery Date: Fri Jul 21 17:57:59 2017 New Revision: 321340 URL: https://svnweb.freebsd.org/changeset/base/321340 Log: MFC r320273: Allow ALWAYS_BOOTSTRAP_MAKE to force bmake bootstrapping. Modified: stable/11/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile == --- stable/11/Makefile Fri Jul 21 17:57:10 2017(r321339) +++ stable/11/Makefile Fri Jul 21 17:57:59 2017(r321340) @@ -195,7 +195,8 @@ HAVE_MAKE= bmake .else HAVE_MAKE= fmake .endif -.if ${HAVE_MAKE} != ${WANT_MAKE} || \ +.if defined(ALWAYS_BOOTSTRAP_MAKE) || \ +${HAVE_MAKE} != ${WANT_MAKE} || \ (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION}) NEED_MAKE_UPGRADE= t .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321341 - stable/10
Author: bdrewery Date: Fri Jul 21 17:58:06 2017 New Revision: 321341 URL: https://svnweb.freebsd.org/changeset/base/321341 Log: MFC r320273: Allow ALWAYS_BOOTSTRAP_MAKE to force bmake bootstrapping. Modified: stable/10/Makefile Directory Properties: stable/10/ (props changed) Modified: stable/10/Makefile == --- stable/10/Makefile Fri Jul 21 17:57:59 2017(r321340) +++ stable/10/Makefile Fri Jul 21 17:58:06 2017(r321341) @@ -156,7 +156,8 @@ HAVE_MAKE= bmake .else HAVE_MAKE= fmake .endif -.if ${HAVE_MAKE} != ${WANT_MAKE} || \ +.if defined(ALWAYS_BOOTSTRAP_MAKE) || \ +${HAVE_MAKE} != ${WANT_MAKE} || \ (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION}) NEED_MAKE_UPGRADE= t .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321339 - stable/11
Author: bdrewery Date: Fri Jul 21 17:57:10 2017 New Revision: 321339 URL: https://svnweb.freebsd.org/changeset/base/321339 Log: MFC r320292: NO_ROOT: Remove excessive // when DESTDIR/DISTDIR are empty. Modified: stable/11/Makefile.inc1 Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile.inc1 == --- stable/11/Makefile.inc1 Fri Jul 21 17:56:22 2017(r321338) +++ stable/11/Makefile.inc1 Fri Jul 21 17:57:10 2017(r321339) @@ -636,6 +636,7 @@ _INSTALL_DDIR= ${DESTDIR}/${DISTDIR} INSTALL_DDIR= ${_INSTALL_DDIR:S://:/:g:C:/$::} .if defined(NO_ROOT) METALOG?= ${DESTDIR}/${DISTDIR}/METALOG +METALOG:= ${METALOG:C,//+,/,g} IMAKE+=-DNO_ROOT METALOG=${METALOG} INSTALLFLAGS+= -U -M ${METALOG} -D ${INSTALL_DDIR} MTREEFLAGS+= -W ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321338 - stable/11/etc
Author: bdrewery Date: Fri Jul 21 17:56:22 2017 New Revision: 321338 URL: https://svnweb.freebsd.org/changeset/base/321338 Log: MFC r320883: Fix INSTALL_AS_USER after r319020. Modified: stable/11/etc/Makefile Directory Properties: stable/11/ (props changed) Modified: stable/11/etc/Makefile == --- stable/11/etc/Makefile Fri Jul 21 17:55:40 2017(r321337) +++ stable/11/etc/Makefile Fri Jul 21 17:56:22 2017(r321338) @@ -340,19 +340,6 @@ distribution: MTREE_CMD?=mtree -.if ${MK_INSTALL_AS_USER} == "yes" && ${_uid} != 0 -MTREE_FILTER= sed -e 's,\([gu]\)name=,\1id=,g' \ - -e 's,\(uid=\)[^ ]* ,\1${_uid} ,' \ - -e 's,\(gid=\)[^ ]* ,\1${_gid} ,' \ - -e 's,\(uid=\)[^ ]*$$,\1${_uid},' \ - -e 's,\(gid=\)[^ ]*$$,\1${_gid},' -.else -MTREE_FILTER= cat -.if !defined(NO_FSCHG) -MTREE_FSCHG= -i -.endif -.endif - MTREES=mtree/BSD.root.dist / \ mtree/BSD.var.dist /var\ mtree/BSD.usr.dist /usr\ @@ -468,3 +455,16 @@ etc-examples: etc-examples-install DESTDIR=${DESTDIR}${SHAREDIR}/examples .include + +.if ${MK_INSTALL_AS_USER} == "yes" && ${_uid} != 0 +MTREE_FILTER= sed -e 's,\([gu]\)name=,\1id=,g' \ + -e 's,\(uid=\)[^ ]* ,\1${_uid} ,' \ + -e 's,\(gid=\)[^ ]* ,\1${_gid} ,' \ + -e 's,\(uid=\)[^ ]*$$,\1${_uid},' \ + -e 's,\(gid=\)[^ ]*$$,\1${_gid},' +.else +MTREE_FILTER= cat +.if !defined(NO_FSCHG) +MTREE_FSCHG= -i +.endif +.endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321337 - stable/11
Author: bdrewery Date: Fri Jul 21 17:55:40 2017 New Revision: 321337 URL: https://svnweb.freebsd.org/changeset/base/321337 Log: MFC r320806: SYSTEM_COMPILER: Ensure there is not a stale compiler in WORLDTMP. Modified: stable/11/Makefile.inc1 Directory Properties: stable/11/ (props changed) Modified: stable/11/Makefile.inc1 == --- stable/11/Makefile.inc1 Fri Jul 21 17:42:54 2017(r321336) +++ stable/11/Makefile.inc1 Fri Jul 21 17:55:40 2017(r321337) @@ -678,7 +678,15 @@ _worldtmp: .PHONY .endif .else rm -rf ${WORLDTMP}/legacy/usr/include -.endif +.if ${USING_SYSTEM_COMPILER} == "yes" +.for cc in cc c++ + if [ -x ${WORLDTMP}/usr/bin/${cc} ]; then \ + inum=$$(stat -f %i ${WORLDTMP}/usr/bin/${cc}); \ + find ${WORLDTMP}/usr/bin -inum $${inum} -delete; \ + fi +.endfor +.endif # ${USING_SYSTEM_COMPILER} == "yes" +.endif # !defined(NO_CLEAN) .for _dir in \ lib lib/casper usr legacy/bin legacy/usr mkdir -p ${WORLDTMP}/${_dir} ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321334 - head/share/mk
Author: bdrewery Date: Fri Jul 21 16:14:35 2017 New Revision: 321334 URL: https://svnweb.freebsd.org/changeset/base/321334 Log: Respect INSTALL_AS_USER for FILES. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.files.mk Modified: head/share/mk/bsd.files.mk == --- head/share/mk/bsd.files.mk Fri Jul 21 16:14:06 2017(r321333) +++ head/share/mk/bsd.files.mk Fri Jul 21 16:14:35 2017(r321334) @@ -26,6 +26,10 @@ installfiles: installfiles-${group} ${group}OWN?= ${SHAREOWN} ${group}GRP?= ${SHAREGRP} +.if ${MK_INSTALL_AS_USER} == "yes" +${group}OWN= ${SHAREOWN} +${group}GRP= ${SHAREGRP} +.endif ${group}MODE?= ${SHAREMODE} ${group}DIR?= ${BINDIR} STAGE_SETS+= ${group:C,[/*],_,g} @@ -46,6 +50,10 @@ _${group}FILES= defined(${group}NAME_${file:T}) || defined(${group}NAME) ${group}OWN_${file:T}?=${${group}OWN} ${group}GRP_${file:T}?=${${group}GRP} +.if ${MK_INSTALL_AS_USER} == "yes" +${group}OWN_${file:T}= ${SHAREOWN} +${group}GRP_${file:T}= ${SHAREGRP} +.endif ${group}MODE_${file:T}?= ${${group}MODE} ${group}DIR_${file:T}?=${${group}DIR} .if defined(${group}NAME) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r321333 - head/lib/libc/tests/sys
Author: bdrewery Date: Fri Jul 21 16:14:06 2017 New Revision: 321333 URL: https://svnweb.freebsd.org/changeset/base/321333 Log: Properly set userid for truncate_test. MFC after:1 week Sponsored by: Dell EMC Isilon Modified: head/lib/libc/tests/sys/Makefile Modified: head/lib/libc/tests/sys/Makefile == --- head/lib/libc/tests/sys/MakefileFri Jul 21 15:09:24 2017 (r321332) +++ head/lib/libc/tests/sys/MakefileFri Jul 21 16:14:06 2017 (r321333) @@ -87,7 +87,7 @@ FILESGROUPS+= truncate_test_FILES truncate_test_FILES= truncate_test.root_owned truncate_test_FILESDIR=${TESTSDIR} truncate_test_FILESMODE= 0600 -truncate_test_FILESOWNER= root +truncate_test_FILESOWN= root truncate_test_FILESGRP= wheel truncate_test_FILESPACKAGE=${PACKAGE} ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320973 - in head/sys: conf modules/ixl
Author: bdrewery Date: Thu Jul 13 22:45:23 2017 New Revision: 320973 URL: https://svnweb.freebsd.org/changeset/base/320973 Log: Fix kldload of if_ixl without PCI_IOV kernel option. This also avoids compiling in pci_iov support into the kernel if_ixoif the PCI_IOV option is disabled. Reviewed by: rstone Sponsored by: Dell EMC Isilon Differential Revision:https://reviews.freebsd.org/D11573 Modified: head/sys/conf/files.amd64 head/sys/modules/ixl/Makefile Modified: head/sys/conf/files.amd64 == --- head/sys/conf/files.amd64 Thu Jul 13 22:12:41 2017(r320972) +++ head/sys/conf/files.amd64 Thu Jul 13 22:45:23 2017(r320973) @@ -253,7 +253,7 @@ dev/ixl/ixl_pf_main.c optionalixl pci \ compile-with "${NORMAL_C} -I$S/dev/ixl" dev/ixl/ixl_pf_qmgr.c optionalixl pci \ compile-with "${NORMAL_C} -I$S/dev/ixl" -dev/ixl/ixl_pf_iov.c optionalixl pci \ +dev/ixl/ixl_pf_iov.c optionalixl pci pci_iov \ compile-with "${NORMAL_C} -I$S/dev/ixl" dev/ixl/ixl_pf_i2c.c optionalixl pci \ compile-with "${NORMAL_C} -I$S/dev/ixl" Modified: head/sys/modules/ixl/Makefile == --- head/sys/modules/ixl/Makefile Thu Jul 13 22:12:41 2017 (r320972) +++ head/sys/modules/ixl/Makefile Thu Jul 13 22:45:23 2017 (r320973) @@ -3,10 +3,11 @@ .PATH: ${SRCTOP}/sys/dev/ixl KMOD= if_ixl -SRCS= device_if.h bus_if.h pci_if.h pci_iov_if.h +SRCS= device_if.h bus_if.h pci_if.h SRCS+= opt_inet.h opt_inet6.h opt_rss.h opt_ixl.h SRCS+= if_ixl.c ixl_pf_main.c ixl_pf_qmgr.c ixl_txrx.c ixl_pf_i2c.c i40e_osdep.c -SRCS += ixl_pf_iov.c ixl_iw.c +SRCS += ixl_iw.c +SRCS.PCI_IOV= pci_iov_if.h ixl_pf_iov.c # Shared source SRCS+= i40e_common.c i40e_nvm.c i40e_adminq.c i40e_lan_hmc.c i40e_hmc.c ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320919 - head/sys/conf
Author: bdrewery Date: Wed Jul 12 19:01:25 2017 New Revision: 320919 URL: https://svnweb.freebsd.org/changeset/base/320919 Log: META_MODE: Fix not writing .meta files in the kernel build. This was a regression in r320220 due to improper porting of the same logic from share/mk/bsd.dep.mk and having only tested with -DNO_FILEMON at the time. Pointyhat to: bdrewery Reported by: Mark Millard, dhw, O. Hartmann Sponsored by: Dell EMC Isilon Modified: head/sys/conf/kern.post.mk Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Wed Jul 12 18:29:25 2017(r320918) +++ head/sys/conf/kern.post.mk Wed Jul 12 19:01:25 2017(r320919) @@ -203,8 +203,7 @@ _meta_filemon= 1 # for _meta_filemon but not for _SKIP_DEPEND. .if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(*obj) || \ ${.TARGETS:M*clean*} == ${.TARGETS} || \ -${.TARGETS:M*install*} == ${.TARGETS} || \ -defined(_meta_filemon) +${.TARGETS:M*install*} == ${.TARGETS} _SKIP_DEPEND= 1 .endif .if defined(_SKIP_DEPEND) || defined(_meta_filemon) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320884 - in head: lib/libc++experimental lib/libclang_rt/stats lib/libclang_rt/stats_client lib/libdl lib/libifconfig lib/librss lib/libsysdecode targets/pseudo/userland/lib
Author: bdrewery Date: Tue Jul 11 00:32:48 2017 New Revision: 320884 URL: https://svnweb.freebsd.org/changeset/base/320884 Log: DIRDEPS_BUILD: Connect more libraries. Sponsored by: Dell EMC Isilon Added: head/lib/libc++experimental/Makefile.depend (contents, props changed) head/lib/libclang_rt/stats/Makefile.depend (contents, props changed) head/lib/libclang_rt/stats_client/Makefile.depend (contents, props changed) head/lib/libdl/Makefile.depend (contents, props changed) head/lib/libifconfig/Makefile.depend (contents, props changed) head/lib/librss/Makefile.depend (contents, props changed) Modified: head/lib/libsysdecode/Makefile.depend head/targets/pseudo/userland/lib/Makefile.depend Added: head/lib/libc++experimental/Makefile.depend == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libc++experimental/Makefile.depend Tue Jul 11 00:32:48 2017 (r320884) @@ -0,0 +1,14 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/xlocale \ + lib/msun \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif Added: head/lib/libclang_rt/stats/Makefile.depend == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libclang_rt/stats/Makefile.depend Tue Jul 11 00:32:48 2017 (r320884) @@ -0,0 +1,16 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/arpa \ + include/xlocale \ + lib/libc++ \ + lib/ncurses/ncursesw \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif Added: head/lib/libclang_rt/stats_client/Makefile.depend == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libclang_rt/stats_client/Makefile.depend Tue Jul 11 00:32:48 2017(r320884) @@ -0,0 +1,13 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + lib/libc++ \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif Added: head/lib/libdl/Makefile.depend == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libdl/Makefile.depend Tue Jul 11 00:32:48 2017 (r320884) @@ -0,0 +1,18 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcompiler_rt \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif Added: head/lib/libifconfig/Makefile.depend == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libifconfig/Makefile.dependTue Jul 11 00:32:48 2017 (r320884) @@ -0,0 +1,13 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + include \ + include/xlocale \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif Added: head/lib/librss/Makefile.depend == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/librss/Makefile.depend Tue Jul 11 00:32:48 2017 (r320884) @@ -0,0 +1,18 @@ +# $FreeBSD$ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + gnu/lib/csu \ + gnu/lib/libgcc \ + include \ + include/xlocale \ + lib/${CSU_DIR} \ + lib/libc \ + lib/libcompiler_rt \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif Modified: head/lib/libsysdecode/Makefile.depend == --- head/lib/libsysdecode/Makefile.depend Mon Jul 10 23:52:07 2017 (r320883) +++ head/lib/libsysdecode/Makefile.depend Tue Jul 11 00:32:48 2017 (r320884) @@ -74,6 +74,7 @@ DIRDEPS = \ lib/libfigpar \ lib/libgeom \ lib/libgpio \ + lib/libifconfig \ lib/libjail \ lib/libkvm \ lib/liblzma \ @@ -92,6 +93,7 @@ DIRDEPS = \ lib/libproc \ lib/libprocstat \ lib/libradius \ + lib/librss \ lib/librtld_db \ lib/libsdp \ lib/libsqlite3 \ Modified: head/targets/pseudo/userland/lib/Makefile.depend
svn commit: r320883 - head/etc
Author: bdrewery Date: Mon Jul 10 23:52:07 2017 New Revision: 320883 URL: https://svnweb.freebsd.org/changeset/base/320883 Log: Fix INSTALL_AS_USER after r319020. Reviewed by: vangyzen MFC after:1 week Sponsored by: Dell EMC Isilon Modified: head/etc/Makefile Modified: head/etc/Makefile == --- head/etc/Makefile Mon Jul 10 23:52:04 2017(r320882) +++ head/etc/Makefile Mon Jul 10 23:52:07 2017(r320883) @@ -342,19 +342,6 @@ distribution: MTREE_CMD?=mtree -.if ${MK_INSTALL_AS_USER} == "yes" && ${_uid} != 0 -MTREE_FILTER= sed -e 's,\([gu]\)name=,\1id=,g' \ - -e 's,\(uid=\)[^ ]* ,\1${_uid} ,' \ - -e 's,\(gid=\)[^ ]* ,\1${_gid} ,' \ - -e 's,\(uid=\)[^ ]*$$,\1${_uid},' \ - -e 's,\(gid=\)[^ ]*$$,\1${_gid},' -.else -MTREE_FILTER= cat -.if !defined(NO_FSCHG) -MTREE_FSCHG= -i -.endif -.endif - MTREES=mtree/BSD.root.dist / \ mtree/BSD.var.dist /var\ mtree/BSD.usr.dist /usr\ @@ -467,3 +454,16 @@ etc-examples: etc-examples-install DESTDIR=${DESTDIR}${SHAREDIR}/examples .include + +.if ${MK_INSTALL_AS_USER} == "yes" && ${_uid} != 0 +MTREE_FILTER= sed -e 's,\([gu]\)name=,\1id=,g' \ + -e 's,\(uid=\)[^ ]* ,\1${_uid} ,' \ + -e 's,\(gid=\)[^ ]* ,\1${_gid} ,' \ + -e 's,\(uid=\)[^ ]*$$,\1${_uid},' \ + -e 's,\(gid=\)[^ ]*$$,\1${_gid},' +.else +MTREE_FILTER= cat +.if !defined(NO_FSCHG) +MTREE_FSCHG= -i +.endif +.endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320882 - in head/usr.sbin: bhyve rpc.statd sesutil
Author: bdrewery Date: Mon Jul 10 23:52:04 2017 New Revision: 320882 URL: https://svnweb.freebsd.org/changeset/base/320882 Log: DIRDEPS_BUILD: Update dependencies. Sponsored by: Dell EMC Isilon Modified: head/usr.sbin/bhyve/Makefile.depend head/usr.sbin/rpc.statd/Makefile.depend head/usr.sbin/sesutil/Makefile.depend Modified: head/usr.sbin/bhyve/Makefile.depend == --- head/usr.sbin/bhyve/Makefile.depend Mon Jul 10 23:51:51 2017 (r320881) +++ head/usr.sbin/bhyve/Makefile.depend Mon Jul 10 23:52:04 2017 (r320882) @@ -16,6 +16,7 @@ DIRDEPS = \ lib/libutil \ lib/libvmmapi \ lib/libz \ + secure/lib/libcrypto \ .include Modified: head/usr.sbin/rpc.statd/Makefile.depend == --- head/usr.sbin/rpc.statd/Makefile.depend Mon Jul 10 23:51:51 2017 (r320881) +++ head/usr.sbin/rpc.statd/Makefile.depend Mon Jul 10 23:52:04 2017 (r320882) @@ -7,6 +7,7 @@ DIRDEPS = \ include \ include/arpa \ include/rpc \ + include/rpcsvc \ include/xlocale \ lib/${CSU_DIR} \ lib/libc \ Modified: head/usr.sbin/sesutil/Makefile.depend == --- head/usr.sbin/sesutil/Makefile.depend Mon Jul 10 23:51:51 2017 (r320881) +++ head/usr.sbin/sesutil/Makefile.depend Mon Jul 10 23:52:04 2017 (r320882) @@ -8,7 +8,9 @@ DIRDEPS = \ include/xlocale \ lib/${CSU_DIR} \ lib/libc \ - lib/libcompiler_rt + lib/libcompiler_rt \ + lib/libutil \ + lib/libxo \ .include ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320881 - head/targets/pseudo/userland/share
Author: bdrewery Date: Mon Jul 10 23:51:51 2017 New Revision: 320881 URL: https://svnweb.freebsd.org/changeset/base/320881 Log: Follow-up r318881: Disconnect groff documents. Modified: head/targets/pseudo/userland/share/Makefile.depend Modified: head/targets/pseudo/userland/share/Makefile.depend == --- head/targets/pseudo/userland/share/Makefile.depend Mon Jul 10 22:11:30 2017(r320880) +++ head/targets/pseudo/userland/share/Makefile.depend Mon Jul 10 23:51:51 2017(r320881) @@ -15,76 +15,7 @@ DIRDEPS = \ share/doc/legal/intel_wpi \ share/doc/legal/realtek \ share/doc/llvm/clang \ - share/doc/papers/beyond4.3 \ - share/doc/papers/bufbio \ - share/doc/papers/contents \ - share/doc/papers/devfs \ - share/doc/papers/diskperf \ - share/doc/papers/fsinterface \ - share/doc/papers/hwpmc \ - share/doc/papers/jail \ - share/doc/papers/kernmalloc \ - share/doc/papers/kerntune \ - share/doc/papers/malloc \ - share/doc/papers/newvm \ - share/doc/papers/relengr \ - share/doc/papers/sysperf \ - share/doc/papers/timecounter \ share/doc/pjdfstest \ - share/doc/psd/01.cacm \ - share/doc/psd/02.implement \ - share/doc/psd/03.iosys \ - share/doc/psd/04.uprog \ - share/doc/psd/05.sysman \ - share/doc/psd/06.Clang \ - share/doc/psd/12.make \ - share/doc/psd/13.rcs/rcs \ - share/doc/psd/13.rcs/rcs_func \ - share/doc/psd/15.yacc \ - share/doc/psd/16.lex \ - share/doc/psd/17.m4 \ - share/doc/psd/18.gprof \ - share/doc/psd/20.ipctut \ - share/doc/psd/21.ipc \ - share/doc/psd/22.rpcgen \ - share/doc/psd/23.rpc \ - share/doc/psd/24.xdr \ - share/doc/psd/25.xdrrfc \ - share/doc/psd/26.rpcrfc \ - share/doc/psd/27.nfsrpc \ - share/doc/psd/contents \ - share/doc/psd/title \ - share/doc/smm/01.setup \ - share/doc/smm/02.config \ - share/doc/smm/03.fsck \ - share/doc/smm/04.quotas \ - share/doc/smm/05.fastfs \ - share/doc/smm/06.nfs \ - share/doc/smm/07.lpd \ - share/doc/smm/08.sendmailop \ - share/doc/smm/11.timedop \ - share/doc/smm/12.timed \ - share/doc/smm/18.net \ - share/doc/smm/contents \ - share/doc/smm/title \ - share/doc/usd/04.csh \ - share/doc/usd/05.dc \ - share/doc/usd/06.bc \ - share/doc/usd/07.mail \ - share/doc/usd/10.exref/exref \ - share/doc/usd/10.exref/summary \ - share/doc/usd/11.vitut \ - share/doc/usd/12.vi/summary \ - share/doc/usd/12.vi/vi \ - share/doc/usd/12.vi/viapwh \ - share/doc/usd/13.viref \ - share/doc/usd/18.msdiffs \ - share/doc/usd/19.memacros \ - share/doc/usd/20.meref \ - share/doc/usd/21.troff \ - share/doc/usd/22.trofftut \ - share/doc/usd/contents \ - share/doc/usd/title \ share/dtrace \ share/dtrace/toolkit \ share/examples \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320809 - head
Author: bdrewery Date: Sat Jul 8 17:53:00 2017 New Revision: 320809 URL: https://svnweb.freebsd.org/changeset/base/320809 Log: makeman: Don't show META_MODE ABI rebuild warnings. Reported by: dim Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Sat Jul 8 17:30:33 2017(r320808) +++ head/Makefile.inc1 Sat Jul 8 17:53:00 2017(r320809) @@ -655,7 +655,8 @@ LIBCOMPAT= SOFT # when the ABI breaks though that we want to force rebuilding WORLDTMP # to get updated host tools. .if ${MK_META_MODE} == "yes" && defined(NO_CLEAN) && \ -!defined(NO_META_IGNORE_HOST) && !defined(NO_META_IGNORE_HOST_HEADERS) +!defined(NO_META_IGNORE_HOST) && !defined(NO_META_IGNORE_HOST_HEADERS) && \ +!make(showconfig) # r318736 - ino64 major ABI breakage META_MODE_BAD_ABI_VERS+= 1200031 ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320806 - head
Author: bdrewery Date: Sat Jul 8 16:39:55 2017 New Revision: 320806 URL: https://svnweb.freebsd.org/changeset/base/320806 Log: SYSTEM_COMPILER: Ensure there is not a stale compiler in WORLDTMP. In a scenario of cross-building it is possible that an OBJDIR's WORLDTMP contains an older compiler in WORLDTMP/usr/bin/cc that is not rebuilt if SYSTEM_COMPILER logic is triggered. This compiler was still incorrectly used. Address this by removing WORLDTMP/usr/bin/cc and all of the hardlinked files associated with it. Also do this for c++ for GCC builds. Sponsored by: Dell EMC Isilon MFC after:1 week Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Sat Jul 8 15:01:55 2017(r320805) +++ head/Makefile.inc1 Sat Jul 8 16:39:55 2017(r320806) @@ -761,7 +761,15 @@ _worldtmp: .PHONY .endif .else rm -rf ${WORLDTMP}/legacy/usr/include -.endif +.if ${USING_SYSTEM_COMPILER} == "yes" +.for cc in cc c++ + if [ -x ${WORLDTMP}/usr/bin/${cc} ]; then \ + inum=$$(stat -f %i ${WORLDTMP}/usr/bin/${cc}); \ + find ${WORLDTMP}/usr/bin -inum $${inum} -delete; \ + fi +.endfor +.endif # ${USING_SYSTEM_COMPILER} == "yes" +.endif # !defined(NO_CLEAN) # Our current approach to dependency tracking cannot cope with certain source # tree changes, particularly with respect to removing source files and ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320695 - head/sys/conf
Author: bdrewery Date: Wed Jul 5 19:43:16 2017 New Revision: 320695 URL: https://svnweb.freebsd.org/changeset/base/320695 Log: Fix out-of-tree kernel builds after r320275 when bsd.linker.mk not yet installed. Submitted by: bde Modified: head/sys/conf/kern.pre.mk head/sys/conf/kmod.mk Modified: head/sys/conf/kern.pre.mk == --- head/sys/conf/kern.pre.mk Wed Jul 5 19:25:09 2017(r320694) +++ head/sys/conf/kern.pre.mk Wed Jul 5 19:43:16 2017(r320695) @@ -114,7 +114,7 @@ DEFINED_PROF= ${PROF} # can override the others. CFLAGS+= ${CONF_CFLAGS} -.if ${LINKER_FEATURES:Mbuild-id} +.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mbuild-id} LDFLAGS+= -Wl,--build-id=sha1 .endif Modified: head/sys/conf/kmod.mk == --- head/sys/conf/kmod.mk Wed Jul 5 19:25:09 2017(r320694) +++ head/sys/conf/kmod.mk Wed Jul 5 19:43:16 2017(r320695) @@ -125,7 +125,7 @@ CFLAGS.gcc+= --param large-function-growth=1000 CFLAGS+= -fno-common LDFLAGS+= -d -warn-common -.if ${LINKER_FEATURES:Mbuild-id} +.if defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mbuild-id} LDFLAGS+= -Wl,--build-id=sha1 .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r320284 - head
On 6/26/17 3:34 PM, Ngie Cooper wrote: > On Mon, Jun 26, 2017 at 12:37 PM, Kyle Evans <kevan...@ksu.edu> wrote: >> Hi, >> >> This broke my setup that builds my 7 different kernels due to duplicate >> target errors. This seems to do what I want: >> https://files.kyle-evans.net/freebsd/fix-packages.diff =) > > :ShipIt:! > Thanks, committed. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r320692 - head
Author: bdrewery Date: Wed Jul 5 19:24:38 2017 New Revision: 320692 URL: https://svnweb.freebsd.org/changeset/base/320692 Log: Fix create-kernel-packages with multiple BUILDKERNELS after r320284 Submitted by: Kyle EvansReviewed by: ngie Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Wed Jul 5 19:06:12 2017(r320691) +++ head/Makefile.inc1 Wed Jul 5 19:24:38 2017(r320692) @@ -1641,8 +1641,8 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul .for _kernel in ${BUILDKERNELS:[2..-1]} .if exists(${KSTAGEDIR}/kernel.${_kernel}.meta) .for flavor in "" -debug -create-kernel-packages: create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},} -create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap .PHONY +create-kernel-packages: create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kernel} +create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kernel}: _pkgbootstrap .PHONY @cd ${KSTAGEDIR}/kernel.${_kernel} ; \ awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \ -v kernel=yes -v _kernconf=${_kernel} \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320691 - stable/10
Author: bdrewery Date: Wed Jul 5 19:06:12 2017 New Revision: 320691 URL: https://svnweb.freebsd.org/changeset/base/320691 Log: MFC r289861: native-xtools: Replace common path with NXBDESTDIR. Modified: stable/10/Makefile.inc1 Directory Properties: stable/10/ (props changed) Modified: stable/10/Makefile.inc1 == --- stable/10/Makefile.inc1 Wed Jul 5 17:39:17 2017(r320690) +++ stable/10/Makefile.inc1 Wed Jul 5 19:06:12 2017(r320691) @@ -1555,12 +1555,13 @@ cross-tools: .MAKE .PHONY ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install .endfor +NXBDESTDIR=${OBJTREE}/nxb-bin NXBENV=MAKEOBJDIRPREFIX=${OBJTREE}/nxb \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ VERSION="${VERSION}" NXBMAKE= ${NXBENV} ${MAKE} \ - TBLGEN=${OBJTREE}/nxb-bin/usr/bin/tblgen \ - CLANG_TBLGEN=${OBJTREE}/nxb-bin/usr/bin/clang-tblgen \ + TBLGEN=${NXBDESTDIR}/usr/bin/tblgen \ + CLANG_TBLGEN=${NXBDESTDIR}/usr/bin/clang-tblgen \ MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} \ -DWITHOUT_GDB -DNO_TESTS \ SSP_CFLAGS= \ @@ -1570,13 +1571,11 @@ NXBMAKE=${NXBENV} ${MAKE} \ -DWITHOUT_CLANG_FULL -DWITHOUT_LLDB native-xtools: .PHONY - mkdir -p ${OBJTREE}/nxb-bin/bin - mkdir -p ${OBJTREE}/nxb-bin/sbin - mkdir -p ${OBJTREE}/nxb-bin/usr + mkdir -p ${NXBDESTDIR}/bin ${NXBDESTDIR}/sbin ${NXBDESTDIR}/usr mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${OBJTREE}/nxb-bin/usr >/dev/null + -p ${NXBDESTDIR}/usr >/dev/null mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ - -p ${OBJTREE}/nxb-bin/usr/include >/dev/null + -p ${NXBDESTDIR}/usr/include >/dev/null .for _tool in \ bin/cat \ bin/chmod \ @@ -1640,7 +1639,7 @@ native-xtools: .PHONY ${NXBMAKE} DIRPRFX=${_tool}/ obj; \ ${NXBMAKE} DIRPRFX=${_tool}/ depend; \ ${NXBMAKE} DIRPRFX=${_tool}/ all; \ - ${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${OBJTREE}/nxb-bin install + ${NXBMAKE} DIRPRFX=${_tool}/ DESTDIR=${NXBDESTDIR} install .endfor # ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320299 - stable/11/lib/libsysdecode
Author: bdrewery Date: Fri Jun 23 20:49:23 2017 New Revision: 320299 URL: https://svnweb.freebsd.org/changeset/base/320299 Log: MFC r320206,r320207: r320206: Follow-up r308602: Don't add missing headers to .depend.tables.h. r320207: Tweak r320206: Still create the TABLE but not the .depend entry for missing headers. Approved by: re (gjb) Modified: stable/11/lib/libsysdecode/mktables Directory Properties: stable/11/ (props changed) Modified: stable/11/lib/libsysdecode/mktables == --- stable/11/lib/libsysdecode/mktables Fri Jun 23 20:38:21 2017 (r320298) +++ stable/11/lib/libsysdecode/mktables Fri Jun 23 20:49:23 2017 (r320299) @@ -65,17 +65,19 @@ gen_table() else filter="egrep -v" fi - all_headers="${all_headers:+${all_headers} }${file}" cat <<_EOF_ TABLE_START(${name}) _EOF_ - egrep "^#[[:space:]]*define[[:space:]]+"${grep}"[[:space:]]*" \ - $include_dir/$file | ${filter} ${excl} | \ - awk '{ for (i = 1; i <= NF; i++) \ - if ($i ~ /define/) \ - break; \ - ++i; \ - printf "TABLE_ENTRY(%s)\n", $i }' + if [ -e "${include_dir}/${file}" ]; then + all_headers="${all_headers:+${all_headers} }${file}" + egrep "^#[[:space:]]*define[[:space:]]+"${grep}"[[:space:]]*" \ + $include_dir/$file | ${filter} ${excl} | \ + awk '{ for (i = 1; i <= NF; i++) \ + if ($i ~ /define/) \ + break; \ + ++i; \ + printf "TABLE_ENTRY(%s)\n", $i }' + fi cat <<_EOF_ TABLE_END ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320298 - in stable/11: share/mk sys/conf
Author: bdrewery Date: Fri Jun 23 20:38:21 2017 New Revision: 320298 URL: https://svnweb.freebsd.org/changeset/base/320298 Log: MFC r320174,r320204: r320174: Fix 'make clean all' to work again. r320204: Fix various 'make *clean *all *install' combinations. PR: 219819 Approved by: re (gjb) Modified: stable/11/share/mk/bsd.dep.mk stable/11/share/mk/bsd.init.mk stable/11/sys/conf/kern.post.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/share/mk/bsd.dep.mk == --- stable/11/share/mk/bsd.dep.mk Fri Jun 23 20:25:58 2017 (r320297) +++ stable/11/share/mk/bsd.dep.mk Fri Jun 23 20:38:21 2017 (r320298) @@ -90,7 +90,7 @@ _meta_filemon=1 .if defined(_SKIP_BUILD) || defined(_meta_filemon) _SKIP_READ_DEPEND= 1 .if ${MK_DIRDEPS_BUILD} == "no" || make(analyze) || make(print-dir) || \ -make(obj) || make(clean*) || make(destroy*) +make(obj) || (!make(all) && (make(clean*) || make(destroy*))) .MAKE.DEPENDFILE= /dev/null .endif .endif Modified: stable/11/share/mk/bsd.init.mk == --- stable/11/share/mk/bsd.init.mk Fri Jun 23 20:25:58 2017 (r320297) +++ stable/11/share/mk/bsd.init.mk Fri Jun 23 20:38:21 2017 (r320298) @@ -50,8 +50,9 @@ $xGRP=${_gid} _SKIP_BUILD= not building at level 0 .elif !empty(.MAKEFLAGS:M-V${_V_DO_BUILD}) || \ ${.TARGETS:M*install*} == ${.TARGETS} || \ -make(clean*) || make(obj) || make(analyze) || make(print-dir) || \ -make(destroy*) +${.TARGETS:Mclean*} == ${.TARGETS} || \ +${.TARGETS:Mdestroy*} == ${.TARGETS} || \ +make(obj) || make(analyze) || make(print-dir) # Skip building, but don't show a warning. _SKIP_BUILD= .endif Modified: stable/11/sys/conf/kern.post.mk == --- stable/11/sys/conf/kern.post.mk Fri Jun 23 20:25:58 2017 (r320297) +++ stable/11/sys/conf/kern.post.mk Fri Jun 23 20:38:21 2017 (r320298) @@ -200,10 +200,10 @@ _meta_filemon=1 # lookups. For install, only do this if no other targets are specified. # Also skip generating or including .depend.* files if in meta+filemon mode # since it will track dependencies itself. OBJS_DEPEND_GUESS is still used. -.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \ +.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(*obj) || \ +${.TARGETS:M*clean*} == ${.TARGETS} || \ ${.TARGETS:M*install*} == ${.TARGETS} || \ -make(kernel-obj) || make(kernel-clean*) || \ -make(kernel-install*) || defined(_meta_filemon) +defined(_meta_filemon) _SKIP_READ_DEPEND= 1 .MAKE.DEPENDFILE= /dev/null .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320297 - stable/11/share/mk
Author: bdrewery Date: Fri Jun 23 20:25:58 2017 New Revision: 320297 URL: https://svnweb.freebsd.org/changeset/base/320297 Log: MFC r319861: META_MODE: NO_FILEMON should imply nofilemon. Approved by: re (gjb) Modified: stable/11/share/mk/sys.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/share/mk/sys.mk == --- stable/11/share/mk/sys.mk Fri Jun 23 20:21:53 2017(r320296) +++ stable/11/share/mk/sys.mk Fri Jun 23 20:25:58 2017(r320297) @@ -59,7 +59,7 @@ META_MODE+= missing-meta=yes .if !defined(NO_SILENT) META_MODE+=silent=yes .endif -.if !exists(/dev/filemon) +.if !exists(/dev/filemon) || defined(NO_FILEMON) META_MODE+= nofilemon .endif # Require filemon data with bmake ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320294 - stable/11/share/mk
Author: bdrewery Date: Fri Jun 23 19:44:20 2017 New Revision: 320294 URL: https://svnweb.freebsd.org/changeset/base/320294 Log: MFC r320012,r320028,r320061,r320118: r320012: Fix LIBAMU location to fix 'stale .depend' rebuilds in usr.sbin/amd. r320028: Fix more incorrect library directories fix 'stale .depend' rebuilds. r320061: Fix Makefiles which override LIBDIR to not add incorrect dependencies into .depend. r320118: Follow-up r320061: Need to respect make.conf/env LIBDIR overrides. Approved by: re (gjb) Modified: stable/11/share/mk/bsd.libnames.mk stable/11/share/mk/bsd.own.mk stable/11/share/mk/local.sys.mk stable/11/share/mk/src.libnames.mk Directory Properties: stable/11/ (props changed) Modified: stable/11/share/mk/bsd.libnames.mk == --- stable/11/share/mk/bsd.libnames.mk Fri Jun 23 19:04:40 2017 (r320293) +++ stable/11/share/mk/bsd.libnames.mk Fri Jun 23 19:44:20 2017 (r320294) @@ -12,161 +12,161 @@ # Src directory locations are also defined in src.libnames.mk. -LIBCRT0?= ${DESTDIR}${LIBDIR}/crt0.o +LIBCRT0?= ${DESTDIR}${LIBDIR_BASE}/crt0.o -LIB80211?= ${DESTDIR}${LIBDIR}/lib80211.a -LIBALIAS?= ${DESTDIR}${LIBDIR}/libalias.a -LIBARCHIVE?= ${DESTDIR}${LIBDIR}/libarchive.a -LIBASN1?= ${DESTDIR}${LIBDIR}/libasn1.a -LIBATM?= ${DESTDIR}${LIBDIR}/libatm.a -LIBAUDITD?=${DESTDIR}${LIBDIR}/libauditd.a -LIBAVL?= ${DESTDIR}${LIBDIR}/libavl.a -LIBBEGEMOT?= ${DESTDIR}${LIBDIR}/libbegemot.a -LIBBLACKLIST?= ${DESTDIR}${LIBDIR}/libblacklist.a -LIBBLUETOOTH?= ${DESTDIR}${LIBDIR}/libbluetooth.a -LIBBSDXML?=${DESTDIR}${LIBDIR}/libbsdxml.a -LIBBSM?= ${DESTDIR}${LIBDIR}/libbsm.a -LIBBSNMP?= ${DESTDIR}${LIBDIR}/libbsnmp.a -LIBBZ2?= ${DESTDIR}${LIBDIR}/libbz2.a -LIBC?= ${DESTDIR}${LIBDIR}/libc.a -LIBCALENDAR?= ${DESTDIR}${LIBDIR}/libcalendar.a -LIBCAM?= ${DESTDIR}${LIBDIR}/libcam.a -LIBCAP_DNS?= ${DESTDIR}${LIBDIR}/libcap_dns.a -LIBCAP_GRP?= ${DESTDIR}${LIBDIR}/libcap_grp.a -LIBCAP_PWD?= ${DESTDIR}${LIBDIR}/libcap_pwd.a -LIBCAP_RANDOM?=${DESTDIR}${LIBDIR}/libcap_random.a -LIBCAP_SYSCTL?=${DESTDIR}${LIBDIR}/libcap_sysctl.a -LIBCASPER?=${DESTDIR}${LIBDIR}/libcasper.a -LIBCOMPAT?=${DESTDIR}${LIBDIR}/libcompat.a -LIBCOMPILER_RT?=${DESTDIR}${LIBDIR}/libcompiler_rt.a -LIBCOM_ERR?= ${DESTDIR}${LIBDIR}/libcom_err.a -LIBCPLUSPLUS?= ${DESTDIR}${LIBDIR}/libc++.a -LIBCRYPT?= ${DESTDIR}${LIBDIR}/libcrypt.a -LIBCRYPTO?=${DESTDIR}${LIBDIR}/libcrypto.a -LIBCTF?= ${DESTDIR}${LIBDIR}/libctf.a -LIBCURSES?=${DESTDIR}${LIBDIR}/libcurses.a -LIBCUSE?= ${DESTDIR}${LIBDIR}/libcuse.a -LIBCXGB4?= ${DESTDIR}${LIBDIR}/libcxgb4.a -LIBCXXRT?= ${DESTDIR}${LIBDIR}/libcxxrt.a -LIBC_PIC?= ${DESTDIR}${LIBDIR}/libc_pic.a -LIBDEVCTL?=${DESTDIR}${LIBDIR}/libdevctl.a -LIBDEVDCTL?= ${DESTDIR}${LIBDIR}/libdevdctl.a -LIBDEVINFO?= ${DESTDIR}${LIBDIR}/libdevinfo.a -LIBDEVSTAT?= ${DESTDIR}${LIBDIR}/libdevstat.a -LIBDIALOG?=${DESTDIR}${LIBDIR}/libdialog.a -LIBDNS?= ${DESTDIR}${LIBDIR}/libdns.a -LIBDPV?= ${DESTDIR}${LIBDIR}/libdpv.a -LIBDTRACE?=${DESTDIR}${LIBDIR}/libdtrace.a -LIBDWARF?= ${DESTDIR}${LIBDIR}/libdwarf.a -LIBEDIT?= ${DESTDIR}${LIBDIR}/libedit.a -LIBEFIVAR?=${DESTDIR}${LIBDIR}/libefivar.a -LIBELF?= ${DESTDIR}${LIBDIR}/libelf.a -LIBEXECINFO?= ${DESTDIR}${LIBDIR}/libexecinfo.a -LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch.a -LIBFIGPAR?=${DESTDIR}${LIBDIR}/libfigpar.a +LIB80211?= ${DESTDIR}${LIBDIR_BASE}/lib80211.a +LIBALIAS?= ${DESTDIR}${LIBDIR_BASE}/libalias.a +LIBARCHIVE?= ${DESTDIR}${LIBDIR_BASE}/libarchive.a +LIBASN1?= ${DESTDIR}${LIBDIR_BASE}/libasn1.a +LIBATM?= ${DESTDIR}${LIBDIR_BASE}/libatm.a +LIBAUDITD?=${DESTDIR}${LIBDIR_BASE}/libauditd.a +LIBAVL?= ${DESTDIR}${LIBDIR_BASE}/libavl.a +LIBBEGEMOT?= ${DESTDIR}${LIBDIR_BASE}/libbegemot.a +LIBBLACKLIST?= ${DESTDIR}${LIBDIR_BASE}/libblacklist.a +LIBBLUETOOTH?= ${DESTDIR}${LIBDIR_BASE}/libbluetooth.a +LIBBSDXML?=${DESTDIR}${LIBDIR_BASE}/libbsdxml.a +LIBBSM?= ${DESTDIR}${LIBDIR_BASE}/libbsm.a +LIBBSNMP?= ${DESTDIR}${LIBDIR_BASE}/libbsnmp.a +LIBBZ2?= ${DESTDIR}${LIBDIR_BASE}/libbz2.a +LIBC?= ${DESTDIR}${LIBDIR_BASE}/libc.a +LIBCALENDAR?= ${DESTDIR}${LIBDIR_BASE}/libcalendar.a +LIBCAM?= ${DESTDIR}${LIBDIR_BASE}/libcam.a +LIBCAP_DNS?= ${DESTDIR}${LIBDIR_BASE}/libcap_dns.a +LIBCAP_GRP?= ${DESTDIR}${LIBDIR_BASE}/libcap_grp.a +LIBCAP_PWD?= ${DESTDIR}${LIBDIR_BASE}/libcap_pwd.a +LIBCAP_RANDOM?=${DESTDIR}${LIBDIR_BASE}/libcap_random.a +LIBCAP_SYSCTL?=${DESTDIR}${LIBDIR_BASE}/libcap_sysctl.a +LIBCASPER?=${DESTDIR}${LIBDIR_BASE}/libcasper.a +LIBCOMPAT?=${DESTDIR}${LIBDIR_BASE}/libcompat.a +LIBCOMPILER_RT?=${DESTDIR}${LIBDIR_BASE}/libcompiler_rt.a
svn commit: r320292 - head
Author: bdrewery Date: Fri Jun 23 19:03:31 2017 New Revision: 320292 URL: https://svnweb.freebsd.org/changeset/base/320292 Log: NO_ROOT: Remove excessive // when DESTDIR/DISTDIR are empty. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 18:58:28 2017(r320291) +++ head/Makefile.inc1 Fri Jun 23 19:03:31 2017(r320292) @@ -718,6 +718,7 @@ _INSTALL_DDIR= ${DESTDIR}/${DISTDIR} INSTALL_DDIR= ${_INSTALL_DDIR:S://:/:g:C:/$::} .if defined(NO_ROOT) METALOG?= ${DESTDIR}/${DISTDIR}/METALOG +METALOG:= ${METALOG:C,//+,/,g} IMAKE+=-DNO_ROOT METALOG=${METALOG} INSTALLFLAGS+= -U -M ${METALOG} -D ${INSTALL_DDIR} MTREEFLAGS+= -W ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320285 - head
Author: bdrewery Date: Fri Jun 23 18:27:00 2017 New Revision: 320285 URL: https://svnweb.freebsd.org/changeset/base/320285 Log: Expose only the create-packages-* targets since they set needed DEST/DIRDIR. The other targets just fail confusingly otherwise. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile head/Makefile.inc1 Modified: head/Makefile == --- head/Makefile Fri Jun 23 18:26:57 2017(r320284) +++ head/Makefile Fri Jun 23 18:27:00 2017(r320285) @@ -131,7 +131,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel bu build32 distribute32 install32 buildsoft distributesoft installsoft \ builddtb xdev xdev-build xdev-install \ xdev-links native-xtools stageworld stagekernel stage-packages \ - create-world-packages create-kernel-packages create-packages \ + create-packages-world create-packages-kernel create-packages \ packages installconfig real-packages sign-packages package-pkg \ print-dir test-system-compiler Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 18:26:57 2017(r320284) +++ head/Makefile.inc1 Fri Jun 23 18:27:00 2017(r320285) @@ -1553,12 +1553,14 @@ _repodir: .PHONY create-packages-world: _pkgbootstrap _repodir .PHONY ${_+_}@cd ${.CURDIR}; \ - ${MAKE} DESTDIR=${WSTAGEDIR} \ + ${MAKE} -f Makefile.inc1 \ + DESTDIR=${WSTAGEDIR} \ PKG_VERSION=${PKG_VERSION} create-world-packages create-packages-kernel:_pkgbootstrap _repodir .PHONY ${_+_}@cd ${.CURDIR}; \ - ${MAKE} DESTDIR=${KSTAGEDIR} \ + ${MAKE} -f Makefile.inc1 \ + DESTDIR=${KSTAGEDIR} \ PKG_VERSION=${PKG_VERSION} DISTDIR=kernel \ create-kernel-packages ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320283 - head
Author: bdrewery Date: Fri Jun 23 18:26:54 2017 New Revision: 320283 URL: https://svnweb.freebsd.org/changeset/base/320283 Log: packages: Allow actually building individual world packages in parallel. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 18:26:51 2017(r320282) +++ head/Makefile.inc1 Fri Jun 23 18:26:54 2017(r320283) @@ -1570,24 +1570,34 @@ create-world-packages: _pkgbootstrap .PHONY awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \ ${WSTAGEDIR}/METALOG @for plist in ${WSTAGEDIR}/*.plist; do \ - plist=$${plist##*/} ; \ - pkgname=$${plist%.plist} ; \ - sh ${SRCDIR}/release/packages/generate-ucl.sh -o $${pkgname} \ - -s ${SRCDIR} -u ${WSTAGEDIR}/$${pkgname}.ucl ; \ - done - @for plist in ${WSTAGEDIR}/*.plist; do \ - plist=$${plist##*/} ; \ - pkgname=$${plist%.plist} ; \ - awk -F\" ' \ - /^name/ { printf("===> Creating %s-", $$2); next } \ - /^version/ { print $$2; next } \ - ' ${WSTAGEDIR}/$${pkgname}.ucl ; \ - ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \ - create -M ${WSTAGEDIR}/$${pkgname}.ucl \ - -p ${WSTAGEDIR}/$${pkgname}.plist \ - -r ${WSTAGEDIR} \ - -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} ; \ - done + plist=$${plist##*/} ; \ + pkgname=$${plist%.plist} ; \ + echo "_PKGS+= $${pkgname}" ; \ + done > ${WSTAGEDIR}/packages.mk + ${_+_}@cd ${.CURDIR}; \ + ${MAKE} -f Makefile.inc1 create-world-packages-jobs \ + .MAKE.JOB.PREFIX= + +.if make(create-world-packages-jobs) +.include "${WSTAGEDIR}/packages.mk" +.endif + +create-world-packages-jobs: .PHONY +.for pkgname in ${_PKGS} +create-world-packages-jobs: create-world-package-${pkgname} +create-world-package-${pkgname}: .PHONY + @sh ${SRCDIR}/release/packages/generate-ucl.sh -o ${pkgname} \ + -s ${SRCDIR} -u ${WSTAGEDIR}/${pkgname}.ucl + @awk -F\" ' \ + /^name/ { printf("===> Creating %s-", $$2); next } \ + /^version/ { print $$2; next } \ + ' ${WSTAGEDIR}/${pkgname}.ucl ; \ + ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \ + create -M ${WSTAGEDIR}/${pkgname}.ucl \ + -p ${WSTAGEDIR}/${pkgname}.plist \ + -r ${WSTAGEDIR} \ + -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} +.endfor create-kernel-packages:_pkgbootstrap .PHONY .if exists(${KSTAGEDIR}/kernel.meta) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320286 - head
Author: bdrewery Date: Fri Jun 23 18:27:03 2017 New Revision: 320286 URL: https://svnweb.freebsd.org/changeset/base/320286 Log: compiler-metadata: Properly handle cross-build OBJDIR. MFC after:3 days Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 18:27:00 2017(r320285) +++ head/Makefile.inc1 Fri Jun 23 18:27:03 2017(r320286) @@ -882,7 +882,7 @@ _cross-tools: @echo "--" @echo ">>> stage 3: cross tools" @echo "--" - @rm -f ${.OBJDIR}/compiler-metadata.mk + @rm -f ${OBJTREE}${.CURDIR}/compiler-metadata.mk ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools _build-metadata: ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320284 - head
Author: bdrewery Date: Fri Jun 23 18:26:57 2017 New Revision: 320284 URL: https://svnweb.freebsd.org/changeset/base/320284 Log: packages: Parallelize individual kernel packaging. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 18:26:54 2017(r320283) +++ head/Makefile.inc1 Fri Jun 23 18:26:57 2017(r320284) @@ -1599,9 +1599,12 @@ create-world-package-${pkgname}: .PHONY -o ${REPODIR}/$$(${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh config ABI)/${PKG_VERSION} .endfor -create-kernel-packages:_pkgbootstrap .PHONY +create-kernel-packages:.PHONY +_default_flavor= -default .if exists(${KSTAGEDIR}/kernel.meta) .for flavor in "" -debug +create-kernel-packages: create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},} +create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap .PHONY @cd ${KSTAGEDIR}/${DISTDIR} ; \ awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \ -v kernel=yes -v _kernconf=${INSTALLKERNEL} \ @@ -1631,6 +1634,8 @@ create-kernel-packages: _pkgbootstrap .PHONY .for _kernel in ${BUILDKERNELS:[2..-1]} .if exists(${KSTAGEDIR}/kernel.${_kernel}.meta) .for flavor in "" -debug +create-kernel-packages: create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},} +create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap .PHONY @cd ${KSTAGEDIR}/kernel.${_kernel} ; \ awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \ -v kernel=yes -v _kernconf=${_kernel} \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320280 - head
Author: bdrewery Date: Fri Jun 23 18:26:33 2017 New Revision: 320280 URL: https://svnweb.freebsd.org/changeset/base/320280 Log: packages: Allow stageworld/stagekernel to run with make jobs. The -B was originally added in projects/release-pkg r289381 as a copy of what 'make world' did at the time. The -B was removed from the 'installworld' call in 'world' in r303844 though. The staging of files is safe to run in parallel. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 18:06:46 2017(r320279) +++ head/Makefile.inc1 Fri Jun 23 18:26:33 2017(r320280) @@ -1539,8 +1539,8 @@ real-packages:stage-packages create-packages sign-pac stage-packages: .PHONY @mkdir -p ${REPODIR} ${WSTAGEDIR} ${KSTAGEDIR} ${_+_}@cd ${.CURDIR}; \ - ${MAKE} DESTDIR=${WSTAGEDIR} -DNO_ROOT -B stageworld ; \ - ${MAKE} DESTDIR=${KSTAGEDIR} -DNO_ROOT -B stagekernel + ${MAKE} DESTDIR=${WSTAGEDIR} -DNO_ROOT stageworld; \ + ${MAKE} DESTDIR=${KSTAGEDIR} -DNO_ROOT stagekernel create-packages: _pkgbootstrap .PHONY @mkdir -p ${REPODIR} ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320282 - head
Author: bdrewery Date: Fri Jun 23 18:26:51 2017 New Revision: 320282 URL: https://svnweb.freebsd.org/changeset/base/320282 Log: packages: Allow creating kernel/world packages in parallel. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 18:26:47 2017(r320281) +++ head/Makefile.inc1 Fri Jun 23 18:26:51 2017(r320282) @@ -1548,14 +1548,21 @@ stage-packages-kernel: .PHONY stage-packages: .PHONY stage-packages-world stage-packages-kernel -create-packages: _pkgbootstrap .PHONY +_repodir: .PHONY @mkdir -p ${REPODIR} + +create-packages-world: _pkgbootstrap _repodir .PHONY ${_+_}@cd ${.CURDIR}; \ ${MAKE} DESTDIR=${WSTAGEDIR} \ - PKG_VERSION=${PKG_VERSION} create-world-packages ; \ + PKG_VERSION=${PKG_VERSION} create-world-packages + +create-packages-kernel:_pkgbootstrap _repodir .PHONY + ${_+_}@cd ${.CURDIR}; \ ${MAKE} DESTDIR=${KSTAGEDIR} \ PKG_VERSION=${PKG_VERSION} DISTDIR=kernel \ create-kernel-packages + +create-packages: .PHONY create-packages-world create-packages-kernel create-world-packages: _pkgbootstrap .PHONY @rm -f ${WSTAGEDIR}/*.plist 2>/dev/null || : ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320281 - head
Author: bdrewery Date: Fri Jun 23 18:26:47 2017 New Revision: 320281 URL: https://svnweb.freebsd.org/changeset/base/320281 Log: packages: Allow staging world/kernel in parallel. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 18:26:33 2017(r320280) +++ head/Makefile.inc1 Fri Jun 23 18:26:47 2017(r320281) @@ -1536,11 +1536,17 @@ package-pkg: .PHONY real-packages: stage-packages create-packages sign-packages .PHONY -stage-packages: .PHONY - @mkdir -p ${REPODIR} ${WSTAGEDIR} ${KSTAGEDIR} +stage-packages-world: .PHONY + @mkdir -p ${WSTAGEDIR} ${_+_}@cd ${.CURDIR}; \ - ${MAKE} DESTDIR=${WSTAGEDIR} -DNO_ROOT stageworld; \ + ${MAKE} DESTDIR=${WSTAGEDIR} -DNO_ROOT stageworld + +stage-packages-kernel: .PHONY + @mkdir -p ${KSTAGEDIR} + ${_+_}@cd ${.CURDIR}; \ ${MAKE} DESTDIR=${KSTAGEDIR} -DNO_ROOT stagekernel + +stage-packages: .PHONY stage-packages-world stage-packages-kernel create-packages: _pkgbootstrap .PHONY @mkdir -p ${REPODIR} ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r320272 - head/sys/conf
On 6/23/2017 9:28 AM, Konstantin Belousov wrote: > On Fri, Jun 23, 2017 at 03:57:58PM +, Ed Maste wrote: >> Author: emaste >> Date: Fri Jun 23 15:57:58 2017 >> New Revision: 320272 >> URL: https://svnweb.freebsd.org/changeset/base/320272 >> >> Log: >> enable --build-id for the kernel link >> >> A Build-ID is an identifier generated at link time to uniquely identify >> ELF binaries. It allows efficient confirmation that an executable or >> shared library and a corresponding standalone debuginfo file match. >> (Otherwise, a checksum of the debuginfo file must be calculated when >> opening it in a debugger.) >> >> The FreeBSD base system includes GNU bfd ld 2.17.50 as the linker for >> architectures other than arm64. Build-ID support was added to bfd ld >> shortly after that version, so was not previously available to us. >> >> We can now start making use of Build-ID as we migrate to using lld or >> bfd ld from ports, conditionally enabled based on the LINKER_TYPE and >> LINKER_VERSION make variables added in r320244 and subsequent commits. >> >> Reviewed by: dim >> MFC after: 3 weeks >> Sponsored by: The FreeBSD Foundation >> Differential Revision: https://reviews.freebsd.org/D11314 >> >> Modified: >> head/sys/conf/kern.pre.mk >> head/sys/conf/kmod.mk >> >> Modified: head/sys/conf/kern.pre.mk >> == >> --- head/sys/conf/kern.pre.mkFri Jun 23 15:27:23 2017 >> (r320271) >> +++ head/sys/conf/kern.pre.mkFri Jun 23 15:57:58 2017 >> (r320272) >> @@ -114,6 +114,10 @@ DEFINED_PROF= ${PROF} >> # can override the others. >> CFLAGS+=${CONF_CFLAGS} >> >> +.if ${LINKER_TYPE} != "bfd" || ${LINKER_VERSION} > 21750 > I believe such tests is the road to misery. I suggest that an ld feature > presence must define some variable for make, and the places using the > ld feature would test for the variable. > > In other words, checking the features must be centralized. There is too > many linkers already: bfd, gold, lld. Since two new linkers appeared in > five years, I would be not surprised if more will. Agreed. We can have a LINKER_FEATURES like we do for the compiler. In this case I suggest just moving the same condition you have added into bsd.linker.mk with something like https://people.freebsd.org/~bdrewery/patches/linker-features-build-id.diff Then in these sys/conf places you just: .if ${LINKER_FEATURES:Mbuild-id} LDFLAGS+= > > Having to deal with combinations at places of use is not scalable. We do > it close to right with C compilers and sys/cdefs.h. > >> +LDFLAGS+= -Wl,--build-id=sha1 >> +.endif >> + >> # Optional linting. This can be overridden in /etc/make.conf. >> LINTFLAGS= ${LINTOBJKERNFLAGS} >> >> >> Modified: head/sys/conf/kmod.mk >> == >> --- head/sys/conf/kmod.mkFri Jun 23 15:27:23 2017(r320271) >> +++ head/sys/conf/kmod.mkFri Jun 23 15:57:58 2017(r320272) >> @@ -125,6 +125,10 @@ CFLAGS.gcc+= --param large-function-growth=1000 >> CFLAGS+=-fno-common >> LDFLAGS+= -d -warn-common >> >> +.if ${LINKER_TYPE} != "bfd" || ${LINKER_VERSION} > 21750 >> +LDFLAGS+= -Wl,--build-id=sha1 >> +.endif >> + >> CFLAGS+=${DEBUG_FLAGS} >> .if ${MACHINE_CPUARCH} == amd64 >> CFLAGS+=-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer > -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r320274 - head
Author: bdrewery Date: Fri Jun 23 16:38:46 2017 New Revision: 320274 URL: https://svnweb.freebsd.org/changeset/base/320274 Log: Set compiler metadata for stageworld/distributeworld. This fixes LD errors during 'make packages' but also for the unlikely case of 'buildworld' on 1 system and 'packages' on another [1]. PR: 212877 [1] MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Jun 23 16:38:18 2017(r320273) +++ head/Makefile.inc1 Fri Jun 23 16:38:46 2017(r320274) @@ -87,7 +87,8 @@ OBJTREE= ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH} # Pull in compiler metadata from buildworld/toolchain if possible to avoid # running CC from bsd.compiler.mk. -.if make(installworld) || make(install) +.if make(installworld) || make(install) || make(distributeworld) || \ +make(stageworld) .-include "${OBJTREE}${.CURDIR}/compiler-metadata.mk" .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320273 - head
Author: bdrewery Date: Fri Jun 23 16:38:18 2017 New Revision: 320273 URL: https://svnweb.freebsd.org/changeset/base/320273 Log: Allow ALWAYS_BOOTSTRAP_MAKE to force bmake bootstrapping. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile Modified: head/Makefile == --- head/Makefile Fri Jun 23 15:57:58 2017(r320272) +++ head/Makefile Fri Jun 23 16:38:18 2017(r320273) @@ -195,7 +195,8 @@ HAVE_MAKE= bmake .else HAVE_MAKE= fmake .endif -.if ${HAVE_MAKE} != ${WANT_MAKE} || \ +.if defined(ALWAYS_BOOTSTRAP_MAKE) || \ +${HAVE_MAKE} != ${WANT_MAKE} || \ (defined(WANT_MAKE_VERSION) && ${MAKE_VERSION} < ${WANT_MAKE_VERSION}) NEED_MAKE_UPGRADE= t .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r320245 - head/share/mk
On 6/23/2017 6:56 AM, Cy Schubert wrote: > In message <201706231347.v5ndlt39037...@slippy.cwsent.com>, Cy Schubert > writes: >> Let me try replying to this again. It's an exmh thing. Sorry. >> >> In message <201706222103.v5ml3oq3026...@repo.freebsd.org>, Bryan Drewery >> writes >> : >>> Author: bdrewery >>> Date: Thu Jun 22 21:03:24 2017 >>> New Revision: 320245 >>> URL: https://svnweb.freebsd.org/changeset/base/320245 >>> >>> Log: >>> Support XLD for setting X_LINKER_TYPE and X_LINKER_VERSION. >>> >>> This is similar to r300350 for bsd.compiler.mk. >>> >>> MFC after:2 weeks >>> Reviewed by: emaste >>> Sponsored by: Dell EMC Isilon >>> Differential Revision:https://reviews.freebsd.org/D11309 >>> >>> Modified: >>> head/share/mk/bsd.linker.mk >>> >>> Modified: head/share/mk/bsd.linker.mk >>> === >> == >>> = >>> --- head/share/mk/bsd.linker.mk Thu Jun 22 21:03:20 2017(r32024 >>> 4) >>> +++ head/share/mk/bsd.linker.mk Thu Jun 22 21:03:24 2017(r32024 >>> 5) >>> @@ -9,25 +9,39 @@ >>> # major * 1 + minor * 100 + tiny >>> # It too can be overridden on the command line. >>> # >>> +# These variables with an X_ prefix will also be provided if XLD is set. >>> +# >>> # This file may be included multiple times, but only has effect the first >> ti >>> me. >>> # >>> >>> .if !target() >>> : >>> >>> -_ld_version!= ${LD} --version 2>/dev/null | head -n 1 || echo none >>> +.for ld X_ in LD $${_empty_var_} XLD X_ >>> +.if ${ld} == "LD" || !empty(XLD) >>> +.if ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) >>> + >>> +_ld_version!= ${${ld}} --version 2>/dev/null | head -n 1 || echo none >> >> This line gave one of my machines a bit of gas with the error: >> >> sh: head: not found >> make[2]: "/opt/src/svn-current/share/mk/bsd.linker.mk" line 42: Unable to >> determine linker type from LD=ld >> *** Error code 1 >> >> Specifying the full pathname for head resolves the isssue. > > Or better yet, use include head in the build tools (or use sed or awk). > > Good point, but r320249 should remove the head(1) call entirely during installworld. Can you try again? -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r320250 - head/share/mk
Author: bdrewery Date: Thu Jun 22 22:53:10 2017 New Revision: 320250 URL: https://svnweb.freebsd.org/changeset/base/320250 Log: Provide proper values for X_LINKER_TYPE/VERSION when XLD == LD. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.linker.mk Modified: head/share/mk/bsd.linker.mk == --- head/share/mk/bsd.linker.mk Thu Jun 22 22:53:07 2017(r320249) +++ head/share/mk/bsd.linker.mk Thu Jun 22 22:53:10 2017(r320250) @@ -60,6 +60,10 @@ ${X_}LINKER_VERSION!=echo "${_v:M[1-9].[0-9]*}" | \ .undef _ld_version .undef _v .endif +.else +# Use LD's values +X_LINKER_TYPE= ${LINKER_TYPE} +X_LINKER_VERSION= ${LINKER_VERSION} .endif # ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) # Export the values so sub-makes don't have to look them up again, using the ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320249 - head/share/mk
Author: bdrewery Date: Thu Jun 22 22:53:07 2017 New Revision: 320249 URL: https://svnweb.freebsd.org/changeset/base/320249 Log: Don't overwrite already-set LINKER_VERSION/LINKER_TYPE. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.linker.mk Modified: head/share/mk/bsd.linker.mk == --- head/share/mk/bsd.linker.mk Thu Jun 22 21:22:12 2017(r320248) +++ head/share/mk/bsd.linker.mk Thu Jun 22 22:53:07 2017(r320249) @@ -41,7 +41,7 @@ ${var}= ${${var}.${${X_}_ld_hash}} .endif .if ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) - +.if !defined(${X_}LINKER_TYPE) || !defined(${X_}LINKER_VERSION) _ld_version!= ${${ld}} --version 2>/dev/null | head -n 1 || echo none .if ${_ld_version} == "none" .error Unable to determine linker type from ${ld}=${${ld}} @@ -59,6 +59,7 @@ ${X_}LINKER_VERSION!= echo "${_v:M[1-9].[0-9]*}" | \ awk -F. '{print $$1 * 1 + $$2 * 100 + $$3;}' .undef _ld_version .undef _v +.endif .endif # ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) # Export the values so sub-makes don't have to look them up again, using the ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r320248 - head/share/mk
On 6/22/2017 2:44 PM, O. Hartmann wrote: > Am Thu, 22 Jun 2017 21:22:12 + (UTC) > Bryan Drewery <bdrew...@freebsd.org> schrieb: > >> Author: bdrewery >> Date: Thu Jun 22 21:22:12 2017 >> New Revision: 320248 >> URL: https://svnweb.freebsd.org/changeset/base/320248 >> >> Log: >> LINKER_VERSION: Support external binutils. >> >> The ports binutils stores the version in the 5th word so just look for >> a version using a pattern instead. >> >> Reported by: rpokala >> MFC after: 2 weeks >> Sponsored by: Dell EMC Isilon >> >> Modified: >> head/share/mk/bsd.linker.mk >> >> Modified: head/share/mk/bsd.linker.mk >> == >> --- head/share/mk/bsd.linker.mk Thu Jun 22 21:03:30 2017 >> (r320247) >> +++ head/share/mk/bsd.linker.mk Thu Jun 22 21:22:12 2017 >> (r320248) >> @@ -48,7 +48,7 @@ _ld_version!= ${${ld}} --version 2>/dev/null | head -n >> .endif >> .if ${_ld_version:[1..2]} == "GNU ld" >> ${X_}LINKER_TYPE= binutils >> -_v= ${_ld_version:[3]} >> +_v= ${_ld_version:M[1-9].[0-9]*:[1]} >> .elif ${_ld_version:[1]} == "LLD" >> ${X_}LINKER_TYPE= lld >> _v= ${_ld_version:[2]} >> ___ >> svn-src-h...@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/svn-src-head >> To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org" > > make installworld: > > > [...] > --- installworld --- > mkdir -p /tmp/install.miEfyZyL > progs=$(for prog in [ awk cap_mkdb cat chflags chmod chown cmp cp date echo > egrep find > grep id install ln make mkdir mtree mv pwd_mkdb rm sed services_mkdb sh > strip sysctl > test true uname wc zic tzsetup makewhatis; do if progpath=`which $prog`; > then echo > $progpath; else echo "Required tool $prog not found in PATH." >&2; exit 1; > fi; > done); libs=$(ldd -f "%o %p\n" -f "%o %p\n" $progs 2>/dev/null | sort -u | > while read > line; do $line; if [ "$2 $3" != "not found" ]; then echo $2; else echo > "Required > library $1 not found." >&2; exit 1; fi; done); cp $libs $progs > /tmp/install.miEfyZyL > cp -R ${PATH_LOCALE:-"/usr/share/locale"} /tmp/install.miEfyZyL/locale cd > /usr/src; > COMPILER_VERSION=4 COMPILER_FEATURES=c++11 COMPILER_TYPE=clang > COMPILER_FREEBSD_VERSION=126 MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 > MACHINE=amd64 CPUTYPE=native CC="cc -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin" CXX="c++ > -target > x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/usr/src/tmp > -B/usr/obj/usr/src/tmp/usr/bin" CPP="cpp -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin" AS="as" > AR="ar" LD="ld" > LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/tmp/install.miEfyZyL > LD_LIBRARY_PATH=/tmp/install.miEfyZyL > PATH_LOCALE=/tmp/install.miEfyZyL/locale make -f > Makefile.inc1__MAKE_SHELL=/tmp/install.miEfyZyL/sh reinstall; > COMPILER_VERSION=4 COMPILER_FEATURES=c++11 COMPILER_TYPE=clang > COMPILER_FREEBSD_VERSION=126 MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 > MACHINE=amd64 CPUTYPE=native CC="cc -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin" CXX="c++ > -target > x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/usr/src/tmp > -B/usr/obj/usr/src/tmp/usr/bin" CPP="cpp -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin" AS="as" > AR="ar" LD="ld" > LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/tmp/install.miEfyZyL > LD_LIBRARY_PATH=/tmp/install.miEfyZyL > PATH_LOCALE=/tmp/install.miEfyZyL/locale rm > -rf /tmp/install.miEfyZyL sh: head: not found make[2]: > "/usr/src/share/mk/bsd.linker.mk" > line 41: Unable to determine linker type from LD=ld *** [installworld] Error > code 1 > > r320249 fixes it. No need to do another buildworld. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r320248 - head/share/mk
On 6/22/2017 2:44 PM, O. Hartmann wrote: > Am Thu, 22 Jun 2017 21:22:12 + (UTC) > Bryan Drewery <bdrew...@freebsd.org> schrieb: > >> Author: bdrewery >> Date: Thu Jun 22 21:22:12 2017 >> New Revision: 320248 >> URL: https://svnweb.freebsd.org/changeset/base/320248 >> >> Log: >> LINKER_VERSION: Support external binutils. >> >> The ports binutils stores the version in the 5th word so just look for >> a version using a pattern instead. >> >> Reported by: rpokala >> MFC after: 2 weeks >> Sponsored by: Dell EMC Isilon >> >> Modified: >> head/share/mk/bsd.linker.mk >> >> Modified: head/share/mk/bsd.linker.mk >> == >> --- head/share/mk/bsd.linker.mk Thu Jun 22 21:03:30 2017 >> (r320247) >> +++ head/share/mk/bsd.linker.mk Thu Jun 22 21:22:12 2017 >> (r320248) >> @@ -48,7 +48,7 @@ _ld_version!= ${${ld}} --version 2>/dev/null | head -n >> .endif >> .if ${_ld_version:[1..2]} == "GNU ld" >> ${X_}LINKER_TYPE= binutils >> -_v= ${_ld_version:[3]} >> +_v= ${_ld_version:M[1-9].[0-9]*:[1]} >> .elif ${_ld_version:[1]} == "LLD" >> ${X_}LINKER_TYPE= lld >> _v= ${_ld_version:[2]} >> ___ >> svn-src-h...@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/svn-src-head >> To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org" > > make installworld: > > > [...] > --- installworld --- > mkdir -p /tmp/install.miEfyZyL > progs=$(for prog in [ awk cap_mkdb cat chflags chmod chown cmp cp date echo > egrep find > grep id install ln make mkdir mtree mv pwd_mkdb rm sed services_mkdb sh > strip sysctl > test true uname wc zic tzsetup makewhatis; do if progpath=`which $prog`; > then echo > $progpath; else echo "Required tool $prog not found in PATH." >&2; exit 1; > fi; > done); libs=$(ldd -f "%o %p\n" -f "%o %p\n" $progs 2>/dev/null | sort -u | > while read > line; do $line; if [ "$2 $3" != "not found" ]; then echo $2; else echo > "Required > library $1 not found." >&2; exit 1; fi; done); cp $libs $progs > /tmp/install.miEfyZyL > cp -R ${PATH_LOCALE:-"/usr/share/locale"} /tmp/install.miEfyZyL/locale cd > /usr/src; > COMPILER_VERSION=4 COMPILER_FEATURES=c++11 COMPILER_TYPE=clang > COMPILER_FREEBSD_VERSION=126 MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 > MACHINE=amd64 CPUTYPE=native CC="cc -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin" CXX="c++ > -target > x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/usr/src/tmp > -B/usr/obj/usr/src/tmp/usr/bin" CPP="cpp -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin" AS="as" > AR="ar" LD="ld" > LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/tmp/install.miEfyZyL > LD_LIBRARY_PATH=/tmp/install.miEfyZyL > PATH_LOCALE=/tmp/install.miEfyZyL/locale make -f > Makefile.inc1__MAKE_SHELL=/tmp/install.miEfyZyL/sh reinstall; > COMPILER_VERSION=4 COMPILER_FEATURES=c++11 COMPILER_TYPE=clang > COMPILER_FREEBSD_VERSION=126 MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=amd64 > MACHINE=amd64 CPUTYPE=native CC="cc -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin" CXX="c++ > -target > x86_64-unknown-freebsd12.0 --sysroot=/usr/obj/usr/src/tmp > -B/usr/obj/usr/src/tmp/usr/bin" CPP="cpp -target x86_64-unknown-freebsd12.0 > --sysroot=/usr/obj/usr/src/tmp -B/usr/obj/usr/src/tmp/usr/bin" AS="as" > AR="ar" LD="ld" > LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" > PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/tmp/install.miEfyZyL > LD_LIBRARY_PATH=/tmp/install.miEfyZyL > PATH_LOCALE=/tmp/install.miEfyZyL/locale rm > -rf /tmp/install.miEfyZyL sh: head: not found make[2]: > "/usr/src/share/mk/bsd.linker.mk" > line 41: Unable to determine linker type from LD=ld *** [installworld] Error > code 1 > > r320247 should have prevented this. Did you do a full buildworld after SVN up? Which revision are you actually on? -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r320248 - head/share/mk
Author: bdrewery Date: Thu Jun 22 21:22:12 2017 New Revision: 320248 URL: https://svnweb.freebsd.org/changeset/base/320248 Log: LINKER_VERSION: Support external binutils. The ports binutils stores the version in the 5th word so just look for a version using a pattern instead. Reported by: rpokala MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.linker.mk Modified: head/share/mk/bsd.linker.mk == --- head/share/mk/bsd.linker.mk Thu Jun 22 21:03:30 2017(r320247) +++ head/share/mk/bsd.linker.mk Thu Jun 22 21:22:12 2017(r320248) @@ -48,7 +48,7 @@ _ld_version!= ${${ld}} --version 2>/dev/null | head -n .endif .if ${_ld_version:[1..2]} == "GNU ld" ${X_}LINKER_TYPE= binutils -_v=${_ld_version:[3]} +_v=${_ld_version:M[1-9].[0-9]*:[1]} .elif ${_ld_version:[1]} == "LLD" ${X_}LINKER_TYPE= lld _v=${_ld_version:[2]} ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320245 - head/share/mk
Author: bdrewery Date: Thu Jun 22 21:03:24 2017 New Revision: 320245 URL: https://svnweb.freebsd.org/changeset/base/320245 Log: Support XLD for setting X_LINKER_TYPE and X_LINKER_VERSION. This is similar to r300350 for bsd.compiler.mk. MFC after:2 weeks Reviewed by: emaste Sponsored by: Dell EMC Isilon Differential Revision:https://reviews.freebsd.org/D11309 Modified: head/share/mk/bsd.linker.mk Modified: head/share/mk/bsd.linker.mk == --- head/share/mk/bsd.linker.mk Thu Jun 22 21:03:20 2017(r320244) +++ head/share/mk/bsd.linker.mk Thu Jun 22 21:03:24 2017(r320245) @@ -9,25 +9,39 @@ # major * 1 + minor * 100 + tiny # It too can be overridden on the command line. # +# These variables with an X_ prefix will also be provided if XLD is set. +# # This file may be included multiple times, but only has effect the first time. # .if !target() : -_ld_version!= ${LD} --version 2>/dev/null | head -n 1 || echo none +.for ld X_ in LD $${_empty_var_} XLD X_ +.if ${ld} == "LD" || !empty(XLD) +.if ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) + +_ld_version!= ${${ld}} --version 2>/dev/null | head -n 1 || echo none .if ${_ld_version} == "none" -.error Unable to determine linker type from LD=${LD} +.error Unable to determine linker type from ${ld}=${${ld}} .endif .if ${_ld_version:[1..2]} == "GNU ld" -LINKER_TYPE= binutils +${X_}LINKER_TYPE= binutils _v=${_ld_version:[3]} .elif ${_ld_version:[1]} == "LLD" -LINKER_TYPE= lld +${X_}LINKER_TYPE= lld _v=${_ld_version:[2]} .else -.error Unknown linker from LD=${LD}: ${_ld_version} +.error Unknown linker from ${ld}=${${ld}}: ${_ld_version} .endif -LINKER_VERSION!=echo "${_v:M[1-9].[0-9]*}" | awk -F. '{print $$1 * 1 + $$2 * 100 + $$3;}' +${X_}LINKER_VERSION!= echo "${_v:M[1-9].[0-9]*}" | \ + awk -F. '{print $$1 * 1 + $$2 * 100 + $$3;}' +.undef _ld_version +.undef _v +.endif # ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) + +.endif # ${ld} == "LD" || !empty(XLD) +.endfor# .for ld in LD XLD + .endif # !target() ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320244 - head/share/mk
Author: bdrewery Date: Thu Jun 22 21:03:20 2017 New Revision: 320244 URL: https://svnweb.freebsd.org/changeset/base/320244 Log: Add basic bsd.linker.mk auto included from bsd.compiler.mk. This will provide LINKER_TYPE and LINKER_VERSION. MFC after:2 weeks Reviewed by: emaste Sponsored by: Dell EMC Isilon Differential Revision:https://reviews.freebsd.org/D11308 Added: head/share/mk/bsd.linker.mk (contents, props changed) Modified: head/share/mk/Makefile head/share/mk/bsd.compiler.mk Modified: head/share/mk/Makefile == --- head/share/mk/Makefile Thu Jun 22 20:32:23 2017(r320243) +++ head/share/mk/Makefile Thu Jun 22 21:03:20 2017(r320244) @@ -33,6 +33,7 @@ FILES=\ bsd.kmod.mk \ bsd.lib.mk \ bsd.libnames.mk \ + bsd.linker.mk \ bsd.links.mk \ bsd.man.mk \ bsd.mkopt.mk \ Modified: head/share/mk/bsd.compiler.mk == --- head/share/mk/bsd.compiler.mk Thu Jun 22 20:32:23 2017 (r320243) +++ head/share/mk/bsd.compiler.mk Thu Jun 22 21:03:20 2017 (r320244) @@ -194,4 +194,5 @@ ${var}.${${X_}_cc_hash}:= ${${var}} .endif # ${cc} == "CC" || !empty(XCC) .endfor# .for cc in CC XCC +.include .endif # !target() Added: head/share/mk/bsd.linker.mk == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/mk/bsd.linker.mk Thu Jun 22 21:03:20 2017(r320244) @@ -0,0 +1,33 @@ +# $FreeBSD$ + +# Setup variables for the linker. +# +# LINKER_TYPE is the major type of linker. Currently binutils and lld support +# automatic detection. +# +# LINKER_VERSION is a numeric constant equal to: +# major * 1 + minor * 100 + tiny +# It too can be overridden on the command line. +# +# This file may be included multiple times, but only has effect the first time. +# + +.if !target() +: + +_ld_version!= ${LD} --version 2>/dev/null | head -n 1 || echo none +.if ${_ld_version} == "none" +.error Unable to determine linker type from LD=${LD} +.endif +.if ${_ld_version:[1..2]} == "GNU ld" +LINKER_TYPE= binutils +_v=${_ld_version:[3]} +.elif ${_ld_version:[1]} == "LLD" +LINKER_TYPE= lld +_v=${_ld_version:[2]} +.else +.error Unknown linker from LD=${LD}: ${_ld_version} +.endif +LINKER_VERSION!=echo "${_v:M[1-9].[0-9]*}" | awk -F. '{print $$1 * 1 + $$2 * 100 + $$3;}' + +.endif # !target() ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320247 - head
Author: bdrewery Date: Thu Jun 22 21:03:30 2017 New Revision: 320247 URL: https://svnweb.freebsd.org/changeset/base/320247 Log: Pass along LINKER_* vars during installworld and show in test-system-compiler. Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Thu Jun 22 21:03:27 2017(r320246) +++ head/Makefile.inc1 Thu Jun 22 21:03:30 2017(r320247) @@ -149,7 +149,8 @@ TEST_SYSTEM_COMPILER_VARS= \ WANT_COMPILER_TYPE WANT_COMPILER_VERSION WANT_COMPILER_VERSION_FILE \ WANT_COMPILER_FREEBSD_VERSION WANT_COMPILER_FREEBSD_VERSION_FILE \ CC COMPILER_TYPE COMPILER_FEATURES COMPILER_VERSION \ - COMPILER_FREEBSD_VERSION + COMPILER_FREEBSD_VERSION \ + LINKER_TYPE LINKER_VERSION test-system-compiler: .PHONY .for v in ${TEST_SYSTEM_COMPILER_VARS} ${_+_}@printf "%-35s= %s\n" "${v}" "${${v}}" @@ -181,7 +182,9 @@ CROSSENV+= COMPILER_VERSION=${X_COMPILER_VERSION} \ _COMPILER_METADATA_VARS= COMPILER_VERSION \ COMPILER_TYPE \ COMPILER_FEATURES \ - COMPILER_FREEBSD_VERSION + COMPILER_FREEBSD_VERSION \ + LINKER_VERSION \ + LINKER_TYPE compiler-metadata.mk: .PHONY .META @: > ${.TARGET} @echo ".info Using cached compiler metadata from build at $$(hostname) on $$(date)" \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320246 - head/share/mk
Author: bdrewery Date: Thu Jun 22 21:03:27 2017 New Revision: 320246 URL: https://svnweb.freebsd.org/changeset/base/320246 Log: Support cached linker values in environment. This is similar to r289659 for bsd.compiler.mk. MFC after:2 weeks Reviewed by: emaste Sponsored by: Dell EMC Isilon Differential Revision:https://reviews.freebsd.org/D11310 Modified: head/share/mk/bsd.linker.mk Modified: head/share/mk/bsd.linker.mk == --- head/share/mk/bsd.linker.mk Thu Jun 22 21:03:24 2017(r320245) +++ head/share/mk/bsd.linker.mk Thu Jun 22 21:03:27 2017(r320246) @@ -19,6 +19,27 @@ : .for ld X_ in LD $${_empty_var_} XLD X_ .if ${ld} == "LD" || !empty(XLD) +# Try to import LINKER_TYPE and LINKER_VERSION from parent make. +# The value is only used/exported for the same environment that impacts +# LD and LINKER_* settings here. +_exported_vars=${X_}LINKER_TYPE ${X_}LINKER_VERSION +${X_}_ld_hash= ${${ld}}${MACHINE}${PATH} +${X_}_ld_hash:=${${X_}_ld_hash:hash} +# Only import if none of the vars are set somehow else. +_can_export= yes +.for var in ${_exported_vars} +.if defined(${var}) +_can_export= no +.endif +.endfor +.if ${_can_export} == yes +.for var in ${_exported_vars} +.if defined(${var}.${${X_}_ld_hash}) +${var}=${${var}.${${X_}_ld_hash}} +.endif +.endfor +.endif + .if ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) _ld_version!= ${${ld}} --version 2>/dev/null | head -n 1 || echo none @@ -39,6 +60,14 @@ ${X_}LINKER_VERSION!=echo "${_v:M[1-9].[0-9]*}" | \ .undef _ld_version .undef _v .endif # ${ld} == "LD" || (${ld} == "XLD" && ${XLD} != ${LD}) + +# Export the values so sub-makes don't have to look them up again, using the +# hash key computed above. +.for var in ${_exported_vars} +${var}.${${X_}_ld_hash}:= ${${var}} +.export-env ${var}.${${X_}_ld_hash} +.undef ${var}.${${X_}_ld_hash} +.endfor .endif # ${ld} == "LD" || !empty(XLD) .endfor# .for ld in LD XLD ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320243 - head/share/mk
Author: bdrewery Date: Thu Jun 22 20:32:23 2017 New Revision: 320243 URL: https://svnweb.freebsd.org/changeset/base/320243 Log: Fix spelling error. Reported by: arc Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.compiler.mk Modified: head/share/mk/bsd.compiler.mk == --- head/share/mk/bsd.compiler.mk Thu Jun 22 19:25:17 2017 (r320242) +++ head/share/mk/bsd.compiler.mk Thu Jun 22 20:32:23 2017 (r320243) @@ -9,7 +9,7 @@ # # COMPILER_VERSION is a numeric constant equal to: # major * 1 + minor * 100 + tiny -# It too can be overriden on the command line. When testing it, be sure to +# It too can be overridden on the command line. When testing it, be sure to # make sure that you are limiting the test to a specific compiler. Testing # against 30300 for gcc likely isn't what you wanted (since versions of gcc # prior to 4.2 likely have no prayer of working). ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320220 - in head: share/mk sys/conf
Author: bdrewery Date: Thu Jun 22 05:34:41 2017 New Revision: 320220 URL: https://svnweb.freebsd.org/changeset/base/320220 Log: Rework logic for skipping .depend/.meta file read/stat/writes. - Rename _SKIP_READ_DEPEND to _SKIP_DEPEND since it also avoids writing. - This now uses .NOMETA to avoid reading any .meta files related to DEPENDOBJS. Objects not in OBJS/DEPENDOBJS may still have their .meta files read in if they are in the dependency graph. - This also avoids statting .meta and .depend files in the META_MODE + -DNO_FILEMON case. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.dep.mk head/sys/conf/kern.post.mk Modified: head/share/mk/bsd.dep.mk == --- head/share/mk/bsd.dep.mkThu Jun 22 05:30:27 2017(r320219) +++ head/share/mk/bsd.dep.mkThu Jun 22 05:34:41 2017(r320220) @@ -86,10 +86,13 @@ _meta_filemon= 1 # Skip reading .depend when not needed to speed up tree-walks and simple # lookups. See _SKIP_BUILD logic in bsd.init.mk for more details. # Also skip generating or including .depend.* files if in meta+filemon mode -# since it will track dependencies itself. OBJS_DEPEND_GUESS is still used. -.if defined(_SKIP_BUILD) || defined(_meta_filemon) -_SKIP_READ_DEPEND= 1 +# since it will track dependencies itself. OBJS_DEPEND_GUESS is still used +# for _meta_filemon but not for _SKIP_DEPEND. +.if defined(_SKIP_BUILD) +_SKIP_DEPEND= 1 +.endif .if ${MK_DIRDEPS_BUILD} == "no" +.if defined(_SKIP_DEPEND) || defined(_meta_filemon) .MAKE.DEPENDFILE= /dev/null .endif .endif @@ -180,6 +183,15 @@ DEPENDSRCS=${SRCS:M*.[cSC]} ${SRCS:M*.cxx} ${SRCS:M*. DEPENDOBJS+= ${DEPENDSRCS:R:S,$,.o,} .endif DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:${DEPEND_FILTER}:C/^/${DEPENDFILE}./} +.if defined(_SKIP_DEPEND) +# Don't bother statting any .meta files for .depend* +${DEPENDOBJS}: .NOMETA +${DEPENDFILE}: .NOMETA +# Unset these to avoid looping/statting on them later. +.undef DEPENDSRCS +.undef DEPENDOBJS +.undef DEPENDFILES_OBJS +.endif # defined(_SKIP_DEPEND) DEPEND_CFLAGS+=-MD ${DEPEND_MP} -MF${DEPENDFILE}.${.TARGET:${DEPEND_FILTER}} DEPEND_CFLAGS+=-MT${.TARGET} .if !defined(_meta_filemon) @@ -191,7 +203,6 @@ CFLAGS+=${${DEPEND_CFLAGS_CONDITION}:?${DEPEND_CFLAGS .else CFLAGS+= ${DEPEND_CFLAGS} .endif -.if !defined(_SKIP_READ_DEPEND) .for __depend_obj in ${DEPENDFILES_OBJS} .if ${MAKE_VERSION} < 20160220 .sinclude "${.OBJDIR}/${__depend_obj}" @@ -199,7 +210,6 @@ CFLAGS+=${DEPEND_CFLAGS} .dinclude "${.OBJDIR}/${__depend_obj}" .endif .endfor -.endif # !defined(_SKIP_READ_DEPEND) .endif # !defined(_meta_filemon) .endif # defined(SRCS) @@ -266,11 +276,13 @@ DPSRCS+= ${SRCS} # targets are kept as they be used for generating something. The target is # kept to allow 'make depend' to generate files. ${DEPENDFILE}: ${DPSRCS} +.if !defined(_SKIP_DEPEND) .if exists(${.OBJDIR}/${DEPENDFILE}) || \ ((commands(beforedepend) || \ (!defined(_meta_filemon) && commands(_EXTRADEPEND)) || \ commands(afterdepend)) && !empty(.MAKE.MODE:Mmeta)) rm -f ${DEPENDFILE} +.endif .endif .if !defined(_meta_filemon) && target(_EXTRADEPEND) _EXTRADEPEND: .USE Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Thu Jun 22 05:30:27 2017(r320219) +++ head/sys/conf/kern.post.mk Thu Jun 22 05:34:41 2017(r320220) @@ -199,12 +199,15 @@ _meta_filemon=1 # Skip reading .depend when not needed to speed up tree-walks and simple # lookups. For install, only do this if no other targets are specified. # Also skip generating or including .depend.* files if in meta+filemon mode -# since it will track dependencies itself. OBJS_DEPEND_GUESS is still used. +# since it will track dependencies itself. OBJS_DEPEND_GUESS is still used +# for _meta_filemon but not for _SKIP_DEPEND. .if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(*obj) || \ ${.TARGETS:M*clean*} == ${.TARGETS} || \ ${.TARGETS:M*install*} == ${.TARGETS} || \ defined(_meta_filemon) -_SKIP_READ_DEPEND= 1 +_SKIP_DEPEND= 1 +.endif +.if defined(_SKIP_DEPEND) || defined(_meta_filemon) .MAKE.DEPENDFILE= /dev/null .endif @@ -218,6 +221,15 @@ DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:C/^/.depend./} .if ${MAKE_VERSION} < 20160220 DEPEND_MP?=-MP .endif +.if defined(_SKIP_DEPEND) +# Don't bother reading any .meta files +${DEPENDOBJS}: .NOMETA +.depend: .NOMETA +# Unset these to avoid looping/statting on them later. +.undef DEPENDSRCS +.undef DEPENDOBJS +.undef DEPENDFILES_OBJS +.endif # defined(_SKIP_DEPEND) DEPEND_CFLAGS+=-MD ${DEPEND_MP} -MF.depend.${.TARGET} DEPEND_CFLAGS+=-MT${.TARGET} .if !defined(_meta_filemon) @@ -229,7 +241,6 @@ CFLAGS+=
svn commit: r320207 - head/lib/libsysdecode
Author: bdrewery Date: Wed Jun 21 23:28:24 2017 New Revision: 320207 URL: https://svnweb.freebsd.org/changeset/base/320207 Log: Tweak r320206: Still create the TABLE but not the .depend entry for missing headers. X-MFC-With: r320206 MFC after:3 days Sponsored by: Dell EMC Isilon Modified: head/lib/libsysdecode/mktables Modified: head/lib/libsysdecode/mktables == --- head/lib/libsysdecode/mktables Wed Jun 21 23:01:18 2017 (r320206) +++ head/lib/libsysdecode/mktables Wed Jun 21 23:28:24 2017 (r320207) @@ -65,18 +65,19 @@ gen_table() else filter="egrep -v" fi - [ -e "${include_dir}/${file}" ] || return 0 - all_headers="${all_headers:+${all_headers} }${file}" cat <<_EOF_ TABLE_START(${name}) _EOF_ - egrep "^#[[:space:]]*define[[:space:]]+"${grep}"[[:space:]]*" \ - $include_dir/$file | ${filter} ${excl} | \ - awk '{ for (i = 1; i <= NF; i++) \ - if ($i ~ /define/) \ - break; \ - ++i; \ - printf "TABLE_ENTRY(%s)\n", $i }' + if [ -e "${include_dir}/${file}" ]; then + all_headers="${all_headers:+${all_headers} }${file}" + egrep "^#[[:space:]]*define[[:space:]]+"${grep}"[[:space:]]*" \ + $include_dir/$file | ${filter} ${excl} | \ + awk '{ for (i = 1; i <= NF; i++) \ + if ($i ~ /define/) \ + break; \ + ++i; \ + printf "TABLE_ENTRY(%s)\n", $i }' + fi cat <<_EOF_ TABLE_END ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320206 - head/lib/libsysdecode
Author: bdrewery Date: Wed Jun 21 23:01:18 2017 New Revision: 320206 URL: https://svnweb.freebsd.org/changeset/base/320206 Log: Follow-up r308602: Don't add missing headers to .depend.tables.h. This also avoids an error from egrep when a header is missing. This can happen with something like WITHOUT_BLUETOOTH set when searching for $include_dir/netgraph/bluetooth/include/ng_btsocket.h. The warning was not an error (from set -e) due to being on the left side of a pipe. Now the all_headers list is only filled with existing headers. Reviewed by: ngie MFC after:3 days Sponsored by: Dell EMC Isilon Modified: head/lib/libsysdecode/mktables Modified: head/lib/libsysdecode/mktables == --- head/lib/libsysdecode/mktables Wed Jun 21 20:10:58 2017 (r320205) +++ head/lib/libsysdecode/mktables Wed Jun 21 23:01:18 2017 (r320206) @@ -65,6 +65,7 @@ gen_table() else filter="egrep -v" fi + [ -e "${include_dir}/${file}" ] || return 0 all_headers="${all_headers:+${all_headers} }${file}" cat <<_EOF_ TABLE_START(${name}) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320205 - head/share/mk
Author: bdrewery Date: Wed Jun 21 20:10:58 2017 New Revision: 320205 URL: https://svnweb.freebsd.org/changeset/base/320205 Log: Remove logic for setting .MAKE.DEPENDFILE=/dev/null already covered by _SKIP_BUILD. _SKIP_BUILD is defined in bsd.init.mk. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.dep.mk Modified: head/share/mk/bsd.dep.mk == --- head/share/mk/bsd.dep.mkWed Jun 21 19:55:26 2017(r320204) +++ head/share/mk/bsd.dep.mkWed Jun 21 20:10:58 2017(r320205) @@ -89,8 +89,7 @@ _meta_filemon=1 # since it will track dependencies itself. OBJS_DEPEND_GUESS is still used. .if defined(_SKIP_BUILD) || defined(_meta_filemon) _SKIP_READ_DEPEND= 1 -.if ${MK_DIRDEPS_BUILD} == "no" || make(analyze) || make(print-dir) || \ -make(obj) || (!make(all) && (make(clean*) || make(destroy*))) +.if ${MK_DIRDEPS_BUILD} == "no" .MAKE.DEPENDFILE= /dev/null .endif .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320204 - head/sys/conf
Author: bdrewery Date: Wed Jun 21 19:55:26 2017 New Revision: 320204 URL: https://svnweb.freebsd.org/changeset/base/320204 Log: Fix various 'make *clean *all *install' combinations. This follows commits like r320174 in share/mk/bsd.dep.mk. MFC after:3 days Sponsored by: Dell EMC Isilon Modified: head/sys/conf/kern.post.mk Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Wed Jun 21 18:56:53 2017(r320203) +++ head/sys/conf/kern.post.mk Wed Jun 21 19:55:26 2017(r320204) @@ -200,10 +200,10 @@ _meta_filemon=1 # lookups. For install, only do this if no other targets are specified. # Also skip generating or including .depend.* files if in meta+filemon mode # since it will track dependencies itself. OBJS_DEPEND_GUESS is still used. -.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \ +.if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(*obj) || \ +${.TARGETS:M*clean*} == ${.TARGETS} || \ ${.TARGETS:M*install*} == ${.TARGETS} || \ -make(kernel-obj) || make(kernel-clean*) || \ -make(kernel-install*) || defined(_meta_filemon) +defined(_meta_filemon) _SKIP_READ_DEPEND= 1 .MAKE.DEPENDFILE= /dev/null .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320203 - head/share/mk
Author: bdrewery Date: Wed Jun 21 18:56:53 2017 New Revision: 320203 URL: https://svnweb.freebsd.org/changeset/base/320203 Log: Similar to r296013 for NO_ROOT, force SUBDIR_PARALLEL for buildworld WORLDTMP staging. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.subdir.mk Modified: head/share/mk/bsd.subdir.mk == --- head/share/mk/bsd.subdir.mk Wed Jun 21 18:54:28 2017(r320202) +++ head/share/mk/bsd.subdir.mk Wed Jun 21 18:56:53 2017(r320203) @@ -53,7 +53,7 @@ STANDALONE_SUBDIR_TARGETS+= \ maninstall manlint obj objlink # It is safe to install in parallel when staging. -.if defined(NO_ROOT) +.if defined(NO_ROOT) || !empty(SYSROOT) STANDALONE_SUBDIR_TARGETS+= realinstall .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r320172 - head/bin/ln
On 6/20/2017 1:46 PM, Ngie Cooper wrote: > Author: ngie > Date: Tue Jun 20 20:46:08 2017 > New Revision: 320172 > URL: https://svnweb.freebsd.org/changeset/base/320172 > > Log: > ln(1): fix -F behavior > > When '-F' option is used, the target directory needs to be unlinked. > Currently, the modified target ("target/source") is being unlinked, and > since it doesn't yet exist, the original target isn't removed. > This is fixed by skipping the block where target is modified to > "target/source" when '-F' option is set. > Hence, a symbolic link (with the same name as of the original target) to > the source_file is produced. > => Update the test for ln(1) to reflect fix for option '-F' I don't see a test update here. > > MFC after: 1 month > PR: 219943 > Differential Revision: D11167 > Submitted by: shivansh > Sponsored by: Google (GSoC 2017) > > Modified: > head/bin/ln/ln.c > > Modified: head/bin/ln/ln.c > == > --- head/bin/ln/ln.c Tue Jun 20 20:34:30 2017(r320171) > +++ head/bin/ln/ln.c Tue Jun 20 20:46:08 2017(r320172) > @@ -245,11 +245,11 @@ linkit(const char *source, const char *target, int isd > > /* >* If the target is a directory (and not a symlink if hflag), > - * append the source's name. > + * append the source's name, unless Fflag is set. >*/ > - if (isdir || > + if (!Fflag && (isdir || > (lstat(target, ) == 0 && S_ISDIR(sb.st_mode)) || > - (!hflag && stat(target, ) == 0 && S_ISDIR(sb.st_mode))) { > + (!hflag && stat(target, ) == 0 && S_ISDIR(sb.st_mode { > if (strlcpy(bbuf, source, sizeof(bbuf)) >= sizeof(bbuf) || > (p = basename(bbuf)) == NULL || > snprintf(path, sizeof(path), "%s/%s", target, p) >= > -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r320191 - head/share/mk
Author: bdrewery Date: Wed Jun 21 17:11:49 2017 New Revision: 320191 URL: https://svnweb.freebsd.org/changeset/base/320191 Log: objwarn should be .PHONY. Otherwise in META_MODE it may create an objwarn.meta if only bsd.obj.mk is included; bsd.sys.mk already had .PHONY: objwarn. MFC after:3 days Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.obj.mk Modified: head/share/mk/bsd.obj.mk == --- head/share/mk/bsd.obj.mkWed Jun 21 14:39:31 2017(r320190) +++ head/share/mk/bsd.obj.mkWed Jun 21 17:11:49 2017(r320191) @@ -102,7 +102,7 @@ OBJTOP?= ${.OBJDIR:S,${.CURDIR},,}${SRCTOP} # case 2 (using MAKEOBJDIR), don't issue a warning. Otherwise, # issue a warning differentiating between cases 6 and (3 or 4). # -objwarn: +objwarn: .PHONY .if !defined(NO_OBJ) && ${.OBJDIR} != ${CANONICALOBJDIR} && \ !(defined(MAKEOBJDIRPREFIX) && exists(${CANONICALOBJDIR}/)) && \ !(defined(MAKEOBJDIR) && exists(${MAKEOBJDIR}/)) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320177 - in head: . targets/pseudo/bootstrap-tools
Author: bdrewery Date: Tue Jun 20 22:08:02 2017 New Revision: 320177 URL: https://svnweb.freebsd.org/changeset/base/320177 Log: buildworld: Pass which world phase the build is in down to submakes. This is useful for having directories behave differently depending on the phase - such as enabling SUBDIR_PARALLEL or disabling redundant building of library directories already done by earlier 'make _libraries'. Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 head/targets/pseudo/bootstrap-tools/Makefile Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Tue Jun 20 21:26:42 2017(r320176) +++ head/Makefile.inc1 Tue Jun 20 22:08:02 2017(r320177) @@ -518,6 +518,7 @@ BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ # need to keep this in sync with targets/pseudo/bootstrap-tools/Makefile BSARGS=DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ + BWPHASE=${.TARGET:C,^_,,} \ SSP_CFLAGS= \ MK_HTML=no NO_LINT=yes MK_MAN=no \ -DNO_PIC MK_PROFILE=no -DNO_SHARED \ @@ -536,6 +537,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ + BWPHASE=${.TARGET:C,^_,,} \ SSP_CFLAGS= \ -DNO_LINT \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ @@ -689,7 +691,9 @@ NO_META_IGNORE_HOST_HEADERS=1 host-osreldate.h: # DO NOT ADD /usr/include/osreldate.h here @cp -f /usr/include/osreldate.h ${.TARGET} -WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} +WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ + BWPHASE=${.TARGET:C,^_,,} \ + DESTDIR=${WORLDTMP} IMAKEENV= ${CROSSENV} IMAKE= ${IMAKEENV} ${MAKE} -f Makefile.inc1 \ Modified: head/targets/pseudo/bootstrap-tools/Makefile == --- head/targets/pseudo/bootstrap-tools/MakefileTue Jun 20 21:26:42 2017(r320176) +++ head/targets/pseudo/bootstrap-tools/MakefileTue Jun 20 22:08:02 2017(r320177) @@ -35,6 +35,7 @@ OSRELDATE?= 0 # need to keep this in sync with src/Makefile.inc1 BSARGS=DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ + BWPHASE=${.TARGET} \ SSP_CFLAGS= \ MK_HTML=no NO_LINT=yes MK_MAN=no \ -DNO_PIC MK_PROFILE=no -DNO_SHARED \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320174 - head/share/mk
Author: bdrewery Date: Tue Jun 20 20:52:06 2017 New Revision: 320174 URL: https://svnweb.freebsd.org/changeset/base/320174 Log: Fix 'make clean all' to work again. This likely broke completely with r308599. Apply the same fix for 'make destroy' which is a DIRDEPS_BUILD thing. PR: 219819 Reported by: trasz MFC after:3 days Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.dep.mk head/share/mk/bsd.init.mk Modified: head/share/mk/bsd.dep.mk == --- head/share/mk/bsd.dep.mkTue Jun 20 20:50:54 2017(r320173) +++ head/share/mk/bsd.dep.mkTue Jun 20 20:52:06 2017(r320174) @@ -90,7 +90,7 @@ _meta_filemon=1 .if defined(_SKIP_BUILD) || defined(_meta_filemon) _SKIP_READ_DEPEND= 1 .if ${MK_DIRDEPS_BUILD} == "no" || make(analyze) || make(print-dir) || \ -make(obj) || make(clean*) || make(destroy*) +make(obj) || (!make(all) && (make(clean*) || make(destroy*))) .MAKE.DEPENDFILE= /dev/null .endif .endif Modified: head/share/mk/bsd.init.mk == --- head/share/mk/bsd.init.mk Tue Jun 20 20:50:54 2017(r320173) +++ head/share/mk/bsd.init.mk Tue Jun 20 20:52:06 2017(r320174) @@ -50,8 +50,9 @@ $xGRP=${_gid} _SKIP_BUILD= not building at level 0 .elif !empty(.MAKEFLAGS:M-V${_V_DO_BUILD}) || \ ${.TARGETS:M*install*} == ${.TARGETS} || \ -make(clean*) || make(obj) || make(analyze) || make(print-dir) || \ -make(destroy*) +${.TARGETS:Mclean*} == ${.TARGETS} || \ +${.TARGETS:Mdestroy*} == ${.TARGETS} || \ +make(obj) || make(analyze) || make(print-dir) # Skip building, but don't show a warning. _SKIP_BUILD= .endif ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320171 - head/share/mk
Author: bdrewery Date: Tue Jun 20 20:34:30 2017 New Revision: 320171 URL: https://svnweb.freebsd.org/changeset/base/320171 Log: LIBADD: Try to support partial tree checkouts in some limited cases. LIBADD is only supported for in-tree builds because we do not install share/mk/src.libnames.mk (which provides LIBADD support) into /usr/share/mk. So if a partial checkout is done then the LIBADDs are ignored and no LDADD is ever added. Provide limited support for this case for when LIBADD is composed entirely of base libraries. This is to avoid clashes with ports and other out-of-tree LIBADD uses that should not be mapped to LDADD and because we do not want to support LIBADD out-of-tree right now. Reported by: mckusick, kib MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.libnames.mk Modified: head/share/mk/bsd.libnames.mk == --- head/share/mk/bsd.libnames.mk Tue Jun 20 20:22:34 2017 (r320170) +++ head/share/mk/bsd.libnames.mk Tue Jun 20 20:34:30 2017 (r320171) @@ -194,4 +194,26 @@ LDADD:=${LDADD:N-lc} -lc .for lib in ${_LIBRARIES} LIB${lib:tu}SRCDIR?= ${SRCTOP}/${LIB${lib:tu}DIR:S,^${OBJTOP}/,,} .endfor +.else + +# Out of tree builds + +# There are LIBADD defined in an out-of-tree build. Are they *all* +# in-tree libraries? If so convert them to LDADD to support +# partial checkouts. +.if !empty(LIBADD) +_convert_libadd= 1 +.for l in ${LIBADD} +.if empty(LIB${l:tu}) +_convert_libadd= 0 .endif +.endfor +.if ${_convert_libadd} == 1 +.warning Converting out-of-tree build LIBADDs into LDADD. This is not fully supported. +.for l in ${LIBADD} +LDADD+=-l${l} +.endfor +.endif +.endif + +.endif # defined(SRCTOP) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320122 - in head: cddl/usr.sbin/zfsd/tests gnu/usr.bin/grep include lib/librpcsvc lib/libsysdecode sbin/gvinum share/mk sys/boot/efi/loader usr.bin/grep usr.sbin/bootparamd/bootparamd ...
Author: bdrewery Date: Mon Jun 19 20:47:24 2017 New Revision: 320122 URL: https://svnweb.freebsd.org/changeset/base/320122 Log: Utilize SYSROOT from r320119 in places where DESTDIR may be wanting WORLDTMP. Since buildenv exports SYSROOT all of these uses will now look in WORLDTMP by default. sys/boot/efi/loader/Makefile A LIBSTAND hack is no longer required for buildenv. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/cddl/usr.sbin/zfsd/tests/Makefile head/gnu/usr.bin/grep/Makefile head/include/Makefile head/lib/librpcsvc/Makefile head/lib/libsysdecode/Makefile head/sbin/gvinum/Makefile head/share/mk/bsd.libnames.mk head/share/mk/src.libnames.mk head/sys/boot/efi/loader/Makefile head/usr.bin/grep/Makefile head/usr.sbin/bootparamd/bootparamd/Makefile head/usr.sbin/bootparamd/callbootd/Makefile head/usr.sbin/keyserv/Makefile head/usr.sbin/ntp/ntpdc/Makefile head/usr.sbin/ntp/ntpq/Makefile head/usr.sbin/rpc.lockd/Makefile head/usr.sbin/rpc.statd/Makefile head/usr.sbin/rpc.ypupdated/Makefile head/usr.sbin/tcpdump/tcpdump/Makefile Modified: head/cddl/usr.sbin/zfsd/tests/Makefile == --- head/cddl/usr.sbin/zfsd/tests/Makefile Mon Jun 19 20:40:59 2017 (r320121) +++ head/cddl/usr.sbin/zfsd/tests/Makefile Mon Jun 19 20:47:24 2017 (r320122) @@ -11,16 +11,10 @@ SRCS= # Use #include in test programs. INCFLAGS+= -I${.CURDIR:H:H} -.if defined(DESTDIR) -INCFLAGS+= -I${DESTDIR}/usr/include -LIBRARY_PATH= ${DESTDIR}/lib:${DESTDIR}/usr/lib -LDFLAGS.zfsd_unittest+=-L${DESTDIR}/lib -L${DESTDIR}/usr/lib -.elif defined(WORLDTMP) -INCFLAGS+= -I${WORLDTMP}/usr/include -LIBRARY_PATH= ${WORLDTMP}/lib:${WORLDTMP}/usr/lib -LDFLAGS.zfsd_unittest+=-L${WORLDTMP}/lib -L${WORLDTMP}/usr/lib -.else -LIBRARY_PATH= +.if defined(DESTDIR) || defined(SYSROOT) +INCFLAGS+= -I${SYSROOT:U${DESTDIR}}/usr/include +LDFLAGS.zfsd_unittest+=-L${SYSROOT:U${DESTDIR}}/lib \ + -L${SYSROOT:U${DESTDIR}}/usr/lib .endif # Googletest options Modified: head/gnu/usr.bin/grep/Makefile == --- head/gnu/usr.bin/grep/Makefile Mon Jun 19 20:40:59 2017 (r320121) +++ head/gnu/usr.bin/grep/Makefile Mon Jun 19 20:47:24 2017 (r320122) @@ -14,7 +14,7 @@ SRCS= closeout.c dfa.c error.c exclude.c grep.c grepma xstrtoumax.c CLEANFILES+= gnugrep.1 -CFLAGS+=-I${.CURDIR} -I${DESTDIR}/usr/include/gnu -DHAVE_CONFIG_H +CFLAGS+=-I${.CURDIR} -I${SYSROOT:U${DESTDIR}}/usr/include/gnu -DHAVE_CONFIG_H .if ${MK_BSD_GREP} != "yes" LINKS+=${BINDIR}/grep ${BINDIR}/egrep \ Modified: head/include/Makefile == --- head/include/Makefile Mon Jun 19 20:40:59 2017(r320121) +++ head/include/Makefile Mon Jun 19 20:47:24 2017(r320122) @@ -133,23 +133,24 @@ _MARCHS+= x86 META_TARGETS+= compat stage_includes: ${SHARED} +SDESTDIR= ${SYSROOT:U${DESTDIR}} # Take care of stale directory-level symlinks. compat: .for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCHS} crypto - if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \ - rm -f ${DESTDIR}${INCLUDEDIR}/$i; \ + if [ -L ${SDESTDIR}${INCLUDEDIR}/$i ]; then \ + rm -f ${SDESTDIR}${INCLUDEDIR}/$i; \ fi .endfor mtree -deU ${MTREE_FOLLOWS_SYMLINKS} \ -f ${SRCTOP}/etc/mtree/BSD.include.dist \ - -p ${DESTDIR}${INCLUDEDIR} > /dev/null + -p ${SDESTDIR}${INCLUDEDIR} > /dev/null copies: .PHONY .META .for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} crypto machine machine/pc \ ${_MARCHS} - if [ -d ${DESTDIR}${INCLUDEDIR}/$i ]; then \ - cd ${DESTDIR}${INCLUDEDIR}/$i; \ + if [ -d ${SDESTDIR}${INCLUDEDIR}/$i ]; then \ + cd ${SDESTDIR}${INCLUDEDIR}/$i; \ for h in *.h; do \ if [ -L $$h ]; then rm -f $$h; fi; \ done; \ @@ -158,101 +159,101 @@ copies: .PHONY .META .for i in ${LDIRS} ${LSUBDIRS:Ndev/agp:Ndev/acpica:Ndev/bktr:Ndev/evdev:Ndev/hyperv:Ndev/nand:Ndev/pci} ${LSUBSUBDIRS} cd ${SRCTOP}/sys; \ ${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 $i/*.h \ - ${DESTDIR}${INCLUDEDIR}/$i + ${SDESTDIR}${INCLUDEDIR}/$i .endfor cd ${SRCTOP}/sys/dev/acpica; \ ${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 acpiio.h \ - ${DESTDIR}${INCLUDEDIR}/dev/acpica; \ + ${SDESTDIR}${INCLUDEDIR}/dev/acpica; \ ${INSTALL} -C ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 acpi_hpet.h \ - ${DESTDIR}${INCLUDEDIR}/dev/acpica + ${SDESTDIR}${INCLUDEDIR}/dev/acpica cd ${SRCTOP}/sys/dev/agp; \
svn commit: r320118 - head/share/mk
Author: bdrewery Date: Mon Jun 19 18:08:02 2017 New Revision: 320118 URL: https://svnweb.freebsd.org/changeset/base/320118 Log: Follow-up r320061: Need to respect make.conf/env LIBDIR overrides. This fixes the lib32 build from creating all stale .depend files. X-MFC-With: 320061 MFC after:1 week Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.own.mk head/share/mk/local.sys.mk Modified: head/share/mk/bsd.own.mk == --- head/share/mk/bsd.own.mkMon Jun 19 15:56:03 2017(r320117) +++ head/share/mk/bsd.own.mkMon Jun 19 18:08:02 2017(r320118) @@ -152,6 +152,11 @@ DTBOWN?= root DTBGRP?= wheel DTBMODE?= 444 +# Use make.conf / environment LIBDIR as default if set... +.if !empty(_PREMK_LIBDIR) +LIBDIR_BASE?= ${_PREMK_LIBDIR} +.endif +# otherwise use our expected default value. LIBDIR_BASE?= /usr/lib LIBDIR?= ${LIBDIR_BASE} LIBCOMPATDIR?= /usr/lib/compat Modified: head/share/mk/local.sys.mk == --- head/share/mk/local.sys.mk Mon Jun 19 15:56:03 2017(r320117) +++ head/share/mk/local.sys.mk Mon Jun 19 18:08:02 2017(r320118) @@ -42,6 +42,10 @@ MAKE_PRINT_VAR_ON_ERROR += .MAKE.MAKEFILES .PATH OBJTOP?= ${.OBJDIR:S,${.CURDIR},,}${SRCTOP} .endif +.if !empty(LIBDIR) +_PREMK_LIBDIR:=${LIBDIR} +.endif + .include "src.sys.mk" .if ${.MAKE.MODE:Mmeta*} != "" ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320119 - head
Author: bdrewery Date: Mon Jun 19 18:08:20 2017 New Revision: 320119 URL: https://svnweb.freebsd.org/changeset/base/320119 Log: buildworld: Define SYSROOT to WORLDTMP. This is to allow downstream Makefiles to know for sure they are building against a sysroot rather than only depending on ${DESTDIR} or other assumptions. This also exports it into buildenv. MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/Makefile.inc1 head/Makefile.libcompat Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Mon Jun 19 18:08:02 2017(r320118) +++ head/Makefile.inc1 Mon Jun 19 18:08:20 2017(r320119) @@ -563,7 +563,8 @@ KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${W # world stage WMAKEENV= ${CROSSENV} \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ - PATH=${TMPPATH} + PATH=${TMPPATH} \ + SYSROOT=${WORLDTMP} # make hierarchy HMAKE= PATH=${TMPPATH} ${MAKE} LOCAL_MTREE=${LOCAL_MTREE:Q} @@ -722,7 +723,7 @@ IMAKE_MTREE=MTREE_CMD="mtree ${MTREEFLAGS}" .endif # kernel stage -KMAKEENV= ${WMAKEENV} +KMAKEENV= ${WMAKEENV:NSYSROOT=*} KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME} # Modified: head/Makefile.libcompat == --- head/Makefile.libcompat Mon Jun 19 18:08:02 2017(r320118) +++ head/Makefile.libcompat Mon Jun 19 18:08:20 2017(r320119) @@ -111,6 +111,7 @@ LIBCOMPATCXXFLAGS+= -isystem ${LIBCOMPATTMP}/usr/inclu LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ + SYSROOT=${LIBCOMPATTMP} \ LIBDIR=/usr/lib${libcompat} \ SHLIBDIR=/usr/lib${libcompat} \ DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}" ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320061 - head/share/mk
Author: bdrewery Date: Sat Jun 17 20:33:11 2017 New Revision: 320061 URL: https://svnweb.freebsd.org/changeset/base/320061 Log: Fix Makefiles which override LIBDIR to not add incorrect dependencies into .depend. This fixes these cases which would rebuild every time: make[6]: /usr/obj/usr/src/libexec/rtld-elf/tests/libpythagoras/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/libexec/rtld-elf/libm.a make[6]: /usr/obj/usr/src/lib/libxo/tests/encoder/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/lib/libxo/libxo.a make[7]: /usr/obj/usr/src/lib/libthr/tests/dlopen/dso/.depend, 1: ignoring stale .depend for /usr/obj/usr/src/tmp/usr/tests/lib/libthr/dlopen/libpthread.a The problem is that some Makefiles will override LIBDIR to where they want their library to install. bsd.libnames.mk will then use ${LIBDIR} to define where *existing* libraries are. This then leads to looking for the libraries in the *target* place rather than the *expected* place. We may want to expand this (and all of the other *DIR variables in bsd.own.mk) into something like what Ports has, a PREFIX and a LOCALBASE. PREFIX being where things are being installed to and LOCALBASE being where they already are. For now store the default expected LIBDIR into LIBDIR_BASE and use that for library locations. Reported by: sbruno MFC after:1 week Sponsored by: Dell EMC Isilon Modified: head/share/mk/bsd.libnames.mk head/share/mk/bsd.own.mk head/share/mk/src.libnames.mk Modified: head/share/mk/bsd.libnames.mk == --- head/share/mk/bsd.libnames.mk Sat Jun 17 19:00:12 2017 (r320060) +++ head/share/mk/bsd.libnames.mk Sat Jun 17 20:33:11 2017 (r320061) @@ -12,162 +12,162 @@ # Src directory locations are also defined in src.libnames.mk. -LIBCRT0?= ${DESTDIR}${LIBDIR}/crt0.o +LIBCRT0?= ${DESTDIR}${LIBDIR_BASE}/crt0.o -LIB80211?= ${DESTDIR}${LIBDIR}/lib80211.a -LIBALIAS?= ${DESTDIR}${LIBDIR}/libalias.a -LIBARCHIVE?= ${DESTDIR}${LIBDIR}/libarchive.a -LIBASN1?= ${DESTDIR}${LIBDIR}/libasn1.a -LIBATM?= ${DESTDIR}${LIBDIR}/libatm.a -LIBAUDITD?=${DESTDIR}${LIBDIR}/libauditd.a -LIBAVL?= ${DESTDIR}${LIBDIR}/libavl.a -LIBBEGEMOT?= ${DESTDIR}${LIBDIR}/libbegemot.a -LIBBLACKLIST?= ${DESTDIR}${LIBDIR}/libblacklist.a -LIBBLUETOOTH?= ${DESTDIR}${LIBDIR}/libbluetooth.a -LIBBSDXML?=${DESTDIR}${LIBDIR}/libbsdxml.a -LIBBSM?= ${DESTDIR}${LIBDIR}/libbsm.a -LIBBSNMP?= ${DESTDIR}${LIBDIR}/libbsnmp.a -LIBBZ2?= ${DESTDIR}${LIBDIR}/libbz2.a -LIBC?= ${DESTDIR}${LIBDIR}/libc.a -LIBCALENDAR?= ${DESTDIR}${LIBDIR}/libcalendar.a -LIBCAM?= ${DESTDIR}${LIBDIR}/libcam.a -LIBCAP_DNS?= ${DESTDIR}${LIBDIR}/libcap_dns.a -LIBCAP_GRP?= ${DESTDIR}${LIBDIR}/libcap_grp.a -LIBCAP_PWD?= ${DESTDIR}${LIBDIR}/libcap_pwd.a -LIBCAP_RANDOM?=${DESTDIR}${LIBDIR}/libcap_random.a -LIBCAP_SYSCTL?=${DESTDIR}${LIBDIR}/libcap_sysctl.a -LIBCASPER?=${DESTDIR}${LIBDIR}/libcasper.a -LIBCOMPAT?=${DESTDIR}${LIBDIR}/libcompat.a -LIBCOMPILER_RT?=${DESTDIR}${LIBDIR}/libcompiler_rt.a -LIBCOM_ERR?= ${DESTDIR}${LIBDIR}/libcom_err.a -LIBCPLUSPLUS?= ${DESTDIR}${LIBDIR}/libc++.a -LIBCRYPT?= ${DESTDIR}${LIBDIR}/libcrypt.a -LIBCRYPTO?=${DESTDIR}${LIBDIR}/libcrypto.a -LIBCTF?= ${DESTDIR}${LIBDIR}/libctf.a -LIBCURSES?=${DESTDIR}${LIBDIR}/libcurses.a -LIBCUSE?= ${DESTDIR}${LIBDIR}/libcuse.a -LIBCXGB4?= ${DESTDIR}${LIBDIR}/libcxgb4.a -LIBCXXRT?= ${DESTDIR}${LIBDIR}/libcxxrt.a -LIBC_PIC?= ${DESTDIR}${LIBDIR}/libc_pic.a -LIBDEVCTL?=${DESTDIR}${LIBDIR}/libdevctl.a -LIBDEVDCTL?= ${DESTDIR}${LIBDIR}/libdevdctl.a -LIBDEVINFO?= ${DESTDIR}${LIBDIR}/libdevinfo.a -LIBDEVSTAT?= ${DESTDIR}${LIBDIR}/libdevstat.a -LIBDIALOG?=${DESTDIR}${LIBDIR}/libdialog.a -LIBDNS?= ${DESTDIR}${LIBDIR}/libdns.a -LIBDPV?= ${DESTDIR}${LIBDIR}/libdpv.a -LIBDTRACE?=${DESTDIR}${LIBDIR}/libdtrace.a -LIBDWARF?= ${DESTDIR}${LIBDIR}/libdwarf.a -LIBEDIT?= ${DESTDIR}${LIBDIR}/libedit.a -LIBEFIVAR?=${DESTDIR}${LIBDIR}/libefivar.a -LIBELF?= ${DESTDIR}${LIBDIR}/libelf.a -LIBEXECINFO?= ${DESTDIR}${LIBDIR}/libexecinfo.a -LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch.a -LIBFIGPAR?=${DESTDIR}${LIBDIR}/libfigpar.a +LIB80211?= ${DESTDIR}${LIBDIR_BASE}/lib80211.a +LIBALIAS?= ${DESTDIR}${LIBDIR_BASE}/libalias.a +LIBARCHIVE?= ${DESTDIR}${LIBDIR_BASE}/libarchive.a +LIBASN1?= ${DESTDIR}${LIBDIR_BASE}/libasn1.a +LIBATM?= ${DESTDIR}${LIBDIR_BASE}/libatm.a +LIBAUDITD?=${DESTDIR}${LIBDIR_BASE}/libauditd.a +LIBAVL?= ${DESTDIR}${LIBDIR_BASE}/libavl.a +LIBBEGEMOT?= ${DESTDIR}${LIBDIR_BASE}/libbegemot.a +LIBBLACKLIST?= ${DESTDIR}${LIBDIR_BASE}/libblacklist.a +LIBBLUETOOTH?= ${DESTDIR}${LIBDIR_BASE}/libbluetooth.a +LIBBSDXML?=
svn commit: r320030 - head/share/mk
Author: bdrewery Date: Fri Jun 16 21:48:42 2017 New Revision: 320030 URL: https://svnweb.freebsd.org/changeset/base/320030 Log: WITH_META_MODE: End each ERROR_CMD CMD line with ';'. This makes it easier to debug multi-line command failures. X-MFC-With: r319862 MFC after:1 week Sponsored by: Dell EMC Isilon Modified: head/share/mk/local.sys.mk Modified: head/share/mk/local.sys.mk == --- head/share/mk/local.sys.mk Fri Jun 16 21:40:44 2017(r320029) +++ head/share/mk/local.sys.mk Fri Jun 16 21:48:42 2017(r320030) @@ -13,7 +13,7 @@ MAKE_PRINT_VAR_ON_ERROR += \ .MAKE.MODE .endif -_ERROR_CMD_EXEC= ${sed -n '/^CMD/s,^CMD ,,p' ${.ERROR_META_FILE}:L:sh} +_ERROR_CMD_EXEC= ${sed -n '/^CMD/s,^CMD \(.*\),\1;,p' ${.ERROR_META_FILE}:L:sh} _ERROR_CMD=${!empty(.ERROR_META_FILE):?${_ERROR_CMD_EXEC}:.PHONY} MAKE_PRINT_VAR_ON_ERROR+= \ _ERROR_CMD \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320028 - head/share/mk
Author: bdrewery Date: Fri Jun 16 21:37:05 2017 New Revision: 320028 URL: https://svnweb.freebsd.org/changeset/base/320028 Log: Fix more incorrect library directories fix 'stale .depend' rebuilds. Reported by: sbruno MFC after:3 days Sponsored by: Dell EMC Isilon Modified: head/share/mk/src.libnames.mk Modified: head/share/mk/src.libnames.mk == --- head/share/mk/src.libnames.mk Fri Jun 16 21:36:21 2017 (r320027) +++ head/share/mk/src.libnames.mk Fri Jun 16 21:37:05 2017 (r320028) @@ -420,7 +420,7 @@ LIBSMDBDIR= ${OBJTOP}/lib/libsmdb LIBSMDB?= ${LIBSMDBDIR}/libsmdb.a LIBSMUTILDIR= ${OBJTOP}/lib/libsmutil -LIBSMUTIL?=${LIBSMDBDIR}/libsmutil.a +LIBSMUTIL?=${LIBSMUTILDIR}/libsmutil.a LIBNETBSDDIR?= ${OBJTOP}/lib/libnetbsd LIBNETBSD?=${LIBNETBSDDIR}/libnetbsd.a @@ -453,10 +453,10 @@ LIBPARSEDIR= ${OBJTOP}/usr.sbin/ntp/libparse LIBPARSE?= ${LIBPARSEDIR}/libparse.a LIBLPRDIR= ${OBJTOP}/usr.sbin/lpr/common_source -LIBLPR?= ${LIBOPTSDIR}/liblpr.a +LIBLPR?= ${LIBLPRDIR}/liblpr.a LIBFIFOLOGDIR= ${OBJTOP}/usr.sbin/fifolog/lib -LIBFIFOLOG?= ${LIBOPTSDIR}/libfifolog.a +LIBFIFOLOG?= ${LIBFIFOLOGDIR}/libfifolog.a LIBBSNMPTOOLSDIR= ${OBJTOP}/usr.sbin/bsnmpd/tools/libbsnmptools LIBBSNMPTOOLS?=${LIBBSNMPTOOLSDIR}/libbsnmptools.a ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r320012 - head/share/mk
Author: bdrewery Date: Fri Jun 16 20:47:12 2017 New Revision: 320012 URL: https://svnweb.freebsd.org/changeset/base/320012 Log: Fix LIBAMU location to fix 'stale .depend' rebuilds in usr.sbin/amd. This originally came in r275052. Reported by: sbruno MFC after:3 days Sponsored by: Dell EMC Isilon Modified: head/share/mk/src.libnames.mk Modified: head/share/mk/src.libnames.mk == --- head/share/mk/src.libnames.mk Fri Jun 16 20:08:44 2017 (r320011) +++ head/share/mk/src.libnames.mk Fri Jun 16 20:47:12 2017 (r320012) @@ -462,7 +462,7 @@ LIBBSNMPTOOLSDIR= ${OBJTOP}/usr.sbin/bsnmpd/tools/libb LIBBSNMPTOOLS?=${LIBBSNMPTOOLSDIR}/libbsnmptools.a LIBAMUDIR= ${OBJTOP}/usr.sbin/amd/libamu -LIBAMU?= ${LIBAMUDIR}/libamu/libamu.a +LIBAMU?= ${LIBAMUDIR}/libamu.a # Define a directory for each library. This is useful for adding -L in when # not using a --sysroot or for meta mode bootstrapping when there is no ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r319996 - head/share/mk
Author: bdrewery Date: Fri Jun 16 04:28:10 2017 New Revision: 319996 URL: https://svnweb.freebsd.org/changeset/base/319996 Log: WITH_META_MODE: Don't try showing command if .ERROR_META_FILE is empty. This was sed'ing on stdin for failing .PHONY targets. Reported by: Mark Millard X-MFC-With: r319862 MFC after:1 week Sponsored by: Dell EMC Isilon Modified: head/share/mk/local.sys.mk Modified: head/share/mk/local.sys.mk == --- head/share/mk/local.sys.mk Fri Jun 16 01:26:01 2017(r319995) +++ head/share/mk/local.sys.mk Fri Jun 16 04:28:10 2017(r319996) @@ -13,7 +13,8 @@ MAKE_PRINT_VAR_ON_ERROR += \ .MAKE.MODE .endif -_ERROR_CMD=${sed -n '/^CMD/s,^CMD ,,p' ${.ERROR_META_FILE}:L:sh} +_ERROR_CMD_EXEC= ${sed -n '/^CMD/s,^CMD ,,p' ${.ERROR_META_FILE}:L:sh} +_ERROR_CMD=${!empty(.ERROR_META_FILE):?${_ERROR_CMD_EXEC}:.PHONY} MAKE_PRINT_VAR_ON_ERROR+= \ _ERROR_CMD \ .CURDIR \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r319897 - head/usr.bin/yes
On 6/15/2017 7:17 AM, Ronald Klop wrote: > On Wed, 14 Jun 2017 16:27:52 +0200, Bryan Drewery <bdrew...@freebsd.org> > wrote: > >> On 6/14/2017 7:26 AM, Justin Hibbits wrote: >>> On Wed, Jun 14, 2017 at 9:19 AM, Bryan Drewery <bdrew...@freebsd.org> >>> wrote: >>>> On 6/13/2017 5:35 AM, Pietro Cerutti wrote: >>>>> Author: gahr (ports committer) >>>>> Date: Tue Jun 13 12:35:01 2017 >>>>> New Revision: 319897 >>>>> URL: https://svnweb.freebsd.org/changeset/base/319897 >>>>> >>>>> Log: >>>>> Improve yes' throughput >>>>> >>>>> On my system, this brings up the throughput from ~20 to ~600 MiB/s. >>>>> >>>>> Inspired by: >>>>> https://www.reddit.com/r/unix/comments/6gxduc/how_is_gnu_yes_so_fast/ >>>>> >>>>> Reviewed by:cognet >>>>> Approved by:cognet >>>>> >>>>> Modified: >>>>> head/usr.bin/yes/yes.c >>>> >>>> >>>> While here we should add libxo support. >>>> >>>> -- >>>> Regards, >>>> Bryan Drewery >>>> >>> >>> I think before we add libxo, we need to capsicumize it. After all, it >>> does accept arbitrary arguments. >> >> The code has become more complex. I think capsicum does make sense now >> in case there is an unseen overflow in the new optimized code. >> >> > > It already has capsicum... > https://svnweb.freebsd.org/base?view=revision=308432 > > :-) Doh, perfect! Now we need libxo support. I need a constant stream of . -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r319897 - head/usr.bin/yes
On 6/14/2017 7:26 AM, Justin Hibbits wrote: > On Wed, Jun 14, 2017 at 9:19 AM, Bryan Drewery <bdrew...@freebsd.org> wrote: >> On 6/13/2017 5:35 AM, Pietro Cerutti wrote: >>> Author: gahr (ports committer) >>> Date: Tue Jun 13 12:35:01 2017 >>> New Revision: 319897 >>> URL: https://svnweb.freebsd.org/changeset/base/319897 >>> >>> Log: >>> Improve yes' throughput >>> >>> On my system, this brings up the throughput from ~20 to ~600 MiB/s. >>> >>> Inspired by: >>> https://www.reddit.com/r/unix/comments/6gxduc/how_is_gnu_yes_so_fast/ >>> >>> Reviewed by:cognet >>> Approved by:cognet >>> >>> Modified: >>> head/usr.bin/yes/yes.c >> >> >> While here we should add libxo support. >> >> -- >> Regards, >> Bryan Drewery >> > > I think before we add libxo, we need to capsicumize it. After all, it > does accept arbitrary arguments. The code has become more complex. I think capsicum does make sense now in case there is an unseen overflow in the new optimized code. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r319897 - head/usr.bin/yes
On 6/13/2017 5:35 AM, Pietro Cerutti wrote: > Author: gahr (ports committer) > Date: Tue Jun 13 12:35:01 2017 > New Revision: 319897 > URL: https://svnweb.freebsd.org/changeset/base/319897 > > Log: > Improve yes' throughput > > On my system, this brings up the throughput from ~20 to ~600 MiB/s. > > Inspired by: > https://www.reddit.com/r/unix/comments/6gxduc/how_is_gnu_yes_so_fast/ > > Reviewed by:cognet > Approved by:cognet > > Modified: > head/usr.bin/yes/yes.c While here we should add libxo support. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r319897 - head/usr.bin/yes
On 6/13/2017 5:35 AM, Pietro Cerutti wrote: > Author: gahr (ports committer) > Date: Tue Jun 13 12:35:01 2017 > New Revision: 319897 > URL: https://svnweb.freebsd.org/changeset/base/319897 > > Log: > Improve yes' throughput > > On my system, this brings up the throughput from ~20 to ~600 MiB/s. > > Inspired by: > https://www.reddit.com/r/unix/comments/6gxduc/how_is_gnu_yes_so_fast/ > > Reviewed by:cognet > Approved by:cognet > > Modified: > head/usr.bin/yes/yes.c > > Modified: head/usr.bin/yes/yes.c > == > --- head/usr.bin/yes/yes.cTue Jun 13 12:07:18 2017(r319896) > +++ head/usr.bin/yes/yes.cTue Jun 13 12:35:01 2017(r319897) > @@ -44,20 +44,42 @@ static const char rcsid[] = "$FreeBSD$"; > #include > #include > #include > +#include > +#include > > int > main(int argc, char **argv) > { > + char buf[8192]; 8192 feels arbitrary but it has a purpose. Shouldn't it be based on PAGE_SIZE or something? > + char y[2] = { 'y', '\n' }; > + char * exp = y; > + size_t buflen = 0; > + size_t explen = sizeof(y); More style bugs here > > if (caph_limit_stdio() < 0 || (cap_enter() < 0 && errno != ENOSYS)) > err(1, "capsicum"); > > if (argc > 1) > - while (puts(argv[1]) != EOF) > - ; > - else > - while (puts("y") != EOF) > - ; > + { > + exp = argv[1]; > + explen = strlen(exp) + 1; > + exp[explen - 1] = '\n'; > + } > + > + if (explen <= sizeof(buf)) > + { > + while (buflen < sizeof(buf) - explen) > + { > + memcpy(buf + buflen, exp, explen); > + buflen += explen; > + } > + exp = buf; > + explen = buflen; > + } > + > + while (write(STDOUT_FILENO, exp, explen) > 0) > + ; > + > err(1, "stdout"); > /*NOTREACHED*/ > } > -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r319862 - head/share/mk
Author: bdrewery Date: Mon Jun 12 19:13:29 2017 New Revision: 319862 URL: https://svnweb.freebsd.org/changeset/base/319862 Log: META_MODE: Show .ERROR_CMD in error. This uses a hack to get the CMD from the meta file rather than .ERROR_CMD since bmake currently blanks the value for non-jobs mode. Reviewed by: sjg (indirectly) MFC after:1 week Sponsored by: Dell EMC Isilon Modified: head/share/mk/local.sys.mk Modified: head/share/mk/local.sys.mk == --- head/share/mk/local.sys.mk Mon Jun 12 18:44:14 2017(r319861) +++ head/share/mk/local.sys.mk Mon Jun 12 19:13:29 2017(r319862) @@ -13,7 +13,9 @@ MAKE_PRINT_VAR_ON_ERROR += \ .MAKE.MODE .endif +_ERROR_CMD=${sed -n '/^CMD/s,^CMD ,,p' ${.ERROR_META_FILE}:L:sh} MAKE_PRINT_VAR_ON_ERROR+= \ + _ERROR_CMD \ .CURDIR \ .MAKE \ .OBJDIR \ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r319861 - head/share/mk
Author: bdrewery Date: Mon Jun 12 18:44:14 2017 New Revision: 319861 URL: https://svnweb.freebsd.org/changeset/base/319861 Log: META_MODE: NO_FILEMON should imply nofilemon. This fixes NO_FILEMON to properly still use .depend.OBJ files for dependency tracking. MFC after:1 week Sponsored by: Dell EMC Isilon Modified: head/share/mk/sys.mk Modified: head/share/mk/sys.mk == --- head/share/mk/sys.mkMon Jun 12 17:37:18 2017(r319860) +++ head/share/mk/sys.mkMon Jun 12 18:44:14 2017(r319861) @@ -59,7 +59,7 @@ META_MODE+= missing-meta=yes .if !defined(NO_SILENT) META_MODE+=silent=yes .endif -.if !exists(/dev/filemon) +.if !exists(/dev/filemon) || defined(NO_FILEMON) META_MODE+= nofilemon .endif # Require filemon data with bmake ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r319702 - head/sys/vm
On 6/8/17 12:18 PM, John Baldwin wrote: > Author: jhb > Date: Thu Jun 8 16:18:41 2017 > New Revision: 319702 > URL: https://svnweb.freebsd.org/changeset/base/319702 > > Log: > Fix an off-by-one error in the VM page array on some systems. > > r31386 changed how the size of the VM page array was calculated to be > less wasteful. r313186 -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature