Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 May 2020 10:32:19 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r361410 - in head: . contrib/llvm-project contrib/llvm-project/clang/include/clang/AST contrib/llvm-project/clang/include/clang/Basic contrib/llvm-project/clang/lib/AST contrib/llvm-pro...
Message-ID:  <202005231032.04NAWJJg072601@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sat May 23 10:32:18 2020
New Revision: 361410
URL: https://svnweb.freebsd.org/changeset/base/361410

Log:
  Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
  llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).
  
  MFC after:	3 weeks

Modified:
  head/ObsoleteFiles.inc
  head/UPDATING
  head/contrib/llvm-project/FREEBSD-Xlist
  head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h
  head/contrib/llvm-project/clang/include/clang/Basic/Attr.td
  head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp
  head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp
  head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp
  head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp
  head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h
  head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp
  head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp
  head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h
  head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c
  head/contrib/llvm-project/lld/COFF/MarkLive.cpp
  head/contrib/llvm-project/lld/ELF/Driver.cpp
  head/contrib/llvm-project/lld/ELF/InputSection.cpp
  head/contrib/llvm-project/lld/ELF/InputSection.h
  head/contrib/llvm-project/lld/ELF/OutputSections.cpp
  head/contrib/llvm-project/lld/ELF/Writer.cpp
  head/contrib/llvm-project/llvm/include/llvm/Analysis/ValueLattice.h
  head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
  head/contrib/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp
  head/contrib/llvm-project/llvm/lib/Analysis/ValueLattice.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
  head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/MergingTypeTableBuilder.cpp
  head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp
  head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp
  head/contrib/llvm-project/llvm/lib/MC/MCObjectFileInfo.cpp
  head/contrib/llvm-project/llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
  head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp
  head/contrib/llvm-project/llvm/lib/Target/X86/X86IndirectBranchTracking.cpp
  head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetMachine.cpp
  head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetMachine.h
  head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
  head/contrib/llvm-project/llvm/lib/Transforms/IPO/GlobalOpt.cpp
  head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
  head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
  head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/Object.cpp
  head/contrib/llvm-project/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
  head/etc/mtree/BSD.debug.dist
  head/etc/mtree/BSD.usr.dist
  head/lib/clang/headers/Makefile
  head/lib/clang/include/VCSVersion.inc
  head/lib/clang/include/clang/Basic/Version.inc
  head/lib/clang/include/clang/Config/config.h
  head/lib/clang/include/lld/Common/Version.inc
  head/lib/clang/include/llvm/Config/config.h
  head/lib/clang/include/llvm/Config/llvm-config.h
  head/lib/clang/include/llvm/Support/VCSRevision.h
  head/lib/libclang_rt/Makefile.inc
  head/sys/sys/param.h
  head/tools/build/mk/OptionalObsoleteFiles.inc
Directory Properties:
  head/contrib/llvm-project/   (props changed)
  head/contrib/llvm-project/clang/   (props changed)
  head/contrib/llvm-project/compiler-rt/   (props changed)
  head/contrib/llvm-project/lld/   (props changed)
  head/contrib/llvm-project/llvm/   (props changed)

Modified: head/ObsoleteFiles.inc
==============================================================================
--- head/ObsoleteFiles.inc	Sat May 23 10:21:02 2020	(r361409)
+++ head/ObsoleteFiles.inc	Sat May 23 10:32:18 2020	(r361410)
@@ -36,6 +36,257 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20200523: new clang import which bumps version from 10.0.0 to 10.0.1.s
+OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/algorithm
+OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/complex
+OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/new
+OLD_DIRS+=usr/lib/clang/10.0.0/include/cuda_wrappers
+OLD_FILES+=usr/lib/clang/10.0.0/include/fuzzer/FuzzedDataProvider.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/fuzzer
+OLD_FILES+=usr/lib/clang/10.0.0/include/openmp_wrappers/__clang_openmp_math.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/openmp_wrappers/__clang_openmp_math_declares.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/openmp_wrappers/cmath
+OLD_FILES+=usr/lib/clang/10.0.0/include/openmp_wrappers/math.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/openmp_wrappers
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/emmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/mm_malloc.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/mmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/pmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/smmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/tmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/xmmintrin.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/ppc_wrappers
+OLD_FILES+=usr/lib/clang/10.0.0/include/profile/InstrProfData.inc
+OLD_DIRS+=usr/lib/clang/10.0.0/include/profile
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/allocator_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/asan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/common_interface_defs.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/coverage_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/dfsan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/hwasan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/linux_syscall_hooks.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/lsan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/msan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/netbsd_syscall_hooks.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/scudo_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/tsan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/tsan_interface_atomic.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/ubsan_interface.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/sanitizer
+OLD_FILES+=usr/lib/clang/10.0.0/include/xray/xray_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xray/xray_log_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xray/xray_records.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/xray
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_builtin_vars.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_cmath.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_complex_builtins.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_device_functions.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_intrinsics.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_libdevice_declares.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_math_forward_declares.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_runtime_wrapper.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__stddef_max_align_t.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__wmmintrin_aes.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__wmmintrin_pclmul.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/adxintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/altivec.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ammintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm64intr.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_acle.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_cmse.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_fp16.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_mve.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_neon.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/armintr.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx2intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512bf16intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512bitalgintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512bwintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512cdintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512dqintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512erintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512fintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512ifmaintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512ifmavlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512pfintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vbmi2intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vbmiintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vbmivlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlbf16intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlbitalgintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlbwintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlcdintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vldqintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlvbmi2intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlvnniintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlvp2intersectintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vnniintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vp2intersectintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vpopcntdqintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vpopcntdqvlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avxintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/bmi2intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/bmiintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/cetintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/cldemoteintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/clflushoptintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/clwbintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/clzerointrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/cpuid.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/emmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/enqcmdintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/f16cintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/fma4intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/fmaintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/fxsrintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/gfniintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/htmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/htmxlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ia32intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/immintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/invpcidintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/lwpintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/lzcntintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/mm3dnow.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/mm_malloc.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/mmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/module.modulemap
+OLD_FILES+=usr/lib/clang/10.0.0/include/movdirintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/msa.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/mwaitxintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/nmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/opencl-c-base.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/opencl-c.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/pconfigintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/pkuintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/pmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/popcntintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/prfchwintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ptwriteintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/rdseedintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/rtmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/s390intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sgxintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/shaintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/smmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/tbmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/tmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/vadefs.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/vaesintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/vecintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/vpclmulqdqintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/waitpkgintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/wbnoinvdintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/wmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/x86intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xopintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xsavecintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xsaveintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xsaveoptintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xsavesintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xtestintrin.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-aarch64.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-arm.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-armhf.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-i386.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-x86_64.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.dd-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.dd-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.fuzzer-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.fuzzer-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.msan-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.msan-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.msan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.msan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-powerpc.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-powerpc64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.safestack-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.safestack-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.safestack-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.tsan-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.tsan-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-basic-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-basic-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-basic-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-basic-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-fdr-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-fdr-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-fdr-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-fdr-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-profiling-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-profiling-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-profiling-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-profiling-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-x86_64.a
+OLD_DIRS+=usr/lib/clang/10.0.0/lib/freebsd
+OLD_DIRS+=usr/lib/clang/10.0.0/lib
+OLD_DIRS+=usr/lib/clang/10.0.0
+
 # 20200515: libalias cuseeme protocol support retired
 OLD_LIBS+=lib/libalias_cuseeme.so
 OLD_FILES+=usr/lib/libalias_cuseeme.a

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Sat May 23 10:21:02 2020	(r361409)
+++ head/UPDATING	Sat May 23 10:32:18 2020	(r361410)
@@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20200523:
+	Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
+	been upgraded to 10.0.1.  Please see the 20141231 entry below for
+	information about prerequisites and upgrading, if you are not already
+	using clang 3.5.0 or higher.
+
 20200424:
 	closefrom(2) has been moved under COMPAT12, and replaced in libc with a
 	stub that calls close_range(2).  If using a custom kernel configuration,

Modified: head/contrib/llvm-project/FREEBSD-Xlist
==============================================================================
--- head/contrib/llvm-project/FREEBSD-Xlist	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/FREEBSD-Xlist	Sat May 23 10:32:18 2020	(r361410)
@@ -3,6 +3,7 @@
 .clang-format
 .clang-tidy
 .git-blame-ignore-revs
+.github/
 .gitignore
 CONTRIBUTING.md
 README.md
@@ -264,6 +265,7 @@ lldb/.clang-format
 lldb/.gitignore
 lldb/CMakeLists.txt
 lldb/CODE_OWNERS.txt
+lldb/bindings/CMakeLists.txt
 lldb/cmake/
 lldb/docs/.htaccess
 lldb/docs/CMakeLists.txt

Modified: head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h
==============================================================================
--- head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h	Sat May 23 10:32:18 2020	(r361410)
@@ -856,14 +856,15 @@ class alignas(8) Decl { (public)
     return getParentFunctionOrMethod() == nullptr;
   }
 
-  /// Returns true if this declaration lexically is inside a function.
-  /// It recognizes non-defining declarations as well as members of local
-  /// classes:
+  /// Returns true if this declaration is lexically inside a function or inside
+  /// a variable initializer. It recognizes non-defining declarations as well
+  /// as members of local classes:
   /// \code
   ///     void foo() { void bar(); }
   ///     void foo2() { class ABC { void bar(); }; }
+  ///     inline int x = [](){ return 0; };
   /// \endcode
-  bool isLexicallyWithinFunctionOrMethod() const;
+  bool isInLocalScope() const;
 
   /// If this decl is defined inside a function/method/block it returns
   /// the corresponding DeclContext, otherwise it returns null.

Modified: head/contrib/llvm-project/clang/include/clang/Basic/Attr.td
==============================================================================
--- head/contrib/llvm-project/clang/include/clang/Basic/Attr.td	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/include/clang/Basic/Attr.td	Sat May 23 10:32:18 2020	(r361410)
@@ -685,7 +685,7 @@ def XRayLogArgs : InheritableAttr {
 
 def PatchableFunctionEntry
     : InheritableAttr,
-      TargetSpecificAttr<TargetArch<["aarch64", "x86", "x86_64"]>> {
+      TargetSpecificAttr<TargetArch<["aarch64", "aarch64_be", "x86", "x86_64"]>> {
   let Spellings = [GCC<"patchable_function_entry">];
   let Subjects = SubjectList<[Function, ObjCMethod]>;
   let Args = [UnsignedArgument<"Count">, DefaultIntArgument<"Offset", 0>];

Modified: head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -332,13 +332,16 @@ void Decl::setDeclContextsImpl(DeclContext *SemaDC, De
   }
 }
 
-bool Decl::isLexicallyWithinFunctionOrMethod() const {
+bool Decl::isInLocalScope() const {
   const DeclContext *LDC = getLexicalDeclContext();
   while (true) {
     if (LDC->isFunctionOrMethod())
       return true;
     if (!isa<TagDecl>(LDC))
       return false;
+    if (const auto *CRD = dyn_cast<CXXRecordDecl>(LDC))
+      if (CRD->isLambda())
+        return true;
     LDC = LDC->getLexicalParent();
   }
   return false;

Modified: head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -8593,6 +8593,10 @@ bool PointerExprEvaluator::VisitBuiltinCallExpr(const 
 static bool EvaluateArrayNewInitList(EvalInfo &Info, LValue &This,
                                      APValue &Result, const InitListExpr *ILE,
                                      QualType AllocType);
+static bool EvaluateArrayNewConstructExpr(EvalInfo &Info, LValue &This,
+                                          APValue &Result,
+                                          const CXXConstructExpr *CCE,
+                                          QualType AllocType);
 
 bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNewExpr *E) {
   if (!Info.getLangOpts().CPlusPlus2a)
@@ -8642,6 +8646,7 @@ bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNe
 
   const Expr *Init = E->getInitializer();
   const InitListExpr *ResizedArrayILE = nullptr;
+  const CXXConstructExpr *ResizedArrayCCE = nullptr;
 
   QualType AllocType = E->getAllocatedType();
   if (Optional<const Expr*> ArraySize = E->getArraySize()) {
@@ -8685,7 +8690,7 @@ bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNe
     //   -- the new-initializer is a braced-init-list and the number of
     //      array elements for which initializers are provided [...]
     //      exceeds the number of elements to initialize
-    if (Init) {
+    if (Init && !isa<CXXConstructExpr>(Init)) {
       auto *CAT = Info.Ctx.getAsConstantArrayType(Init->getType());
       assert(CAT && "unexpected type for array initializer");
 
@@ -8708,6 +8713,8 @@ bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNe
       // special handling for this case when we initialize.
       if (InitBound != AllocBound)
         ResizedArrayILE = cast<InitListExpr>(Init);
+      } else if (Init) {
+        ResizedArrayCCE = cast<CXXConstructExpr>(Init);
     }
 
     AllocType = Info.Ctx.getConstantArrayType(AllocType, ArrayBound, nullptr,
@@ -8772,6 +8779,10 @@ bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNe
     if (!EvaluateArrayNewInitList(Info, Result, *Val, ResizedArrayILE,
                                   AllocType))
       return false;
+  } else if (ResizedArrayCCE) {
+    if (!EvaluateArrayNewConstructExpr(Info, Result, *Val, ResizedArrayCCE,
+                                       AllocType))
+      return false;
   } else if (Init) {
     if (!EvaluateInPlace(*Val, Info, Result, Init))
       return false;
@@ -9595,6 +9606,16 @@ static bool EvaluateArrayNewInitList(EvalInfo &Info, L
          "not an array rvalue");
   return ArrayExprEvaluator(Info, This, Result)
       .VisitInitListExpr(ILE, AllocType);
+}
+
+static bool EvaluateArrayNewConstructExpr(EvalInfo &Info, LValue &This,
+                                          APValue &Result,
+                                          const CXXConstructExpr *CCE,
+                                          QualType AllocType) {
+  assert(CCE->isRValue() && CCE->getType()->isArrayType() &&
+         "not an array rvalue");
+  return ArrayExprEvaluator(Info, This, Result)
+      .VisitCXXConstructExpr(CCE, This, &Result, AllocType);
 }
 
 // Return true iff the given array filler may depend on the element index.

Modified: head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -430,7 +430,7 @@ std::string RawComment::getFormattedText(const SourceM
   };
 
   auto DropTrailingNewLines = [](std::string &Str) {
-    while (Str.back() == '\n')
+    while (!Str.empty() && Str.back() == '\n')
       Str.pop_back();
   };
 

Modified: head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -1847,9 +1847,16 @@ void CodeGenModule::SetFunctionAttributes(GlobalDecl G
   else if (const auto *SA = FD->getAttr<SectionAttr>())
      F->setSection(SA->getName());
 
+  // If we plan on emitting this inline builtin, we can't treat it as a builtin.
   if (FD->isInlineBuiltinDeclaration()) {
-    F->addAttribute(llvm::AttributeList::FunctionIndex,
-                    llvm::Attribute::NoBuiltin);
+    const FunctionDecl *FDBody;
+    bool HasBody = FD->hasBody(FDBody);
+    (void)HasBody;
+    assert(HasBody && "Inline builtin declarations should always have an "
+                      "available body!");
+    if (shouldEmitFunction(FDBody))
+      F->addAttribute(llvm::AttributeList::FunctionIndex,
+                      llvm::Attribute::NoBuiltin);
   }
 
   if (FD->isReplaceableGlobalAllocationFunction()) {

Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -1146,6 +1146,7 @@ void Darwin::addProfileRTLibs(const ArgList &Args,
       addExportedSymbol(CmdArgs, "___gcov_flush");
       addExportedSymbol(CmdArgs, "_flush_fn_list");
       addExportedSymbol(CmdArgs, "_writeout_fn_list");
+      addExportedSymbol(CmdArgs, "_reset_fn_list");
     } else {
       addExportedSymbol(CmdArgs, "___llvm_profile_filename");
       addExportedSymbol(CmdArgs, "___llvm_profile_raw_version");

Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -309,7 +309,7 @@ static const char *getLDMOption(const llvm::Triple &T,
   }
 }
 
-static bool getPIE(const ArgList &Args, const toolchains::Linux &ToolChain) {
+static bool getPIE(const ArgList &Args, const ToolChain &TC) {
   if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static) ||
       Args.hasArg(options::OPT_r) || Args.hasArg(options::OPT_static_pie))
     return false;
@@ -317,17 +317,16 @@ static bool getPIE(const ArgList &Args, const toolchai
   Arg *A = Args.getLastArg(options::OPT_pie, options::OPT_no_pie,
                            options::OPT_nopie);
   if (!A)
-    return ToolChain.isPIEDefault();
+    return TC.isPIEDefault();
   return A->getOption().matches(options::OPT_pie);
 }
 
-static bool getStaticPIE(const ArgList &Args,
-                         const toolchains::Linux &ToolChain) {
+static bool getStaticPIE(const ArgList &Args, const ToolChain &TC) {
   bool HasStaticPIE = Args.hasArg(options::OPT_static_pie);
   // -no-pie is an alias for -nopie. So, handling -nopie takes care of
   // -no-pie as well.
   if (HasStaticPIE && Args.hasArg(options::OPT_nopie)) {
-    const Driver &D = ToolChain.getDriver();
+    const Driver &D = TC.getDriver();
     const llvm::opt::OptTable &Opts = D.getOpts();
     const char *StaticPIEName = Opts.getOptionName(options::OPT_static_pie);
     const char *NoPIEName = Opts.getOptionName(options::OPT_nopie);
@@ -346,8 +345,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation
                                            const InputInfoList &Inputs,
                                            const ArgList &Args,
                                            const char *LinkingOutput) const {
-  const toolchains::Linux &ToolChain =
-      static_cast<const toolchains::Linux &>(getToolChain());
+  // FIXME: The Linker class constructor takes a ToolChain and not a
+  // Generic_ELF, so the static_cast might return a reference to a invalid
+  // instance (see PR45061). Ideally, the Linker constructor needs to take a
+  // Generic_ELF instead.
+  const toolchains::Generic_ELF &ToolChain =
+      static_cast<const toolchains::Generic_ELF &>(getToolChain());
   const Driver &D = ToolChain.getDriver();
 
   const llvm::Triple &Triple = getToolChain().getEffectiveTriple();
@@ -418,8 +421,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation
   if (isAndroid)
       CmdArgs.push_back("--warn-shared-textrel");
 
-  for (const auto &Opt : ToolChain.ExtraOpts)
-    CmdArgs.push_back(Opt.c_str());
+  ToolChain.addExtraOpts(CmdArgs);
 
   CmdArgs.push_back("--eh-frame-hdr");
 

Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h	Sat May 23 10:32:18 2020	(r361410)
@@ -356,6 +356,12 @@ class LLVM_LIBRARY_VISIBILITY Generic_ELF : public Gen
   void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
                              llvm::opt::ArgStringList &CC1Args,
                              Action::OffloadKind DeviceOffloadKind) const override;
+
+  virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const {
+    return {};
+  }
+
+  virtual void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {}
 };
 
 } // end namespace toolchains

Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -61,8 +61,7 @@ static StringRef getOSLibDir(const llvm::Triple &Tripl
   return Triple.isArch32Bit() ? "lib" : "lib64";
 }
 
-Hurd::Hurd(const Driver &D, const llvm::Triple &Triple,
-           const ArgList &Args)
+Hurd::Hurd(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
     : Generic_ELF(D, Triple, Args) {
   std::string SysRoot = computeSysRoot();
   path_list &Paths = getFilePaths();
@@ -169,4 +168,9 @@ void Hurd::AddClangSystemIncludeArgs(const ArgList &Dr
   addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
 
   addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
+}
+
+void Hurd::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {
+  for (const auto &Opt : ExtraOpts)
+    CmdArgs.push_back(Opt.c_str());
 }

Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h	Sat May 23 10:32:18 2020	(r361410)
@@ -27,9 +27,11 @@ class LLVM_LIBRARY_VISIBILITY Hurd : public Generic_EL
   AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
                             llvm::opt::ArgStringList &CC1Args) const override;
 
-  virtual std::string computeSysRoot() const;
+  std::string computeSysRoot() const;
 
-  virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const;
+  std::string getDynamicLinker(const llvm::opt::ArgList &Args) const override;
+
+  void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const override;
 
   std::vector<std::string> ExtraOpts;
 

Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -986,3 +986,8 @@ void Linux::addProfileRTLibs(const llvm::opt::ArgList 
         Twine("-u", llvm::getInstrProfRuntimeHookVarName())));
   ToolChain::addProfileRTLibs(Args, CmdArgs);
 }
+
+void Linux::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {
+  for (const auto &Opt : ExtraOpts)
+    CmdArgs.push_back(Opt.c_str());
+}

Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h	Sat May 23 10:32:18 2020	(r361410)
@@ -42,7 +42,9 @@ class LLVM_LIBRARY_VISIBILITY Linux : public Generic_E
                         llvm::opt::ArgStringList &CmdArgs) const override;
   virtual std::string computeSysRoot() const;
 
-  virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const;
+  std::string getDynamicLinker(const llvm::opt::ArgList &Args) const override;
+
+  void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const override;
 
   std::vector<std::string> ExtraOpts;
 

Modified: head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -2176,6 +2176,10 @@ static bool isFunctionDeclarationName(const FormatToke
         Next = Next->Next;
         continue;
       }
+      if (Next->is(TT_TemplateOpener) && Next->MatchingParen) {
+        Next = Next->MatchingParen;
+        continue;
+      }
 
       break;
     }
@@ -2705,20 +2709,40 @@ bool TokenAnnotator::spaceRequiredBetween(const Annota
                                     tok::l_square));
   if (Right.is(tok::star) && Left.is(tok::l_paren))
     return false;
-  if (Right.isOneOf(tok::star, tok::amp, tok::ampamp) &&
-      (Left.is(tok::identifier) || Left.isSimpleTypeSpecifier()) &&
-      // Space between the type and the * in:
-      //   operator void*()
-      //   operator char*()
-      //   operator /*comment*/ const char*()
-      //   operator volatile /*comment*/ char*()
-      //   operator Foo*()
-      // dependent on PointerAlignment style.
-      Left.Previous &&
-      (Left.Previous->endsSequence(tok::kw_operator) ||
-       Left.Previous->endsSequence(tok::kw_const, tok::kw_operator) ||
-       Left.Previous->endsSequence(tok::kw_volatile, tok::kw_operator)))
-    return (Style.PointerAlignment != FormatStyle::PAS_Left);
+  if (Right.is(tok::star) && Left.is(tok::star))
+    return false;
+  if (Right.isOneOf(tok::star, tok::amp, tok::ampamp)) {
+    const FormatToken *Previous = &Left;
+    while (Previous && !Previous->is(tok::kw_operator)) {
+      if (Previous->is(tok::identifier) || Previous->isSimpleTypeSpecifier()) {
+        Previous = Previous->getPreviousNonComment();
+        continue;
+      }
+      if (Previous->is(TT_TemplateCloser) && Previous->MatchingParen) {
+        Previous = Previous->MatchingParen->getPreviousNonComment();
+        continue;
+      }
+      if (Previous->is(tok::coloncolon)) {
+        Previous = Previous->getPreviousNonComment();
+        continue;
+      }
+      break;
+    }
+    // Space between the type and the * in:
+    //   operator void*()
+    //   operator char*()
+    //   operator /*comment*/ const char*()
+    //   operator volatile /*comment*/ char*()
+    //   operator Foo*()
+    //   operator C<T>*()
+    //   operator std::Foo*()
+    //   operator C<T>::D<U>*()
+    // dependent on PointerAlignment style.
+    if (Previous && (Previous->endsSequence(tok::kw_operator) ||
+       Previous->endsSequence(tok::kw_const, tok::kw_operator) ||
+       Previous->endsSequence(tok::kw_volatile, tok::kw_operator)))
+      return (Style.PointerAlignment != FormatStyle::PAS_Left);
+  }
   const auto SpaceRequiredForArrayInitializerLSquare =
       [](const FormatToken &LSquareTok, const FormatStyle &Style) {
         return Style.SpacesInContainerLiterals ||

Modified: head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -2343,7 +2343,7 @@ ParmVarDecl *Sema::SubstParmVarDecl(ParmVarDecl *OldPa
     UnparsedDefaultArgInstantiations[OldParm].push_back(NewParm);
   } else if (Expr *Arg = OldParm->getDefaultArg()) {
     FunctionDecl *OwningFunc = cast<FunctionDecl>(OldParm->getDeclContext());
-    if (OwningFunc->isLexicallyWithinFunctionOrMethod()) {
+    if (OwningFunc->isInLocalScope()) {
       // Instantiate default arguments for methods of local classes (DR1484)
       // and non-defining declarations.
       Sema::ContextRAII SavedContext(*this, OwningFunc);

Modified: head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -4367,7 +4367,7 @@ TemplateDeclInstantiator::InitFunctionInstantiation(Fu
         EPI.ExceptionSpec.Type != EST_None &&
         EPI.ExceptionSpec.Type != EST_DynamicNone &&
         EPI.ExceptionSpec.Type != EST_BasicNoexcept &&
-        !Tmpl->isLexicallyWithinFunctionOrMethod()) {
+        !Tmpl->isInLocalScope()) {
       FunctionDecl *ExceptionSpecTemplate = Tmpl;
       if (EPI.ExceptionSpec.Type == EST_Uninstantiated)
         ExceptionSpecTemplate = EPI.ExceptionSpec.SourceTemplate;

Modified: head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h
==============================================================================
--- head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h	Sat May 23 10:32:18 2020	(r361410)
@@ -4022,50 +4022,8 @@ template<typename Derived>
 void TreeTransform<Derived>::InventTemplateArgumentLoc(
                                          const TemplateArgument &Arg,
                                          TemplateArgumentLoc &Output) {
-  SourceLocation Loc = getDerived().getBaseLocation();
-  switch (Arg.getKind()) {
-  case TemplateArgument::Null:
-    llvm_unreachable("null template argument in TreeTransform");
-    break;
-
-  case TemplateArgument::Type:
-    Output = TemplateArgumentLoc(Arg,
-               SemaRef.Context.getTrivialTypeSourceInfo(Arg.getAsType(), Loc));
-
-    break;
-
-  case TemplateArgument::Template:
-  case TemplateArgument::TemplateExpansion: {
-    NestedNameSpecifierLocBuilder Builder;
-    TemplateName Template = Arg.getAsTemplateOrTemplatePattern();
-    if (DependentTemplateName *DTN = Template.getAsDependentTemplateName())
-      Builder.MakeTrivial(SemaRef.Context, DTN->getQualifier(), Loc);
-    else if (QualifiedTemplateName *QTN = Template.getAsQualifiedTemplateName())
-      Builder.MakeTrivial(SemaRef.Context, QTN->getQualifier(), Loc);
-
-    if (Arg.getKind() == TemplateArgument::Template)
-      Output = TemplateArgumentLoc(Arg,
-                                   Builder.getWithLocInContext(SemaRef.Context),
-                                   Loc);
-    else
-      Output = TemplateArgumentLoc(Arg,
-                                   Builder.getWithLocInContext(SemaRef.Context),
-                                   Loc, Loc);
-
-    break;
-  }
-
-  case TemplateArgument::Expression:
-    Output = TemplateArgumentLoc(Arg, Arg.getAsExpr());
-    break;
-
-  case TemplateArgument::Declaration:
-  case TemplateArgument::Integral:
-  case TemplateArgument::Pack:
-  case TemplateArgument::NullPtr:
-    Output = TemplateArgumentLoc(Arg, TemplateArgumentLocInfo());
-    break;
-  }
+  Output = getSema().getTrivialTemplateArgumentLoc(
+      Arg, QualType(), getDerived().getBaseLocation());
 }
 
 template<typename Derived>
@@ -4075,12 +4033,45 @@ bool TreeTransform<Derived>::TransformTemplateArgument
   const TemplateArgument &Arg = Input.getArgument();
   switch (Arg.getKind()) {
   case TemplateArgument::Null:
-  case TemplateArgument::Integral:
   case TemplateArgument::Pack:
-  case TemplateArgument::Declaration:
-  case TemplateArgument::NullPtr:
     llvm_unreachable("Unexpected TemplateArgument");
 
+  case TemplateArgument::Integral:
+  case TemplateArgument::NullPtr:
+  case TemplateArgument::Declaration: {
+    // Transform a resolved template argument straight to a resolved template
+    // argument. We get here when substituting into an already-substituted
+    // template type argument during concept satisfaction checking.
+    QualType T = Arg.getNonTypeTemplateArgumentType();
+    QualType NewT = getDerived().TransformType(T);
+    if (NewT.isNull())
+      return true;
+
+    ValueDecl *D = Arg.getKind() == TemplateArgument::Declaration
+                       ? Arg.getAsDecl()
+                       : nullptr;
+    ValueDecl *NewD = D ? cast_or_null<ValueDecl>(getDerived().TransformDecl(
+                              getDerived().getBaseLocation(), D))
+                        : nullptr;
+    if (D && !NewD)
+      return true;
+
+    if (NewT == T && D == NewD)
+      Output = Input;
+    else if (Arg.getKind() == TemplateArgument::Integral)
+      Output = TemplateArgumentLoc(
+          TemplateArgument(getSema().Context, Arg.getAsIntegral(), NewT),
+          TemplateArgumentLocInfo());
+    else if (Arg.getKind() == TemplateArgument::NullPtr)
+      Output = TemplateArgumentLoc(TemplateArgument(NewT, /*IsNullPtr=*/true),
+                                   TemplateArgumentLocInfo());
+    else
+      Output = TemplateArgumentLoc(TemplateArgument(NewD, NewT),
+                                   TemplateArgumentLocInfo());
+
+    return false;
+  }
+
   case TemplateArgument::Type: {
     TypeSourceInfo *DI = Input.getTypeSourceInfo();
     if (!DI)
@@ -11836,19 +11827,6 @@ TreeTransform<Derived>::TransformLambdaExpr(LambdaExpr
       NewTrailingRequiresClause.get());
 
   LSI->CallOperator = NewCallOperator;
-
-  for (unsigned I = 0, NumParams = NewCallOperator->getNumParams();
-       I != NumParams; ++I) {
-    auto *P = NewCallOperator->getParamDecl(I);
-    if (P->hasUninstantiatedDefaultArg()) {
-      EnterExpressionEvaluationContext Eval(
-          getSema(),
-          Sema::ExpressionEvaluationContext::PotentiallyEvaluatedIfUsed, P);
-      ExprResult R = getDerived().TransformExpr(
-          E->getCallOperator()->getParamDecl(I)->getDefaultArg());
-      P->setDefaultArg(R.get());
-    }
-  }
 
   getDerived().transformAttrs(E->getCallOperator(), NewCallOperator);
   getDerived().transformedLocalDecl(E->getCallOperator(), {NewCallOperator});

Modified: head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c
==============================================================================
--- head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c	Sat May 23 10:32:18 2020	(r361410)
@@ -32,8 +32,10 @@
 #include <windows.h>
 #include "WindowsMMap.h"
 #else
-#include <sys/mman.h>
 #include <sys/file.h>
+#include <sys/mman.h>
+#include <sys/types.h>
+#include <unistd.h>
 #endif
 
 #if defined(__FreeBSD__) && defined(__i386__)
@@ -119,6 +121,11 @@ struct fn_list writeout_fn_list;
  */
 struct fn_list flush_fn_list;
 
+/*
+ *  A list of reset functions, shared between all dynamic objects.
+ */
+struct fn_list reset_fn_list;
+
 static void fn_list_insert(struct fn_list* list, fn_ptr fn) {
   struct fn_node* new_node = malloc(sizeof(struct fn_node));
   new_node->fn = fn;
@@ -634,7 +641,46 @@ void llvm_delete_flush_function_list(void) {
 }
 
 COMPILER_RT_VISIBILITY
-void llvm_gcov_init(fn_ptr wfn, fn_ptr ffn) {
+void llvm_register_reset_function(fn_ptr fn) {
+  fn_list_insert(&reset_fn_list, fn);
+}
+
+COMPILER_RT_VISIBILITY
+void llvm_delete_reset_function_list(void) { fn_list_remove(&reset_fn_list); }
+
+COMPILER_RT_VISIBILITY
+void llvm_reset_counters(void) {
+  struct fn_node *curr = reset_fn_list.head;
+
+  while (curr) {
+    if (curr->id == CURRENT_ID) {
+      curr->fn();
+    }
+    curr = curr->next;
+  }
+}
+
+#if !defined(_WIN32)
+COMPILER_RT_VISIBILITY
+pid_t __gcov_fork() {
+  pid_t parent_pid = getpid();
+  pid_t pid = fork();
+
+  if (pid == 0) {
+    pid_t child_pid = getpid();
+    if (child_pid != parent_pid) {
+      // The pid changed so we've a fork (one could have its own fork function)
+      // Just reset the counters for this child process
+      // threads.
+      llvm_reset_counters();
+    }
+  }
+  return pid;
+}
+#endif
+
+COMPILER_RT_VISIBILITY
+void llvm_gcov_init(fn_ptr wfn, fn_ptr ffn, fn_ptr rfn) {
   static int atexit_ran = 0;
 
   if (wfn)
@@ -643,10 +689,14 @@ void llvm_gcov_init(fn_ptr wfn, fn_ptr ffn) {
   if (ffn)
     llvm_register_flush_function(ffn);
 
+  if (rfn)
+    llvm_register_reset_function(rfn);
+
   if (atexit_ran == 0) {
     atexit_ran = 1;
 
     /* Make sure we write out the data and delete the data structures. */
+    atexit(llvm_delete_reset_function_list);
     atexit(llvm_delete_flush_function_list);
     atexit(llvm_delete_writeout_function_list);
     atexit(llvm_writeout_files);

Modified: head/contrib/llvm-project/lld/COFF/MarkLive.cpp
==============================================================================
--- head/contrib/llvm-project/lld/COFF/MarkLive.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/lld/COFF/MarkLive.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -28,10 +28,12 @@ void markLive(ArrayRef<Chunk *> chunks) {
   // as we push, so sections never appear twice in the list.
   SmallVector<SectionChunk *, 256> worklist;
 
-  // COMDAT section chunks are dead by default. Add non-COMDAT chunks.
+  // COMDAT section chunks are dead by default. Add non-COMDAT chunks. Do not
+  // traverse DWARF sections. They are live, but they should not keep other
+  // sections alive.
   for (Chunk *c : chunks)
     if (auto *sc = dyn_cast<SectionChunk>(c))
-      if (sc->live)
+      if (sc->live && !sc->isDWARF())
         worklist.push_back(sc);
 
   auto enqueue = [&](SectionChunk *c) {

Modified: head/contrib/llvm-project/lld/ELF/Driver.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/Driver.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/lld/ELF/Driver.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -1906,8 +1906,17 @@ template <class ELFT> void LinkerDriver::link(opt::Inp
 
     // We do not want to emit debug sections if --strip-all
     // or -strip-debug are given.
-    return config->strip != StripPolicy::None &&
-           (s->name.startswith(".debug") || s->name.startswith(".zdebug"));
+    if (config->strip == StripPolicy::None)
+      return false;
+
+    if (isDebugSection(*s))
+      return true;
+    if (auto *isec = dyn_cast<InputSection>(s))
+      if (InputSectionBase *rel = isec->getRelocatedSection())
+        if (isDebugSection(*rel))
+          return true;
+
+    return false;
   });
 
   // Now that the number of partitions is fixed, save a pointer to the main

Modified: head/contrib/llvm-project/lld/ELF/InputSection.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/InputSection.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/lld/ELF/InputSection.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -441,8 +441,7 @@ void InputSection::copyRelocations(uint8_t *buf, Array
       // See the comment in maybeReportUndefined for PPC32 .got2 and PPC64 .toc
       auto *d = dyn_cast<Defined>(&sym);
       if (!d) {
-        if (!sec->name.startswith(".debug") &&
-            !sec->name.startswith(".zdebug") && sec->name != ".eh_frame" &&
+        if (!isDebugSection(*sec) && sec->name != ".eh_frame" &&
             sec->name != ".gcc_except_table" && sec->name != ".got2" &&
             sec->name != ".toc") {
           uint32_t secIdx = cast<Undefined>(sym).discardedSecIdx;

Modified: head/contrib/llvm-project/lld/ELF/InputSection.h
==============================================================================
--- head/contrib/llvm-project/lld/ELF/InputSection.h	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/lld/ELF/InputSection.h	Sat May 23 10:32:18 2020	(r361410)
@@ -357,6 +357,10 @@ class InputSection : public InputSectionBase { (privat
   template <class ELFT> void copyShtGroup(uint8_t *buf);
 };
 
+inline bool isDebugSection(const InputSectionBase &sec) {
+  return sec.name.startswith(".debug") || sec.name.startswith(".zdebug");
+}
+
 // The list of all input sections.
 extern std::vector<InputSectionBase *> inputSections;
 

Modified: head/contrib/llvm-project/lld/ELF/OutputSections.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/OutputSections.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/lld/ELF/OutputSections.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -114,8 +114,7 @@ void OutputSection::commitSection(InputSection *isec) 
     flags = isec->flags;
   } else {
     // Otherwise, check if new type or flags are compatible with existing ones.
-    unsigned mask = SHF_TLS | SHF_LINK_ORDER;
-    if ((flags & mask) != (isec->flags & mask))
+    if ((flags ^ isec->flags) & SHF_TLS)
       error("incompatible section flags for " + name + "\n>>> " + toString(isec) +
             ": 0x" + utohexstr(isec->flags) + "\n>>> output section " + name +
             ": 0x" + utohexstr(flags));
@@ -367,8 +366,9 @@ void OutputSection::finalize() {
     // all InputSections in the OutputSection have the same dependency.
     if (auto *ex = dyn_cast<ARMExidxSyntheticSection>(first))
       link = ex->getLinkOrderDep()->getParent()->sectionIndex;
-    else if (auto *d = first->getLinkOrderDep())
-      link = d->getParent()->sectionIndex;
+    else if (first->flags & SHF_LINK_ORDER)
+      if (auto *d = first->getLinkOrderDep())
+        link = d->getParent()->sectionIndex;
   }
 
   if (type == SHT_GROUP) {

Modified: head/contrib/llvm-project/lld/ELF/Writer.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/Writer.cpp	Sat May 23 10:21:02 2020	(r361409)
+++ head/contrib/llvm-project/lld/ELF/Writer.cpp	Sat May 23 10:32:18 2020	(r361410)
@@ -1524,17 +1524,30 @@ template <class ELFT> void Writer<ELFT>::resolveShfLin
     // but sort must consider them all at once.
     std::vector<InputSection **> scriptSections;
     std::vector<InputSection *> sections;
+    bool started = false, stopped = false;
     for (BaseCommand *base : sec->sectionCommands) {
       if (auto *isd = dyn_cast<InputSectionDescription>(base)) {
         for (InputSection *&isec : isd->sections) {
-          scriptSections.push_back(&isec);
-          sections.push_back(isec);
+          if (!(isec->flags & SHF_LINK_ORDER)) {
+            if (started)
+              stopped = true;
+          } else if (stopped) {
+            error(toString(isec) + ": SHF_LINK_ORDER sections in " + sec->name +
+                  " are not contiguous");
+          } else {
+            started = true;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005231032.04NAWJJg072601>