Date: Sun, 1 Jul 2018 20:52:51 +0000 (UTC) From: Cy Schubert <cy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r335853 - in projects/krb5: . bin/csh bin/dd bin/echo bin/sh bin/sleep bin/uuidgen contrib/amd/amq contrib/compiler-rt/lib/sanitizer_common contrib/dma contrib/file/magic/Magdir contrib... Message-ID: <201807012052.w61Kqp1r012486@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: cy Date: Sun Jul 1 20:52:50 2018 New Revision: 335853 URL: https://svnweb.freebsd.org/changeset/base/335853 Log: MFH to r335851, bringing in llvm 6.0.1. Added: projects/krb5/lib/geom/ - copied from r335778, head/lib/geom/ projects/krb5/lib/libcasper/libcasper/libcasper_service.3 - copied unchanged from r335778, head/lib/libcasper/libcasper/libcasper_service.3 projects/krb5/lib/libnv/tests/nvlist_append_test.c - copied unchanged from r335778, head/lib/libnv/tests/nvlist_append_test.c projects/krb5/lib/libveriexec/ - copied from r335778, head/lib/libveriexec/ projects/krb5/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c - copied unchanged from r335808, head/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c projects/krb5/sys/arm64/linux/linux_locore.s - copied unchanged from r335778, head/sys/arm64/linux/linux_locore.s projects/krb5/sys/arm64/linux/linux_machdep.c - copied unchanged from r335778, head/sys/arm64/linux/linux_machdep.c projects/krb5/sys/arm64/linux/linux_ptrace.c - copied unchanged from r335778, head/sys/arm64/linux/linux_ptrace.c projects/krb5/sys/arm64/linux/linux_support.s - copied unchanged from r335778, head/sys/arm64/linux/linux_support.s projects/krb5/sys/arm64/linux/linux_sysvec.c - copied unchanged from r335778, head/sys/arm64/linux/linux_sysvec.c projects/krb5/sys/arm64/linux/linux_vdso.lds.s - copied unchanged from r335778, head/sys/arm64/linux/linux_vdso.lds.s projects/krb5/sys/dev/ixl/ixl_debug.h - copied unchanged from r335778, head/sys/dev/ixl/ixl_debug.h projects/krb5/sys/dev/veriexec/ - copied from r335778, head/sys/dev/veriexec/ projects/krb5/sys/dts/arm/overlays/spigen-rpi-b.dtso - copied unchanged from r335778, head/sys/dts/arm/overlays/spigen-rpi-b.dtso projects/krb5/sys/dts/arm/overlays/spigen-rpi2.dtso - copied unchanged from r335778, head/sys/dts/arm/overlays/spigen-rpi2.dtso projects/krb5/sys/modules/mac_veriexec/ - copied from r335778, head/sys/modules/mac_veriexec/ projects/krb5/sys/modules/mac_veriexec_rmd160/ - copied from r335778, head/sys/modules/mac_veriexec_rmd160/ projects/krb5/sys/modules/mac_veriexec_sha1/ - copied from r335778, head/sys/modules/mac_veriexec_sha1/ projects/krb5/sys/modules/mac_veriexec_sha256/ - copied from r335778, head/sys/modules/mac_veriexec_sha256/ projects/krb5/sys/modules/mac_veriexec_sha384/ - copied from r335778, head/sys/modules/mac_veriexec_sha384/ projects/krb5/sys/modules/mac_veriexec_sha512/ - copied from r335778, head/sys/modules/mac_veriexec_sha512/ projects/krb5/sys/modules/veriexec/ - copied from r335778, head/sys/modules/veriexec/ projects/krb5/sys/powerpc/cpufreq/pmcr.c - copied unchanged from r335778, head/sys/powerpc/cpufreq/pmcr.c projects/krb5/sys/security/mac_veriexec/ - copied from r335778, head/sys/security/mac_veriexec/ projects/krb5/tests/sys/audit/ioctl.c - copied unchanged from r335778, head/tests/sys/audit/ioctl.c projects/krb5/tests/sys/audit/process-control.c - copied, changed from r335778, head/tests/sys/audit/process-control.c projects/krb5/tools/build/options/WITHOUT_LLVM_TARGET_AARCH64 - copied unchanged from r335778, head/tools/build/options/WITHOUT_LLVM_TARGET_AARCH64 projects/krb5/tools/build/options/WITHOUT_LLVM_TARGET_ALL - copied unchanged from r335778, head/tools/build/options/WITHOUT_LLVM_TARGET_ALL projects/krb5/tools/build/options/WITHOUT_LLVM_TARGET_ARM - copied unchanged from r335778, head/tools/build/options/WITHOUT_LLVM_TARGET_ARM projects/krb5/tools/build/options/WITHOUT_LLVM_TARGET_MIPS - copied unchanged from r335778, head/tools/build/options/WITHOUT_LLVM_TARGET_MIPS projects/krb5/tools/build/options/WITHOUT_LLVM_TARGET_POWERPC - copied unchanged from r335778, head/tools/build/options/WITHOUT_LLVM_TARGET_POWERPC projects/krb5/tools/build/options/WITHOUT_LLVM_TARGET_SPARC - copied unchanged from r335778, head/tools/build/options/WITHOUT_LLVM_TARGET_SPARC projects/krb5/tools/build/options/WITHOUT_LLVM_TARGET_X86 - copied unchanged from r335778, head/tools/build/options/WITHOUT_LLVM_TARGET_X86 projects/krb5/tools/build/options/WITHOUT_SYSTEM_LINKER - copied unchanged from r335778, head/tools/build/options/WITHOUT_SYSTEM_LINKER projects/krb5/tools/build/options/WITH_LLVM_TARGET_AARCH64 - copied unchanged from r335778, head/tools/build/options/WITH_LLVM_TARGET_AARCH64 projects/krb5/tools/build/options/WITH_LLVM_TARGET_ALL - copied unchanged from r335778, head/tools/build/options/WITH_LLVM_TARGET_ALL projects/krb5/tools/build/options/WITH_LLVM_TARGET_ARM - copied unchanged from r335778, head/tools/build/options/WITH_LLVM_TARGET_ARM projects/krb5/tools/build/options/WITH_LLVM_TARGET_MIPS - copied unchanged from r335778, head/tools/build/options/WITH_LLVM_TARGET_MIPS projects/krb5/tools/build/options/WITH_LLVM_TARGET_POWERPC - copied unchanged from r335778, head/tools/build/options/WITH_LLVM_TARGET_POWERPC projects/krb5/tools/build/options/WITH_LLVM_TARGET_SPARC - copied unchanged from r335778, head/tools/build/options/WITH_LLVM_TARGET_SPARC projects/krb5/tools/build/options/WITH_LLVM_TARGET_X86 - copied unchanged from r335778, head/tools/build/options/WITH_LLVM_TARGET_X86 projects/krb5/tools/build/options/WITH_SYSTEM_LINKER - copied unchanged from r335778, head/tools/build/options/WITH_SYSTEM_LINKER projects/krb5/tools/tools/git/git-svn-rebase - copied unchanged from r335778, head/tools/tools/git/git-svn-rebase projects/krb5/usr.bin/objcopy/ - copied from r335778, head/usr.bin/objcopy/ projects/krb5/usr.bin/sort/tests/ - copied from r335778, head/usr.bin/sort/tests/ projects/krb5/usr.sbin/spi/ - copied from r335778, head/usr.sbin/spi/ Deleted: projects/krb5/sbin/geom/Makefile.inc projects/krb5/sbin/geom/class/ projects/krb5/sbin/geom/core/Makefile projects/krb5/stand/geli/ projects/krb5/usr.bin/elfcopy/ Modified: projects/krb5/.gitignore projects/krb5/Makefile projects/krb5/Makefile.inc1 projects/krb5/Makefile.libcompat projects/krb5/ObsoleteFiles.inc projects/krb5/UPDATING projects/krb5/bin/csh/Makefile projects/krb5/bin/dd/dd.c projects/krb5/bin/echo/echo.c projects/krb5/bin/sh/Makefile projects/krb5/bin/sleep/sleep.c projects/krb5/bin/uuidgen/uuidgen.c projects/krb5/contrib/amd/amq/amq.c projects/krb5/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc projects/krb5/contrib/dma/dma-mbox-create.c projects/krb5/contrib/file/magic/Magdir/dump projects/krb5/contrib/gcc/cppdefault.c projects/krb5/contrib/libc++/include/list projects/krb5/contrib/libc++/src/support/runtime/exception_libcxxabi.ipp projects/krb5/contrib/llvm/include/llvm/CodeGen/TargetInstrInfo.h projects/krb5/contrib/llvm/include/llvm/IR/IntrinsicsPowerPC.td projects/krb5/contrib/llvm/lib/Analysis/GlobalsModRef.cpp projects/krb5/contrib/llvm/lib/Analysis/MemorySSA.cpp projects/krb5/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/krb5/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/krb5/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp projects/krb5/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp projects/krb5/contrib/llvm/lib/CodeGen/TargetInstrInfo.cpp projects/krb5/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/krb5/contrib/llvm/lib/IR/Core.cpp projects/krb5/contrib/llvm/lib/MC/MCObjectFileInfo.cpp projects/krb5/contrib/llvm/lib/Support/Host.cpp projects/krb5/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp projects/krb5/contrib/llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp projects/krb5/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp projects/krb5/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/krb5/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td projects/krb5/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp projects/krb5/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp projects/krb5/contrib/llvm/lib/Target/AMDGPU/SIInstructions.td projects/krb5/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/krb5/contrib/llvm/lib/Target/ARM/ARMComputeBlockSize.cpp projects/krb5/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp projects/krb5/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp projects/krb5/contrib/llvm/lib/Target/Mips/MicroMips32r6InstrInfo.td projects/krb5/contrib/llvm/lib/Target/Mips/MicroMipsInstrInfo.td projects/krb5/contrib/llvm/lib/Target/Mips/Mips.td projects/krb5/contrib/llvm/lib/Target/Mips/Mips32r6InstrInfo.td projects/krb5/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td projects/krb5/contrib/llvm/lib/Target/Mips/Mips64r6InstrInfo.td projects/krb5/contrib/llvm/lib/Target/Mips/MipsDSPInstrFormats.td projects/krb5/contrib/llvm/lib/Target/Mips/MipsFastISel.cpp projects/krb5/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/krb5/contrib/llvm/lib/Target/Mips/MipsInstrFormats.td projects/krb5/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp projects/krb5/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/krb5/contrib/llvm/lib/Target/Mips/MipsLongBranch.cpp projects/krb5/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp projects/krb5/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp projects/krb5/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/krb5/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp projects/krb5/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/krb5/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/krb5/contrib/llvm/lib/Target/X86/X86DomainReassignment.cpp projects/krb5/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/krb5/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp projects/krb5/contrib/llvm/lib/Target/X86/X86InstrArithmetic.td projects/krb5/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/krb5/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp projects/krb5/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/krb5/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp projects/krb5/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/krb5/contrib/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp projects/krb5/contrib/llvm/lib/Transforms/Scalar/DivRemPairs.cpp projects/krb5/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/krb5/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/krb5/contrib/llvm/lib/Transforms/Utils/FunctionComparator.cpp projects/krb5/contrib/llvm/projects/libunwind/src/UnwindRegistersRestore.S projects/krb5/contrib/llvm/projects/libunwind/src/UnwindRegistersSave.S projects/krb5/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/krb5/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/krb5/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td projects/krb5/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/krb5/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/krb5/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/krb5/contrib/llvm/tools/clang/lib/Basic/Targets/AArch64.cpp projects/krb5/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h projects/krb5/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/krb5/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/krb5/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/krb5/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.cpp projects/krb5/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.h projects/krb5/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp projects/krb5/contrib/llvm/tools/clang/lib/Driver/ToolChains/CrossWindows.cpp projects/krb5/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.cpp projects/krb5/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/krb5/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/krb5/contrib/llvm/tools/clang/lib/Headers/avx512vlbitalgintrin.h projects/krb5/contrib/llvm/tools/clang/lib/Headers/avx512vlvbmi2intrin.h projects/krb5/contrib/llvm/tools/clang/lib/Headers/avx512vlvnniintrin.h projects/krb5/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/krb5/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/krb5/contrib/llvm/tools/lld/COFF/Config.h projects/krb5/contrib/llvm/tools/lld/COFF/Driver.cpp projects/krb5/contrib/llvm/tools/lld/COFF/DriverUtils.cpp projects/krb5/contrib/llvm/tools/lld/COFF/Options.td projects/krb5/contrib/llvm/tools/lld/ELF/Arch/Mips.cpp projects/krb5/contrib/llvm/tools/lld/ELF/Config.h projects/krb5/contrib/llvm/tools/lld/ELF/Driver.cpp projects/krb5/contrib/smbfs/lib/smb/ctx.c projects/krb5/contrib/smbfs/lib/smb/nbns_rq.c projects/krb5/etc/Makefile projects/krb5/etc/defaults/rc.conf projects/krb5/etc/devd/devmatch.conf projects/krb5/etc/mtree/BSD.debug.dist projects/krb5/etc/mtree/BSD.lib32.dist projects/krb5/etc/mtree/BSD.usr.dist projects/krb5/etc/ntp.conf projects/krb5/etc/rc.d/geli projects/krb5/etc/rc.d/nfsd projects/krb5/etc/rc.d/ntpd projects/krb5/gnu/usr.bin/binutils/ld/Makefile projects/krb5/gnu/usr.bin/cc/Makefile.inc projects/krb5/gnu/usr.bin/cc/cc1/Makefile projects/krb5/gnu/usr.bin/cc/cc1plus/Makefile projects/krb5/gnu/usr.bin/cc/cc_tools/Makefile projects/krb5/gnu/usr.bin/cc/cc_tools/freebsd-native.h projects/krb5/lib/Makefile projects/krb5/lib/clang/freebsd_cc_version.h projects/krb5/lib/clang/headers/Makefile projects/krb5/lib/clang/include/clang/Basic/Version.inc projects/krb5/lib/clang/include/clang/Config/config.h projects/krb5/lib/clang/include/lld/Common/Version.inc projects/krb5/lib/clang/include/llvm/Config/AsmParsers.def projects/krb5/lib/clang/include/llvm/Config/AsmPrinters.def projects/krb5/lib/clang/include/llvm/Config/Disassemblers.def projects/krb5/lib/clang/include/llvm/Config/Targets.def projects/krb5/lib/clang/include/llvm/Config/config.h projects/krb5/lib/clang/include/llvm/Config/llvm-config.h projects/krb5/lib/clang/include/llvm/Support/VCSRevision.h projects/krb5/lib/clang/libllvm/Makefile projects/krb5/lib/clang/llvm.build.mk projects/krb5/lib/libc/sys/rename.2 projects/krb5/lib/libc/sys/sigaction.2 projects/krb5/lib/libc/tests/ssp/Makefile projects/krb5/lib/libcapsicum/capsicum_helpers.h projects/krb5/lib/libcasper/libcasper/Makefile projects/krb5/lib/libcasper/libcasper/libcasper.3 projects/krb5/lib/libcasper/libcasper/libcasper.h projects/krb5/lib/libcasper/services/cap_pwd/cap_pwd.3 projects/krb5/lib/libcasper/services/cap_pwd/cap_pwd.c projects/krb5/lib/libclang_rt/Makefile.inc projects/krb5/lib/libmagic/Makefile projects/krb5/lib/libnv/tests/Makefile projects/krb5/lib/libnv/tests/cnv_tests.cc projects/krb5/lib/libnv/tests/nv_array_tests.cc projects/krb5/lib/libpam/static_libpam/Makefile projects/krb5/lib/libusb/libusb20.c projects/krb5/lib/ncurses/ncurses/Makefile projects/krb5/release/packages/generate-ucl.sh projects/krb5/release/packages/runtime.ucl projects/krb5/sbin/Makefile projects/krb5/sbin/decryptcore/decryptcore.c projects/krb5/sbin/devd/devd.cc projects/krb5/sbin/devd/devd.hh projects/krb5/sbin/dhclient/Makefile projects/krb5/sbin/dhclient/bpf.c projects/krb5/sbin/dhclient/clparse.c projects/krb5/sbin/dhclient/conflex.c projects/krb5/sbin/dhclient/dhclient.c projects/krb5/sbin/dhclient/dhcpd.h projects/krb5/sbin/dhclient/dispatch.c projects/krb5/sbin/dhclient/options.c projects/krb5/sbin/dhclient/privsep.c projects/krb5/sbin/dhclient/privsep.h projects/krb5/sbin/dumpon/dumpon.c projects/krb5/sbin/fsck_msdosfs/boot.c projects/krb5/sbin/geom/Makefile projects/krb5/sbin/ifconfig/ifconfig.8 projects/krb5/sbin/ifconfig/ifieee80211.c projects/krb5/sbin/ipfw/ipfw.8 projects/krb5/sbin/md5/md5.c projects/krb5/sbin/newfs/newfs.c projects/krb5/sbin/pfctl/parse.y projects/krb5/sbin/pfctl/pfctl_altq.c projects/krb5/share/examples/Makefile projects/krb5/share/examples/bhyve/vmrun.sh projects/krb5/share/man/man4/carp.4 projects/krb5/share/man/man4/ddb.4 projects/krb5/share/man/man4/pf.4 projects/krb5/share/man/man4/vt.4 projects/krb5/share/man/man5/dir.5 projects/krb5/share/man/man5/pf.conf.5 projects/krb5/share/man/man5/rc.conf.5 projects/krb5/share/man/man5/src.conf.5 projects/krb5/share/man/man7/development.7 projects/krb5/share/man/man8/rc.subr.8 projects/krb5/share/man/man9/Makefile projects/krb5/share/man/man9/OF_getprop.9 projects/krb5/share/man/man9/cnv.9 projects/krb5/share/man/man9/epoch.9 projects/krb5/share/man/man9/fdt_pinctrl.9 projects/krb5/share/man/man9/nv.9 projects/krb5/share/misc/bsd-family-tree projects/krb5/share/misc/committers-src.dot projects/krb5/share/misc/organization.dot projects/krb5/share/mk/bsd.README projects/krb5/share/mk/bsd.compiler.mk projects/krb5/share/mk/bsd.cpu.mk projects/krb5/share/mk/bsd.endian.mk projects/krb5/share/mk/bsd.init.mk projects/krb5/share/mk/bsd.lib.mk projects/krb5/share/mk/bsd.linker.mk projects/krb5/share/mk/bsd.man.mk projects/krb5/share/mk/bsd.own.mk projects/krb5/share/mk/bsd.prog.mk projects/krb5/share/mk/bsd.suffixes.mk projects/krb5/share/mk/local.meta.sys.mk projects/krb5/share/mk/src.opts.mk projects/krb5/share/mk/src.sys.obj.mk projects/krb5/share/mk/sys.mk projects/krb5/share/syscons/scrnmaps/Makefile projects/krb5/share/termcap/Makefile projects/krb5/stand/efi/boot1/boot_module.h projects/krb5/stand/forth/check-password.4th.8 projects/krb5/stand/i386/gptboot/gptboot.c projects/krb5/stand/i386/zfsboot/zfsboot.c projects/krb5/stand/libsa/Makefile projects/krb5/stand/lua/config.lua projects/krb5/stand/mips/beri/boot2/Makefile projects/krb5/sys/amd64/amd64/pmap.c projects/krb5/sys/amd64/conf/GENERIC projects/krb5/sys/amd64/conf/NOTES projects/krb5/sys/amd64/include/asmacros.h projects/krb5/sys/amd64/linux/linux_sysvec.c projects/krb5/sys/amd64/linux32/linux32_sysvec.c projects/krb5/sys/arm/allwinner/aw_mmc.c projects/krb5/sys/arm/allwinner/clkng/aw_clk_nkmp.c projects/krb5/sys/arm/allwinner/clkng/aw_clk_nm.c projects/krb5/sys/arm/allwinner/files.allwinner projects/krb5/sys/arm/arm/generic_timer.c projects/krb5/sys/arm/arm/gic.h projects/krb5/sys/arm/arm/gic_common.h projects/krb5/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c projects/krb5/sys/arm/broadcom/bcm2835/bcm2835_machdep.c projects/krb5/sys/arm/broadcom/bcm2835/bcm2835_spi.c projects/krb5/sys/arm/broadcom/bcm2835/files.bcm283x projects/krb5/sys/arm64/arm64/gic_v3_reg.h projects/krb5/sys/arm64/arm64/pmap.c projects/krb5/sys/arm64/arm64/vm_machdep.c projects/krb5/sys/arm64/include/pmap.h projects/krb5/sys/arm64/rockchip/if_dwc_rk.c projects/krb5/sys/arm64/rockchip/rk_gpio.c projects/krb5/sys/cam/mmc/mmc.h projects/krb5/sys/cam/mmc/mmc_da.c projects/krb5/sys/cam/mmc/mmc_xpt.c projects/krb5/sys/compat/linprocfs/linprocfs.c projects/krb5/sys/compat/linux/linux_fork.c projects/krb5/sys/compat/linux/linux_mib.c projects/krb5/sys/compat/linux/linux_misc.c projects/krb5/sys/compat/linux/linux_sysctl.c projects/krb5/sys/conf/NOTES projects/krb5/sys/conf/files projects/krb5/sys/conf/files.amd64 projects/krb5/sys/conf/files.arm64 projects/krb5/sys/conf/files.powerpc projects/krb5/sys/conf/newvers.sh projects/krb5/sys/conf/options projects/krb5/sys/contrib/dev/acpica/changes.txt projects/krb5/sys/contrib/dev/acpica/common/dmextern.c projects/krb5/sys/contrib/dev/acpica/compiler/aslglobal.h projects/krb5/sys/contrib/dev/acpica/compiler/aslhelpers.y projects/krb5/sys/contrib/dev/acpica/compiler/aslload.c projects/krb5/sys/contrib/dev/acpica/compiler/aslmain.c projects/krb5/sys/contrib/dev/acpica/compiler/aslmessages.c projects/krb5/sys/contrib/dev/acpica/compiler/aslmessages.h projects/krb5/sys/contrib/dev/acpica/compiler/asloptions.c projects/krb5/sys/contrib/dev/acpica/compiler/aslparser.y projects/krb5/sys/contrib/dev/acpica/compiler/aslprimaries.y projects/krb5/sys/contrib/dev/acpica/compiler/asltransform.c projects/krb5/sys/contrib/dev/acpica/compiler/asltypes.y projects/krb5/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c projects/krb5/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/krb5/sys/contrib/dev/acpica/components/namespace/nseval.c projects/krb5/sys/contrib/dev/acpica/components/namespace/nssearch.c projects/krb5/sys/contrib/dev/acpica/include/aclocal.h projects/krb5/sys/contrib/dev/acpica/include/acpixf.h projects/krb5/sys/contrib/libnv/cnvlist.c projects/krb5/sys/contrib/libnv/nv_impl.h projects/krb5/sys/contrib/libnv/nvlist.c projects/krb5/sys/contrib/libnv/nvpair.c projects/krb5/sys/crypto/aesni/aesni.c projects/krb5/sys/dev/bktr/bktr_core.c projects/krb5/sys/dev/bktr/bktr_os.c projects/krb5/sys/dev/bktr/bktr_reg.h projects/krb5/sys/dev/cxgbe/adapter.h projects/krb5/sys/dev/cxgbe/common/t4_hw.c projects/krb5/sys/dev/cxgbe/cxgbei/cxgbei.c projects/krb5/sys/dev/cxgbe/t4_filter.c projects/krb5/sys/dev/cxgbe/t4_main.c projects/krb5/sys/dev/efidev/efirtc.c projects/krb5/sys/dev/iwn/if_iwn.c projects/krb5/sys/dev/iwn/if_iwn_chip_cfg.h projects/krb5/sys/dev/iwn/if_iwn_devid.h projects/krb5/sys/dev/ixl/i40e_adminq.c projects/krb5/sys/dev/ixl/i40e_adminq.h projects/krb5/sys/dev/ixl/i40e_adminq_cmd.h projects/krb5/sys/dev/ixl/i40e_alloc.h projects/krb5/sys/dev/ixl/i40e_common.c projects/krb5/sys/dev/ixl/i40e_dcb.c projects/krb5/sys/dev/ixl/i40e_dcb.h projects/krb5/sys/dev/ixl/i40e_devids.h projects/krb5/sys/dev/ixl/i40e_hmc.c projects/krb5/sys/dev/ixl/i40e_hmc.h projects/krb5/sys/dev/ixl/i40e_lan_hmc.c projects/krb5/sys/dev/ixl/i40e_lan_hmc.h projects/krb5/sys/dev/ixl/i40e_nvm.c projects/krb5/sys/dev/ixl/i40e_osdep.c projects/krb5/sys/dev/ixl/i40e_osdep.h projects/krb5/sys/dev/ixl/i40e_prototype.h projects/krb5/sys/dev/ixl/i40e_register.h projects/krb5/sys/dev/ixl/i40e_status.h projects/krb5/sys/dev/ixl/i40e_type.h projects/krb5/sys/dev/ixl/if_ixl.c projects/krb5/sys/dev/ixl/if_ixlv.c projects/krb5/sys/dev/ixl/ixl.h projects/krb5/sys/dev/ixl/ixl_iw.c projects/krb5/sys/dev/ixl/ixl_iw.h projects/krb5/sys/dev/ixl/ixl_iw_int.h projects/krb5/sys/dev/ixl/ixl_pf.h projects/krb5/sys/dev/ixl/ixl_pf_i2c.c projects/krb5/sys/dev/ixl/ixl_pf_iov.c projects/krb5/sys/dev/ixl/ixl_pf_iov.h projects/krb5/sys/dev/ixl/ixl_pf_main.c projects/krb5/sys/dev/ixl/ixl_pf_qmgr.c projects/krb5/sys/dev/ixl/ixl_pf_qmgr.h projects/krb5/sys/dev/ixl/ixl_txrx.c projects/krb5/sys/dev/ixl/ixlv.h projects/krb5/sys/dev/ixl/ixlv_vc_mgr.h projects/krb5/sys/dev/ixl/ixlvc.c projects/krb5/sys/dev/ixl/virtchnl.h projects/krb5/sys/dev/ofw/ofw_cpu.c projects/krb5/sys/dev/pccard/pccard.c projects/krb5/sys/dev/psci/smccc.c projects/krb5/sys/dev/psci/smccc.h projects/krb5/sys/dev/rtwn/rtl8812a/r12a_reg.h projects/krb5/sys/dev/rtwn/rtl8812a/usb/r12au.h projects/krb5/sys/dev/rtwn/rtl8812a/usb/r12au_init.c projects/krb5/sys/dev/rtwn/rtl8821a/usb/r21au.h projects/krb5/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c projects/krb5/sys/dev/rtwn/rtl8821a/usb/r21au_init.c projects/krb5/sys/dev/spibus/spibus.c projects/krb5/sys/dev/spibus/spigen.c projects/krb5/sys/dev/usb/usb_request.c projects/krb5/sys/dev/vt/hw/vga/vt_vga.c projects/krb5/sys/dev/xen/grant_table/grant_table.c projects/krb5/sys/dev/xen/netback/netback.c projects/krb5/sys/fs/nfs/nfs.h projects/krb5/sys/fs/nfs/nfs_commonkrpc.c projects/krb5/sys/fs/nfs/nfs_commonsubs.c projects/krb5/sys/fs/nfs/nfs_var.h projects/krb5/sys/fs/nfsclient/nfs_clrpcops.c projects/krb5/sys/fs/nfsclient/nfs_clstate.c projects/krb5/sys/fs/nfsserver/nfs_nfsdport.c projects/krb5/sys/fs/nfsserver/nfs_nfsdstate.c projects/krb5/sys/i386/linux/linux_sysvec.c projects/krb5/sys/kern/init_main.c projects/krb5/sys/kern/kern_cpu.c projects/krb5/sys/kern/kern_environment.c projects/krb5/sys/kern/kern_fork.c projects/krb5/sys/kern/kern_jail.c projects/krb5/sys/kern/kern_proc.c projects/krb5/sys/kern/kern_sig.c projects/krb5/sys/kern/kern_sysctl.c projects/krb5/sys/kern/kern_time.c projects/krb5/sys/kern/subr_bus.c projects/krb5/sys/kern/subr_counter.c projects/krb5/sys/kern/subr_devmap.c projects/krb5/sys/kern/subr_epoch.c projects/krb5/sys/kern/subr_hints.c projects/krb5/sys/kern/subr_kdb.c projects/krb5/sys/kern/subr_witness.c projects/krb5/sys/kern/sys_process.c projects/krb5/sys/kern/vfs_cache.c projects/krb5/sys/libkern/strlcpy.c projects/krb5/sys/mips/malta/malta_machdep.c projects/krb5/sys/modules/Makefile projects/krb5/sys/modules/dtb/rpi/Makefile projects/krb5/sys/modules/ixl/Makefile projects/krb5/sys/modules/ixlv/Makefile projects/krb5/sys/modules/linux64/Makefile projects/krb5/sys/modules/pflog/Makefile projects/krb5/sys/modules/pfsync/Makefile projects/krb5/sys/net/bpf.c projects/krb5/sys/net/bpfdesc.h projects/krb5/sys/net/if_me.c projects/krb5/sys/net/pfvar.h projects/krb5/sys/netinet/in_gif.c projects/krb5/sys/netinet/in_pcb.c projects/krb5/sys/netinet/in_pcb.h projects/krb5/sys/netinet/ip.h projects/krb5/sys/netinet/ip6.h projects/krb5/sys/netinet/ip_carp.c projects/krb5/sys/netinet/ip_gre.c projects/krb5/sys/netinet/raw_ip.c projects/krb5/sys/netinet/tcp_fastopen.c projects/krb5/sys/netinet/tcp_fsm.h projects/krb5/sys/netinet/tcp_hpts.c projects/krb5/sys/netinet/tcp_input.c projects/krb5/sys/netinet/tcp_offload.c projects/krb5/sys/netinet/tcp_output.c projects/krb5/sys/netinet/tcp_stacks/rack.c projects/krb5/sys/netinet/tcp_subr.c projects/krb5/sys/netinet/tcp_timewait.c projects/krb5/sys/netinet/udp_usrreq.c projects/krb5/sys/netinet6/in6_gif.c projects/krb5/sys/netinet6/in6_pcb.c projects/krb5/sys/netinet6/ip6_gre.c projects/krb5/sys/netipsec/key_debug.c projects/krb5/sys/netpfil/pf/if_pfsync.c projects/krb5/sys/netpfil/pf/pf.c projects/krb5/sys/netpfil/pf/pf_ioctl.c projects/krb5/sys/powerpc/aim/trap_subr64.S projects/krb5/sys/powerpc/include/kdb.h projects/krb5/sys/powerpc/include/smp.h projects/krb5/sys/powerpc/include/spr.h projects/krb5/sys/powerpc/powernv/opal_console.c projects/krb5/sys/riscv/conf/GENERIC projects/krb5/sys/riscv/riscv/plic.c projects/krb5/sys/sys/bus.h projects/krb5/sys/sys/cnv.h projects/krb5/sys/sys/cpu.h projects/krb5/sys/sys/dirent.h projects/krb5/sys/sys/epoch.h projects/krb5/sys/sys/event.h projects/krb5/sys/sys/nv.h projects/krb5/sys/sys/proc.h projects/krb5/sys/sys/syscallsubr.h projects/krb5/sys/sys/systm.h projects/krb5/sys/ufs/ffs/ffs_alloc.c projects/krb5/sys/ufs/ffs/ffs_suspend.c projects/krb5/sys/ufs/ffs/ffs_vfsops.c projects/krb5/sys/ufs/ufs/ufsmount.h projects/krb5/sys/vm/uma_core.c projects/krb5/sys/vm/uma_int.h projects/krb5/sys/vm/vm_page.c projects/krb5/sys/vm/vm_phys.c projects/krb5/sys/vm/vm_phys.h projects/krb5/sys/vm/vm_radix.c projects/krb5/sys/vm/vm_unix.c projects/krb5/sys/x86/include/x86_var.h projects/krb5/sys/x86/isa/atrtc.c projects/krb5/sys/x86/x86/cpu_machdep.c projects/krb5/sys/x86/x86/tsc.c projects/krb5/sys/x86/xen/hvm.c projects/krb5/targets/pseudo/userland/Makefile.depend projects/krb5/targets/pseudo/userland/lib/Makefile.depend projects/krb5/tests/sys/audit/Makefile projects/krb5/tests/sys/audit/administrative.c projects/krb5/tests/sys/audit/file-attribute-access.c projects/krb5/tests/sys/audit/file-attribute-modify.c projects/krb5/tests/sys/audit/inter-process.c projects/krb5/tests/sys/audit/network.c projects/krb5/tools/boot/rootgen.sh projects/krb5/tools/build/beinstall.sh projects/krb5/tools/build/mk/OptionalObsoleteFiles.inc projects/krb5/tools/tools/git/HOWTO projects/krb5/usr.bin/Makefile projects/krb5/usr.bin/ar/acplex.l projects/krb5/usr.bin/ar/acpyacc.y projects/krb5/usr.bin/ar/ar.c projects/krb5/usr.bin/ar/ar.h projects/krb5/usr.bin/ar/read.c projects/krb5/usr.bin/ar/util.c projects/krb5/usr.bin/ar/write.c projects/krb5/usr.bin/basename/basename.c projects/krb5/usr.bin/clang/lld/Makefile projects/krb5/usr.bin/cmp/cmp.c projects/krb5/usr.bin/col/col.c projects/krb5/usr.bin/diff/diffreg.c projects/krb5/usr.bin/diff3/diff3.c projects/krb5/usr.bin/dirname/dirname.c projects/krb5/usr.bin/elfdump/elfdump.c projects/krb5/usr.bin/find/find.c projects/krb5/usr.bin/find/function.c projects/krb5/usr.bin/find/getdate.y projects/krb5/usr.bin/find/ls.c projects/krb5/usr.bin/find/main.c projects/krb5/usr.bin/find/misc.c projects/krb5/usr.bin/find/operator.c projects/krb5/usr.bin/find/option.c projects/krb5/usr.bin/getopt/getopt.c projects/krb5/usr.bin/hexdump/display.c projects/krb5/usr.bin/iconv/iconv.c projects/krb5/usr.bin/ident/ident.c projects/krb5/usr.bin/indent/indent.c projects/krb5/usr.bin/jot/jot.c projects/krb5/usr.bin/kdump/kdump.c projects/krb5/usr.bin/ktrdump/ktrdump.c projects/krb5/usr.bin/lam/lam.c projects/krb5/usr.bin/last/last.c projects/krb5/usr.bin/locate/bigram/locate.bigram.c projects/krb5/usr.bin/logname/logname.c projects/krb5/usr.bin/ministat/ministat.c projects/krb5/usr.bin/pom/pom.c projects/krb5/usr.bin/primes/primes.c projects/krb5/usr.bin/printenv/printenv.c projects/krb5/usr.bin/rup/Makefile projects/krb5/usr.bin/rup/rup.c projects/krb5/usr.bin/rusers/rusers.c projects/krb5/usr.bin/rwho/rwho.c projects/krb5/usr.bin/sort/Makefile projects/krb5/usr.bin/sort/file.c projects/krb5/usr.bin/sort/file.h projects/krb5/usr.bin/sort/sort.c projects/krb5/usr.bin/su/Makefile projects/krb5/usr.bin/systat/cmds.c projects/krb5/usr.bin/tee/tee.c projects/krb5/usr.bin/top/Makefile projects/krb5/usr.bin/top/commands.c projects/krb5/usr.bin/top/display.c projects/krb5/usr.bin/top/machine.c projects/krb5/usr.bin/top/machine.h projects/krb5/usr.bin/top/screen.c projects/krb5/usr.bin/top/screen.h projects/krb5/usr.bin/top/top.c projects/krb5/usr.bin/top/top.h projects/krb5/usr.bin/top/utils.c projects/krb5/usr.bin/top/utils.h projects/krb5/usr.bin/tr/tr.c projects/krb5/usr.bin/uniq/uniq.c projects/krb5/usr.bin/units/units.c projects/krb5/usr.bin/users/users.cc projects/krb5/usr.bin/vgrind/Makefile projects/krb5/usr.bin/vi/catalog/Makefile projects/krb5/usr.bin/write/write.c projects/krb5/usr.bin/yes/yes.c projects/krb5/usr.sbin/Makefile projects/krb5/usr.sbin/acpi/acpidump/acpidump.8 projects/krb5/usr.sbin/bhyve/bhyverun.c projects/krb5/usr.sbin/config/config.5 projects/krb5/usr.sbin/config/config.h projects/krb5/usr.sbin/config/config.y projects/krb5/usr.sbin/config/lang.l projects/krb5/usr.sbin/config/main.c projects/krb5/usr.sbin/config/mkmakefile.c projects/krb5/usr.sbin/cxgbetool/cxgbetool.c projects/krb5/usr.sbin/nfsd/nfsd.c projects/krb5/usr.sbin/pnfsdsfile/pnfsdsfile.8 projects/krb5/usr.sbin/pnfsdsfile/pnfsdsfile.c projects/krb5/usr.sbin/portsnap/portsnap/portsnap.8 projects/krb5/usr.sbin/powerd/powerd.c projects/krb5/usr.sbin/rmt/Makefile projects/krb5/usr.sbin/rwhod/rwhod.c projects/krb5/usr.sbin/syslogd/syslogd.c Directory Properties: projects/krb5/ (props changed) projects/krb5/contrib/amd/ (props changed) projects/krb5/contrib/compiler-rt/ (props changed) projects/krb5/contrib/dma/ (props changed) projects/krb5/contrib/file/ (props changed) projects/krb5/contrib/gcc/ (props changed) projects/krb5/contrib/libc++/ (props changed) projects/krb5/contrib/llvm/ (props changed) projects/krb5/contrib/llvm/projects/libunwind/ (props changed) projects/krb5/contrib/llvm/tools/clang/ (props changed) projects/krb5/contrib/llvm/tools/lld/ (props changed) projects/krb5/contrib/llvm/tools/lldb/ (props changed) projects/krb5/contrib/pf/ (props changed) projects/krb5/contrib/wpa/ (props changed) projects/krb5/gnu/usr.bin/binutils/ (props changed) projects/krb5/gnu/usr.bin/cc/cc_tools/ (props changed) projects/krb5/sys/contrib/dev/acpica/ (props changed) Modified: projects/krb5/.gitignore ============================================================================== --- projects/krb5/.gitignore Sun Jul 1 20:09:56 2018 (r335852) +++ projects/krb5/.gitignore Sun Jul 1 20:52:50 2018 (r335853) @@ -1,4 +1,5 @@ _.tinderbox.* +_.universe-toolchain _.amd64.* _.arm.* _.arm64.* Modified: projects/krb5/Makefile ============================================================================== --- projects/krb5/Makefile Sun Jul 1 20:09:56 2018 (r335852) +++ projects/krb5/Makefile Sun Jul 1 20:52:50 2018 (r335853) @@ -143,7 +143,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel bu stage-packages \ create-packages-world create-packages-kernel create-packages \ packages installconfig real-packages sign-packages package-pkg \ - print-dir test-system-compiler + print-dir test-system-compiler test-system-linker # These targets require a TARGET and TARGET_ARCH be defined. XTGTS= native-xtools native-xtools-install xdev xdev-build xdev-install \ @@ -168,8 +168,8 @@ META_TGT_WHITELIST+= \ _* build32 buildfiles buildincludes buildkernel buildsoft \ buildworld everything kernel-toolchain kernel-toolchains kernel \ kernels libraries native-xtools showconfig test-system-compiler \ - tinderbox toolchain \ - toolchains universe world worlds xdev xdev-build + test-system-linker tinderbox toolchain \ + toolchains universe universe-toolchain world worlds xdev xdev-build .ORDER: buildworld installworld .ORDER: buildworld distrib-dirs @@ -205,7 +205,7 @@ _MAKEOBJDIRPREFIX!= /usr/bin/env -i PATH=${PATH} ${MAK # We often need to use the tree's version of make to build it. # Choices add to complexity though. # We cannot blindly use a make which may not be the one we want -# so be exlicit - until all choice is removed. +# so be explicit - until all choice is removed. WANT_MAKE= bmake .if !empty(.MAKE.MODE:Mmeta) # 20160604 - support missing-meta,missing-filemon and performance improvements @@ -480,7 +480,8 @@ worlds: .PHONY # with a reasonable chance of success, regardless of how old your # existing system is. # -.if make(universe) || make(universe_kernels) || make(tinderbox) || make(targets) +.if make(universe) || make(universe_kernels) || make(tinderbox) || \ + make(targets) || make(universe-toolchain) TARGETS?=amd64 arm arm64 i386 mips powerpc riscv sparc64 _UNIVERSE_TARGETS= ${TARGETS} TARGET_ARCHES_arm?= arm armeb armv6 armv7 @@ -542,6 +543,36 @@ universe_prologue: .PHONY .if defined(DOING_TINDERBOX) @rm -f ${FAILFILE} .endif + +universe-toolchain: .PHONY universe_prologue + @echo "--------------------------------------------------------------" + @echo "> Toolchain bootstrap started on `LC_ALL=C date`" + @echo "--------------------------------------------------------------" + ${_+_}@cd ${.CURDIR}; \ + env PATH=${PATH} ${SUB_MAKE} ${JFLAG} kernel-toolchain \ + TARGET=${MACHINE} TARGET_ARCH=${MACHINE_ARCH} \ + OBJTOP="${HOST_OBJTOP}" \ + WITHOUT_SYSTEM_COMPILER=yes \ + WITHOUT_SYSTEM_LINKER=yes \ + TOOLS_PREFIX_UNDEF= \ + kernel-toolchain \ + MK_LLVM_TARGET_ALL=yes \ + > _.${.TARGET} 2>&1 || \ + (echo "${.TARGET} failed," \ + "check _.${.TARGET} for details" | \ + ${MAKEFAIL}; false) + @if [ ! -e "${HOST_OBJTOP}/tmp/usr/bin/cc" ]; then \ + echo "Missing host compiler at ${HOST_OBJTOP}/tmp/usr/bin/cc?" >&2; \ + false; \ + fi + @if [ ! -e "${HOST_OBJTOP}/tmp/usr/bin/ld" ]; then \ + echo "Missing host linker at ${HOST_OBJTOP}/tmp/usr/bin/cc?" >&2; \ + false; \ + fi + @echo "--------------------------------------------------------------" + @echo "> Toolchain bootstrap completed on `LC_ALL=C date`" + @echo "--------------------------------------------------------------" + .for target in ${_UNIVERSE_TARGETS} universe: universe_${target} universe_epilogue: universe_${target} @@ -550,10 +581,58 @@ universe_${target}_prologue: universe_prologue .PHONY @echo ">> ${target} started on `LC_ALL=C date`" universe_${target}_worlds: .PHONY +.if !make(targets) && !make(universe-toolchain) +.for target_arch in ${TARGET_ARCHES_${target}} +.if !defined(_need_clang_${target}_${target_arch}) +_need_clang_${target}_${target_arch} != \ + env TARGET=${target} TARGET_ARCH=${target_arch} \ + ${SUB_MAKE} -C ${.CURDIR} -f Makefile.inc1 test-system-compiler \ + ${MAKE_PARAMS_${target}} -V MK_CLANG_BOOTSTRAP 2>/dev/null || \ + echo unknown +.export _need_clang_${target}_${target_arch} +.endif +.if !defined(_need_lld_${target}_${target_arch}) +_need_lld_${target}_${target_arch} != \ + env TARGET=${target} TARGET_ARCH=${target_arch} \ + ${SUB_MAKE} -C ${.CURDIR} -f Makefile.inc1 test-system-linker \ + ${MAKE_PARAMS_${target}} -V MK_LLD_BOOTSTRAP 2>/dev/null || \ + echo unknown +.export _need_lld_${target}_${target_arch} +.endif +# Setup env for each arch to use the one clang. +.if defined(_need_clang_${target}_${target_arch}) && \ + ${_need_clang_${target}_${target_arch}} == "yes" +# No check on existing XCC or CROSS_BINUTILS_PREFIX, etc, is needed since +# we use the test-system-compiler logic to determine if clang needs to be +# built. It will be no from that logic if already using an external +# toolchain or /usr/bin/cc. +# XXX: Passing HOST_OBJTOP into the PATH would allow skipping legacy, +# bootstrap-tools, and cross-tools. Need to ensure each tool actually +# supports all TARGETS though. +MAKE_PARAMS_${target}+= \ + XCC="${HOST_OBJTOP}/tmp/usr/bin/cc" \ + XCXX="${HOST_OBJTOP}/tmp/usr/bin/c++" \ + XCPP="${HOST_OBJTOP}/tmp/usr/bin/cpp" +.endif +.if defined(_need_lld_${target}_${target_arch}) && \ + ${_need_lld_${target}_${target_arch}} == "yes" +MAKE_PARAMS_${target}+= \ + XLD="${HOST_OBJTOP}/tmp/usr/bin/ld" +.endif +.endfor +.endif # !make(targets) + .if !defined(MAKE_JUST_KERNELS) universe_${target}_done: universe_${target}_worlds .PHONY .for target_arch in ${TARGET_ARCHES_${target}} universe_${target}_worlds: universe_${target}_${target_arch} .PHONY +.if (defined(_need_clang_${target}_${target_arch}) && \ + ${_need_clang_${target}_${target_arch}} == "yes") || \ + (defined(_need_lld_${target}_${target_arch}) && \ + ${_need_lld_${target}_${target_arch}} == "yes") +universe_${target}_${target_arch}: universe-toolchain +universe_${target}_prologue: universe-toolchain +.endif universe_${target}_${target_arch}: universe_${target}_prologue .MAKE .PHONY @echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} started on `LC_ALL=C date`" @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ @@ -573,13 +652,13 @@ universe_${target}_${target_arch}: universe_${target}_ universe_${target}_done: universe_${target}_kernels .PHONY universe_${target}_kernels: universe_${target}_worlds .PHONY universe_${target}_kernels: universe_${target}_prologue .MAKE .PHONY -.if exists(${KERNSRCDIR}/${target}/conf/NOTES) - @(cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \ + @if [ -e "${KERNSRCDIR}/${target}/conf/NOTES" ]; then \ + (cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \ ${SUB_MAKE} LINT \ > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \ (echo "${target} 'make LINT' failed," \ - "check _.${target}.makeLINT for details"| ${MAKEFAIL})) -.endif + "check _.${target}.makeLINT for details"| ${MAKEFAIL})); \ + fi @cd ${.CURDIR}; ${SUB_MAKE} ${.MAKEFLAGS} TARGET=${target} \ universe_kernels .endif # !MAKE_JUST_WORLDS @@ -590,10 +669,13 @@ universe_${target}_done: @echo ">> ${target} completed on `LC_ALL=C date`" .endfor .if make(universe_kernconfs) || make(universe_kernels) -universe_kernels: universe_kernconfs .PHONY .if !defined(TARGET) TARGET!= uname -m .endif +universe_kernels_prologue: .PHONY + @echo ">> ${TARGET} kernels started on `LC_ALL=C date`" +universe_kernels: universe_kernconfs .PHONY + @echo ">> ${TARGET} kernels completed on `LC_ALL=C date`" .if defined(MAKE_ALL_KERNELS) _THINNER=cat .elif defined(MAKE_LINT_KERNELS) @@ -606,7 +688,7 @@ KERNCONFS!= cd ${KERNSRCDIR}/${TARGET}/conf && \ -type f -maxdepth 0 \ ! -name DEFAULTS ! -name NOTES | \ ${_THINNER} -universe_kernconfs: .PHONY +universe_kernconfs: universe_kernels_prologue .PHONY .for kernel in ${KERNCONFS} TARGET_ARCH_${kernel}!= cd ${KERNSRCDIR}/${TARGET}/conf && \ config -m ${KERNSRCDIR}/${TARGET}/conf/${kernel} 2> /dev/null | \ @@ -616,6 +698,7 @@ TARGET_ARCH_${kernel}!= cd ${KERNSRCDIR}/${TARGET}/con .endif universe_kernconfs: universe_kernconf_${TARGET}_${kernel} universe_kernconf_${TARGET}_${kernel}: .MAKE + @echo ">> ${TARGET}.${TARGET_ARCH_${kernel}} ${kernel} kernel started on `LC_ALL=C date`" @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ ${SUB_MAKE} ${JFLAG} buildkernel \ TARGET=${TARGET} \ @@ -625,6 +708,7 @@ universe_kernconf_${TARGET}_${kernel}: .MAKE > _.${TARGET}.${kernel} 2>&1 || \ (echo "${TARGET} ${kernel} kernel failed," \ "check _.${TARGET}.${kernel} for details"| ${MAKEFAIL})) + @echo ">> ${TARGET}.${TARGET_ARCH_${kernel}} ${kernel} kernel completed on `LC_ALL=C date`" .endfor .endif # make(universe_kernels) universe: universe_epilogue Modified: projects/krb5/Makefile.inc1 ============================================================================== --- projects/krb5/Makefile.inc1 Sun Jul 1 20:09:56 2018 (r335852) +++ projects/krb5/Makefile.inc1 Sun Jul 1 20:52:50 2018 (r335853) @@ -50,6 +50,10 @@ .error "Both TARGET and TARGET_ARCH must be defined." .endif +.if make(showconfig) || make(test-system-*) +_MKSHOWCONFIG= t +.endif + SRCDIR?= ${.CURDIR} LOCALBASE?= /usr/local @@ -88,8 +92,8 @@ MK_GCC_BOOTSTRAP= no # running CC from bsd.compiler.mk. .if make(installworld) || make(install) || make(distributeworld) || \ make(stageworld) -.-include "${OBJTOP}/compiler-metadata.mk" -.if !defined(_LOADED_COMPILER_METADATA) +.-include "${OBJTOP}/toolchain-metadata.mk" +.if !defined(_LOADED_TOOLCHAIN_METADATA) .error A build is required first. You may have the wrong MAKEOBJDIRPREFIX set. .endif .endif @@ -97,9 +101,117 @@ MK_GCC_BOOTSTRAP= no # Pull in COMPILER_TYPE and COMPILER_FREEBSD_VERSION early. Pull it from the # tree to be friendlier to foreign OS builds. It's safe to do so unconditionally # here since we will always have the right make, unlike in src/Makefile +# Don't include bsd.linker.mk yet until XBINUTILS is handled (after src.opts.mk) +_NO_INCLUDE_LINKERMK= t .include "share/mk/bsd.compiler.mk" +.undef _NO_INCLUDE_LINKERMK +# src.opts.mk depends on COMPILER_FEATURES .include "share/mk/src.opts.mk" +.if ${TARGET} == ${MACHINE} +TARGET_CPUTYPE?=${CPUTYPE} +.else +TARGET_CPUTYPE?= +.endif +.if !empty(TARGET_CPUTYPE) +_TARGET_CPUTYPE=${TARGET_CPUTYPE} +.else +_TARGET_CPUTYPE=dummy +.endif +.if ${TARGET} == "arm" +.if ${TARGET_ARCH:Marmv[67]*} != "" && ${TARGET_CPUTYPE:M*soft*} == "" +TARGET_ABI= gnueabihf +.else +TARGET_ABI= gnueabi +.endif +.endif +MACHINE_ABI?= unknown +MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${MACHINE_ABI}-freebsd12.0 +TARGET_ABI?= unknown +TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${TARGET_ABI}-freebsd12.0 +KNOWN_ARCHES?= aarch64/arm64 \ + amd64 \ + arm \ + armeb/arm \ + armv6/arm \ + armv7/arm \ + i386 \ + mips \ + mipsel/mips \ + mips64el/mips \ + mipsn32el/mips \ + mips64/mips \ + mipsn32/mips \ + mipshf/mips \ + mipselhf/mips \ + mips64elhf/mips \ + mips64hf/mips \ + powerpc \ + powerpc64/powerpc \ + powerpcspe/powerpc \ + riscv64/riscv \ + riscv64sf/riscv \ + sparc64 + +.if ${TARGET} == ${TARGET_ARCH} +_t= ${TARGET} +.else +_t= ${TARGET_ARCH}/${TARGET} +.endif +.for _t in ${_t} +.if empty(KNOWN_ARCHES:M${_t}) +.error Unknown target ${TARGET_ARCH}:${TARGET}. +.endif +.endfor + +# If all targets are disabled for system llvm then don't expect it to work +# for cross-builds. +.if !defined(TOOLS_PREFIX) && ${MK_LLVM_TARGET_ALL} == "no" && \ + ${MACHINE} != ${TARGET} && ${MACHINE_ARCH} != ${TARGET_ARCH} && \ + !make(showconfig) +MK_SYSTEM_COMPILER= no +MK_SYSTEM_LINKER= no +.endif + +# Handle external binutils. +.if defined(CROSS_TOOLCHAIN_PREFIX) +CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} +.endif +# If we do not have a bootstrap binutils (because the in-tree one does not +# support the target architecture), provide a default cross-binutils prefix. +# This allows riscv64 builds, for example, to automatically use the +# riscv64-binutils port or package. +.if !make(showconfig) +.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ + ${MK_LLD_BOOTSTRAP} == "no" && \ + !defined(CROSS_BINUTILS_PREFIX) +CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_TRIPLE}/bin/ +.if !exists(${CROSS_BINUTILS_PREFIX}) +.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. +.endif +.endif +.endif +XBINUTILS= AS AR LD NM OBJCOPY RANLIB SIZE STRINGS +.for BINUTIL in ${XBINUTILS} +.if defined(CROSS_BINUTILS_PREFIX) && \ + exists(${CROSS_BINUTILS_PREFIX}/${${BINUTIL}}) +X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX:C,/*$,,}/${${BINUTIL}} +.else +X${BINUTIL}?= ${${BINUTIL}} +.endif +.endfor + +# If a full path to an external linker is given, don't build lld. +.if ${XLD:M/*} +MK_LLD_BOOTSTRAP= no +.endif + +.include "share/mk/bsd.linker.mk" + +# Begin WITH_SYSTEM_COMPILER / WITH_SYSTEM_LD + +# WITH_SYSTEM_COMPILER - Pull in needed values and make a decision. + # Check if there is a local compiler that can satisfy as an external compiler. # Which compiler is expected to be used? .if ${MK_CLANG_BOOTSTRAP} == "yes" @@ -109,7 +221,9 @@ WANT_COMPILER_TYPE= gcc .else WANT_COMPILER_TYPE= .endif -.if !defined(WANT_COMPILER_FREEBSD_VERSION) + +.if !defined(WANT_COMPILER_FREEBSD_VERSION) && !make(showconfig) && \ + !make(test-system-linker) .if ${WANT_COMPILER_TYPE} == "clang" WANT_COMPILER_FREEBSD_VERSION_FILE= lib/clang/freebsd_cc_version.h WANT_COMPILER_FREEBSD_VERSION!= \ @@ -131,23 +245,72 @@ WANT_COMPILER_VERSION!= \ .endif .export WANT_COMPILER_FREEBSD_VERSION WANT_COMPILER_VERSION .endif # !defined(WANT_COMPILER_FREEBSD_VERSION) + # It needs to be the same revision as we would build for the bootstrap. # If the expected vs CC is different then we can't skip. # GCC cannot be used for cross-arch yet. For clang we pass -target later if # TARGET_ARCH!=MACHINE_ARCH. .if ${MK_SYSTEM_COMPILER} == "yes" && \ + defined(WANT_COMPILER_FREEBSD_VERSION) && \ (${MK_CLANG_BOOTSTRAP} == "yes" || ${MK_GCC_BOOTSTRAP} == "yes") && \ - !make(showconfig) && !make(xdev*) && \ - ${WANT_COMPILER_TYPE} == ${COMPILER_TYPE} && \ - (${COMPILER_TYPE} == "clang" || ${TARGET_ARCH} == ${MACHINE_ARCH}) && \ - ${COMPILER_VERSION} == ${WANT_COMPILER_VERSION} && \ - ${COMPILER_FREEBSD_VERSION} == ${WANT_COMPILER_FREEBSD_VERSION} + !make(xdev*) && \ + ${X_COMPILER_TYPE} == ${WANT_COMPILER_TYPE} && \ + (${X_COMPILER_TYPE} == "clang" || ${TARGET_ARCH} == ${MACHINE_ARCH}) && \ + ${X_COMPILER_VERSION} == ${WANT_COMPILER_VERSION} && \ + ${X_COMPILER_FREEBSD_VERSION} == ${WANT_COMPILER_FREEBSD_VERSION} # Everything matches, disable the bootstrap compiler. MK_CLANG_BOOTSTRAP= no MK_GCC_BOOTSTRAP= no USING_SYSTEM_COMPILER= yes .endif # ${WANT_COMPILER_TYPE} == ${COMPILER_TYPE} + +# WITH_SYSTEM_LD - Pull in needed values and make a decision. + +# Check if there is a local linker that can satisfy as an external linker. +# Which linker is expected to be used? +.if ${MK_LLD_BOOTSTRAP} == "yes" +WANT_LINKER_TYPE= lld +.elif ${MK_BINUTILS_BOOTSTRAP} == "yes" +# Note that there's no support for bfd in WITH_SYSTEM_LINKER. +WANT_LINKER_TYPE= bfd +.else +WANT_LINKER_TYPE= +.endif + +.if !defined(WANT_LINKER_FREEBSD_VERSION) && !make(showconfig) && \ + !make(test-system-compiler) +.if ${WANT_LINKER_TYPE} == "lld" +WANT_LINKER_FREEBSD_VERSION_FILE= lib/clang/include/lld/Common/Version.inc +WANT_LINKER_FREEBSD_VERSION!= \ + awk '$$2 == "LLD_REVISION_STRING" {gsub(/"/, "", $$3); print $$3}' \ + ${SRCDIR}/${WANT_LINKER_FREEBSD_VERSION_FILE} || echo unknown +WANT_LINKER_VERSION_FILE= lib/clang/include/lld/Common/Version.inc +WANT_LINKER_VERSION!= \ + awk '$$2 == "LLD_VERSION" {split($$3, a, "."); print a[1] * 10000 + a[2] * 100 + a[3]}' \ + ${SRCDIR}/${WANT_LINKER_VERSION_FILE} || echo unknown +.else +WANT_LINKER_FREEBSD_VERSION_FILE= +WANT_LINKER_FREEBSD_VERSION= +.endif +.export WANT_LINKER_FREEBSD_VERSION WANT_LINKER_VERSION +.endif # !defined(WANT_LINKER_FREEBSD_VERSION) + +.if ${MK_SYSTEM_LINKER} == "yes" && \ + defined(WANT_LINKER_FREEBSD_VERSION) && \ + (${MK_LLD_BOOTSTRAP} == "yes") && \ + !make(xdev*) && \ + ${X_LINKER_TYPE} == ${WANT_LINKER_TYPE} && \ + ${X_LINKER_VERSION} == ${WANT_LINKER_VERSION} && \ + ${X_LINKER_FREEBSD_VERSION} == ${WANT_LINKER_FREEBSD_VERSION} +# Everything matches, disable the bootstrap linker. +MK_LLD_BOOTSTRAP= no +USING_SYSTEM_LINKER= yes +.endif # ${WANT_LINKER_TYPE} == ${LINKER_TYPE} + +# WITH_SYSTEM_COMPILER / WITH_SYSTEM_LINKER - Handle defaults and debug. USING_SYSTEM_COMPILER?= no +USING_SYSTEM_LINKER?= no + TEST_SYSTEM_COMPILER_VARS= \ USING_SYSTEM_COMPILER MK_SYSTEM_COMPILER \ MK_CROSS_COMPILER MK_CLANG_BOOTSTRAP MK_GCC_BOOTSTRAP \ @@ -155,84 +318,63 @@ TEST_SYSTEM_COMPILER_VARS= \ WANT_COMPILER_FREEBSD_VERSION WANT_COMPILER_FREEBSD_VERSION_FILE \ CC COMPILER_TYPE COMPILER_FEATURES COMPILER_VERSION \ COMPILER_FREEBSD_VERSION \ - X_COMPILER_TYPE X_COMPILER_FEATURES X_COMPILER_VERSION \ - X_COMPILER_FREEBSD_VERSION \ - LINKER_TYPE LINKER_FEATURES LINKER_VERSION \ - X_LINKER_TYPE X_LINKER_FEATURES X_LINKER_VERSION -test-system-compiler: .PHONY -.for v in ${TEST_SYSTEM_COMPILER_VARS} + XCC X_COMPILER_TYPE X_COMPILER_FEATURES X_COMPILER_VERSION \ + X_COMPILER_FREEBSD_VERSION +TEST_SYSTEM_LINKER_VARS= \ + USING_SYSTEM_LINKER MK_SYSTEM_LINKER \ + MK_LLD_BOOTSTRAP MK_BINUTILS_BOOTSTRAP \ + WANT_LINKER_TYPE WANT_LINKER_VERSION WANT_LINKER_VERSION_FILE \ + WANT_LINKER_FREEBSD_VERSION WANT_LINKER_FREEBSD_VERSION_FILE \ + LD LINKER_TYPE LINKER_FEATURES LINKER_VERSION \ + LINKER_FREEBSD_VERSION \ + XLD X_LINKER_TYPE X_LINKER_FEATURES X_LINKER_VERSION \ + X_LINKER_FREEBSD_VERSION + +.for _t in compiler linker +test-system-${_t}: .PHONY +.for v in ${TEST_SYSTEM_${_t:tu}_VARS} ${_+_}@printf "%-35s= %s\n" "${v}" "${${v}}" .endfor -.if ${USING_SYSTEM_COMPILER} == "yes" && \ - (make(buildworld) || make(buildkernel) || make(kernel-toolchain) || \ +.endfor +.if (make(buildworld) || make(buildkernel) || make(kernel-toolchain) || \ make(toolchain) || make(_cross-tools)) +.if ${USING_SYSTEM_COMPILER} == "yes" .info SYSTEM_COMPILER: Determined that CC=${CC} matches the source tree. Not bootstrapping a cross-compiler. +.elif ${MK_CLANG_BOOTSTRAP} == "yes" +.info SYSTEM_COMPILER: libclang will be built for bootstrapping a cross-compiler. .endif - -# For installworld need to ensure that the looked-up compiler metadata is -# passed along rather than trying to run cc from the restricted -# STRICTTMPPATH. -.if ${MK_CLANG_BOOTSTRAP} == "no" && ${MK_GCC_BOOTSTRAP} == "no" -.if !defined(X_COMPILER_TYPE) -CROSSENV+= COMPILER_VERSION=${COMPILER_VERSION} \ - COMPILER_TYPE=${COMPILER_TYPE} \ - COMPILER_FEATURES="${COMPILER_FEATURES}" \ - COMPILER_FREEBSD_VERSION=${COMPILER_FREEBSD_VERSION} -.else -CROSSENV+= COMPILER_VERSION=${X_COMPILER_VERSION} \ - COMPILER_FEATURES="${X_COMPILER_FEATURES}" \ - COMPILER_TYPE=${X_COMPILER_TYPE} \ - COMPILER_FREEBSD_VERSION=${X_COMPILER_FREEBSD_VERSION} +.if ${USING_SYSTEM_LINKER} == "yes" +.info SYSTEM_LINKER: Determined that LD=${LD} matches the source tree. Not bootstrapping a cross-linker. +.elif ${MK_LLD_BOOTSTRAP} == "yes" +.info SYSTEM_LINKER: libclang will be built for bootstrapping a cross-linker. .endif .endif + +# End WITH_SYSTEM_COMPILER / WITH_SYSTEM_LD + # Store some compiler metadata for use in installworld where we don't # want to invoke CC at all. -_COMPILER_METADATA_VARS= COMPILER_VERSION \ +_TOOLCHAIN_METADATA_VARS= COMPILER_VERSION \ COMPILER_TYPE \ COMPILER_FEATURES \ COMPILER_FREEBSD_VERSION \ LINKER_VERSION \ LINKER_FEATURES \ - LINKER_TYPE -compiler-metadata.mk: .PHONY .META + LINKER_TYPE \ + LINKER_FREEBSD_VERSION +toolchain-metadata.mk: .PHONY .META @: > ${.TARGET} - @echo ".info Using cached compiler metadata from build at $$(hostname) on $$(date)" \ + @echo ".info Using cached toolchain metadata from build at $$(hostname) on $$(date)" \ > ${.TARGET} - @echo "_LOADED_COMPILER_METADATA=t" >> ${.TARGET} -.for v in ${_COMPILER_METADATA_VARS} + @echo "_LOADED_TOOLCHAIN_METADATA=t" >> ${.TARGET} +.for v in ${_TOOLCHAIN_METADATA_VARS} @echo "${v}=${${v}}" >> ${.TARGET} + @echo "X_${v}=${X_${v}}" >> ${.TARGET} .endfor - @echo ".export ${_COMPILER_METADATA_VARS}" >> ${.TARGET} + @echo ".export ${_TOOLCHAIN_METADATA_VARS}" >> ${.TARGET} + @echo ".export ${_TOOLCHAIN_METADATA_VARS:C,^,X_,}" >> ${.TARGET} -# Handle external binutils. -.if defined(CROSS_TOOLCHAIN_PREFIX) -CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} -.endif -# If we do not have a bootstrap binutils (because the in-tree one does not -# support the target architecture), provide a default cross-binutils prefix. -# This allows riscv64 builds, for example, to automatically use the -# riscv64-binutils port or package. -.if !make(showconfig) -.if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ - ${MK_LLD_BOOTSTRAP} == "no" && \ - !defined(CROSS_BINUTILS_PREFIX) -CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ -.if !exists(${CROSS_BINUTILS_PREFIX}) -.error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. -.endif -.endif -.endif -XBINUTILS= AS AR LD NM OBJCOPY RANLIB SIZE STRINGS -.for BINUTIL in ${XBINUTILS} -.if defined(CROSS_BINUTILS_PREFIX) && \ - exists(${CROSS_BINUTILS_PREFIX}${${BINUTIL}}) -X${BINUTIL}?= ${CROSS_BINUTILS_PREFIX}${${BINUTIL}} -.else -X${BINUTIL}?= ${${BINUTIL}} -.endif -.endfor - # We must do lib/ and libexec/ before bin/ in case of a mid-install error to # keep the users system reasonably usable. For static->dynamic root upgrades, # we don't want to install a dynamic binary without rtld and the needed @@ -346,6 +488,7 @@ BUILDENV_SHELL?=${SHELL} BUILDENV_SHELL?=/bin/sh .endif +.if !defined(_MKSHOWCONFIG) .if !defined(SVN_CMD) || empty(SVN_CMD) . for _P in /usr/bin /usr/local/bin . for _S in svn svnlite @@ -414,58 +557,15 @@ EXTRA_REVISION= _${_BRANCH:C/.*-p([0-9]+$)/\1/} .endif PKG_VERSION= ${_REVISION}${EXTRA_REVISION} .endif +.endif # !defined(_MKSHOWCONFIG) -KNOWN_ARCHES?= aarch64/arm64 \ - amd64 \ - arm \ - armeb/arm \ - armv6/arm \ - armv7/arm \ - i386 \ - mips \ - mipsel/mips \ - mips64el/mips \ - mipsn32el/mips \ - mips64/mips \ - mipsn32/mips \ - mipshf/mips \ - mipselhf/mips \ - mips64elhf/mips \ - mips64hf/mips \ - powerpc \ - powerpc64/powerpc \ - powerpcspe/powerpc \ - riscv64/riscv \ - riscv64sf/riscv \ - sparc64 - -.if ${TARGET} == ${TARGET_ARCH} -_t= ${TARGET} -.else -_t= ${TARGET_ARCH}/${TARGET} -.endif -.for _t in ${_t} -.if empty(KNOWN_ARCHES:M${_t}) -.error Unknown target ${TARGET_ARCH}:${TARGET}. -.endif -.endfor - -.if ${TARGET} == ${MACHINE} -TARGET_CPUTYPE?=${CPUTYPE} -.else -TARGET_CPUTYPE?= -.endif - -.if !empty(TARGET_CPUTYPE) -_TARGET_CPUTYPE=${TARGET_CPUTYPE} -.else -_TARGET_CPUTYPE=dummy -.endif +.if !defined(_MKSHOWCONFIG) _CPUTYPE!= MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} -f /dev/null \ -m ${.CURDIR}/share/mk MK_AUTO_OBJ=no -V CPUTYPE .if ${_CPUTYPE} != ${_TARGET_CPUTYPE} .error CPUTYPE global should be set with ?=. .endif +.endif .if make(buildworld) BUILD_ARCH!= uname -p .if ${MACHINE_ARCH} != ${BUILD_ARCH} @@ -544,7 +644,7 @@ CROSSENV+= ${TARGET_CFLAGS} # bootstrap-tools stage BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ - TOOLS_PREFIX=${WORLDTMP} \ + TOOLS_PREFIX=${TOOLS_PREFIX_UNDEF:U${WORLDTMP}} \ PATH=${BPATH}:${PATH} \ WORLDTMP=${WORLDTMP} \ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" @@ -561,12 +661,14 @@ BSARGS= DESTDIR= \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ MK_LLDB=no MK_TESTS=no \ - MK_LLD=${MK_LLD_BOOTSTRAP} \ MK_INCLUDES=yes BMAKE= \ ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ ${BSARGS} +.if empty(.MAKEOVERRIDES:MMK_LLVM_TARGET_ALL) +BMAKE+= MK_LLVM_TARGET_ALL=no +.endif # build-tools stage TMAKE= \ @@ -585,13 +687,14 @@ TMAKE= \ # TOOLS_PREFIX set in BMAKE XMAKE= ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - MK_GDB=no MK_LLD_IS_LD=${MK_LLD_BOOTSTRAP} MK_TESTS=no + MK_GDB=no MK_TESTS=no # kernel-tools stage KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${BPATH}:${PATH} \ WORLDTMP=${WORLDTMP} -KTMAKE= TOOLS_PREFIX=${WORLDTMP} \ +KTMAKE= \ + TOOLS_PREFIX=${TOOLS_PREFIX_UNDEF:U${WORLDTMP}} \ ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ DESTDIR= \ OBJTOP='${WORLDTMP}/obj-kernel-tools' \ @@ -644,34 +747,10 @@ BFLAGS+= -B${CROSS_BINUTILS_PREFIX} .if !defined(CROSS_BINUTILS_PREFIX) || !exists(${CROSS_BINUTILS_PREFIX}) BFLAGS+= -B${WORLDTMP}/usr/bin .endif -.if ${TARGET} == "arm" -.if ${TARGET_ARCH:Marmv[67]*} != "" && ${TARGET_CPUTYPE:M*soft*} == "" -TARGET_ABI= gnueabihf -.else -TARGET_ABI= gnueabi -.endif -.endif .if ${WANT_COMPILER_TYPE} == gcc || \ (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc) -# GCC requires -isystem and -L when using a cross-compiler. --sysroot -# won't set header path and -L is used to ensure the base library path -# is added before the port PREFIX library path. -XCFLAGS+= -isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib -# GCC requires -B to find /usr/lib/crti.o when using a cross-compiler -# combined with --sysroot. -XCFLAGS+= -B${WORLDTMP}/usr/lib -# Force using libc++ for external GCC. -.if defined(X_COMPILER_TYPE) && \ - ${X_COMPILER_TYPE} == gcc && ${X_COMPILER_VERSION} >= 40800 -XCXXFLAGS+= -isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \ - -nostdinc++ -.endif .elif ${WANT_COMPILER_TYPE} == clang || \ (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == clang) -MACHINE_ABI?= unknown -MACHINE_TRIPLE?=${MACHINE_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${MACHINE_ABI}-freebsd12.0 -TARGET_ABI?= unknown -TARGET_TRIPLE?= ${TARGET_ARCH:S/amd64/x86_64/:C/hf$//:S/mipsn32/mips64/}-${TARGET_ABI}-freebsd12.0 XCFLAGS+= -target ${TARGET_TRIPLE} .endif XCFLAGS+= --sysroot=${WORLDTMP} @@ -695,7 +774,7 @@ LIBCOMPAT= SOFT # to get updated host tools. .if ${MK_META_MODE} == "yes" && defined(NO_CLEAN) && \ !defined(NO_META_IGNORE_HOST) && !defined(NO_META_IGNORE_HOST_HEADERS) && \ - !make(showconfig) + !defined(_MKSHOWCONFIG) # r318736 - ino64 major ABI breakage META_MODE_BAD_ABI_VERS+= 1200031 @@ -773,6 +852,19 @@ IMAKE_INSTALL= INSTALL="install ${INSTALLFLAGS}" IMAKE_MTREE= MTREE_CMD="mtree ${MTREEFLAGS}" .endif +DESTDIR_MTREEFLAGS= -deU +# When creating worldtmp we don't need to set the directories as owned by root +# so we also pass -W +WORLDTMP_MTREEFLAGS= -deUW +.if defined(NO_ROOT) +# When building with -DNO_ROOT we shouldn't be changing the directories +# that are created by mtree to be owned by root/wheel. +DESTDIR_MTREEFLAGS+= -W +.endif +MTREE?= mtree +WORLDTMP_MTREE= ${MTREE} ${WORLDTMP_MTREEFLAGS} +DESTDIR_MTREE= ${MTREE} ${DESTDIR_MTREEFLAGS} + # kernel stage KMAKEENV= ${WMAKEENV:NSYSROOT=*} KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME} @@ -813,37 +905,33 @@ _cleanobj_fast_depend_hack: .PHONY # 20180525 r334224 vadvise # 20180604 r334626 brk sbrk .for f in brk exect fstat fstatat fstatfs getdirentries getfsstat sbrk setlogin shmat sigreturn statfs vadvise -.if exists(${OBJTOP}/lib/libc/.depend.${f}.o) - @if egrep -qw '${f}\.[sS]' \ - ${OBJTOP}/lib/libc/.depend.${f}.o; then \ - echo Removing stale dependencies for ${f} syscall wrappers; \ + @if [ -e "${OBJTOP}/lib/libc/.depend.${f}.o" ] && \ + egrep -qw '${f}\.[sS]' ${OBJTOP}/lib/libc/.depend.${f}.o; then \ + echo "Removing stale dependencies for ${f} syscall wrappers"; \ rm -f ${OBJTOP}/lib/libc/.depend.${f}.* \ ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libc/.depend.${f}.*}; \ fi -.endif .endfor # 20170607 remove stale dependencies for utimens* wrappers removed in r319663 .for f in futimens utimensat -.if exists(${OBJTOP}/lib/libc/.depend.${f}.o) - @if egrep -q '/${f}.c' \ - ${OBJTOP}/lib/libc/.depend.${f}.o; then \ - echo Removing stale dependencies for ${f} syscall wrappers; \ + @if [ -e "${OBJTOP}/lib/libc/.depend.${f}.o" ] && \ + egrep -q '/${f}.c' ${OBJTOP}/lib/libc/.depend.${f}.o; then \ + echo "Removing stale dependencies for ${f} syscall wrappers"; \ rm -f ${OBJTOP}/lib/libc/.depend.${f}.* \ ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libc/.depend.${f}.*}; \ fi -.endif .endfor # 20170523 remove stale generated asm files for functions which are no longer # syscalls after r302092 (pipe) and r318736 (others) .for f in getdents lstat mknod pipe stat -.if exists(${OBJTOP}/lib/libc/${f}.s) || \ - exists(${OBJTOP}/lib/libc/${f}.S) - @echo Removing stale generated ${f} syscall files - @rm -f ${OBJTOP}/lib/libc/${f}.* \ - ${OBJTOP}/lib/libc/.depend.${f}.* \ - ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libc/${f}.*} \ - ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libc/.depend.${f}.*} -.endif + @if [ -e "${OBJTOP}/lib/libc/${f}.s" ] || \ + [ -e "${OBJTOP}/lib/libc/${f}.S" ] ; then \ + echo "Removing stale generated ${f} syscall files"; \ + rm -f ${OBJTOP}/lib/libc/${f}.* \ + ${OBJTOP}/lib/libc/.depend.${f}.* \ + ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libc/${f}.*} \ + ${LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libc/.depend.${f}.*}; \ + fi .endfor _worldtmp: .PHONY @@ -854,11 +942,11 @@ _worldtmp: .PHONY .if !defined(NO_CLEAN) rm -rf ${WORLDTMP} .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 -.endif + ${_+_}@if [ -e "${WORLDTMP}" ]; then \ + echo ">>> Deleting stale files in build tree..."; \ + cd ${.CURDIR}; ${WMAKE} -DBATCH_DELETE_OLD_FILES \ + delete-old delete-old-libs >/dev/null; \ + fi rm -rf ${WORLDTMP}/legacy/usr/include .if ${USING_SYSTEM_COMPILER} == "yes" .for cc in cc c++ @@ -868,31 +956,34 @@ _worldtmp: .PHONY fi .endfor .endif # ${USING_SYSTEM_COMPILER} == "yes" +.if ${USING_SYSTEM_LINKER} == "yes" + @rm -f ${WORLDTMP}/usr/bin/ld ${WORLDTMP}/usr/bin/ld.lld +.endif # ${USING_SYSTEM_LINKER} == "yes" .endif # !defined(NO_CLEAN) @mkdir -p ${WORLDTMP} @touch ${WORLDTMP}/${.TARGET} .for _dir in \ - lib lib/casper usr legacy/bin legacy/usr + lib lib/casper lib/geom usr legacy/bin legacy/usr mkdir -p ${WORLDTMP}/${_dir} .endfor - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ -p ${WORLDTMP}/legacy/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${WORLDTMP}/legacy/usr/include >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ -p ${WORLDTMP}/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${WORLDTMP}/usr/include >/dev/null ln -sf ${.CURDIR}/sys ${WORLDTMP} .if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${WORLDTMP}/legacy/usr/lib >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ + ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${WORLDTMP}/usr/lib >/dev/null .endif .for _mtree in ${LOCAL_MTREE} - mtree -deU -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null + ${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null .endfor _legacy: @echo @@ -936,7 +1027,7 @@ _cross-tools: @echo "--------------------------------------------------------------" @echo ">>> stage 3: cross tools" @echo "--------------------------------------------------------------" - @rm -f ${OBJTOP}/compiler-metadata.mk + @rm -f ${OBJTOP}/toolchain-metadata.mk ${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools _build-metadata: @@ -944,7 +1035,7 @@ _build-metadata: @echo "--------------------------------------------------------------" @echo ">>> stage 3.1: recording build metadata" @echo "--------------------------------------------------------------" - ${_+_}cd ${.CURDIR}; ${WMAKE} compiler-metadata.mk + ${_+_}cd ${.CURDIR}; ${WMAKE} toolchain-metadata.mk ${_+_}cd ${.CURDIR}; ${WMAKE} host-osreldate.h _includes: @echo @@ -1054,7 +1145,13 @@ kernel-toolchain: ${KERNEL_TOOLCHAIN_TGTS} .PHONY # installcheck: _installcheck_world _installcheck_kernel .PHONY _installcheck_world: .PHONY + @echo "--------------------------------------------------------------" + @echo ">>> Install check world" + @echo "--------------------------------------------------------------" _installcheck_kernel: .PHONY + @echo "--------------------------------------------------------------" + @echo ">>> Install check kernel" + @echo "--------------------------------------------------------------" # # Require DESTDIR to be set if installing for a different architecture or @@ -1196,42 +1293,42 @@ distributeworld installworld stageworld: _installcheck .if make(distributeworld) .for dist in ${EXTRA_DISTRIBUTIONS} -mkdir ${DESTDIR}/${DISTDIR}/${dist} - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \ + ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.root.dist \ -p ${DESTDIR}/${DISTDIR}/${dist} >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ + ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \ + ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/include >/dev/null .if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ + ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib >/dev/null .endif .if defined(LIBCOMPAT) - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ + ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null .if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ + ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib/debug/usr >/dev/null .endif .endif .if ${MK_TESTS} != "no" && ${dist} == "tests" -mkdir -p ${DESTDIR}/${DISTDIR}/${dist}${TESTSBASE} - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ + ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}${TESTSBASE} >/dev/null .if ${MK_DEBUG_FILES} != "no" - mtree -deU -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ + ${DESTDIR_MTREE} -f ${.CURDIR}/etc/mtree/BSD.tests.dist \ -p ${DESTDIR}/${DISTDIR}/${dist}/usr/lib/debug/${TESTSBASE} >/dev/null .endif .endif .if defined(NO_ROOT) - ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ + ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.root.dist | \ sed -e 's#^\./#./${dist}/#' >> ${METALOG} - ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ + ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.usr.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} - ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ + ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.include.dist | \ sed -e 's#^\./#./${dist}/usr/include/#' >> ${METALOG} .if defined(LIBCOMPAT) - ${IMAKEENV} mtree -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ + ${IMAKEENV} ${MTREE} -C -f ${.CURDIR}/etc/mtree/BSD.lib${libcompat}.dist | \ sed -e 's#^\./#./${dist}/usr/#' >> ${METALOG} .endif .endif @@ -1321,12 +1418,15 @@ restage reinstall: .MAKE .PHONY .endif @echo @echo "--------------------------------------------------------------" - @echo ">>> Installing everything" + @echo ">>> Installing everything started on `LC_ALL=C date`" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install .if defined(LIBCOMPAT) ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install${libcompat} .endif + @echo "--------------------------------------------------------------" + @echo ">>> Installing everything completed on `LC_ALL=C date`" + @echo "--------------------------------------------------------------" redistribute: .MAKE .PHONY @echo "--------------------------------------------------------------" @@ -1389,7 +1489,7 @@ INSTALLKERNEL= BUILDKERNELS+= dummy .endif .for _kernel in ${KERNCONF} -.if exists(${KERNCONFDIR}/${_kernel}) +.if !defined(_MKSHOWCONFIG) && exists(${KERNCONFDIR}/${_kernel}) BUILDKERNELS+= ${_kernel} .if empty(INSTALLKERNEL) && !defined(NO_INSTALLKERNEL) INSTALLKERNEL= ${_kernel} @@ -1403,11 +1503,11 @@ INSTALLKERNEL= ${_kernel} _cleankernobj_fast_depend_hack: .PHONY # 20180320 remove stale generated assym.s after renaming to .inc in r331254 -.if exists(${OBJTOP}/sys/${KERNCONF}/assym.s) - @echo Removing stale generated assym files - @rm -f ${OBJTOP}/sys/${KERNCONF}/assym.* \ - ${OBJTOP}/sys/${KERNCONF}/.depend.assym.* -.endif + @if [ -e "${OBJTOP}/sys/${KERNCONF}/assym.s" ]; then \ + echo "Removing stale generated assym files"; \ + rm -f ${OBJTOP}/sys/${KERNCONF}/assym.* \ + ${OBJTOP}/sys/${KERNCONF}/.depend.assym.*; \ + fi ${WMAKE_TGTS:N_worldtmp:Nbuild${libcompat}} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY @@ -1614,7 +1714,7 @@ PKGSIGNKEY?= # empty .ORDER: create-packages sign-packages _pkgbootstrap: .PHONY -.if !exists(${LOCALBASE}/sbin/pkg) +.if make(*package*) && !exists(${LOCALBASE}/sbin/pkg) @env ASSUME_ALWAYS_YES=YES pkg bootstrap .endif @@ -1700,7 +1800,7 @@ create-world-package-${pkgname}: .PHONY create-kernel-packages: .PHONY _default_flavor= -default -.if exists(${KSTAGEDIR}/kernel.meta) +.if make(*package*) && exists(${KSTAGEDIR}/kernel.meta) . if ${MK_DEBUG_FILES} != "no" _debug=-debug . endif @@ -1711,15 +1811,11 @@ create-kernel-packages-flavor${flavor:C,^""$,${_defaul env -i LC_COLLATE=C sort ${KSTAGEDIR}/kernel.meta | \ awk -f ${SRCDIR}/release/scripts/mtree-to-plist.awk \ -v kernel=yes -v _kernconf=${INSTALLKERNEL} ; \ - cap_arg=`cd ${SRCDIR}/etc ; ${MAKE} -VCAP_MKDB_ENDIAN` ; \ - pwd_arg=`cd ${SRCDIR}/etc ; ${MAKE} -VPWD_MKDB_ENDIAN` ; \ sed -e "s/%VERSION%/${PKG_VERSION}/" \ -e "s/%PKGNAME%/kernel-${INSTALLKERNEL:tl}${flavor}/" \ *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201807012052.w61Kqp1r012486>