Commit graph

3110 commits

Author SHA1 Message Date
Bryan Drewery 914a5ffcbd AUTO_OBJ: Revert r325351 now that the fix is in auto.obj.mk in r325404.
Forcing MK_AUTO_OBJ to no is not really needed since bsd.obj.mk is protected
against 'rm -rf ${.CURDIR}' already.  It was also flawed as if MK_AUTO_OBJ=yes
was in the .MAKEOVERRIDES already then it just remained on.

Sponsored by:	Dell EMC Isilon
2017-11-04 21:06:39 +00:00
Bryan Drewery 968be8a7a0 Add an assertion to avoid the 'rm -rf /etc' case from cleanobj fixed in r325404.
Sponsored by:	Dell EMC Isilon
2017-11-04 21:05:03 +00:00
Simon J. Gerraty 5abdb50e57 Ensure .OBJDIR has known value
If for any reason we cannot set .OBJDIR==_objdir as desired
use .CURDIR so that at least the classic
.if ${.OBJDIR} != ${.CURDIR}
works and dangerous misstakes can be avoided.

Reviewed by: bdrewery
2017-11-04 21:02:26 +00:00
Enji Cooper f6e116eea9 MFhead@r325383 2017-11-04 07:05:21 +00:00
Bryan Drewery 40a54c51c9 AUTO_OBJ: If the wanted .OBJDIR was not used then disable the feature.
This is to prevent downstream checks from assuming they can trust .OBJDIR when
MK_AUTO_OBJ is yes, such as the bsd.obj.mk checks.

Pointyhat to:	bdrewery
Sponsored by:	Dell EMC Isilon
2017-11-03 01:09:35 +00:00
Bryan Drewery 5fecb1f1d6 AUTO_OBJ is unsafe at the moment as it is for some reason removing /etc with _cleanobj. 2017-11-02 23:00:04 +00:00
Bryan Drewery 89bd07e927 DIRDEPS_BUILD: Cleanup leftover WORLDTMP files.
This will force any existing objects to rebuild if their .meta
files reference files from WORLDTMP.  This is a problem after
the UNIFIED_OBJDIR effort caused buildworld and DIRDEPS_BUILD
to share an OBJDIR.  Without cleaning these files the
Makefile.depend files end up with odd tmp/legacy/... entries
since some bootstrap-tools linger from there and otherwise
don't rebuild.  Removing the files causes anything having
used WORLDTMP to rebuild.

Sponsored by:	Dell EMC Isilon
2017-11-02 20:45:04 +00:00
Bryan Drewery 615a1e70b0 Enable AUTO_OBJ by default if the OBJDIR is writable, only for in-tree builds.
This can be disabled by putting WITHOUT_AUTO_OBJ=yes in /etc/src-env.conf, not
/etc/src.conf, or passing it in the environment.

The purpose of this rather than simply flipping the default of AUTO_OBJ to yes
is to avoid hassling users with auto.obj.mk failures if the wanted OBJDIR is
not writable. It will fallback to writing to the source directory like it does
today if MAKEOBJDIRPREFIX is not writable.

The act of enabling MK_AUTO_OBJ disables all 'make obj' treewalks since
previous work has made those not run if MK_AUTO_OBJ==yes in Makefile.inc1.

Relnotes:	yes
Reviewed by:	sjg
Discussed at:	https://lists.freebsd.org/pipermail/freebsd-arch/2016-May/017805.html
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D12841
2017-11-02 18:09:07 +00:00
Bryan Drewery fbb74b0ee7 Don't propagate MAKEOBJDIRPREFIX changes to environment.
A makefile may use this variable later for its own reasons,
don't infect sub-makes with that value.

Sponsored by:	Dell EMC Isilon
2017-11-02 04:05:03 +00:00
Bryan Drewery 718edb1577 META_MODE: Respect make -s.
MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
2017-11-01 21:22:19 +00:00
Bryan Drewery f8b15066f2 make obj: Skip treewalk if AUTO_OBJ is enabled.
Sponsored by:	Dell EMC Isilon
2017-11-01 21:22:16 +00:00
Bryan Drewery dfa099890c Add option UNIFIED_OBJDIR, on by default, which moves the default build OBJDIR.
This changes the build OBJDIR from the older style of /usr/obj/<srcdir> for
native builds, and /usr/obj/<target>.<target_arch>/<srcdir> for cross builds to
a new simpler format of /usr/obj/<srcdir>/<target>.<target_arch>.  This
new format is used regardless of cross or native build.  It allows
easier management of multiple source tree object directories.

The UNIFIED_OBJDIR option will be removed and its feature made permanent
for the 12.0 release.

Relnotes:	yes (don't note UNIFIED_OBJDIR option since it will be removed)
Prior work:	D3711 D874
Reviewed by:	gjb, sjg
Discussed at:	https://lists.freebsd.org/pipermail/freebsd-arch/2016-May/017805.html
Discussed with:	emaste
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D12840
2017-11-01 21:22:05 +00:00
Enji Cooper b9a2bf88a3 Checkpoint work to integrate coverage and make check together 2017-10-31 07:16:18 +00:00
Enji Cooper 7c008e4270 Add MK_MAKE_CHECK_WITH_COVERAGE, reliant on MK_COVERAGE and MK_MAKE_CHECK_USE_SANDBOX 2017-10-31 06:16:40 +00:00
Enji Cooper 75aaeb57f6 Don't override MK_COVERAGE from bsd.opts.mk in the CLANG_IS_CC case 2017-10-31 03:14:35 +00:00
Enji Cooper 1633af78ab Shuffle MK_COVERAGE conditionals around 2017-10-31 02:52:59 +00:00
Enji Cooper 076777cc29 MFhead@r325199 2017-10-31 02:46:36 +00:00
Bryan Drewery bec340c8f8 This check is not ready here yet.
Keeping for blame purposes, it will be enabled soon.
2017-10-31 02:25:47 +00:00
Bryan Drewery 32e7d9d0d9 AUTO_OBJ can work for crunchgen build-tools.
Sponsored by:	Dell EMC Isilon
2017-10-31 02:12:13 +00:00
Bryan Drewery 579deb45c1 Disable MK_AUTO_OBJ as a make argument like r325078.
This avoids needlessly trying to enable it opportunistically.

Sponsored by:	Dell EMC Isilon
2017-10-31 02:12:09 +00:00
Bryan Drewery 0dd60f15a5 Move some objdir handling (OBJROOT/OBJTOP) out of DIRDEPS_BUILD-only files.
Sponsored by:	Dell EMC Isilon
2017-10-31 00:26:42 +00:00
Bryan Drewery 95137b228e Add RELOBJTOP and RELSRCTOP for relative paths.
RELSRCTOP is likely not as useful since make will always be running from
inside of .OBJDIR and using something like ${.CURDIR}/${RELSRCTOP} is
not redundant for ${SRCTOP}.

Sponsored by:	Dell EMC Isilon
2017-10-31 00:07:41 +00:00
Bryan Drewery a160cbfa07 DIRDEPS_BUILD: libgcc now depends on MK_LLVM_LIBUNWIND
The dependency on gnu/lib/libgcc or lib/libgcc* is determined
at 'make dirdeps' time.

Sponsored by:	Dell EMC Isilon
2017-10-31 00:03:36 +00:00
Bryan Drewery 83f4f35130 Follow-up r320149: Enable GPL_DTC if we're using GCC as the cross-compiler.
This fixes object files landing in the source tree in gnu/usr.bin/dtc
for GCC platforms.

We cannot reliably detect if an external compiler is used here, and the
default YES option does include GCC_BOOTSTRAP which implies that GCC may
be used for the build.

The problem manifests when not using an external compiler, and the host
compiler is clang.  When a fresh build is done (no OBJDIR yet) the
'make obj' treewalk is done before 'make cross-tools', so
COMPILER_FEATURES at this point contains 'c++11' since the host compiler
was used for COMPILER_FEATURES.  Once cross-tools builds the GCC
bootstrap compiler and then descends into 'make everything',
COMPILER_FEATURES no longer contains 'c++11' and MK_GPL_DTC defaults to
enabled.  Now it builds in gnu/usr.bin/dtc without an OBJDIR preset and
drops files into the source tree.

The COMPILER_FEATURES check here is useful for knowing if we can *bootstrap*
C++11 things.  Indeed we do bootstrap dtc as a build tool so it is
useful for enabling the BSD dtc for the build, but we end up needing the
GPL dtc for installation anyway.

Reviewed by:	manu, emaste
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D12817
2017-10-31 00:03:32 +00:00
Enji Cooper 3b25158cf8 Throwing something else at the wall, seeing if it will stick 2017-10-30 10:08:53 +00:00
Enji Cooper bbc1fc6664 Let's see if the dependent relationship between MK_COVERAGE and MK_DEBUG_FILES
I added is the source of my knob grief
2017-10-30 09:24:20 +00:00
Enji Cooper 77611dcbd2 Sort for consistency with bsd.prog.mk 2017-10-30 09:21:56 +00:00
Enji Cooper 547553fe72 Remove redundant DEFAULT_NO_OPTIONS specification for MK_COVERAGE
bsd.opts.mk is already handling it
2017-10-30 09:19:28 +00:00
Enji Cooper 3c5ab8c1cc MFhead@r325119 2017-10-30 05:52:26 +00:00
Bryan Drewery 49c9ea8fe5 AUTO_OBJ: auto.obj.mk mkdir -p simplification
Sponsored by:	Dell EMC Isilon
2017-10-29 01:21:36 +00:00
Bryan Drewery d3e478c4c3 MAKEOBJDIR should be an absolute path, not any path with a slash.
Using MAKEOBJDIR=foo did not work but MAKEOBJDIR=foo/ did, but
really it needs to be absolute.

Sponsored by:	Dell EMC Isilon
2017-10-29 01:21:12 +00:00
Enji Cooper 5ff880dc0f MFhead@r325004 2017-10-26 03:34:17 +00:00
Ruslan Bukin d27927f731 Extract a set of pmcstat functions and interfaces to the new internal
library -- libpmcstat.

This includes PMC logging module, symbols lookup functions,
ELF parsing, process management, PMC attachment, etc.

This allows to reuse code while building new hwpmc(4)-based applications.

Also add pmcstat_symbol_search_by_name() function that allows to find
mapped IP range for a given function name.

Reviewed by:	kib
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D12718
2017-10-24 16:28:00 +00:00
Enji Cooper 532979fa28 Don't require ${DESTDIR}${_gcno_dir} until install 2017-10-23 16:50:33 +00:00
Enji Cooper 0ab79c3cc3 Move MK_COVERAGE fu before .include <bsd.mkopt.mk> so it's actually usable 2017-10-23 16:02:05 +00:00
Enji Cooper 7785423900 MFhead@r324914
Once more on to the MFC, my dear friends
2017-10-23 08:06:57 +00:00
Enji Cooper dc404c7302 Fix tabs before the style police nags me 2017-10-23 08:04:56 +00:00
Enji Cooper eb5c1cb298 Every day I'm shuffling (comments) to diff reduce 2017-10-23 08:03:59 +00:00
Enji Cooper 2e5ab5865f In the search of a perfect knob pairing
Why in the heck is it so dang complicated now?
2017-10-23 08:02:03 +00:00
Enji Cooper 0c095a65a1 Fix an omission in a comment
Soft float API support applies to armv7 too after r324340
2017-10-23 07:56:56 +00:00
Enji Cooper e48a1f9cee Congrats riscv* : you unlike millions of americans will have coverage, even
if the ACA is repealed
2017-10-23 07:52:16 +00:00
Enji Cooper 45c85b6113 Die. Die. Die. Tinderbox failures on mips/powerpc 2017-10-23 07:30:52 +00:00
Enji Cooper 6f2b0ca7ac mips, you cause me too much grief with make tinderbox. Try this instead 2017-10-23 07:07:44 +00:00
Enji Cooper 171e4ce895 Use BROKEN_OPTIONS for MK_COVERAGE=no so it will be documented in src.conf(5) 2017-10-23 06:31:00 +00:00
Enji Cooper 2d19fcb30e Let's just nip gcc 4.2.1 in the bud and say MK_COVERAGE=no
Reasoning: gcc 4.2.1 lacks -fprofile-dir support
2017-10-23 05:36:39 +00:00
Enji Cooper 1375d29aad Fix typo in previous commit
My brain was remembering the spelling of the C++ variable, not the option.
2017-10-23 05:26:21 +00:00
Enji Cooper 6da44d7324 Use -fprofile_dir=${COVERAGEDIR} with --coverage
This option implies that it will automatically prefix .gcda files, when
created, thus allowing for the desired prefixing I've added in via bsd.cov.mk .

This option is only available in clang and later versions of gcc, so I'll
likely have to mark MK_COVERAGE broken from a "fully-fledged feature"
perspective, as I don't want to go through the annoyance of implementing the
feature in gcc and testing it.
2017-10-23 05:19:40 +00:00
Enji Cooper 88d87eb638 Handle host builds
If TARGET_ARCH isn't defined, fallback to MACHINE_ARCH.

This is a followup to r324873.

PR:		222925
2017-10-23 04:20:11 +00:00
Enji Cooper b28b665cbe Need to make all of the variables immediate, or the last value for _gcno_dir wins
This is particularly fun when relative paths are embedded in SRCS, like
lib/libclang_rt does (which I argue is ripe for corruption via parallel
builds).
2017-10-23 00:56:59 +00:00
Enji Cooper 2d457ca3c7 Restore gcc 4.8 version check
I accidentally broke it when making changes
2017-10-22 23:36:43 +00:00
Enji Cooper 875ad66bca Remove BROKEN_OPTIONS/MK_COVERAGE=no for gcc cross-toolchain reliant archs
The cross-toolchain gcc toolchains aren't installing libgcov.a, but the host
toolchain variants are. Don't hack around broken packages in the base system.

PR:		223174
2017-10-22 21:39:58 +00:00
Enji Cooper 69735ece08 Define TARGET_CPUARCH and use in libclang_rt as the basis for CRTARCH
When cross-compiling, the wrong architecture was being embedded in the
libclang_rt binary filenames. It should be based on TARGET_ARCH (target), not
MACHINE_ARCH (host).

This is a draft commit against my project branch. Will fix on ^/head soon.

PR:	222925
2017-10-22 21:34:37 +00:00
Enji Cooper 48c54cbc90 Create GCNOS directories at install time if needed
Add GCNOS{GRP,MODE,OWN} for parity with FILES{GRP,MODE,OWN}. The defaults are
based on BIN{GRP,MODE,OWN}.

GCNOSDIRMODE is added, strictly for configurability, if need be.
2017-10-22 21:00:59 +00:00
Enji Cooper 66d0c18afc Only try handling mutating GCNOS if SRCS is not empty
This should cure the logspam in certain directory about SRCS:M not evaluating
properly, e.g., etc/
2017-10-22 11:45:51 +00:00
Enji Cooper 174694331c Do direct comparisons with TARGET for armv6/armv7
This simplifies the conditionals
2017-10-22 11:21:31 +00:00
Enji Cooper 051c9c6839 It _was_ .gcno's, not .gcda's that get produced with cc --coverage
Try to install them instead of the .gcda's, since the .gcda's likely won't exist.

TODO: verify that installworld does indeed do the right thing.

Ref: gcc(1) -ftest-coverage description; --coverage (option in use) is an alias
     for -fprofile-arcs -ftest-coverage
2017-10-22 07:12:55 +00:00
Enji Cooper 71ae7bc6a2 Have to evaluate GCDAS immediately b/c I .undef'ed the _GCDAS_SRCS var later.
Otherwise GCDAS will be empty. Womp womp.
2017-10-22 00:10:18 +00:00
Enji Cooper 0a8f81bc28 MFhead@r324837
While here, diff reduce some of the changes in sys/boot by moving
MK_COVERAGE=no to sys/boot/Makefile.inc .
2017-10-21 23:40:52 +00:00
Enji Cooper cfe42233f8 Fix typo in prior commit with stray colon after :M 2017-10-21 23:37:41 +00:00
Enji Cooper b0c7b002ca Mark MK_COVERAGE broken for arm64/arm* 2017-10-21 23:27:20 +00:00
Jonathan Anderson 4f2fac3759 Improve computation of {BC,LL}OBJS.
Now that OBJS has grown an OBJS_SRCS_FILTER variable, use this variable
in the computation of BCOBJS and LLOBJS too. Also move BCOBJS and LLOBJS
computation to be next to the OBJS computation: this should both make
the parallel structure clearer and serve to remind people changing OBJS
that parallel changes are required in BCOBJS and LLOBJS.

A side effect of this change is that BCOBJS and LLOBJS will be available
even when LLVM_LINK has not been defined, but that seems like a positive
change: there's no reason we can't ask "what bitcode files would you
generate" just because we can't link those files together into a
complete bitcode representation of a binary or library.

Reviewed by:	sjg
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D12701
2017-10-18 00:33:20 +00:00
Jonathan Anderson 6f6b66a827 Improve logic of CLEANFILES+=${PROG_FULL}.{bc,ll}.
The build rule describing how to create ${PROG_FULL}.{bc,ll} is only
dependent on LLVM_LINK being defined, not on MK_DEBUG_FILES being "yes".
Move the addition of ${PROG_FULL}.{bc,ll} out of the conditional block
under `.if ${MK_DEBUG_FILES} != "no"` and up next to where the build
rules for ${PROG_FULL}.{bc,ll} are defined.

Reviewed by:	emaste
MFC after:	1 week
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D12703
2017-10-18 00:30:15 +00:00
Jonathan Anderson fd8103ed43 Add LLVM IR libraries to CLEANFILES.
We previously taught the build system how to create files like libfoo.bc,
but neglected to teach it about cleaning such files up. Rectify this now.

MFC after:	1 week
Sponsored by:	DARPA, AFRL
2017-10-17 16:29:50 +00:00
Enji Cooper 98be998591 Add appropriate safety belts for riscv so it compiles out of the box when MK_COVERAGE ==yes 2017-10-10 08:07:05 +00:00
Enji Cooper 50896984cd MFhead@r324482 2017-10-10 06:26:12 +00:00
Enji Cooper aefcb745d8 Per r324481, remove MK_COVERAGE_SUPPORT 2017-10-10 06:20:55 +00:00
Warner Losh c8550231ef Disconnect libstand from the build.
Remove libstand from the src/lib build. Remove LIBSTAND from
bsd.libnames.mk. Add affected files to the obsolete files list.

Sponsored by: Netflix
2017-10-09 22:12:57 +00:00
Enji Cooper 01f06122f9 Add MK_COVERAGE_SUPPORT
This is being done for reasons parallel to MK_TESTS_SUPPORT's addition in
^/head@r273449

Unlike ^/head@r273449 though, we do want binaries to be built with coverage
support in the libraries phase, but not in the cross-tools phase.
2017-10-09 01:17:12 +00:00
Jeremie Le Hen e415aa2846 Remove rcmds.
If they are still needed, you can find them in the net/bsdrcmds port.

This was proposed June, 20th and approved by various committers [1].
They have been marked as deprecated on CURRENT in r320644 [2] on July, 4th.
Both stable/11 and release/11.1 contain the deprecation notice (thanks to
allanjude@).

Note that ruptime(1)/rwho(1)/rwhod(8) were initially thought to be part of
rcmds but this was a mistake and those are therefore NOT removed.

[1] https://lists.freebsd.org/pipermail/freebsd-arch/2017-June/018239.html
[2] https://svnweb.freebsd.org/base?view=revision&revision=320644

Reviewed by:	bapt, brooks
Differential Revision:	https://reviews.freebsd.org/D12573
2017-10-06 08:43:14 +00:00
Warner Losh 0b972ac92e Support armv7 builds for userland
Make armv7 as a new MACHINE_ARCH.

Copy all the places we do armv6 and add armv7 as basically an
alias. clang appears to generate code for armv7 by default. armv7 hard
float isn't supported by the the in-tree gcc, so it hasn't been
updated to have a new default.

Support armv7 as a new valid MACHINE_ARCH (and by extension
TARGET_ARCH).

Add armv7 to the universe build.

Differential Revision: https://reviews.freebsd.org/D12010
2017-10-05 23:01:33 +00:00
Enji Cooper e31df75228 Fix .gcda to .pico (bsd.lib.mk) and .o (bsd.prog.mk) dependency mapping
The logic wasn't using a filtered version of SRCS -- it was using the
unfiltered version. This was causing some hilarity with unnecessary
dependencies, like headers and the like in lib/libc/... .

Also use .pico with bsd.lib.mk, not .o -- .o doesn't use SHARED_C*FLAGS,
which doesn't contain _COV_FLAG, which means that the .gcda's would have
relied on objects that didn't build them as a side-effect.
2017-10-05 07:10:28 +00:00
Andriy Voskoboinyk 9e63610e82 Mark libifconfig as private library in src.libnames.mk (completes r305700) 2017-10-01 12:54:40 +00:00
Enji Cooper 13bd47158e Use a pattern for GCDAS that actually works 2017-10-01 05:25:55 +00:00
Enji Cooper 25311a8015 Use a simpler pattern than what I used in r324150 2017-10-01 05:16:19 +00:00
Enji Cooper d1335b630e Make the dependency relationship between .gcda and .o files explicit 2017-10-01 02:39:07 +00:00
Enji Cooper d5db4328ad MFhead@r324148 2017-10-01 02:28:16 +00:00
Wojciech Macek 76541eb0a7 Compile loader as Little-Endian on PPC64/POWER8
Add flag to the makefile to allow loader compilation as
  Little-Endian 32-bit executable.
  Usage:

  make WITH_LOADER_FORCE_LE=yes -C sys/boot all

Submitted by:          Wojciech Macek <wma@freebsd.org>
Reviewed by:           imp, nwhitehorn
Obtained from:         Semihalf
Sponsored by:          QCM Technologies
Differential revision: https://reviews.freebsd.org/D12421
2017-09-29 06:36:19 +00:00
Enji Cooper 1bf78a6fe1 Unbreak pic library link/compilation when MK_COVERAGE == no
Use a separate variable (PIC_OBJS) for the objects that should be in a
pic-enabled static library.

This unbreaks libexec/rtld-elf compilation when MK_COVERAGE == no.
2017-09-24 20:16:38 +00:00
Enji Cooper 1207267e5c MFhead@r323974 2017-09-24 19:48:46 +00:00
Enji Cooper 95a55bd8cd Fix logic errors and simplify installation process
.gcda files should be installed, not .gcno files. It's easier to
formulate which .gcda's to install based on the SRCS and their
extension in bsd.{lib,prog}.mk .
2017-09-17 03:08:00 +00:00
Enji Cooper b78bcbac59 MFhead@r323646 2017-09-16 16:37:18 +00:00
Simon J. Gerraty 2506d70010 Use OBJS_SRCS_FILTER to control setting OBJS from SRCS
Some makefiles do reachover builds.
In some cases it is convenient to list subdirs of the distribution
in SRCS.

It is not very convenient, or always even desirable to have corresponding
subdirs in .OBJDIR, so OBJS_SRCS_FILTER allows the makefile to choose.
The default value 'R' matches existing practice.

But a makefile can set OBJS_SRCS_FILTER= T (the R gets added by
bsd.init.mk) to avoid the need for subdirs in .OBJDIR

Differential Revision:	https://reviews.freebsd.org/D12218
Reviewed by:	bdrewery
2017-09-16 05:42:27 +00:00
Enji Cooper 8fcbcc2d74 MFhead@r323635 2017-09-16 03:54:20 +00:00
Kyle Evans bf51ff5670 bsdgrep: disable TRE implementation by default
Start the phasing out of TRE by disabling it by default. r317254 introduced
a BSD_GREP_FASTMATCH knob (defaulting to on) for testing of bsdgrep with and
without TRE enabled. More bugs have cropped up since then, and
WITHOUT_BSD_GREP_FASTMATCH has shown in testing to be more stable than its
counterpart.

Approved by:	emaste (mentor)
Differential Revision:	https://reviews.freebsd.org/D12381
2017-09-15 15:57:15 +00:00
Ryan Libby edaa206d08 gcc builds: reenable -Wstrict-overflow for bsd.sys.mk
This effectively reverts r304877, after having relegated the warning
suppression to the zic(8) makefile in r323572.

Reviewed by:	emaste
Sponsored by:	Dell EMC Isilon
X-Differential Revision:	https://reviews.freebsd.org/D12284
2017-09-14 03:41:49 +00:00
Enji Cooper bed74aeeaf Chase recent changes to ^/head/share/mk/bsd.lib.mk
Doesn't compile with libexec/rtld-elf when WITH_LIB32 == yes for some
reason.. but it's a WiP.
2017-09-11 19:57:04 +00:00
Enji Cooper 5be4ad9e80 MFhead@r323343 2017-09-09 05:42:23 +00:00
Bryan Drewery 5179958a28 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
2017-09-08 19:20:42 +00:00
Enji Cooper 9a1f7ce50c Revert change (r322952) that was not yet destined for ^/head
This unbreaks the build.

This happened because of a botched "svn switch".

Reported by:	cem
2017-08-27 17:08:08 +00:00
Enji Cooper b5197de15e Try and rebase the bsd.lib.mk changes after ^/head@r322824 was merged in
Unfortunately the snippet's now broken -- need to get the matching expressions to
work properly.
2017-08-27 16:46:51 +00:00
Enji Cooper 1be4c195db MFhead@r322870 2017-08-25 02:48:31 +00:00
John Baldwin de6feefdb7 Improve the coverage of debug symbols for MK_DEBUG_FILES.
- Include debug symbols in static libraries.  This permits binaries
  to include debug symbols for functions obtained from static libraries.
- Permit the C/C++ compiler flags added for MK_DEBUG_FILES to be
  overridden by setting DEBUG_FILES_CFLAGS.  Use this to limit the debug
  information for llvm libraries and binaries.

Reviewed by:	emaste
Sponsored by:	DARPA / AFRL
Differential Revision:	https://reviews.freebsd.org/D12025
2017-08-23 23:30:25 +00:00
Enji Cooper 9efc32ad99 Only populate GCNOS if running clean or install targets 2017-08-23 03:54:34 +00:00
Enji Cooper 1a2361e50e Need to account for SRCS that don't get compiled with --coverage, e.g., .S files 2017-08-20 07:06:13 +00:00
Enji Cooper 0623f2fd61 Don't grok SOBJS directly -- only refer to the .pico files 2017-08-19 19:06:40 +00:00
Enji Cooper de9c083936 Apparently SOBJS, etc, can have duplicates 2017-08-19 18:57:43 +00:00
Enji Cooper e3b52b5eac Don't override COVERAGEDIR in bsd.own.mk 2017-08-19 18:52:43 +00:00
Enji Cooper 1ed13d2ea8 Use proper spelling for the directory variable
It's GCNOSDIR_foo:T, not GCNOS_foo:TDIR.
2017-08-19 18:52:13 +00:00
Enji Cooper 66e5cab5c0 Complete bsd.cov.mk integration
Pass through appropriate objects via COV_OBJS in bsd.lib.mk (based on
SOBJS), and appropriate objects via bsd.prog.mk (OBJS).

While here, do more intelligent things in terms of iterating over COV_OBJS,
building lists of items to install with the GCNOS variable/adding GCNOS to
FILESGROUPS, etc. This reduces the 2 unrolled .for loops into 1.
2017-08-19 18:31:00 +00:00
Enji Cooper a451e71162 MFhead@r322675 2017-08-18 21:37:26 +00:00
Enji Cooper 611dfac360 - Only pass --coverage if NO_SHARED != yes (it doesn't work with static
libraries).
- Fix typo (${PROGNAME}.full should be ${PROG_FULL} -- this fixes installing
  usr.sbin/xinstall).
- Pass through appropriate sentinel for determining whether or not the program
  should be compiled with debug symbols, and hence whether or not --coverage
  should be enabled.
2017-08-17 20:10:30 +00:00
Enji Cooper 2e9742c123 Handle .ppico suffixed shared object files 2017-08-17 20:05:27 +00:00
Enji Cooper d2258f7071 Fix libc_pic.a
In order to support coverage binaries and non-coverage binaries with libraries,
separate libraries need to be created which don't have coverage symbols (and
dependent symbols on libc) in them. libc_pic.a for instance will not link with
binaries if it's compiled with --coverage.

This allows buildworld to complete, minus rtld-elf -- it's a special snowflake
that needs to be resolved with a solution that I don't yet possess.
2017-08-17 20:04:17 +00:00
Bryan Drewery 96dd05dd7d 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
2017-08-16 17:54:24 +00:00
Bryan Drewery 04594feee5 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
2017-08-16 05:02:31 +00:00
Enji Cooper 82baa8db5e MFhead@r322515 2017-08-14 19:28:49 +00:00
Enji Cooper 38f8fddf05 Add limited sandbox capability to "make check"
== Rationale ==

r295380 introduced "make check" and consolidated means for running
test code in an attempt to simplify running tests. One could either
install files/libraries/programs and run "make check", or run "make check"
with an explicit CHECKDIR, e.g., `make check CHECKDIR=$(make -V.OBJDIR)``.

One criticism that was received is that "make check" should be run with
the intent of making dev->test->commit easier, which means that the target
audience's workflow should be developers. One developer pattern available
in other opensource projects is to run test code from a developer sandbox,
instead of installing to a system.

== Method ==

This approach is slightly different from the standard approach, in the sense
that it builds and installs into a deterministic directory under .OBJDIR (as I call it,
the "sandbox"), then runs "make check" against that. In the event the test
run is successful, the deterministic directory is removed to save space.

== Approach ==

bsd.lib.mk, bsd.prog.mk:

To support this functionality, a new variable `HAS_TESTS` is being added.

HAS_TESTS enables appropriate behavior with bsd.lib.mk and bsd.prog.mk, as
follows:
- Add "make check" as an available target from the directory.
- Pass down appropriate variables via ${TESTS_ENV}, i.e.,
  ${TESTS_LD_LIBRARY_PATH} and ${TESTS_PATH}.

One should add "HAS_TESTS" to directories containing tests in them, e.g. from
bin/sh/Makefile,

  HAS_TESTS=
  SUBDIR.${MK_TESTS}+= tests

HAS_TESTS doesn't automatically add the tests subdirectory for flexibility
reasons.

bsd.opts.mk, src.opts.mk:
- The knob ${MK_MAKE_CHECK_USE_SANDBOX} has been added, both to explicitly
  direct (internally) when to set a deterministic ${DESTDIR} and to also allow
  users to disable this behavior globally, i.e., via src.conf.
- MK_TESTS has been promoted from src.opts.mk to bsd.opts.mk to leverage
  syntactic sugar for having MK_TESTS be a dependency for
  MK_MAKE_CHECK_USE_SANDBOX, but to also ensure that src.opts.mk isn't required
  to use suite.test.mk (which is a dependency of bsd.test.mk).

suite.test.mk:
- beforecheck behavior (when MK_MAKE_CHECK_USE_SANDBOX is enabled) is modified
  from a no-op to:
-- Build.
-- Run "make hierarchy" on the sandbox dir.
-- Install the tests/files to the sandbox dir.
- aftercheck behavior (when MK_MAKE_CHECK_USE_SANDBOX is enabled) is modified
  from a no-op to:
-- Remove the sandbox dir.

Again, because the dependency order set in bsd.test.mk is
beforecheck -> check -> aftercheck, "make check" will not be run unless
"beforecheck" completes successfully, and "aftercheck" will not be run unless
"beforecheck" and "check" complete successfully.

== Caveats ==

- This target must either be run with MK_INSTALL_AS_USER or as root. Otherwise
  it will fail when running "make install" as the default user/group for many
  makefiles when calling INSTALL is root/wheel.
- This target must be run from a suitable top-level directory. For example,
  running tests from `tests/sys/fs/tmpfs` won't work, but `tests/sys/fs` will,
  because `tests/sys/fs/tmpfs` relies on files installed by `tests/sys/fs`.
- Running MK_INSTALL_AS_USER may introduce determinism issues. However, using
  it could identify deficiences in tests in terms of needing to be run as
  root, which are not properly articulated in the test requirements.
- The doesn't negate the need for running "make installworld" and
  "make checkworld", etc. Again, this just is intended to simplify the
  dev->test->commit workflow.

== Cleanup done ==
- CHECKDIR is removed; one can use "MK_MAKE_CHECK_USE_SANDBOX=no" to enable
  "legacy" (r295380) behavior.

MFC after:	2 months
Relnotes:	yes (CHECKDIR removed; "make check" behavior changed)
Requested by:	jhb
Reviewed by:	arch (silence), testing (silence)
Differential Revision:	D11905
2017-08-14 19:03:05 +00:00
Warner Losh 06d0095e71 We don't use ARM_ARCH_6 in the tree, and haven't for a long long
time. Remove it from here. As far as I could tell, nothing in ports
use it (either __ARM_ARCH or __ARM_ARCH_6__ is used in all the
apatches). We do have a define for _ARM_ARCH_6, but it's mostly unused
(and will remain, since it isn't in this file).
2017-08-13 04:10:47 +00:00
Enji Cooper 083c8ded05 MFhead@r322451 2017-08-13 01:23:13 +00:00
Enji Cooper 7a6fd8dc6b Delete trailing whitespace
MFC after:	1 month
2017-08-12 21:26:46 +00:00
Li-Wen Hsu 229d577fe8 Re-remove excess / for installing SYMLINKS
This excess / was introduced in r280129, and fixed in r295230, but got
re-introduced while merging another branch in r298107.

Approved by:	gjb
Differential Revision:	https://reviews.freebsd.org/D11995
2017-08-12 18:11:41 +00:00
Warner Losh 9208cbbd0e arm*hf is no longer a thing, remove it from the conversion now that it's easy.
Submitted by: andyt@
2017-08-12 17:07:32 +00:00
Warner Losh 7709b2ae16 Make _TO_CPUARCH macro for ARCH to CPUARCH conversions
Consolidate all the regular expressions to convert from MACHINE_ARCH
to MACHINE_CPUARCH into a variable and use that variable in preference
to the almost identical copies in the tree (which should have been
identical).

Differential Revision: https://reviews.freebsd.org/D11986
2017-08-12 17:07:27 +00:00
Ed Maste 056dd75b27 lldb: enable on i386
It is functional on FreeBSD/i386 as of r322326.

Sponsored by:	The FreeBSD Foundation
2017-08-11 20:11:43 +00:00
Glen Barber ebd2eeb3f8 Add SVNVERSION_CMD to bsd.own.mk, adding the capability to include
svnversion metadata to the runtime and kernel packages.

Instead of traversing src/sys, as is done by newvers.sh for uname(1),
a full tree walk is done to prevent userland and/or modifications
from not being reflected in a modified tree (M).

MFC after:	5 days
Sponsored by:	The FreeBSD Foundation
2017-08-11 19:21:40 +00:00
Ruslan Bukin af19cc59ca Support for v1.10 (latest) of RISC-V privilege specification.
New version is not compatible on supervisor mode with v1.9.1
(previous version).

Highlights:
    o BBL (Berkeley Boot Loader) provides no initial page tables
      anymore allowing us to choose VM, to build page tables manually
      and enable MMU in S-mode.
    o SBI interface changed.
    o GENERIC kernel.
      FDT is now chosen standard for RISC-V hardware description.
      DTB is now provided by Spike (golden model simulator). This
      allows us to introduce GENERIC kernel. However, description
      for console and timer devices is not provided in DTB, so move
      these devices temporary to nexus bus.
    o Supervisor can't access userspace by default. Solution is to
      set SUM (permit Supervisor User Memory access) bit in sstatus
      register.
    o Compressed extension is now turned on by default.
    o External GCC 7.1 compiler used.
    o _gp renamed to __global_pointer$
    o Compiler -march= string is now in use allowing us to choose
      required extensions (compressed, FPU, atomic, etc).

Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D11800
2017-08-10 14:18:09 +00:00
Ed Maste 2427dc7d95 Mark PROFILE option as broken when targetting mips64
The assembly in sys/mips/include/profile.h will only work for o32 ABI.

Submitted by:	Alexander Richardson
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D11950
2017-08-10 13:01:19 +00:00
Enji Cooper d59ead01d8 MFhead@r321970 2017-08-03 05:30:11 +00:00
Enji Cooper ba25b1ca42 Delete comment above "__DEFAULT_DEPENDENT_OPTIONS" related to "meta mode options"
src.conf(5) should document which knobs are which and the dependency between each;
remove the comment so the variable can apply to non-"meta mode options".

MFC after:	2 weeks
2017-08-02 21:49:37 +00:00
Enji Cooper edb58145c8 Allowing MK_NLS_CATALOGS to be enabled if MK_NLS == no doesn't make a whole lot
of sense. Anchor MK_NLS_CATALOGS being enabled off of MK_NLS.

MFC after:	1 month
2017-08-02 21:38:15 +00:00
Enji Cooper f117e4e1df Some minor doc fixups
- Tweak a sentence by placing the modifier before an adjective to make it flow
  better.
- Fix a typo.

MFC after:	3 days
2017-08-02 21:31:46 +00:00
Bryan Drewery 91234af7d8 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
2017-08-01 18:26:20 +00:00
Bryan Drewery e2a659ea64 CCACHE_BUILD: Allow setting CCACHE_BUILD_TYPE=wrapper.
This uses the /usr/local/libexec/ccache/<cc,c++> 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
2017-08-01 16:15:08 +00:00
Enji Cooper ebd601284c Revert _COV_FLAG spamming in LDFLAGS added in r321815
It's completely unnecessary since CFLAGS/CXXFLAGS already handles the spamming.
2017-07-31 21:59:06 +00:00
Enji Cooper 1097fe2e13 - Check CXXFLAGS as well for -g options before writing off --coverage support
to enable c++ program runtime coverage instrumentation.
- Pass --coverage down through LDFLAGS to ensure that libprofile_rt is used in
  the linking phase, for reasons similar to what I did with SOLINKOPTS in
  bsd.lib.mk@r321778.
2017-07-31 20:28:26 +00:00
Enji Cooper ecb77ea98e Take a different approach to building with --coverage (WiP)
The .covo binaries didn't really make sense after reviewing some stackoverflow posts
and other related documentation -- in particular, it would complicate matters by having
"coverage-enabled binaries" link to "coverage-enabled libraries" (aka "covo" libraries).
It's best to install the full binaries/libraries to /usr/lib/cov instead.

In order to enable this (and make sure that libprofile_rt is built properly),
libprofile_rt must be built with cross-tools.

Also, don't explicitly disable MK_COVERAGE in _libraries -- coverage support needs to
be baked in to the libraries in order for it to be effective.

Pass through --coverage in the linking phase for shared libraries -- it's necessary
to ensure that libprofile_rt is resolved properly in the _libraries phase with 2nd
order libraries, like libcom_err.so.*.

This change reverses all of r320396 and partially reverses r321758. The first commit
was the WiP approach that was proven to incorrect with the reasoning given in the first
paragraph. The second commit reverses the MK_DEBUG_FILES change because I'll probably
run into friction when trying to merge it back in to head if I leave it in (despite
the fact that I find this behavior completely unnecessary).

TODO: see if libprofile_rt's symbols should be stripped out of debug files; they are
currently duplicated between the fat binaries installed to /usr/lib/cov and the debug
files installed to /usr/lib/debug .
2017-07-31 09:54:04 +00:00
Enji Cooper d242cb99ec This Makefile snippet needs more work -- it tries to install .gcno files
for .asm, .s files and it shouldn't
2017-07-31 09:50:47 +00:00
Enji Cooper dc5068b507 Add bsd.cov.mk
It's a Makefile snippet that currently handles cleanup/installation of
.gcno files
2017-07-31 08:02:25 +00:00
Enji Cooper 5ace6b1ca0 Add a default coverage "prefix", COVERAGEDIR
It defaults to /usr/lib/cov, for symmetry with /usr/lib/debug (DEBUGDIR).

See r321449 for the other piece.
2017-07-31 04:34:00 +00:00
Enji Cooper 07188cf19e MFhead@r321584 2017-07-26 21:09:10 +00:00
Bryan Drewery ecc39238d3 Allow -DNO_SKIP_DEPEND to override the _SKIP_DEPEND logic.
MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
2017-07-25 16:46:12 +00:00
Andrew Turner cd7b1e3a75 Build the 32-bit ARM libstand and loader parts with -fPIC. Many of them are
already built with this flag so libstand should also be build as such.
This will be needed when moving to lld as it refuses to link due to
incompatible relocations.

Sponsored by:	DARPA, AFRL
2017-07-25 10:41:34 +00:00
Enji Cooper 95101c1cda MFhead@r321457 2017-07-25 03:59:35 +00:00
Bryan Drewery 01ba2b6319 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
2017-07-25 00:12:48 +00:00
Bryan Drewery c2fd1d01e8 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
2017-07-24 23:32:40 +00:00
Bryan Drewery 711019f70d Slightly simplify logic for which depend file is expected.
This is a NOP.

MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
2017-07-24 23:32:36 +00:00
Enji Cooper 20be6d3fde MFhead@r321431 2017-07-24 18:25:08 +00:00
Enji Cooper 5f65e20c64 Use __DEFAULT_DEPENDENT_OPTIONS for articulating dependency relationship
between MK_STALE_STAGED and MK_STAGING instead of using equivalent ad hoc
logic.

MFC after:	1 month
2017-07-24 18:21:01 +00:00
Enji Cooper afd6c921b0 MK_COVERAGE should rely on MK_DEBUG_FILES
Building programs and libraries with --coverage without having corresponding
symbol support built in to them doesn't make a whole lot of sense.
2017-07-24 18:16:54 +00:00
Enji Cooper 531c2d7af3 MFhead@r320180 2017-07-24 18:02:13 +00:00
Bryan Drewery 1335398624 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
2017-07-24 17:54:03 +00:00
Bryan Drewery 2ae976822c cleanobj: Unhide removal of directory.
MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
2017-07-24 17:53:45 +00:00
Ed Maste 0a80853736 lld 5.0 supports filter libraries, so enable linker feature flag
Also switch the logic to enable this for any non-lld linker, since
filter library support is fairly simple and is very likely supported
by any other linker capable of linking the FreeBSD base system.

MFC after:	2 months
MFC with:	r321369
Sponsored by:	The FreeBSD Foundation
2017-07-24 15:39:09 +00:00
Bryan Drewery 9ef60181ae Respect INSTALL_AS_USER for FILES.
MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
2017-07-21 16:14:35 +00:00
Ruslan Bukin 1ec31f2c6f Add warning flags for GCC 7.1.0 compiler.
Sponsored by:	DARPA, AFRL
2017-07-21 14:50:32 +00:00
Enji Cooper 2474da3267 Sort the tests alphabetically before adding them to the Kyuafiles
This is being done to aid in debugging test runs, in the event the
output shifts due to refactored Makefiles, added tests, etc.

MFC after:	1 month
2017-07-17 18:20:54 +00:00
Konstantin Belousov 99ac8154ff Provide libdl.
Create libdl.so.1 as a filter for libc.so.7 which exports public dl*
functions. The functions are resolved from the rtld instead, the goal
of creating library is to avoid errors from the static linker due to
missed libdl. For static binaries, an empty .o is compiled into
libdl.a so that static binaries still get dl stubs from libc.a.

Right now lld cannot create filter objects, disable libdl on arm64
when binutils are not used.

Reviewed by:	bdrewery, dim (previos version); emaste
Exp run:	PR 220525, done by antoine
Sponsored by:	The FreeBSD Foundation
MFC after:	1 month
Differential revision:	https://reviews.freebsd.org/D11504
2017-07-10 14:59:21 +00:00
Enji Cooper c5cba06079 Formalize LEAPSECONDS and OLDTIMEZONES in share/zoneinfo/... as
`MK_ZONEINFO_LEAPSECONDS_SUPPORT == yes` and
`MK_ZONEINFO_OLD_TIMEZONES_SUPPORT == yes`.

Keep `LEAPSECONDS` and `OLDTIMEZONES` for backwards compatibility,
but print out a warning notifying users that they should use the new
variables, in an effort to migrate them to the variables. This is being
done mostly for automated build tools, etc, that might rely on these
variables being set. The variables will be removed in the future on
^/head, e.g., after ^/stable/12 is cut.

MFC after:      1 month
Relnotes:       yes
Reviewed by:	bdrewery
Differential Revision:	D11376
2017-07-06 04:19:33 +00:00
Ed Maste 993d3ded79 Do not build clang for all riscv*, not just riscv64
Previous test matching on "riscv64" was invalidated by the addition of
riscv64sf.

Sponsored by:	The FreeBSD Foundation
2017-07-01 19:10:59 +00:00
Jeremie Le Hen cf3de64127 Disable RCMDS by default.
This was announced in this thread:
https://lists.freebsd.org/pipermail/freebsd-arch/2017-June/018239.html

Applying plan proposed by ngie@ in:
https://lists.freebsd.org/pipermail/freebsd-arch/2017-June/018249.html

The port has been submitted as net/bsdrcmds in r444814.

Approved by:	bapt, roberto, and others
2017-07-01 10:04:42 +00:00