| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The wrong toolchain was set in MAKE_PARAMS_powerpc, however, there are
some other issues preventing powerpc from building in tinderbox:
1) There is no powerpc-gcc and powerpc-xtoolchain-gcc port that
provides an external 32-bit powerpc GCC toolchain.
2) On other targets, the same toolchain can build all of the
architectures for a given target. MIPS achieves this by always
setting -mabi and -EB/-EL explicitly instead of relying on the
compiler's default architecture. PowerPC might be able to do the
same thing, but as of today, powerpc-gcc would be required for
powerpc and powerpcspe and powerpc64-gcc would be required for
powerpc64. Our existing logic for make universe does not permit
per-MACHINE_ARCH toolchains.
I tried hacking TARGETS_powerpc to only include powerpc64 when
powerpc64-gcc was present, and while that skipped the 32-bit worlds,
it tried to build all the kernels.
Reported by: jeff
Discussed with: imp
Notes:
svn path=/head/; revision=353523
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simplify expressions as suggested by jhb. The extra indirection made
sense in earlier versions of this patch, but not the final one.
While here, apply suggestion from emaste for wording of universe.
Also wordsmith awkwardly worded comment about when we effectively
neuter the universe build for an architecture.
Once llvm 9.0 has been vetted for mips and powerpc, I'll take them out
of these lists.
Notes:
svn path=/head/; revision=353370
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only compile clang supporting architectures of amd64, arm, arm64,
i386, and riscv as part of universe. Compile the other architectures
if MAKE_OBSOLETE_GCC is defined. In all cases, explicit lists of
architectures in TARGETS= on the command line override.
For mips, powerpc and sparc64, do the same thing we do for risvc when
MAKE_OBSOLETE_GCC isn't defined and short-circuit their universe build
with an echo saying to install the xtoolchain port or pkg.
PR: 241134
Discussed on: arch@ (https://lists.freebsd.org/pipermail/freebsd-arch/2019-August/019674.html)
Differential Revision: https://reviews.freebsd.org/D21942
Notes:
svn path=/head/; revision=353367
|
|
|
|
|
|
|
|
| |
Abstracting away the details of how src.conf(5) is generated is arguably a
good thing; do so with a top-level makeman target.
Notes:
svn path=/head/; revision=352929
|
|
|
|
|
|
|
|
|
|
| |
This helps when you don't want to run the dependencies targets.
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D20955
Notes:
svn path=/head/; revision=350275
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It doesn't make sense to limit to -j12 anymore, build scalability
is better than it used to be. Fold the hint into the description
of the universe target.
Reviewed by: imp
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D20342
Notes:
svn path=/head/; revision=348241
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The path is incorrect for the linker in the error message. It should have been
/usr/bin/ld, not /usr/bin/cc .
Reviewed by: emaste
Approved by: emaste (mentor)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D19852
Notes:
svn path=/head/; revision=346056
|
|
|
|
|
|
|
|
|
|
| |
It's 167 GB now (or 81 GB with ZFS lz4).
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=340328
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The sysent target is useful when changing makesyscalls.sh, when
making paired changes to syscalls.master files, or in a future where
freebsd32 sysent entries are built from the default syscalls.master.
Reviewed by: bdrewery
Obtained from: CheriBSD
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D17899
Notes:
svn path=/head/; revision=340242
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inheriting $PATH during the build phase can cause the build to fail when
compiling on a different system due to missing build tools or incompatible
versions somewhere in $PATH. This has cause build failures for us before
due to the jenkins slaves still running FreeBSD 10.
Listing the tools we depend on explicitly instead of just using whatever
happens to be in $PATH allows us to check that we don't accidentally add a
new build dependency.
All tools that do no need to be bootstrapped will now be symlinked to
${WORLDTMP}/legacy/bin and during the build phase $PATH will only contain
${WORLDTMP}. There is also a new variable "BOOTSTRAP_ALL_TOOLS" which can
be set to force compiling almost all bootstrap tools instead of symlinking
them. This will not bootstrap tools such as cp,mv, etc. since they may be
used during the build and for those we should really only be using POSIX
compatible options.
Furthermore, this change is required in order to be able to build on
non-FreeBSD hosts. While the same binaries may exist on Linux/MacOS they
often accept different flags or produce incompatible output.
Approved By: brooks (mentor)
Differential Revision: https://reviews.freebsd.org/D16815
Notes:
svn path=/head/; revision=340157
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
riscv64sf has been broken due to duplicate symbols for months and
degrades the quality of universe builds. Remove it until this is
resolved leaving a comment to it is not re-added.
PR: 232085
Reviewed by: emaste
Approved by: re (gjb, kib)
Sponsored by: DARPA, AFRL
Notes:
svn path=/head/; revision=339272
|
|
|
|
|
|
|
|
|
|
| |
Remove armeb/arm from KNOWN_ARCHS.
Remove armeb from arm universe targets.
Differential Revision: https://reviews.freebsd.org/D16257
Notes:
svn path=/head/; revision=336434
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes errors from the MK_CLANG_BOOTSTRAP/MK_LLD_BOOTSTRAP lookups
to not force using XCC/XLD but to rather just build them as normal by
allowing their own bootstrap logic to work.
MFC after: 3 weeks
X-MFC-with: r335711 r335769
Sponsored by: Dell EMC
Notes:
svn path=/head/; revision=335770
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a warning for each RISCV target during universe by passing in
the required CROSS_TOOLCHAIN setting which will in turn set
CROSS_BINUTILS_PREFIX correctly. It also ensures that a tinderbox build
uses the correct compiler for riscv. Previously it was using the shared
clang compiler instead of riscv64-gcc.
Reviewed by: bdrewery
Sponsored by: DARPA / AFRL
Differential Revision: https://reviews.freebsd.org/D16049
Notes:
svn path=/head/; revision=335769
|
|
|
|
|
|
|
|
|
|
|
| |
Submitted by: Ben Widawsky <ben.widawsky@intel.com>
MFC after: 3 days
X-MFC-to: stable/11 stable/10
Sponsored by: Smule, Inc.
Differential Revision: https://reviews.freebsd.org/P186
Notes:
svn path=/head/; revision=335750
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Need to handle LLD_BOOTSTRAP separately (for archs like i386).
This would be much better off with an off-by-default option like
SHARED_TOOLCHAIN that universe force-enabled. Then a normal buildworld
would store the toolchain there if enabled and otherwise in WORLDTMP
with only the 1 arch selected.
MFC after: 3 weeks
Sponsored by: Dell EMC
Notes:
svn path=/head/; revision=335711
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bit noisy now but it was silent before leading to
wondering if it was doing anything.
MFC after: 1 week
Suggested by: rpokala
Sponsored by: Dell EMC
Notes:
svn path=/head/; revision=335708
|
|
|
|
|
|
|
| |
Sponsored by: Dell EMC
Notes:
svn path=/head/; revision=335460
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This works similar to WITH_SYSTEM_COMPILER added in r300354. It only
supports lld via WITH_LLD_BOOTSTRAP.
When both SYSTEM_COMPILER and SYSTEM_LINKER logic passes then libclang
will not build in cross-tools. If either check fails though then
libclang is built.
The .info is reworked to notify when libclang will be built since if
either clang or lld needs to be rebuilt, but not the other, the
notification can lead to confusion on why "clang is building".
-fuse-ld= is not used with this method so some combinations of compiler
and linker are expected to fail.
A new 'make test-system-linker' target is added to see the logic results.
Makefile.inc1:
CROSS_BINUTILS_PREFIX support had to be moved higher up so that XLD
could be set and MK_LLD_BOOTSTRAP disabled before checking SYSTEM_LINKER
logic as done with SYSTEM_COMPILER. This also required moving where
bsd.linker.mk was read since XLD needs to be set before parsing it. This
creates a situation where src.opts.mk can not test LINKER_FEATURES or
add LLD_BOOTSTAP to BROKEN_OPTIONS.
Reviewed by: emaste (earlier version)
Sponsored by: Dell EMC
Differential Revision: https://reviews.freebsd.org/D15894
Notes:
svn path=/head/; revision=335450
|
|
|
|
| |
Notes:
svn path=/head/; revision=334153
|
|
|
|
| |
Notes:
svn path=/head/; revision=334128
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is mostly to allow using MAKEOBJDIRPREFIX in src-env.conf on stable where
src.sys.obj.mk is not going to be MFC'd. It is still valid on head but
effectively a NOP due to MAKEOBJDIRPREFIX being handled differently in
src.sys.obj.mk.
Reported by: eadler
MFC after: 1 week
Sponsored by: Dell EMC
Notes:
svn path=/head/; revision=330364
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bsd.compiler.mk. It's so fmake from older 9.x systems still
works (still a supported build config, and having the note here
will let us know when we can cull it more easily).
Also pull in a related change from include to sinclude from
arichardson@'s cross building work, as well as it's companion in
Makefile.inc1 with a note about why we do the odd thing there.
Submitted by: archardson
Differential Revision: https://reviews.freebsd.org/D14241
Notes:
svn path=/head/; revision=328975
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linux /usr/bin/find doesn't understand the -mtime -0s flag.
Instead create a temporary file and compare that file's mtime to
sys/sys/param.h to check whether the clock is correct.
Reviewed By: jhb, imp
Approved By: jhb (mentor)
Differential Revision: https://reviews.freebsd.org/D14157
Notes:
svn path=/head/; revision=328935
|
|
|
|
|
|
|
| |
Sponsored by: Dell EMC
Notes:
svn path=/head/; revision=326648
|
|
|
|
|
|
|
| |
Sponsored by: Dell EMC
Notes:
svn path=/head/; revision=326647
|
|
|
|
|
|
|
|
|
|
| |
The supported targets are riscv64 and riscv64sf. Use the former when
building with a bare TARGET=riscv and it is the more common one.
Sponsored by: Netflix
Notes:
svn path=/head/; revision=326071
|
|
|
|
|
|
|
| |
Sponsored by: Dell
Notes:
svn path=/head/; revision=325973
|
|
|
|
|
|
|
| |
Differential Revision: https://reviews.freebsd.org/D13124
Notes:
svn path=/head/; revision=325954
|
|
|
|
|
|
|
|
| |
Reported by: ngie
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325776
|
|
|
|
|
|
|
| |
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325698
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no reason to create object directories for targets like 'installworld'
or 'distributeworld', and the others in this list. Specifying MK_AUTO_OBJ as a
make argument allows circumventing this if needed for some reason.
This fixes mergemaster creating a full object tree due to doing a 'make
installconfig' tree walk.
Reported by: Mark Millard
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325697
|
|
|
|
|
|
|
|
|
|
| |
I'm not sure what this target is but it doesn't exist now and doesn't seem
to have existed before.
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325682
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This also adds in a _cleanobj step as needed.
- This redirects TARGET/TARGET_ARCH to NXB_TARGET/NXB_TARGET_ARCH in
Makefile.inc1 as the main build needs to be for MACHINE rather
than TARGET.
First build the toolchain and then use that as an external toolchain
to build the needed directories and NXB_TARGET-toolchain, all as
MACHINE files though via TARGET_TRIPLE=MACHINE_TRIPLE.
The NXBDIRS is evaluated in the 'everything' submake as it needs to be
based on TARGET's src.opts.mk values, such as MK_GCC=yes when building
on a MK_CLANG=yes MACHINE. This can likely be changed to a specific
_native-xtools-everything target later and the funky late evaluation
of SUBDIR_OVERRIDE removed.
X-MFC-With: r325001
Pointyhat to: bdrewery
MFC after: 2 months
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325673
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't discard SRCCONF value since it may incorrectly have MAKEOBJDIRPREFIX
in it.
- Add note about src.conf not being a suitable place for MAKEOBJDIRPREFIX.
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325627
|
|
|
|
|
|
|
|
|
|
| |
These are expected to be created in .CURDIR.
Reported by: kib
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325568
|
|
|
|
|
|
|
|
| |
Reported by: rpokala
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325529
|
|
|
|
|
|
|
| |
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325413
|
|
|
|
|
|
|
| |
_cleanobj.
Notes:
svn path=/head/; revision=325348
|
|
|
|
| |
Notes:
svn path=/head/; revision=325347
|
|
|
|
|
|
|
|
|
|
| |
This will remove all build files for the source directory
when MK_UNIFIED_OBJDIR is enabled.
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325289
|
|
|
|
|
|
|
|
| |
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325083
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this the user has to mess with 'make -f Makefile.inc1 ...' to figure
out where the files are installed in the OBJDIR and then they need to copy them
to where they really wanted them. Using DESTDIR may be problematic after
r325001 as well.
The files will be installed to DESTDIR/NXTP where NXTP defaults to /nxb-bin.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325082
|
|
|
|
|
|
|
|
| |
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325080
|
|
|
|
|
|
|
|
|
|
|
|
| |
The top of Makefile.inc1 requires TARGET/TARGET_ARCH be defined. Just
building 'make xdev' would already set them, so this error was never
triggered. Moving it to Makefile fixes the problem.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325079
|
|
|
|
|
|
|
|
|
|
| |
If the user sets this to yes as a make argument too we still want
to ensure these do not get enabled.
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=325078
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=324340
|
|
|
|
|
|
|
|
|
|
| |
Downstream we are wrapping MAKE with a limits(1) call which
interferes with these non-quoted cases.
Sponsored by: Dell EMC Isilon
Notes:
svn path=/head/; revision=322585
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=322429
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we excluded riscv from make universe / tinderbox if the
required xtoolchain package was not installed. Make that logic generic
so that we can loop over multiple architectures, in preparation to test
patches to have other architectures rely on external toolchain.
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D11652
Notes:
svn path=/head/; revision=321616
|