From owner-svn-src-projects@freebsd.org Mon May 29 22:09:30 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9DD8D82BA7 for ; Mon, 29 May 2017 22:09:30 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54F19657D7; Mon, 29 May 2017 22:09:30 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v4TM9TW6023862; Mon, 29 May 2017 22:09:29 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v4TM9OrB023814; Mon, 29 May 2017 22:09:24 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201705292209.v4TM9OrB023814@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 29 May 2017 22:09:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319164 - in projects/clang500-import: contrib/compiler-rt/lib/asan contrib/compiler-rt/lib/builtins contrib/compiler-rt/lib/builtins/arm contrib/compiler-rt/lib/lsan contrib/compiler-r... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 May 2017 22:09:31 -0000 Author: dim Date: Mon May 29 22:09:23 2017 New Revision: 319164 URL: https://svnweb.freebsd.org/changeset/base/319164 Log: Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304149, and update build glue. Added: projects/clang500-import/contrib/libc++/include/experimental/coroutine - copied unchanged from r319151, vendor/libc++/dist/include/experimental/coroutine projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/Localizer.h - copied unchanged from r319151, vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/Localizer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h - copied unchanged from r319151, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHashAttributes.def - copied unchanged from r319151, vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIEHashAttributes.def projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/Localizer.cpp - copied unchanged from r319151, vendor/llvm/dist/lib/CodeGen/GlobalISel/Localizer.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp - copied unchanged from r319151, vendor/llvm/dist/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp projects/clang500-import/contrib/llvm/lib/Target/Nios2/ - copied from r319151, vendor/llvm/dist/lib/Target/Nios2/ projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/GVNSink.cpp - copied unchanged from r319151, vendor/llvm/dist/lib/Transforms/Scalar/GVNSink.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/BareMetal.cpp - copied unchanged from r319151, vendor/clang/dist/lib/Driver/ToolChains/BareMetal.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/BareMetal.h - copied unchanged from r319151, vendor/clang/dist/lib/Driver/ToolChains/BareMetal.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avx512vpopcntdqintrin.h - copied unchanged from r319151, vendor/clang/dist/lib/Headers/avx512vpopcntdqintrin.h projects/clang500-import/contrib/llvm/utils/TableGen/X86FoldTablesEmitter.cpp - copied unchanged from r319151, vendor/llvm/dist/utils/TableGen/X86FoldTablesEmitter.cpp Deleted: projects/clang500-import/contrib/llvm/lib/LibDriver/ projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkorWriteRes.td Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win.cc projects/clang500-import/contrib/compiler-rt/lib/builtins/README.txt projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/eqdf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/eqsf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gedf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gesf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gtdf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gtsf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ledf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/lesf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ltdf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ltsf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/nedf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/nesf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/unorddf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/unordsf2vfp.S projects/clang500-import/contrib/compiler-rt/lib/builtins/assembly.h projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapdi2.c projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapsi2.c projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common.cc projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_mac.cc projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_flags.inc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.h projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_linux.cpp projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform.h projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cc projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc projects/clang500-import/contrib/libc++/include/__config projects/clang500-import/contrib/libc++/include/__threading_support projects/clang500-import/contrib/libc++/include/algorithm projects/clang500-import/contrib/libc++/include/experimental/__config projects/clang500-import/contrib/libc++/include/iterator projects/clang500-import/contrib/libc++/include/memory projects/clang500-import/contrib/libc++/include/module.modulemap projects/clang500-import/contrib/llvm/include/llvm/ADT/Triple.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/LoopPass.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/AtomicExpandUtils.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/DIE.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/FaultMaps.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/LiveIntervalAnalysis.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/LiveIntervalUnion.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/LivePhysRegs.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/LiveRangeEdit.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/LiveStackAnalysis.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineBlockFrequencyInfo.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineDominanceFrontier.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineDominators.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineValueType.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CVRecord.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDeserializer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeSerializer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeTableCollection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFRelocMap.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/PDBTypeServerHandler.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h projects/clang500-import/contrib/llvm/include/llvm/IR/Attributes.h projects/clang500-import/contrib/llvm/include/llvm/IR/BasicBlock.h projects/clang500-import/contrib/llvm/include/llvm/IR/IntrinsicInst.h projects/clang500-import/contrib/llvm/include/llvm/IR/Intrinsics.td projects/clang500-import/contrib/llvm/include/llvm/IR/IntrinsicsAMDGPU.td projects/clang500-import/contrib/llvm/include/llvm/IR/Metadata.h projects/clang500-import/contrib/llvm/include/llvm/IR/Module.h projects/clang500-import/contrib/llvm/include/llvm/InitializePasses.h projects/clang500-import/contrib/llvm/include/llvm/LTO/Config.h projects/clang500-import/contrib/llvm/include/llvm/Object/Binary.h projects/clang500-import/contrib/llvm/include/llvm/Object/COFF.h projects/clang500-import/contrib/llvm/include/llvm/Object/ELFObjectFile.h projects/clang500-import/contrib/llvm/include/llvm/Object/MachO.h projects/clang500-import/contrib/llvm/include/llvm/Object/ObjectFile.h projects/clang500-import/contrib/llvm/include/llvm/Object/RelocVisitor.h projects/clang500-import/contrib/llvm/include/llvm/Object/Wasm.h projects/clang500-import/contrib/llvm/include/llvm/Option/OptTable.h projects/clang500-import/contrib/llvm/include/llvm/ProfileData/InstrProf.h projects/clang500-import/contrib/llvm/include/llvm/TableGen/Record.h projects/clang500-import/contrib/llvm/include/llvm/Target/TargetLowering.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar/GVN.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/clang500-import/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/clang500-import/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/clang500-import/contrib/llvm/lib/Analysis/Lint.cpp projects/clang500-import/contrib/llvm/lib/Analysis/LoopPass.cpp projects/clang500-import/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/clang500-import/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/clang500-import/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp projects/clang500-import/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/clang500-import/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/clang500-import/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DIEHash.h projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/clang500-import/contrib/llvm/lib/CodeGen/AtomicExpandPass.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/BranchCoalescing.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/BranchFolding.h projects/clang500-import/contrib/llvm/lib/CodeGen/BranchRelaxation.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/DeadMachineInstructionElim.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/DetectDeadLanes.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/DwarfEHPrepare.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ExpandISelPseudos.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/FuncletLayout.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/GlobalISel.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalMerge.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ImplicitNullChecks.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/InterleavedAccessPass.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LexicalScopes.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LiveDebugValues.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LivePhysRegs.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LiveStackAnalysis.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LowerEmuTLS.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineCSE.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineCombiner.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineOutliner.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachinePipeliner.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineScheduler.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/OptimizePHIs.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/PHIElimination.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ProcessImplicitDefs.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/RenameIndependentSubregs.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SafeStack.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ShadowStackGCLowering.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ShrinkWrap.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SjLjEHPrepare.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SlotIndexes.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SpillPlacement.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/TailDuplication.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/TailDuplicator.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/WinEHPrepare.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeSerializer.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeTableCollection.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/MSF/MappedBlockStream.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/PDBTypeServerHandler.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp projects/clang500-import/contrib/llvm/lib/Demangle/ItaniumDemangle.cpp projects/clang500-import/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/clang500-import/contrib/llvm/lib/IR/AttributeImpl.h projects/clang500-import/contrib/llvm/lib/IR/Attributes.cpp projects/clang500-import/contrib/llvm/lib/IR/BasicBlock.cpp projects/clang500-import/contrib/llvm/lib/IR/DebugLoc.cpp projects/clang500-import/contrib/llvm/lib/IR/Instructions.cpp projects/clang500-import/contrib/llvm/lib/IR/IntrinsicInst.cpp projects/clang500-import/contrib/llvm/lib/IR/Module.cpp projects/clang500-import/contrib/llvm/lib/IR/Verifier.cpp projects/clang500-import/contrib/llvm/lib/LTO/LTO.cpp projects/clang500-import/contrib/llvm/lib/LTO/LTOBackend.cpp projects/clang500-import/contrib/llvm/lib/Linker/IRMover.cpp projects/clang500-import/contrib/llvm/lib/MC/WasmObjectWriter.cpp projects/clang500-import/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/clang500-import/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/clang500-import/contrib/llvm/lib/Object/WasmObjectFile.cpp projects/clang500-import/contrib/llvm/lib/Option/OptTable.cpp projects/clang500-import/contrib/llvm/lib/Passes/PassBuilder.cpp projects/clang500-import/contrib/llvm/lib/ProfileData/InstrProf.cpp projects/clang500-import/contrib/llvm/lib/Support/APInt.cpp projects/clang500-import/contrib/llvm/lib/Support/BinaryStreamReader.cpp projects/clang500-import/contrib/llvm/lib/Support/ConvertUTF.cpp projects/clang500-import/contrib/llvm/lib/Support/DebugCounter.cpp projects/clang500-import/contrib/llvm/lib/Support/DynamicLibrary.cpp projects/clang500-import/contrib/llvm/lib/Support/GraphWriter.cpp projects/clang500-import/contrib/llvm/lib/Support/Host.cpp projects/clang500-import/contrib/llvm/lib/Support/Path.cpp projects/clang500-import/contrib/llvm/lib/Support/Triple.cpp projects/clang500-import/contrib/llvm/lib/Support/YAMLParser.cpp projects/clang500-import/contrib/llvm/lib/TableGen/Record.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.h projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64MacroFusion.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkor.td projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkorDetails.td projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/GCNRegPressure.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/R600ISelLowering.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/R600RegisterInfo.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIDefines.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SOPInstructions.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/VOP1Instructions.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/VOP2Instructions.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/VOP3Instructions.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/VOPCInstructions.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/VOPInstructions.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMCallLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMCallLowering.h projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMSchedule.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleA9.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleR52.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleSwift.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AVR/AVRInstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/BPF/BPFISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/BPF/BPFISelLowering.h projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonPseudo.td projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp projects/clang500-import/contrib/llvm/lib/Target/MSP430/MSP430.td projects/clang500-import/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp projects/clang500-import/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/MSP430/MSP430Subtarget.cpp projects/clang500-import/contrib/llvm/lib/Target/MSP430/MSP430Subtarget.h projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCExpandISEL.cpp projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZExpandPseudo.cpp projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h projects/clang500-import/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrAVX512.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrArithmetic.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrFMA.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrFormats.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrXOP.td projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstructionSelector.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86LegalizerInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86LegalizerInfo.h projects/clang500-import/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroEarly.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroElide.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroFrame.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroSplit.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineInternal.h projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/GuardWidening.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/FunctionComparator.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/clang500-import/contrib/llvm/tools/clang/include/clang-c/Index.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAMDGPU.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/SourceManagerInternals.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/TemplateKinds.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/XRayLists.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Format/Format.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/ParsedTemplate.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/XRayLists.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Linux.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Myriad.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/Format.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/immintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexBody.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexingContext.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/CoroutineStmtBuilder.h projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/clang500-import/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/ICF.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/InputFiles.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/InputFiles.h projects/clang500-import/contrib/llvm/tools/lld/COFF/MarkLive.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/PDB.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/Symbols.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/Symbols.h projects/clang500-import/contrib/llvm/tools/lld/COFF/Writer.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/Config.h projects/clang500-import/contrib/llvm/tools/lld/ELF/Driver.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/ICF.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/InputFiles.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/InputSection.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/InputSection.h projects/clang500-import/contrib/llvm/tools/lld/ELF/LTO.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/LinkerScript.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/LinkerScript.h projects/clang500-import/contrib/llvm/tools/lld/ELF/MapFile.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/Options.td projects/clang500-import/contrib/llvm/tools/lld/ELF/OutputSections.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/OutputSections.h projects/clang500-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/SyntheticSections.h projects/clang500-import/contrib/llvm/tools/lld/ELF/Writer.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/Writer.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/API/SBStructuredData.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/API/SBTrace.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/StructuredData.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/StructuredDataImpl.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/TraceOptions.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/Editline.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeProcessProtocol.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/Process.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/StringExtractor.h projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBProcess.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBStructuredData.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBThread.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBTrace.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Core/FormatEntity.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Core/StructuredData.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Host/common/Editline.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h projects/clang500-import/contrib/llvm/tools/lldb/source/Target/Process.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Target/Thread.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.h projects/clang500-import/contrib/llvm/tools/llvm-nm/llvm-nm.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/llvm-pdbdump.h projects/clang500-import/contrib/llvm/tools/llvm-profdata/llvm-profdata.cpp projects/clang500-import/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp projects/clang500-import/contrib/llvm/utils/TableGen/GlobalISelEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/TableGen.cpp projects/clang500-import/contrib/llvm/utils/TableGen/TableGenBackends.h projects/clang500-import/lib/clang/headers/Makefile projects/clang500-import/lib/clang/include/clang/Basic/Version.inc projects/clang500-import/lib/clang/include/lld/Config/Version.inc projects/clang500-import/lib/clang/include/llvm/Support/VCSRevision.h projects/clang500-import/lib/clang/libclang/Makefile projects/clang500-import/lib/clang/libllvm/Makefile projects/clang500-import/lib/libc++/Makefile projects/clang500-import/usr.bin/clang/llvm-tblgen/Makefile Directory Properties: projects/clang500-import/contrib/compiler-rt/ (props changed) projects/clang500-import/contrib/libc++/ (props changed) projects/clang500-import/contrib/llvm/ (props changed) projects/clang500-import/contrib/llvm/tools/clang/ (props changed) projects/clang500-import/contrib/llvm/tools/lld/ (props changed) projects/clang500-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc Mon May 29 22:09:23 2017 (r319164) @@ -357,28 +357,22 @@ DEFINE_REAL_PTHREAD_FUNCTIONS #if SANITIZER_ANDROID INTERCEPTOR(void*, bsd_signal, int signum, void *handler) { - if (!IsHandledDeadlySignal(signum) || - common_flags()->allow_user_segv_handler) { + if (GetHandleSignalMode(signum) != kHandleSignalExclusive) return REAL(bsd_signal)(signum, handler); - } return 0; } #endif INTERCEPTOR(void*, signal, int signum, void *handler) { - if (!IsHandledDeadlySignal(signum) || - common_flags()->allow_user_segv_handler) { + if (GetHandleSignalMode(signum) != kHandleSignalExclusive) return REAL(signal)(signum, handler); - } return nullptr; } INTERCEPTOR(int, sigaction, int signum, const struct sigaction *act, struct sigaction *oldact) { - if (!IsHandledDeadlySignal(signum) || - common_flags()->allow_user_segv_handler) { + if (GetHandleSignalMode(signum) != kHandleSignalExclusive) return REAL(sigaction)(signum, act, oldact); - } return 0; } Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win.cc Mon May 29 22:09:23 2017 (r319164) @@ -80,7 +80,7 @@ static long WINAPI SEHHandler(EXCEPTION_ INTERCEPTOR_WINAPI(LPTOP_LEVEL_EXCEPTION_FILTER, SetUnhandledExceptionFilter, LPTOP_LEVEL_EXCEPTION_FILTER ExceptionFilter) { CHECK(REAL(SetUnhandledExceptionFilter)); - if (ExceptionFilter == &SEHHandler || common_flags()->allow_user_segv_handler) + if (ExceptionFilter == &SEHHandler) return REAL(SetUnhandledExceptionFilter)(ExceptionFilter); // We record the user provided exception handler to be called for all the // exceptions unhandled by asan. Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/README.txt ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/README.txt Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/README.txt Mon May 29 22:09:23 2017 (r319164) @@ -57,8 +57,8 @@ si_int __popcountsi2(si_int a); // bit si_int __popcountdi2(di_int a); // bit population si_int __popcountti2(ti_int a); // bit population -uint32_t __bswapsi2(uint32_t a); // a byteswapped, arm/mips only -uint64_t __bswapdi2(uint64_t a); // a byteswapped, arm/mips only +uint32_t __bswapsi2(uint32_t a); // a byteswapped +uint64_t __bswapdi2(uint64_t a); // a byteswapped // Integral arithmetic Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S Mon May 29 22:09:23 2017 (r319164) @@ -48,7 +48,12 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_cdcmp // NaN has been ruled out, so __aeabi_cdcmple can't trap bne __aeabi_cdcmple +#if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) + mov ip, #APSR_C + msr APSR_nzcvq, ip +#else msr CPSR_f, #APSR_C +#endif JMP(lr) #endif END_COMPILERRT_FUNCTION(__aeabi_cdcmpeq) @@ -95,17 +100,23 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_cdcmp lsls r0, r0, #31 pop {r0-r3, pc} #else + ITT(eq) moveq ip, #0 beq 1f ldm sp, {r0-r3} bl __aeabi_dcmpeq cmp r0, #1 + ITE(eq) moveq ip, #(APSR_C | APSR_Z) movne ip, #(APSR_C) 1: +#if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) + msr APSR_nzcvq, ip +#else msr CPSR_f, ip +#endif pop {r0-r3} POP_PC() #endif Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S Mon May 29 22:09:23 2017 (r319164) @@ -48,7 +48,12 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_cfcmp // NaN has been ruled out, so __aeabi_cfcmple can't trap bne __aeabi_cfcmple +#if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) + mov ip, #APSR_C + msr APSR_nzcvq, ip +#else msr CPSR_f, #APSR_C +#endif JMP(lr) #endif END_COMPILERRT_FUNCTION(__aeabi_cfcmpeq) @@ -95,17 +100,23 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_cfcmp lsls r0, r0, #31 pop {r0-r3, pc} #else + ITT(eq) moveq ip, #0 beq 1f ldm sp, {r0-r3} bl __aeabi_fcmpeq cmp r0, #1 + ITE(eq) moveq ip, #(APSR_C | APSR_Z) movne ip, #(APSR_C) 1: +#if defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__) + msr APSR_nzcvq, ip +#else msr CPSR_f, ip +#endif pop {r0-r3} POP_PC() #endif Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/eqdf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/eqdf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/eqdf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__eqdf2vfp) vcmp.f64 d6, d7 #endif vmrs apsr_nzcv, fpscr + ITE(eq) moveq r0, #1 // set result register to 1 if equal movne r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/eqsf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/eqsf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/eqsf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__eqsf2vfp) vcmp.f32 s14, s15 #endif vmrs apsr_nzcv, fpscr + ITE(eq) moveq r0, #1 // set result register to 1 if equal movne r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gedf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gedf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gedf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__gedf2vfp) vcmp.f64 d6, d7 #endif vmrs apsr_nzcv, fpscr + ITE(ge) movge r0, #1 // set result register to 1 if greater than or equal movlt r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gesf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gesf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gesf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__gesf2vfp) vcmp.f32 s14, s15 #endif vmrs apsr_nzcv, fpscr + ITE(ge) movge r0, #1 // set result register to 1 if greater than or equal movlt r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gtdf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gtdf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gtdf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__gtdf2vfp) vcmp.f64 d6, d7 #endif vmrs apsr_nzcv, fpscr + ITE(gt) movgt r0, #1 // set result register to 1 if equal movle r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gtsf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gtsf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/gtsf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__gtsf2vfp) vcmp.f32 s14, s15 #endif vmrs apsr_nzcv, fpscr + ITE(gt) movgt r0, #1 // set result register to 1 if equal movle r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ledf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ledf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ledf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__ledf2vfp) vcmp.f64 d6, d7 #endif vmrs apsr_nzcv, fpscr + ITE(ls) movls r0, #1 // set result register to 1 if equal movhi r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/lesf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/lesf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/lesf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__lesf2vfp) vcmp.f32 s14, s15 #endif vmrs apsr_nzcv, fpscr + ITE(ls) movls r0, #1 // set result register to 1 if equal movhi r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ltdf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ltdf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ltdf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__ltdf2vfp) vcmp.f64 d6, d7 #endif vmrs apsr_nzcv, fpscr + ITE(mi) movmi r0, #1 // set result register to 1 if equal movpl r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ltsf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ltsf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/ltsf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__ltsf2vfp) vcmp.f32 s14, s15 #endif vmrs apsr_nzcv, fpscr + ITE(mi) movmi r0, #1 // set result register to 1 if equal movpl r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/nedf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/nedf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/nedf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__nedf2vfp) vcmp.f64 d6, d7 #endif vmrs apsr_nzcv, fpscr + ITE(ne) movne r0, #1 // set result register to 0 if unequal moveq r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/nesf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/nesf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/nesf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__nesf2vfp) vcmp.f32 s14, s15 #endif vmrs apsr_nzcv, fpscr + ITE(ne) movne r0, #1 // set result register to 1 if unequal moveq r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/unorddf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/unorddf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/unorddf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__unorddf2vfp vcmp.f64 d6, d7 #endif vmrs apsr_nzcv, fpscr + ITE(vs) movvs r0, #1 // set result register to 1 if "overflow" (any NaNs) movvc r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/unordsf2vfp.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/unordsf2vfp.S Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/arm/unordsf2vfp.S Mon May 29 22:09:23 2017 (r319164) @@ -27,6 +27,7 @@ DEFINE_COMPILERRT_FUNCTION(__unordsf2vfp vcmp.f32 s14, s15 #endif vmrs apsr_nzcv, fpscr + ITE(vs) movvs r0, #1 // set result register to 1 if "overflow" (any NaNs) movvc r0, #0 bx lr Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/assembly.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/assembly.h Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/assembly.h Mon May 29 22:09:23 2017 (r319164) @@ -115,10 +115,12 @@ #if defined(USE_THUMB_2) #define IT(cond) it cond #define ITT(cond) itt cond +#define ITE(cond) ite cond #define WIDE(op) op.w #else #define IT(cond) #define ITT(cond) +#define ITE(cond) #define WIDE(op) op #endif #endif /* defined(__arm__) */ Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapdi2.c ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapdi2.c Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapdi2.c Mon May 29 22:09:23 2017 (r319164) @@ -14,15 +14,14 @@ #include "int_lib.h" -COMPILER_RT_ABI uint64_t -__bswapdi2 (uint64_t u) -{ - return ((((u) & 0xff00000000000000ULL) >> 56) - | (((u) & 0x00ff000000000000ULL) >> 40) - | (((u) & 0x0000ff0000000000ULL) >> 24) - | (((u) & 0x000000ff00000000ULL) >> 8) - | (((u) & 0x00000000ff000000ULL) << 8) - | (((u) & 0x0000000000ff0000ULL) << 24) - | (((u) & 0x000000000000ff00ULL) << 40) - | (((u) & 0x00000000000000ffULL) << 56)); +COMPILER_RT_ABI uint64_t __bswapdi2(uint64_t u) { + return ( + (((u)&0xff00000000000000ULL) >> 56) | + (((u)&0x00ff000000000000ULL) >> 40) | + (((u)&0x0000ff0000000000ULL) >> 24) | + (((u)&0x000000ff00000000ULL) >> 8) | + (((u)&0x00000000ff000000ULL) << 8) | + (((u)&0x0000000000ff0000ULL) << 24) | + (((u)&0x000000000000ff00ULL) << 40) | + (((u)&0x00000000000000ffULL) << 56)); } Modified: projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapsi2.c ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapsi2.c Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/builtins/bswapsi2.c Mon May 29 22:09:23 2017 (r319164) @@ -14,12 +14,10 @@ #include "int_lib.h" -COMPILER_RT_ABI uint32_t -__bswapsi2 (uint32_t u) -{ - - return ((((u) & 0xff000000) >> 24) - | (((u) & 0x00ff0000) >> 8) - | (((u) & 0x0000ff00) << 8) - | (((u) & 0x000000ff) << 24)); +COMPILER_RT_ABI uint32_t __bswapsi2(uint32_t u) { + return ( + (((u)&0xff000000) >> 24) | + (((u)&0x00ff0000) >> 8) | + (((u)&0x0000ff00) << 8) | + (((u)&0x000000ff) << 24)); } Modified: projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common.cc Mon May 29 22:09:23 2017 (r319164) @@ -265,19 +265,21 @@ static void ProcessThreads(SuspendedThre } if (flags()->use_tls) { - LOG_THREADS("TLS at %p-%p.\n", tls_begin, tls_end); - if (cache_begin == cache_end) { - ScanRangeForPointers(tls_begin, tls_end, frontier, "TLS", kReachable); - } else { - // Because LSan should not be loaded with dlopen(), we can assume - // that allocator cache will be part of static TLS image. - CHECK_LE(tls_begin, cache_begin); - CHECK_GE(tls_end, cache_end); - if (tls_begin < cache_begin) - ScanRangeForPointers(tls_begin, cache_begin, frontier, "TLS", - kReachable); - if (tls_end > cache_end) - ScanRangeForPointers(cache_end, tls_end, frontier, "TLS", kReachable); + if (tls_begin) { + LOG_THREADS("TLS at %p-%p.\n", tls_begin, tls_end); + // If the tls and cache ranges don't overlap, scan full tls range, + // otherwise, only scan the non-overlapping portions + if (cache_begin == cache_end || tls_end < cache_begin || + tls_begin > cache_end) { + ScanRangeForPointers(tls_begin, tls_end, frontier, "TLS", kReachable); + } else { + if (tls_begin < cache_begin) + ScanRangeForPointers(tls_begin, cache_begin, frontier, "TLS", + kReachable); + if (tls_end > cache_end) + ScanRangeForPointers(cache_end, tls_end, frontier, "TLS", + kReachable); + } } if (dtls && !DTLSInDestruction(dtls)) { for (uptr j = 0; j < dtls->dtv_size; ++j) { Modified: projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_mac.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_mac.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_mac.cc Mon May 29 22:09:23 2017 (r319164) @@ -91,12 +91,7 @@ LoadedModule *GetLinker() { return nullp // Required on Linux for initialization of TLS behavior, but should not be // required on Darwin. -void InitializePlatformSpecificModules() { - if (flags()->use_tls) { - Report("use_tls=1 is not supported on Darwin.\n"); - Die(); - } -} +void InitializePlatformSpecificModules() {} // Scans global variables for heap pointers. void ProcessGlobalRegions(Frontier *frontier) { Modified: projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_flags.inc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_flags.inc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_flags.inc Mon May 29 22:09:23 2017 (r319164) @@ -30,7 +30,7 @@ LSAN_FLAG(bool, use_globals, true, "Root set: include global variables (.data and .bss)") LSAN_FLAG(bool, use_stacks, true, "Root set: include thread stacks") LSAN_FLAG(bool, use_registers, true, "Root set: include thread registers") -LSAN_FLAG(bool, use_tls, !SANITIZER_MAC, +LSAN_FLAG(bool, use_tls, true, "Root set: include TLS and thread-specific storage") LSAN_FLAG(bool, use_root_regions, true, "Root set: include regions added via __lsan_register_root_region().") Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h Mon May 29 22:09:23 2017 (r319164) @@ -319,5 +319,3 @@ class SizeClassAllocator32 { ByteMap possible_regions; SizeClassInfo size_class_info_array[kNumClasses]; }; - - Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h Mon May 29 22:09:23 2017 (r319164) @@ -380,7 +380,7 @@ void SetSoftRssLimitExceededCallback(voi // Functions related to signal handling. typedef void (*SignalHandlerType)(int, void *, void *); -bool IsHandledDeadlySignal(int signum); +HandleSignalMode GetHandleSignalMode(int signum); void InstallDeadlySignalHandlers(SignalHandlerType handler); const char *DescribeSignalOrException(int signo); // Alternative signal stack (POSIX-only). Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flag_parser.h Mon May 29 22:09:23 2017 (r319164) @@ -64,6 +64,11 @@ inline bool FlagHandler #include -#include -#include #include extern "C" { // must be included after and on @@ -263,7 +261,7 @@ uptr internal_stat(const char *path, voi uptr internal_lstat(const char *path, void *buf) { #if SANITIZER_FREEBSD return internal_syscall(SYSCALL(fstatat), AT_FDCWD, (uptr)path, - (uptr)buf, AT_SYMLINK_NOFOLLOW); + (uptr)buf, AT_SYMLINK_NOFOLLOW); #elif SANITIZER_USES_CANONICAL_LINUX_SYSCALLS return internal_syscall(SYSCALL(newfstatat), AT_FDCWD, (uptr)path, (uptr)buf, AT_SYMLINK_NOFOLLOW); @@ -551,7 +549,7 @@ void BlockingMutex::Lock() { void BlockingMutex::Unlock() { atomic_uint32_t *m = reinterpret_cast(&opaque_storage_); - u32 v = atomic_exchange(m, MtxUnlocked, memory_order_relaxed); + u32 v = atomic_exchange(m, MtxUnlocked, memory_order_release); CHECK_NE(v, MtxUnlocked); if (v == MtxSleeping) { #if SANITIZER_FREEBSD @@ -1398,7 +1396,7 @@ AndroidApiLevel AndroidGetApiLevel() { #endif -bool IsHandledDeadlySignal(int signum) { +HandleSignalMode GetHandleSignalMode(int signum) { switch (signum) { case SIGABRT: return common_flags()->handle_abort; @@ -1411,7 +1409,7 @@ bool IsHandledDeadlySignal(int signum) { case SIGBUS: return common_flags()->handle_sigbus; } - return false; + return kHandleSignalNo; } #if !SANITIZER_GO Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_s390.cc Mon May 29 22:09:23 2017 (r319164) @@ -178,6 +178,13 @@ static bool FixedCVE_2016_2143() { // 4.4.6+ is OK. if (minor == 4 && patch >= 6) return true; + if (minor == 4 && patch == 0 && ptr[0] == '-' && + internal_strstr(buf.version, "Ubuntu")) { + // Check Ubuntu 16.04 + int r1 = internal_simple_strtoll(ptr+1, &ptr, 10); + if (r1 >= 13) // 4.4.0-13 or later + return true; + } // Otherwise, OK if 4.5+. return minor >= 5; } else { Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc Mon May 29 22:09:23 2017 (r319164) @@ -370,6 +370,27 @@ uptr GetTlsSize() { void InitTlsSize() { } +uptr TlsBaseAddr() { + uptr segbase = 0; +#if defined(__x86_64__) + asm("movq %%gs:0,%0" : "=r"(segbase)); +#elif defined(__i386__) + asm("movl %%gs:0,%0" : "=r"(segbase)); +#endif + return segbase; +} + +// The size of the tls on darwin does not appear to be well documented, +// however the vm memory map suggests that it is 1024 uptrs in size, +// with a size of 0x2000 bytes on x86_64 and 0x1000 bytes on i386. +uptr TlsSize() { +#if defined(__x86_64__) || defined(__i386__) + return 1024 * sizeof(uptr); +#else + return 0; +#endif +} + void GetThreadStackAndTls(bool main, uptr *stk_addr, uptr *stk_size, uptr *tls_addr, uptr *tls_size) { #if !SANITIZER_GO @@ -377,8 +398,8 @@ void GetThreadStackAndTls(bool main, upt GetThreadStackTopAndBottom(main, &stack_top, &stack_bottom); *stk_addr = stack_bottom; *stk_size = stack_top - stack_bottom; - *tls_addr = 0; - *tls_size = 0; + *tls_addr = TlsBaseAddr(); + *tls_size = TlsSize(); #else *stk_addr = 0; *stk_size = 0; @@ -393,10 +414,10 @@ void ListOfModules::init() { memory_mapping.DumpListOfModules(&modules_); } -bool IsHandledDeadlySignal(int signum) { +HandleSignalMode GetHandleSignalMode(int signum) { // Handling fatal signals on watchOS and tvOS devices is disallowed. if ((SANITIZER_WATCHOS || SANITIZER_TVOS) && !(SANITIZER_IOSSIM)) - return false; + return kHandleSignalNo; switch (signum) { case SIGABRT: return common_flags()->handle_abort; @@ -409,7 +430,7 @@ bool IsHandledDeadlySignal(int signum) { case SIGBUS: return common_flags()->handle_sigbus; } - return false; + return kHandleSignalNo; } MacosVersion cached_macos_version = MACOS_VERSION_UNINITIALIZED; Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc Mon May 29 22:09:23 2017 (r319164) @@ -134,7 +134,8 @@ void SleepForMillis(int millis) { void Abort() { #if !SANITIZER_GO // If we are handling SIGABRT, unhandle it first. - if (IsHandledDeadlySignal(SIGABRT)) { + // TODO(vitalybuka): Check if handler belongs to sanitizer. + if (GetHandleSignalMode(SIGABRT) != kHandleSignalNo) { struct sigaction sigact; internal_memset(&sigact, 0, sizeof(sigact)); sigact.sa_sigaction = (sa_sigaction_t)SIG_DFL; @@ -188,8 +189,26 @@ void UnsetAlternateSignalStack() { static void MaybeInstallSigaction(int signum, SignalHandlerType handler) { - if (!IsHandledDeadlySignal(signum)) - return; + switch (GetHandleSignalMode(signum)) { + case kHandleSignalNo: + return; + case kHandleSignalYes: { + struct sigaction sigact; + internal_memset(&sigact, 0, sizeof(sigact)); + CHECK_EQ(0, internal_sigaction(signum, nullptr, &sigact)); + if (sigact.sa_flags & SA_SIGINFO) { + if (sigact.sa_sigaction) return; + } else { + if (sigact.sa_handler != SIG_DFL && sigact.sa_handler != SIG_IGN && + sigact.sa_handler != SIG_ERR) + return; + } + break; + } + case kHandleSignalExclusive: + break; + } + struct sigaction sigact; internal_memset(&sigact, 0, sizeof(sigact)); sigact.sa_sigaction = (sa_sigaction_t)handler; Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc Mon May 29 22:09:23 2017 (r319164) @@ -832,9 +832,9 @@ void InstallDeadlySignalHandlers(SignalH // FIXME: Decide what to do on Windows. } -bool IsHandledDeadlySignal(int signum) { +HandleSignalMode GetHandleSignalMode(int signum) { // FIXME: Decide what to do on Windows. - return false; + return kHandleSignalNo; } // Check based on flags if we should handle this exception. Modified: projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_linux.cpp ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_linux.cpp Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_linux.cpp Mon May 29 22:09:23 2017 (r319164) @@ -18,7 +18,6 @@ #include "scudo_tls.h" -#include #include namespace __scudo { @@ -32,15 +31,17 @@ __attribute__((tls_model("initial-exec") THREADLOCAL ScudoThreadContext ThreadLocalContext; static void teardownThread(void *Ptr) { - uptr Iteration = reinterpret_cast(Ptr); + uptr I = reinterpret_cast(Ptr); // The glibc POSIX thread-local-storage deallocation routine calls user // provided destructors in a loop of PTHREAD_DESTRUCTOR_ITERATIONS. // We want to be called last since other destructors might call free and the // like, so we wait until PTHREAD_DESTRUCTOR_ITERATIONS before draining the // quarantine and swallowing the cache. - if (Iteration < PTHREAD_DESTRUCTOR_ITERATIONS) { - pthread_setspecific(PThreadKey, reinterpret_cast(Iteration + 1)); - return; + if (I > 1) { + // If pthread_setspecific fails, we will go ahead with the teardown. + if (LIKELY(pthread_setspecific(PThreadKey, + reinterpret_cast(I - 1)) == 0)) + return; } ThreadLocalContext.commitBack(); ScudoThreadState = ThreadTornDown; @@ -53,8 +54,9 @@ static void initOnce() { } void initThread() { - pthread_once(&GlobalInitialized, initOnce); - pthread_setspecific(PThreadKey, reinterpret_cast(1)); + CHECK_EQ(pthread_once(&GlobalInitialized, initOnce), 0); + CHECK_EQ(pthread_setspecific(PThreadKey, reinterpret_cast( + GetPthreadDestructorIterations())), 0); ThreadLocalContext.init(); ScudoThreadState = ThreadInitialized; } Modified: projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform.h Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform.h Mon May 29 22:09:23 2017 (r319164) @@ -816,6 +816,7 @@ void FlushShadowMemory(); void WriteMemoryProfile(char *buf, uptr buf_size, uptr nthread, uptr nlive); int ExtractResolvFDs(void *state, int *fds, int nfd); int ExtractRecvmsgFDs(void *msg, int *fds, int nfd); +void ImitateTlsWrite(ThreadState *thr, uptr tls_addr, uptr tls_size); int call_pthread_cancel_with_cleanup(int(*fn)(void *c, void *m, void *abstime), void *c, void *m, void *abstime, Modified: projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc Mon May 29 22:09:23 2017 (r319164) @@ -320,6 +320,20 @@ int ExtractRecvmsgFDs(void *msgp, int *f return res; } +void ImitateTlsWrite(ThreadState *thr, uptr tls_addr, uptr tls_size) { + // Check that the thr object is in tls; + const uptr thr_beg = (uptr)thr; + const uptr thr_end = (uptr)thr + sizeof(*thr); + CHECK_GE(thr_beg, tls_addr); + CHECK_LE(thr_beg, tls_addr + tls_size); + CHECK_GE(thr_end, tls_addr); + CHECK_LE(thr_end, tls_addr + tls_size); + // Since the thr object is huge, skip it. + MemoryRangeImitateWrite(thr, /*pc=*/2, tls_addr, thr_beg - tls_addr); + MemoryRangeImitateWrite(thr, /*pc=*/2, thr_end, + tls_addr + tls_size - thr_end); +} + // Note: this function runs with async signals enabled, // so it must not touch any tsan state. int call_pthread_cancel_with_cleanup(int(*fn)(void *c, void *m, Modified: projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cc Mon May 29 22:09:23 2017 (r319164) @@ -75,12 +75,18 @@ static void *SignalSafeGetOrAllocate(upt static uptr main_thread_identity = 0; ALIGNED(64) static char main_thread_state[sizeof(ThreadState)]; +ThreadState **cur_thread_location() { + ThreadState **thread_identity = (ThreadState **)pthread_self(); + return ((uptr)thread_identity == main_thread_identity) ? nullptr + : thread_identity; +} + ThreadState *cur_thread() { - uptr thread_identity = (uptr)pthread_self(); - if (thread_identity == main_thread_identity || main_thread_identity == 0) { + ThreadState **thr_state_loc = cur_thread_location(); + if (thr_state_loc == nullptr || main_thread_identity == 0) { return (ThreadState *)&main_thread_state; } - ThreadState **fake_tls = (ThreadState **)MemToShadow(thread_identity); + ThreadState **fake_tls = (ThreadState **)MemToShadow((uptr)thr_state_loc); ThreadState *thr = (ThreadState *)SignalSafeGetOrAllocate( (uptr *)fake_tls, sizeof(ThreadState)); return thr; @@ -90,13 +96,13 @@ ThreadState *cur_thread() { // munmap first and then clear `fake_tls`; if we receive a signal in between, // handler will try to access the unmapped ThreadState. void cur_thread_finalize() { - uptr thread_identity = (uptr)pthread_self(); - if (thread_identity == main_thread_identity) { + ThreadState **thr_state_loc = cur_thread_location(); + if (thr_state_loc == nullptr) { // Calling dispatch_main() or xpc_main() actually invokes pthread_exit to // exit the main thread. Let's keep the main thread's ThreadState. return; } - ThreadState **fake_tls = (ThreadState **)MemToShadow(thread_identity); + ThreadState **fake_tls = (ThreadState **)MemToShadow((uptr)thr_state_loc); internal_munmap(*fake_tls, sizeof(ThreadState)); *fake_tls = nullptr; } @@ -240,6 +246,29 @@ void InitializePlatform() { } #if !SANITIZER_GO +void ImitateTlsWrite(ThreadState *thr, uptr tls_addr, uptr tls_size) { + // The pointer to the ThreadState object is stored in the shadow memory + // of the tls. + uptr tls_end = tls_addr + tls_size; + ThreadState **thr_state_loc = cur_thread_location(); + if (thr_state_loc == nullptr) { + MemoryRangeImitateWrite(thr, /*pc=*/2, tls_addr, tls_size); + } else { + uptr thr_state_start = (uptr)thr_state_loc; + uptr thr_state_end = thr_state_start + sizeof(uptr); + CHECK_GE(thr_state_start, tls_addr); + CHECK_LE(thr_state_start, tls_addr + tls_size); + CHECK_GE(thr_state_end, tls_addr); + CHECK_LE(thr_state_end, tls_addr + tls_size); + MemoryRangeImitateWrite(thr, /*pc=*/2, tls_addr, + thr_state_start - tls_addr); + MemoryRangeImitateWrite(thr, /*pc=*/2, thr_state_end, + tls_end - thr_state_end); + } +} +#endif + +#if !SANITIZER_GO // Note: this function runs with async signals enabled, // so it must not touch any tsan state. int call_pthread_cancel_with_cleanup(int(*fn)(void *c, void *m, Modified: projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc Mon May 29 22:09:23 2017 (r319164) @@ -248,19 +248,7 @@ void ThreadStart(ThreadState *thr, int t if (stk_addr && stk_size) MemoryRangeImitateWrite(thr, /*pc=*/ 1, stk_addr, stk_size); - if (tls_addr && tls_size) { - // Check that the thr object is in tls; - const uptr thr_beg = (uptr)thr; - const uptr thr_end = (uptr)thr + sizeof(*thr); - CHECK_GE(thr_beg, tls_addr); - CHECK_LE(thr_beg, tls_addr + tls_size); - CHECK_GE(thr_end, tls_addr); - CHECK_LE(thr_end, tls_addr + tls_size); - // Since the thr object is huge, skip it. - MemoryRangeImitateWrite(thr, /*pc=*/ 2, tls_addr, thr_beg - tls_addr); - MemoryRangeImitateWrite(thr, /*pc=*/ 2, - thr_end, tls_addr + tls_size - thr_end); - } + if (tls_addr && tls_size) ImitateTlsWrite(thr, tls_addr, tls_size); } #endif Modified: projects/clang500-import/contrib/libc++/include/__config ============================================================================== --- projects/clang500-import/contrib/libc++/include/__config Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/libc++/include/__config Mon May 29 22:09:23 2017 (r319164) @@ -1126,6 +1126,10 @@ _LIBCPP_FUNC_VIS extern "C" void __sanit # define _LIBCPP_HAS_NO_IS_AGGREGATE #endif +#if !defined(__cpp_coroutines) || __cpp_coroutines < 201703L +# define _LIBCPP_HAS_NO_COROUTINES +#endif + #endif // __cplusplus // Decide whether to use availability macros. Modified: projects/clang500-import/contrib/libc++/include/__threading_support ============================================================================== --- projects/clang500-import/contrib/libc++/include/__threading_support Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/libc++/include/__threading_support Mon May 29 22:09:23 2017 (r319164) @@ -27,7 +27,7 @@ # include # include #elif defined(_LIBCPP_HAS_THREAD_API_WIN32) -#include +#include #include #include #include <__undef_min_max> Modified: projects/clang500-import/contrib/libc++/include/algorithm ============================================================================== --- projects/clang500-import/contrib/libc++/include/algorithm Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/libc++/include/algorithm Mon May 29 22:09:23 2017 (r319164) @@ -35,6 +35,9 @@ template + InputIterator for_each_n(InputIterator first, Size n, Function f); // C++17 + template InputIterator find(InputIterator first, InputIterator last, const T& value); @@ -961,6 +964,26 @@ for_each(_InputIterator __first, _InputI return __f; } +#if _LIBCPP_STD_VER > 14 +// for_each_n + +template +inline _LIBCPP_INLINE_VISIBILITY +_InputIterator +for_each_n(_InputIterator __first, _Size __orig_n, _Function __f) +{ + typedef decltype(__convert_to_integral(__orig_n)) _IntegralSize; + _IntegralSize __n = __orig_n; + while (__n > 0) + { + __f(*__first); + ++__first; + --__n; + } + return __first; +} +#endif + // find template Modified: projects/clang500-import/contrib/libc++/include/experimental/__config ============================================================================== --- projects/clang500-import/contrib/libc++/include/experimental/__config Mon May 29 21:48:02 2017 (r319163) +++ projects/clang500-import/contrib/libc++/include/experimental/__config Mon May 29 22:09:23 2017 (r319164) @@ -44,6 +44,13 @@ #define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_FILESYSTEM \ } } _LIBCPP_END_NAMESPACE_EXPERIMENTAL +#define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_COROUTINES \ + _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace coroutines_v1 { + +#define _LIBCPP_END_NAMESPACE_EXPERIMENTAL_COROUTINES \ + } _LIBCPP_END_NAMESPACE_EXPERIMENTAL + +#define _VSTD_CORO _VSTD_EXPERIMENTAL::coroutines_v1 #define _VSTD_FS ::std::experimental::filesystem::v1 Copied: projects/clang500-import/contrib/libc++/include/experimental/coroutine (from r319151, vendor/libc++/dist/include/experimental/coroutine) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/libc++/include/experimental/coroutine Mon May 29 22:09:23 2017 (r319164, copy of r319151, vendor/libc++/dist/include/experimental/coroutine) @@ -0,0 +1,270 @@ +// -*- C++ -*- +//===----------------------------- coroutine -----------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP_EXPERIMENTAL_COROUTINE +#define _LIBCPP_EXPERIMENTAL_COROUTINE + +/** + experimental/coroutine synopsis + +// C++next + +namespace std { +namespace experimental { +inline namespace coroutines_v1 { + + // 18.11.1 coroutine traits +template +class coroutine_traits; +// 18.11.2 coroutine handle +template +class coroutine_handle; +// 18.11.2.7 comparison operators: +bool operator==(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT; +bool operator!=(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT; +bool operator<(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT; +bool operator<=(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT; +bool operator>=(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT; +bool operator>(coroutine_handle<> x, coroutine_handle<> y) _NOEXCEPT; +// 18.11.3 trivial awaitables +struct suspend_never; +struct suspend_always; +// 18.11.2.8 hash support: +template struct hash; +template struct hash>; + +} // namespace coroutines_v1 +} // namespace experimental +} // namespace std + + */ + +#include +#include +#include +#include +#include // for hash +#include +#include +#include <__debug> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +#pragma GCC system_header +#endif + +#ifdef _LIBCPP_HAS_NO_COROUTINES +# if defined(_LIBCPP_WARNING) + _LIBCPP_WARNING(" cannot be used with this compiler") +# else +# warning cannot be used with this compiler +# endif +#endif + +#ifndef _LIBCPP_HAS_NO_COROUTINES + +_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_COROUTINES + +template +struct __coroutine_traits_sfinae {}; + +template +struct __coroutine_traits_sfinae< + _Tp, typename __void_t::type> +{ + using promise_type = typename _Tp::promise_type; +}; + +template +struct _LIBCPP_TEMPLATE_VIS coroutine_traits + : public __coroutine_traits_sfinae<_Ret> +{ +}; + +template *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Mon May 29 22:25:36 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 125C7D82E8C for ; Mon, 29 May 2017 22:25:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C4ED465DB9; Mon, 29 May 2017 22:25:35 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v4TMPZoP031659; Mon, 29 May 2017 22:25:35 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v4TMPXlm031643; Mon, 29 May 2017 22:25:33 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201705292225.v4TMPXlm031643@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 29 May 2017 22:25:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319165 - in projects/clang500-import: . contrib/binutils/ld contrib/ofed/libcxgb4/src etc/rc.d lib/libc/sys lib/libc/tests/nss lib/libgeom lib/libkvm/tests lib/libnv/tests lib/libprocs... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 May 2017 22:25:36 -0000 Author: dim Date: Mon May 29 22:25:33 2017 New Revision: 319165 URL: https://svnweb.freebsd.org/changeset/base/319165 Log: Merge ^/head r318964 through r319164. Added: projects/clang500-import/lib/msun/man/sincos.3 - copied unchanged from r319164, head/lib/msun/man/sincos.3 projects/clang500-import/lib/msun/src/k_sincos.h - copied unchanged from r319164, head/lib/msun/src/k_sincos.h projects/clang500-import/lib/msun/src/k_sincosf.h - copied unchanged from r319164, head/lib/msun/src/k_sincosf.h projects/clang500-import/lib/msun/src/k_sincosl.h - copied unchanged from r319164, head/lib/msun/src/k_sincosl.h projects/clang500-import/lib/msun/src/s_sincos.c - copied unchanged from r319164, head/lib/msun/src/s_sincos.c projects/clang500-import/lib/msun/src/s_sincosf.c - copied unchanged from r319164, head/lib/msun/src/s_sincosf.c projects/clang500-import/lib/msun/src/s_sincosl.c - copied unchanged from r319164, head/lib/msun/src/s_sincosl.c projects/clang500-import/share/man/man4/rctl.4 - copied unchanged from r319164, head/share/man/man4/rctl.4 projects/clang500-import/share/man/man5/mount.conf.5 - copied unchanged from r319164, head/share/man/man5/mount.conf.5 projects/clang500-import/sys/fs/ext2fs/ext2_acl.c - copied unchanged from r319164, head/sys/fs/ext2fs/ext2_acl.c projects/clang500-import/sys/fs/ext2fs/ext2_acl.h - copied unchanged from r319164, head/sys/fs/ext2fs/ext2_acl.h projects/clang500-import/usr.sbin/pw/tests/pw_groupshow_test.sh - copied unchanged from r319164, head/usr.sbin/pw/tests/pw_groupshow_test.sh projects/clang500-import/usr.sbin/pw/tests/pw_usershow_test.sh - copied unchanged from r319164, head/usr.sbin/pw/tests/pw_usershow_test.sh Deleted: projects/clang500-import/sbin/mount/mount.conf.8 Modified: projects/clang500-import/ObsoleteFiles.inc projects/clang500-import/contrib/binutils/ld/configure.tgt projects/clang500-import/contrib/ofed/libcxgb4/src/qp.c projects/clang500-import/etc/rc.d/random projects/clang500-import/lib/libc/sys/getdirentries.2 projects/clang500-import/lib/libc/tests/nss/Makefile projects/clang500-import/lib/libc/tests/nss/getaddrinfo_test.c projects/clang500-import/lib/libc/tests/nss/getgr_test.c projects/clang500-import/lib/libc/tests/nss/gethostby_test.c projects/clang500-import/lib/libc/tests/nss/getproto_test.c projects/clang500-import/lib/libc/tests/nss/getpw_test.c projects/clang500-import/lib/libc/tests/nss/getrpc_test.c projects/clang500-import/lib/libc/tests/nss/getserv_test.c projects/clang500-import/lib/libc/tests/nss/getusershell_test.c projects/clang500-import/lib/libgeom/geom_stats.c projects/clang500-import/lib/libkvm/tests/kvm_geterr_test.c projects/clang500-import/lib/libnv/tests/dnv_tests.cc projects/clang500-import/lib/libnv/tests/nv_tests.cc projects/clang500-import/lib/libprocstat/Symbol.map projects/clang500-import/lib/libprocstat/libprocstat.c projects/clang500-import/lib/libprocstat/libprocstat.h projects/clang500-import/lib/libprocstat/libprocstat_compat.c projects/clang500-import/lib/libstand/bootp.c projects/clang500-import/lib/libstand/bootp.h projects/clang500-import/lib/libstand/net.h projects/clang500-import/lib/msun/Makefile projects/clang500-import/lib/msun/Symbol.map projects/clang500-import/lib/msun/src/math.h projects/clang500-import/lib/msun/src/math_private.h projects/clang500-import/lib/msun/tests/fma_test.c projects/clang500-import/lib/msun/tests/logarithm_test.c projects/clang500-import/libexec/rtld-elf/rtld.1 projects/clang500-import/sbin/mount/Makefile projects/clang500-import/sbin/reboot/boot_i386.8 projects/clang500-import/share/man/man4/Makefile projects/clang500-import/share/man/man4/cfiscsi.4 projects/clang500-import/share/man/man4/iscsi.4 projects/clang500-import/share/man/man5/Makefile projects/clang500-import/share/mk/bsd.init.mk projects/clang500-import/share/mk/bsd.own.mk projects/clang500-import/sys/amd64/linux/linux.h projects/clang500-import/sys/arm/conf/ARMADA38X projects/clang500-import/sys/boot/common/dev_net.c projects/clang500-import/sys/boot/i386/loader/Makefile projects/clang500-import/sys/boot/i386/pxeldr/pxeboot.8 projects/clang500-import/sys/cam/scsi/scsi_da.c projects/clang500-import/sys/cam/scsi/scsi_xpt.c projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c projects/clang500-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/clang500-import/sys/compat/linux/linux_misc.c projects/clang500-import/sys/conf/config.mk projects/clang500-import/sys/conf/files projects/clang500-import/sys/contrib/ipfilter/netinet/ip_nat.c projects/clang500-import/sys/contrib/ipfilter/netinet/ip_sync.c projects/clang500-import/sys/dev/ath/ath_hal/ah.c projects/clang500-import/sys/dev/atkbdc/psm.c projects/clang500-import/sys/dev/bhnd/cores/chipc/chipcreg.h projects/clang500-import/sys/dev/bhnd/cores/chipc/pwrctl/bhnd_pwrctl_subr.c projects/clang500-import/sys/dev/cxgbe/crypto/t4_crypto.c projects/clang500-import/sys/dev/etherswitch/rtl8366/rtl8366rb.c projects/clang500-import/sys/dev/etherswitch/rtl8366/rtl8366rbvar.h projects/clang500-import/sys/dev/rtwn/if_rtwn.c projects/clang500-import/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c projects/clang500-import/sys/dev/uart/uart_bus_pci.c projects/clang500-import/sys/fs/ext2fs/ext2_extattr.c projects/clang500-import/sys/fs/ext2fs/ext2_vnops.c projects/clang500-import/sys/fs/nfsclient/nfs_clport.c projects/clang500-import/sys/kern/sys_socket.c projects/clang500-import/sys/kern/vfs_vnops.c projects/clang500-import/sys/mips/atheros/ar71xxreg.h projects/clang500-import/sys/mips/broadcom/bcm_pmu.c projects/clang500-import/sys/mips/conf/AP93.hints projects/clang500-import/sys/mips/conf/AR724X_BASE projects/clang500-import/sys/modules/ext2fs/Makefile projects/clang500-import/sys/modules/linux/Makefile projects/clang500-import/sys/modules/linux64/Makefile projects/clang500-import/sys/net/if_lagg.c projects/clang500-import/sys/netipsec/ipsec.h projects/clang500-import/sys/netipsec/ipsec_input.c projects/clang500-import/sys/netipsec/ipsec_output.c projects/clang500-import/sys/netipsec/key_debug.h projects/clang500-import/sys/netipsec/xform_ah.c projects/clang500-import/sys/netipsec/xform_esp.c projects/clang500-import/sys/netipsec/xform_ipcomp.c projects/clang500-import/sys/sys/user.h projects/clang500-import/sys/sys/vnode.h projects/clang500-import/sys/vm/swap_pager.c projects/clang500-import/tests/sys/file/ftruncate_test.c projects/clang500-import/tests/sys/file/newfileops_on_fork_test.c projects/clang500-import/tests/sys/kern/unix_seqpacket_test.c projects/clang500-import/tests/sys/netinet/tcp_user_cookie.c projects/clang500-import/tools/regression/geom_gpt/gctl_test_helper.c projects/clang500-import/usr.bin/grep/grep.h projects/clang500-import/usr.bin/grep/tests/grep_freebsd_test.sh projects/clang500-import/usr.bin/grep/util.c projects/clang500-import/usr.bin/mkimg/gpt.c projects/clang500-import/usr.bin/netstat/ipsec.c projects/clang500-import/usr.bin/procstat/procstat.1 projects/clang500-import/usr.bin/procstat/procstat.c projects/clang500-import/usr.bin/procstat/procstat_files.c projects/clang500-import/usr.bin/rctl/rctl.8 projects/clang500-import/usr.sbin/ctld/ctld.8 projects/clang500-import/usr.sbin/iscsid/iscsid.8 projects/clang500-import/usr.sbin/pw/tests/Makefile Directory Properties: projects/clang500-import/ (props changed) projects/clang500-import/contrib/binutils/ (props changed) projects/clang500-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang500-import/sys/contrib/ipfilter/ (props changed) Modified: projects/clang500-import/ObsoleteFiles.inc ============================================================================== --- projects/clang500-import/ObsoleteFiles.inc Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/ObsoleteFiles.inc Mon May 29 22:25:33 2017 (r319165) @@ -150,6 +150,8 @@ OLD_FILES+=usr/lib/clang/4.0.0/lib/freeb OLD_DIRS+=usr/lib/clang/4.0.0/lib/freebsd OLD_DIRS+=usr/lib/clang/4.0.0/lib OLD_DIRS+=usr/lib/clang/4.0.0 +# 20170529: mount.conf(8) -> mount.conf(5) +OLD_FILES+=usr/share/man/man8/mount.conf.8.gz # 20170525: remove misleading template OLD_FILES+=usr/share/misc/man.template # 20170525: disconnect the roff docs from the build @@ -222,6 +224,10 @@ OLD_FILES+=usr/share/doc/usd/21.troff/pa OLD_FILES+=usr/share/doc/usd/22.trofftut/paper.ascii.gz OLD_FILES+=usr/share/doc/usd/Title.ascii.gz OLD_FILES+=usr/share/doc/usd/contents.ascii.gz +# 20170523: 64-bit inode support, library version bumps +OLD_LIBS+=lib/libzfs.so.2 +OLD_LIBS+=usr/lib/libarchive.so.6 +OLD_LIBS+=usr/lib/libmilter.so.5 # 20170427: NATM configuration support removed OLD_FILES+=etc/rc.d/atm1 OLD_FILES+=etc/rc.d/atm2 Modified: projects/clang500-import/contrib/binutils/ld/configure.tgt ============================================================================== --- projects/clang500-import/contrib/binutils/ld/configure.tgt Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/contrib/binutils/ld/configure.tgt Mon May 29 22:25:33 2017 (r319165) @@ -480,7 +480,7 @@ powerpc-*-lynxos*) targ_emul=ppclynx ;; rs6000-*-aix5*) targ_emul=aix5rs6 ;; rs6000-*-aix*) targ_emul=aixrs6 ;; -s390x-*-freebsd*) targ_emul=elf64_s390 +s390x-*-freebsd*) targ_emul=elf64_s390 targ_extra_emuls=elf_s390 targ_extra_libpath=$targ_extra_emuls tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; @@ -490,7 +490,7 @@ s390x-*-linux*) targ_emul=elf64_ tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; s390x-*-tpf*) targ_emul=elf64_s390 tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; -s390-*-freebsd*) targ_emul=elf_s390 +s390-*-freebsd*) targ_emul=elf_s390 targ64_extra_emuls=elf64_s390 targ64_extra_libpath=elf64_s390 tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` Modified: projects/clang500-import/contrib/ofed/libcxgb4/src/qp.c ============================================================================== --- projects/clang500-import/contrib/ofed/libcxgb4/src/qp.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/contrib/ofed/libcxgb4/src/qp.c Mon May 29 22:25:33 2017 (r319165) @@ -47,39 +47,49 @@ struct c4iw_stats c4iw_stats; static void copy_wr_to_sq(struct t4_wq *wq, union t4_wr *wqe, u8 len16) { - u64 *src, *dst; - - src = (u64 *)wqe; - dst = (u64 *)((u8 *)wq->sq.queue + wq->sq.wq_pidx * T4_EQ_ENTRY_SIZE); + void *src, *dst; + uintptr_t end; + int total, len; + + src = &wqe->flits[0]; + dst = &wq->sq.queue->flits[wq->sq.wq_pidx * + (T4_EQ_ENTRY_SIZE / sizeof(__be64))]; if (t4_sq_onchip(wq)) { len16 = align(len16, 4); wc_wmb(); } - while (len16) { - *dst++ = *src++; - if (dst == (u64 *)&wq->sq.queue[wq->sq.size]) - dst = (u64 *)wq->sq.queue; - *dst++ = *src++; - if (dst == (u64 *)&wq->sq.queue[wq->sq.size]) - dst = (u64 *)wq->sq.queue; - len16--; + + total = len16 * 16; + end = (uintptr_t)&wq->sq.queue[wq->sq.size]; + if (__predict_true((uintptr_t)dst + total <= end)) { + /* Won't wrap around. */ + memcpy(dst, src, total); + } else { + len = end - (uintptr_t)dst; + memcpy(dst, src, len); + memcpy(wq->sq.queue, src + len, total - len); } } static void copy_wr_to_rq(struct t4_wq *wq, union t4_recv_wr *wqe, u8 len16) { - u64 *src, *dst; - - src = (u64 *)wqe; - dst = (u64 *)((u8 *)wq->rq.queue + wq->rq.wq_pidx * T4_EQ_ENTRY_SIZE); - while (len16) { - *dst++ = *src++; - if (dst >= (u64 *)&wq->rq.queue[wq->rq.size]) - dst = (u64 *)wq->rq.queue; - *dst++ = *src++; - if (dst >= (u64 *)&wq->rq.queue[wq->rq.size]) - dst = (u64 *)wq->rq.queue; - len16--; + void *src, *dst; + uintptr_t end; + int total, len; + + src = &wqe->flits[0]; + dst = &wq->rq.queue->flits[wq->rq.wq_pidx * + (T4_EQ_ENTRY_SIZE / sizeof(__be64))]; + + total = len16 * 16; + end = (uintptr_t)&wq->rq.queue[wq->rq.size]; + if (__predict_true((uintptr_t)dst + total <= end)) { + /* Won't wrap around. */ + memcpy(dst, src, total); + } else { + len = end - (uintptr_t)dst; + memcpy(dst, src, len); + memcpy(wq->rq.queue, src + len, total - len); } } Modified: projects/clang500-import/etc/rc.d/random ============================================================================== --- projects/clang500-import/etc/rc.d/random Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/etc/rc.d/random Mon May 29 22:25:33 2017 (r319165) @@ -20,12 +20,14 @@ saveseed_cmd="${name}_stop" save_dev_random() { + oumask=`umask` + umask 077 for f ; do - if :>>"$f" ; then - debug "saving entropy to $f" - dd if=/dev/random of="$f" bs=4096 count=1 2>/dev/null - fi + debug "saving entropy to $f" + dd if=/dev/random of="$f" bs=4096 count=1 status=none && + chmod 600 "$f" done + umask ${oumask} } feed_dev_random() Modified: projects/clang500-import/lib/libc/sys/getdirentries.2 ============================================================================== --- projects/clang500-import/lib/libc/sys/getdirentries.2 Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/sys/getdirentries.2 Mon May 29 22:25:33 2017 (r319165) @@ -28,7 +28,7 @@ .\" @(#)getdirentries.2 8.2 (Berkeley) 5/3/95 .\" $FreeBSD$ .\" -.Dd May 3, 1995 +.Dd May 28, 2017 .Dt GETDIRENTRIES 2 .Os .Sh NAME @@ -71,10 +71,11 @@ The data in the buffer is a series of .Vt dirent structures each containing the following entries: .Bd -literal -offset indent -uint32_t d_fileno; -uint16_t d_reclen; -uint8_t d_type; -uint8_t d_namlen; +ino_t d_fileno; +off_t d_off; +uint16_t d_reclen; +uint8_t d_type; +uint16_t d_namlen; char d_name[MAXNAMLEN + 1]; /* see below */ .Ed .Pp @@ -124,7 +125,10 @@ or A value of zero is returned when the end of the directory has been reached. .Pp -The +If the +.Fa basep +pointer value is non-NULL , +the .Fn getdirentries system call writes the position of the block read into the location pointed to by .Fa basep . @@ -157,7 +161,7 @@ is not a valid file descriptor open for .It Bq Er EFAULT Either .Fa buf -or +or non-NULL .Fa basep point outside the allocated address space. .It Bq Er EINVAL Modified: projects/clang500-import/lib/libc/tests/nss/Makefile ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/Makefile Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/Makefile Mon May 29 22:25:33 2017 (r319165) @@ -1,18 +1,13 @@ # $FreeBSD$ +.PATH: ${.CURDIR:H}/resolv + PACKAGE= tests TESTSDIR= ${TESTSBASE}/lib/libc/nss BINDIR= ${TESTSDIR} -.PATH: ${.CURDIR:H}/resolv - -${PACKAGE}FILES+= mach - -WARNS?= 1 -CFLAGS+= -I${SRCTOP}/tests - ATF_TESTS_C+= getaddrinfo_test ATF_TESTS_C+= getgr_test ATF_TESTS_C+= gethostby_test @@ -23,4 +18,10 @@ ATF_TESTS_C+= getrpc_test ATF_TESTS_C+= getserv_test ATF_TESTS_C+= getusershell_test +${PACKAGE}FILES+= mach + +WARNS?= 3 + +CFLAGS+= -I${SRCTOP}/tests + .include Modified: projects/clang500-import/lib/libc/tests/nss/getaddrinfo_test.c ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/getaddrinfo_test.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/getaddrinfo_test.c Mon May 29 22:25:33 2017 (r319165) @@ -28,7 +28,7 @@ #include __FBSDID("$FreeBSD$"); -#include +#include #include #include #include @@ -125,7 +125,8 @@ compare_addrinfo_(struct addrinfo *ai1, } static int -compare_addrinfo(struct addrinfo *ai1, struct addrinfo *ai2, void *mdata) +compare_addrinfo(struct addrinfo *ai1, struct addrinfo *ai2, + void *mdata __unused) { int rv; @@ -144,7 +145,7 @@ compare_addrinfo(struct addrinfo *ai1, s return (rv); } -void +static void free_addrinfo(struct addrinfo *ai) { if (ai == NULL) @@ -164,30 +165,30 @@ sdump_addrinfo(struct addrinfo *ai, char ai->ai_flags, ai->ai_family, ai->ai_socktype, ai->ai_protocol, ai->ai_addrlen); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; written = snprintf(buffer, buflen, "%s ", ai->ai_canonname == NULL ? "(null)" : ai->ai_canonname); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; if (ai->ai_addr == NULL) { written = snprintf(buffer, buflen, "(null)"); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; } else { - for (i = 0; i < ai->ai_addrlen; i++) { + for (i = 0; i < (int)ai->ai_addrlen; i++) { written = snprintf(buffer, buflen, - i + 1 != ai->ai_addrlen ? "%d." : "%d", + i + 1 != (int)ai->ai_addrlen ? "%d." : "%d", ((unsigned char *)ai->ai_addr)[i]); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -199,7 +200,7 @@ sdump_addrinfo(struct addrinfo *ai, char if (ai->ai_next != NULL) { written = snprintf(buffer, buflen, ":"); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -309,12 +310,11 @@ addrinfo_read_snapshot_func(struct addri { struct addrinfo *ai2; char *s, *ps; - int i, rv; + int rv; printf("1 line read from snapshot:\n%s\n", line); rv = 0; - i = 0; ps = line; s = strsep(&ps, ":"); @@ -344,7 +344,7 @@ addrinfo_read_snapshot_func(struct addri } static int -addrinfo_test_correctness(struct addrinfo *ai, void *mdata) +addrinfo_test_correctness(struct addrinfo *ai, void *mdata __unused) { printf("testing correctness with the following data:\n"); @@ -409,12 +409,20 @@ addrinfo_read_hostlist_func(struct addri return (0); } -void -run_tests(char *hostlist_file, char *snapshot_file, int ai_family) +static void +run_tests(char *hostlist_file, const char *snapshot_file, int ai_family) { struct addrinfo_test_data td, td_snap; + char *snapshot_file_copy; int rv; + if (snapshot_file == NULL) + snapshot_file_copy = NULL; + else { + snapshot_file_copy = strdup(snapshot_file); + ATF_REQUIRE(snapshot_file_copy != NULL); + } + memset(&hints, 0, sizeof(struct addrinfo)); hints.ai_family = ai_family; hints.ai_flags = AI_CANONNAME; @@ -477,24 +485,17 @@ fin: TEST_DATA_DESTROY(addrinfo, &td_snap); TEST_DATA_DESTROY(addrinfo, &td); - free(hostlist_file); - free(snapshot_file); + free(snapshot_file_copy); } #define HOSTLIST_FILE "mach" #define RUN_TESTS(tc, snapshot_file, ai_family) do { \ char *_hostlist_file; \ - char *_snapshot_file; \ ATF_REQUIRE(0 < asprintf(&_hostlist_file, "%s/%s", \ atf_tc_get_config_var(tc, "srcdir"), HOSTLIST_FILE)); \ - if (snapshot_file == NULL) \ - _snapshot_file = NULL; \ - else { \ - _snapshot_file = strdup(snapshot_file); \ - ATF_REQUIRE(_snapshot_file != NULL); \ - } \ - run_tests(_hostlist_file, _snapshot_file, ai_family); \ -} while(0) + run_tests(_hostlist_file, snapshot_file, ai_family); \ + free(_hostlist_file); \ +} while (0) ATF_TC_WITHOUT_HEAD(pf_unspec); ATF_TC_BODY(pf_unspec, tc) Modified: projects/clang500-import/lib/libc/tests/nss/getgr_test.c ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/getgr_test.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/getgr_test.c Mon May 29 22:25:33 2017 (r319165) @@ -49,8 +49,6 @@ enum test_methods { TEST_BUILD_SNAPSHOT = 16, }; -static enum test_methods method = TEST_BUILD_SNAPSHOT; - DECLARE_TEST_DATA(group) DECLARE_TEST_FILE_SNAPSHOT(group) DECLARE_1PASS_TEST(group) @@ -104,7 +102,7 @@ clone_group(struct group *dest, struct g for (cp = src->gr_mem; *cp; ++cp) ++members_num; - dest->gr_mem = calloc(1, (members_num + 1) * sizeof(char *)); + dest->gr_mem = calloc(members_num + 1, sizeof(char *)); ATF_REQUIRE(dest->gr_mem != NULL); for (cp = src->gr_mem; *cp; ++cp) { @@ -179,7 +177,7 @@ sdump_group(struct group *grp, char *buf written = snprintf(buffer, buflen, "%s:%s:%d:", grp->gr_name, grp->gr_passwd, grp->gr_gid); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -189,7 +187,7 @@ sdump_group(struct group *grp, char *buf written = snprintf(buffer, buflen, "%s%s", cp == grp->gr_mem ? "" : ",", *cp); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -309,7 +307,7 @@ group_fill_test_data(struct group_test_d } static int -group_test_correctness(struct group *grp, void *mdata) +group_test_correctness(struct group *grp, void *mdata __unused) { printf("testing correctness with the following data:\n"); dump_group(grp); @@ -387,7 +385,7 @@ group_test_getgrgid(struct group *grp_mo } static int -group_test_getgrent(struct group *grp, void *mdata) +group_test_getgrent(struct group *grp, void *mdata __unused) { /* Only correctness can be checked when doing 1-pass test for * getgrent(). */ Modified: projects/clang500-import/lib/libc/tests/nss/gethostby_test.c ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/gethostby_test.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/gethostby_test.c Mon May 29 22:25:33 2017 (r319165) @@ -87,8 +87,6 @@ static int hostent_test_gethostbyaddr(st static int hostent_test_getaddrinfo_eq(struct hostent *, void *); static int hostent_test_getnameinfo_eq(struct hostent *, void *); -static void usage(void) __attribute__((__noreturn__)); - IMPLEMENT_TEST_DATA(hostent) IMPLEMENT_TEST_FILE_SNAPSHOT(hostent) IMPLEMENT_1PASS_TEST(hostent) @@ -163,8 +161,7 @@ clone_hostent(struct hostent *dest, stru for (cp = src->h_aliases; *cp; ++cp) ++aliases_num; - dest->h_aliases = calloc(1, (aliases_num + 1) * - sizeof(char *)); + dest->h_aliases = calloc(aliases_num + 1, sizeof(char *)); ATF_REQUIRE(dest->h_aliases != NULL); for (cp = src->h_aliases; *cp; ++cp) { @@ -178,7 +175,7 @@ clone_hostent(struct hostent *dest, stru for (cp = src->h_addr_list; *cp; ++cp) ++addrs_num; - dest->h_addr_list = calloc(1, (addrs_num + 1) * sizeof(char *)); + dest->h_addr_list = calloc(addrs_num + 1, sizeof(char *)); ATF_REQUIRE(dest->h_addr_list != NULL); for (cp = src->h_addr_list; *cp; ++cp) { @@ -413,7 +410,7 @@ sdump_hostent(struct hostent *ht, char * written = snprintf(buffer, buflen, "%s %d %d", ht->h_name, ht->h_addrtype, ht->h_length); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -422,7 +419,7 @@ sdump_hostent(struct hostent *ht, char * for (cp = ht->h_aliases; *cp; ++cp) { written = snprintf(buffer, buflen, " %s",*cp); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -432,59 +429,61 @@ sdump_hostent(struct hostent *ht, char * } else { written = snprintf(buffer, buflen, " noaliases"); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; } } else { written = snprintf(buffer, buflen, " (null)"); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; } written = snprintf(buffer, buflen, " : "); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; if (ht->h_addr_list != NULL) { if (*(ht->h_addr_list) != NULL) { for (cp = ht->h_addr_list; *cp; ++cp) { - for (i = 0; i < ht->h_length; ++i ) { - written = snprintf(buffer, buflen, - i + 1 != ht->h_length ? "%d." : "%d", - (unsigned char)(*cp)[i]); - buffer += written; - if (written > buflen) - return; - buflen -= written; + for (i = 0; i < (size_t)ht->h_length; ++i) { + written = snprintf(buffer, buflen, + i + 1 != (size_t)ht->h_length ? + "%d." : "%d", + (unsigned char)(*cp)[i]); + buffer += written; + if (written > (int)buflen) + return; + buflen -= written; - if (buflen == 0) - return; - } + if (buflen == 0) + return; + } - if (*(cp + 1) ) { - written = snprintf(buffer, buflen, " "); - buffer += written; - if (written > buflen) - return; - buflen -= written; - } + if (*(cp + 1)) { + written = snprintf(buffer, buflen, + " "); + buffer += written; + if (written > (int)buflen) + return; + buflen -= written; + } } } else { written = snprintf(buffer, buflen, " noaddrs"); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; } } else { written = snprintf(buffer, buflen, " (null)"); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; } @@ -676,7 +675,7 @@ dump_hostent(struct hostent *result) } static int -hostent_test_correctness(struct hostent *ht, void *mdata) +hostent_test_correctness(struct hostent *ht, void *mdata __unused) { #ifdef DEBUG @@ -759,7 +758,7 @@ hostent_test_gethostbyaddr(struct hosten } static int -hostent_test_getaddrinfo_eq(struct hostent *he, void *mdata) +hostent_test_getaddrinfo_eq(struct hostent *he, void *mdata __unused) { struct addrinfo *ai, hints; int rv; @@ -777,28 +776,30 @@ hostent_test_getaddrinfo_eq(struct hoste rv = getaddrinfo(he->h_name, NULL, &hints, &ai); if (rv == 0) { printf("not ok - shouldn't have been resolved\n"); - return (-1); - } + rv = -1; + } else + rv = 0; } else { rv = getaddrinfo(he->h_name, NULL, &hints, &ai); if (rv != 0) { printf("not ok - should have been resolved\n"); - return (-1); + rv = -1; + goto done; } - rv = is_hostent_equal(he, ai); if (rv != 0) { printf("not ok - addrinfo and hostent are not equal\n"); - return (-1); + rv = -1; } - } - - return (0); +done: + if (ai != NULL) + freeaddrinfo(ai); + return (rv); } static int -hostent_test_getnameinfo_eq(struct hostent *he, void *mdata) +hostent_test_getnameinfo_eq(struct hostent *he, void *mdata __unused) { char **cp; char buffer[NI_MAXHOST]; @@ -885,7 +886,7 @@ hostent_test_getnameinfo_eq(struct hoste * An address might reverse resolve to hostname alias or the * official hostname, e.g. moon.vub.ac.be. */ - bool found_a_match; + bool found_a_match = false; if (strcmp(result->h_name, buffer) == 0) { found_a_match = true; @@ -921,15 +922,24 @@ hostent_test_getnameinfo_eq(struct hoste return (0); } -int -run_tests(const char *hostlist_file, const char *snapshot_file, int af_type, +static int +run_tests(const char *hostlist_file, const char *snapshot_file, int _af_type, enum test_methods method, bool use_ipv6_mapping) { + char *snapshot_file_copy; struct hostent_test_data td, td_addr, td_snap; res_state statp; int rv = -2; - switch (af_type) { + if (snapshot_file == NULL) + snapshot_file_copy = NULL; + else { + snapshot_file_copy = strdup(snapshot_file); + ATF_REQUIRE(snapshot_file_copy != NULL); + } + snapshot_file = snapshot_file_copy; + + switch (_af_type) { case AF_INET: ATF_REQUIRE_FEATURE("inet"); ATF_REQUIRE(!use_ipv6_mapping); @@ -938,7 +948,7 @@ run_tests(const char *hostlist_file, con ATF_REQUIRE_FEATURE("inet6"); break; default: - atf_tc_fail("unhandled address family: %d", af_type); + atf_tc_fail("unhandled address family: %d", _af_type); break; } @@ -947,8 +957,8 @@ run_tests(const char *hostlist_file, con if (statp == NULL || ((statp->options & RES_INIT) == 0 && res_ninit(statp) == -1)) { printf("error: can't init res_state\n"); - - return (-1); + rv = -1; + goto fin2; } if (use_ipv6_mapping) @@ -1052,6 +1062,9 @@ fin: TEST_DATA_DESTROY(hostent, &td_addr); TEST_DATA_DESTROY(hostent, &td); +fin2: + free(snapshot_file_copy); + return (rv); } @@ -1060,30 +1073,24 @@ fin: #define _RUN_TESTS(tc, snapshot_file, af_type, method, use_ipv6_mapping) \ do { \ char *_hostlist_file; \ - char *_snapshot_file; \ ATF_REQUIRE(0 < asprintf(&_hostlist_file, "%s/%s", \ atf_tc_get_config_var(tc, "srcdir"), HOSTLIST_FILE)); \ - if (snapshot_file == NULL) \ - _snapshot_file = NULL; \ - else { \ - _snapshot_file = strdup(snapshot_file); \ - ATF_REQUIRE(_snapshot_file != NULL); \ - } \ - ATF_REQUIRE(run_tests(_hostlist_file, _snapshot_file, af_type, \ + ATF_REQUIRE(run_tests(_hostlist_file, snapshot_file, af_type, \ method, use_ipv6_mapping) == 0); \ -} while(0) + free(_hostlist_file); \ +} while (0) #define RUN_HOST_TESTS(tc, snapshot_file, af_type, method, use_ipv6_mapping) \ do { \ use_ipnode_functions = false; \ _RUN_TESTS(tc, snapshot_file, af_type, method, use_ipv6_mapping); \ -} while(0) +} while (0) #define RUN_IPNODE_TESTS(tc, snapshot_file, af_type, method, use_ipv6_mapping) \ do { \ use_ipnode_functions = true; \ _RUN_TESTS(tc, snapshot_file, af_type, method, use_ipv6_mapping); \ -} while(0) +} while (0) ATF_TC_WITHOUT_HEAD(gethostbyaddr_ipv4); ATF_TC_BODY(gethostbyaddr_ipv4, tc) Modified: projects/clang500-import/lib/libc/tests/nss/getproto_test.c ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/getproto_test.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/getproto_test.c Mon May 29 22:25:33 2017 (r319165) @@ -99,7 +99,7 @@ clone_protoent(struct protoent *dest, st for (cp = src->p_aliases; *cp; ++cp) ++aliases_num; - dest->p_aliases = calloc(1, (aliases_num+1) * sizeof(char *)); + dest->p_aliases = calloc(aliases_num + 1, sizeof(char *)); assert(dest->p_aliases != NULL); for (cp = src->p_aliases; *cp; ++cp) { @@ -172,16 +172,16 @@ sdump_protoent(struct protoent *pe, char written = snprintf(buffer, buflen, "%s %d", pe->p_name, pe->p_proto); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; if (pe->p_aliases != NULL) { if (*(pe->p_aliases) != '\0') { for (cp = pe->p_aliases; *cp; ++cp) { - written = snprintf(buffer, buflen, " %s",*cp); + written = snprintf(buffer, buflen, " %s", *cp); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -288,7 +288,7 @@ protoent_fill_test_data(struct protoent_ } static int -protoent_test_correctness(struct protoent *pe, void *mdata) +protoent_test_correctness(struct protoent *pe, void *mdata __unused) { printf("testing correctness with the following data:\n"); dump_protoent(pe); @@ -388,14 +388,14 @@ protoent_test_getprotobynumber(struct pr } static int -protoent_test_getprotoent(struct protoent *pe, void *mdata) +protoent_test_getprotoent(struct protoent *pe, void *mdata __unused) { /* Only correctness can be checked when doing 1-pass test for * getprotoent(). */ return (protoent_test_correctness(pe, NULL)); } -int +static int run_tests(const char *snapshot_file, enum test_methods method) { struct protoent_test_data td, td_snap, td_2pass; Modified: projects/clang500-import/lib/libc/tests/nss/getpw_test.c ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/getpw_test.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/getpw_test.c Mon May 29 22:25:33 2017 (r319165) @@ -47,8 +47,6 @@ enum test_methods { TEST_BUILD_SNAPSHOT }; -static enum test_methods method = TEST_BUILD_SNAPSHOT; - DECLARE_TEST_DATA(passwd) DECLARE_TEST_FILE_SNAPSHOT(passwd) DECLARE_1PASS_TEST(passwd) @@ -59,7 +57,9 @@ static int compare_passwd(struct passwd static void free_passwd(struct passwd *); static void sdump_passwd(struct passwd *, char *, size_t); +#ifdef DEBUG static void dump_passwd(struct passwd *); +#endif static int passwd_read_snapshot_func(struct passwd *, char *); @@ -97,7 +97,7 @@ clone_passwd(struct passwd *dest, struct } static int -compare_passwd(struct passwd *pwd1, struct passwd *pwd2, void *mdata) +compare_passwd(struct passwd *pwd1, struct passwd *pwd2, void *mdata __unused) { ATF_REQUIRE(pwd1 != NULL); ATF_REQUIRE(pwd2 != NULL); @@ -142,6 +142,7 @@ sdump_passwd(struct passwd *pwd, char *b pwd->pw_fields); } +#ifdef DEBUG static void dump_passwd(struct passwd *pwd) { @@ -152,6 +153,7 @@ dump_passwd(struct passwd *pwd) } else printf("(null)\n"); } +#endif static int passwd_read_snapshot_func(struct passwd *pwd, char *line) @@ -251,7 +253,7 @@ passwd_fill_test_data(struct passwd_test } static int -passwd_test_correctness(struct passwd *pwd, void *mdata) +passwd_test_correctness(struct passwd *pwd, void *mdata __unused) { #ifdef DEBUG @@ -363,7 +365,7 @@ passwd_test_getpwuid(struct passwd *pwd_ } static int -passwd_test_getpwent(struct passwd *pwd, void *mdata) +passwd_test_getpwent(struct passwd *pwd, void *mdata __unused) { /* Only correctness can be checked when doing 1-pass test for * getpwent(). */ Modified: projects/clang500-import/lib/libc/tests/nss/getrpc_test.c ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/getrpc_test.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/getrpc_test.c Mon May 29 22:25:33 2017 (r319165) @@ -70,8 +70,6 @@ static int rpcent_test_getrpcbyname(stru static int rpcent_test_getrpcbynumber(struct rpcent *, void *); static int rpcent_test_getrpcent(struct rpcent *, void *); -static void usage(void) __attribute__((__noreturn__)); - IMPLEMENT_TEST_DATA(rpcent) IMPLEMENT_TEST_FILE_SNAPSHOT(rpcent) IMPLEMENT_1PASS_TEST(rpcent) @@ -100,7 +98,7 @@ clone_rpcent(struct rpcent *dest, struct for (cp = src->r_aliases; *cp; ++cp) ++aliases_num; - dest->r_aliases = calloc(1, (aliases_num + 1) * sizeof(char *)); + dest->r_aliases = calloc(aliases_num + 1, sizeof(char *)); ATF_REQUIRE(dest->r_aliases != NULL); for (cp = src->r_aliases; *cp; ++cp) { @@ -173,16 +171,16 @@ sdump_rpcent(struct rpcent *rpc, char *b written = snprintf(buffer, buflen, "%s %d", rpc->r_name, rpc->r_number); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; if (rpc->r_aliases != NULL) { if (*(rpc->r_aliases) != '\0') { for (cp = rpc->r_aliases; *cp; ++cp) { - written = snprintf(buffer, buflen, " %s",*cp); + written = snprintf(buffer, buflen, " %s", *cp); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -289,7 +287,7 @@ rpcent_fill_test_data(struct rpcent_test } static int -rpcent_test_correctness(struct rpcent *rpc, void *mdata) +rpcent_test_correctness(struct rpcent *rpc, void *mdata __unused) { printf("testing correctness with the following data:\n"); @@ -390,7 +388,7 @@ rpcent_test_getrpcbynumber(struct rpcent } static int -rpcent_test_getrpcent(struct rpcent *rpc, void *mdata) +rpcent_test_getrpcent(struct rpcent *rpc, void *mdata __unused) { /* @@ -400,7 +398,7 @@ rpcent_test_getrpcent(struct rpcent *rpc return (rpcent_test_correctness(rpc, NULL)); } -int +static int run_tests(const char *snapshot_file, enum test_methods method) { struct rpcent_test_data td, td_snap, td_2pass; Modified: projects/clang500-import/lib/libc/tests/nss/getserv_test.c ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/getserv_test.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/getserv_test.c Mon May 29 22:25:33 2017 (r319165) @@ -102,7 +102,7 @@ clone_servent(struct servent *dest, stru for (cp = src->s_aliases; *cp; ++cp) ++aliases_num; - dest->s_aliases = calloc(1, (aliases_num + 1) * sizeof(char *)); + dest->s_aliases = calloc(aliases_num + 1, sizeof(char *)); ATF_REQUIRE(dest->s_aliases != NULL); for (cp = src->s_aliases; *cp; ++cp) { @@ -177,16 +177,16 @@ sdump_servent(struct servent *serv, char written = snprintf(buffer, buflen, "%s %d %s", serv->s_name, ntohs(serv->s_port), serv->s_proto); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; if (serv->s_aliases != NULL) { if (*(serv->s_aliases) != '\0') { for (cp = serv->s_aliases; *cp; ++cp) { - written = snprintf(buffer, buflen, " %s",*cp); + written = snprintf(buffer, buflen, " %s", *cp); buffer += written; - if (written > buflen) + if (written > (int)buflen) return; buflen -= written; @@ -300,7 +300,7 @@ servent_fill_test_data(struct servent_te } static int -servent_test_correctness(struct servent *serv, void *mdata) +servent_test_correctness(struct servent *serv, void *mdata __unused) { printf("testing correctness with the following data:\n"); dump_servent(serv); @@ -403,14 +403,14 @@ servent_test_getservbyport(struct serven } static int -servent_test_getservent(struct servent *serv, void *mdata) +servent_test_getservent(struct servent *serv, void *mdata __unused) { /* Only correctness can be checked when doing 1-pass test for * getservent(). */ return (servent_test_correctness(serv, NULL)); } -int +static int run_tests(const char *snapshot_file, enum test_methods method) { struct servent_test_data td, td_snap, td_2pass; Modified: projects/clang500-import/lib/libc/tests/nss/getusershell_test.c ============================================================================== --- projects/clang500-import/lib/libc/tests/nss/getusershell_test.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libc/tests/nss/getusershell_test.c Mon May 29 22:25:33 2017 (r319165) @@ -48,8 +48,6 @@ struct usershell { char *path; }; -static enum test_methods method = TEST_GETUSERSHELL; - DECLARE_TEST_DATA(usershell) DECLARE_TEST_FILE_SNAPSHOT(usershell) DECLARE_2PASS_TEST(usershell) @@ -78,7 +76,8 @@ clone_usershell(struct usershell *dest, } static int -compare_usershell(struct usershell *us1, struct usershell *us2, void *mdata) +compare_usershell(struct usershell *us1, struct usershell *us2, + void *mdata __unused) { int rv; @@ -134,7 +133,7 @@ usershell_read_snapshot_func(struct user return (0); } -int +static int run_tests(const char *snapshot_file, enum test_methods method) { struct usershell_test_data td, td_snap; Modified: projects/clang500-import/lib/libgeom/geom_stats.c ============================================================================== --- projects/clang500-import/lib/libgeom/geom_stats.c Mon May 29 22:09:23 2017 (r319164) +++ projects/clang500-import/lib/libgeom/geom_stats.c Mon May 29 22:25:33 2017 (r319165) @@ -87,8 +87,6 @@ geom_stats_open(void) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Mon May 29 22:25:57 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8AC5ED82EB3 for ; Mon, 29 May 2017 22:25:57 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5BA2D65E8A; Mon, 29 May 2017 22:25:57 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v4TMPujt031716; Mon, 29 May 2017 22:25:56 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v4TMPutE031715; Mon, 29 May 2017 22:25:56 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201705292225.v4TMPutE031715@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 29 May 2017 22:25:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319166 - projects/clang500-import/lib/clang/libllvm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 May 2017 22:25:57 -0000 Author: dim Date: Mon May 29 22:25:56 2017 New Revision: 319166 URL: https://svnweb.freebsd.org/changeset/base/319166 Log: Add one more file to libllvm. Modified: projects/clang500-import/lib/clang/libllvm/Makefile Modified: projects/clang500-import/lib/clang/libllvm/Makefile ============================================================================== --- projects/clang500-import/lib/clang/libllvm/Makefile Mon May 29 22:25:33 2017 (r319165) +++ projects/clang500-import/lib/clang/libllvm/Makefile Mon May 29 22:25:56 2017 (r319166) @@ -347,7 +347,7 @@ SRCS_MIN+= DebugInfo/CodeView/TypeDataba SRCS_MIN+= DebugInfo/CodeView/TypeDatabaseVisitor.cpp SRCS_MIN+= DebugInfo/CodeView/TypeDumpVisitor.cpp SRCS_MIN+= DebugInfo/CodeView/TypeIndex.cpp -#SRCS_MIN+= DebugInfo/CodeView/TypeIndexDiscovery.cpp +SRCS_MIN+= DebugInfo/CodeView/TypeIndexDiscovery.cpp SRCS_MIN+= DebugInfo/CodeView/TypeRecordMapping.cpp SRCS_MIN+= DebugInfo/CodeView/TypeSerializer.cpp SRCS_MIN+= DebugInfo/CodeView/TypeStreamMerger.cpp From owner-svn-src-projects@freebsd.org Tue May 30 19:24:12 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AA4B8BDA091 for ; Tue, 30 May 2017 19:24:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5482075E7B; Tue, 30 May 2017 19:24:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v4UJOBBf092534; Tue, 30 May 2017 19:24:11 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v4UJO9AW092515; Tue, 30 May 2017 19:24:09 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201705301924.v4UJO9AW092515@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 30 May 2017 19:24:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319250 - in projects/clang500-import: contrib/libc++/include contrib/libc++/include/experimental contrib/llvm/include/llvm/Analysis contrib/llvm/include/llvm/CodeGen contrib/llvm/inclu... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 May 2017 19:24:12 -0000 Author: dim Date: Tue May 30 19:24:09 2017 New Revision: 319250 URL: https://svnweb.freebsd.org/changeset/base/319250 Log: Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304222, and update build glue. Added: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsection.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h - copied unchanged from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugChecksumsSubsection.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugChecksumsSubsection.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugLinesSubsection.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugLinesSubsection.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsection.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsection.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSymbolsSubsection.cpp - copied unchanged from r319241, vendor/llvm/dist/lib/DebugInfo/CodeView/DebugSymbolsSubsection.cpp projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrDFP.td - copied unchanged from r319241, vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrDFP.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrHFP.td - copied unchanged from r319241, vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrHFP.td projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp - copied unchanged from r319242, vendor/clang/dist/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp Deleted: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleDebugFileChecksumFragment.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleDebugFragment.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleDebugFragmentRecord.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleDebugFragmentVisitor.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleDebugLineFragment.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/ModuleDebugUnknownFragment.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/StringTable.h projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/ModuleDebugFileChecksumFragment.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/ModuleDebugFragment.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/ModuleDebugFragmentRecord.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/ModuleDebugFragmentVisitor.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/ModuleDebugLineFragment.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/StringTable.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorPastEndChecker.cpp projects/clang500-import/contrib/llvm/tools/llvm-readobj/CodeView.h Modified: projects/clang500-import/contrib/libc++/include/experimental/coroutine projects/clang500-import/contrib/libc++/include/module.modulemap projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/DIE.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiStream.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h projects/clang500-import/contrib/llvm/include/llvm/MC/ConstantPools.h projects/clang500-import/contrib/llvm/include/llvm/Support/ManagedStatic.h projects/clang500-import/contrib/llvm/include/llvm/TableGen/Record.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar/GVNExpression.h projects/clang500-import/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/Localizer.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/EnumTables.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp projects/clang500-import/contrib/llvm/lib/MC/MCCodeView.cpp projects/clang500-import/contrib/llvm/lib/Support/APFloat.cpp projects/clang500-import/contrib/llvm/lib/Support/Timer.cpp projects/clang500-import/contrib/llvm/lib/TableGen/Record.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZ.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZFeatures.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrFP.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrFormats.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ13.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ196.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.h projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/clang500-import/contrib/llvm/tools/clang/include/clang-c/Index.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/LinkerScript.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/LinkerScript.h projects/clang500-import/contrib/llvm/tools/lld/ELF/MapFile.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/MapFile.h projects/clang500-import/contrib/llvm/tools/lld/ELF/OutputSections.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/ScriptParser.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/Writer.cpp projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Log.h projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/C13DebugFragmentVisitor.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/C13DebugFragmentVisitor.h projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp projects/clang500-import/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp projects/clang500-import/contrib/llvm/utils/TableGen/GlobalISelEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/X86FoldTablesEmitter.cpp projects/clang500-import/lib/clang/include/clang/Basic/Version.inc projects/clang500-import/lib/clang/include/lld/Config/Version.inc projects/clang500-import/lib/clang/include/llvm/Support/VCSRevision.h projects/clang500-import/lib/clang/libclang/Makefile projects/clang500-import/lib/clang/libllvm/Makefile Directory Properties: projects/clang500-import/contrib/compiler-rt/ (props changed) projects/clang500-import/contrib/libc++/ (props changed) projects/clang500-import/contrib/llvm/ (props changed) projects/clang500-import/contrib/llvm/tools/clang/ (props changed) projects/clang500-import/contrib/llvm/tools/lld/ (props changed) projects/clang500-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang500-import/contrib/libc++/include/experimental/coroutine ============================================================================== --- projects/clang500-import/contrib/libc++/include/experimental/coroutine Tue May 30 18:08:33 2017 (r319249) +++ projects/clang500-import/contrib/libc++/include/experimental/coroutine Tue May 30 19:24:09 2017 (r319250) @@ -145,6 +145,19 @@ class _LIBCPP_TEMPLATE_VIS coroutine_handle { (p return __tmp; } + // FIXME: Should from_address(nullptr) be allowed? + _LIBCPP_ALWAYS_INLINE + static coroutine_handle from_address(nullptr_t) _NOEXCEPT { + return coroutine_handle(nullptr); + } + + template + static coroutine_handle from_address(_Tp*) { + static_assert(_CallIsValid, + "coroutine_handle::from_address cannot be called with " + "non-void pointers"); + } + private: bool __is_suspended() const _NOEXCEPT { // FIXME actually implement a check for if the coro is suspended. @@ -218,11 +231,22 @@ class _LIBCPP_TEMPLATE_VIS coroutine_handle : public c // FIXME: should from_address work with nullptr? _LIBCPP_ALWAYS_INLINE static coroutine_handle from_address(nullptr_t) _NOEXCEPT { - return {}; + return coroutine_handle(nullptr); } - // from_address cannot be used with the coroutines promise type. - static coroutine_handle from_address(_Promise*) = delete; + template + static coroutine_handle from_address(_Tp*) { + static_assert(_CallIsValid, + "coroutine_handle::from_address cannot be called with " + "non-void pointers"); + } + + template + static coroutine_handle from_address(_Promise*) { + static_assert(_CallIsValid, + "coroutine_handle::from_address cannot be used with " + "pointers to the coroutine's promise type; use 'from_promise' instead"); + } _LIBCPP_ALWAYS_INLINE static coroutine_handle from_promise(_Promise& __promise) _NOEXCEPT { Modified: projects/clang500-import/contrib/libc++/include/module.modulemap ============================================================================== --- projects/clang500-import/contrib/libc++/include/module.modulemap Tue May 30 18:08:33 2017 (r319249) +++ projects/clang500-import/contrib/libc++/include/module.modulemap Tue May 30 19:24:09 2017 (r319250) @@ -502,6 +502,7 @@ module std [system] { export * } module coroutine { + requires coroutines header "experimental/coroutine" export * } Modified: projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Tue May 30 18:08:33 2017 (r319249) +++ projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Tue May 30 19:24:09 2017 (r319250) @@ -1536,8 +1536,7 @@ class ScalarEvolution { (public) /// Determine if the SCEV can be evaluated at loop's entry. It is true if it /// doesn't depend on a SCEVUnknown of an instruction which is dominated by /// the header of loop L. - bool isAvailableAtLoopEntry(const SCEV *S, const Loop *L, DominatorTree &DT, - LoopInfo &LI); + bool isAvailableAtLoopEntry(const SCEV *S, const Loop *L); /// Return true if the given SCEV changes value in a known way in the /// specified loop. This property being true implies that the value is Modified: projects/clang500-import/contrib/llvm/include/llvm/CodeGen/DIE.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/CodeGen/DIE.h Tue May 30 18:08:33 2017 (r319249) +++ projects/clang500-import/contrib/llvm/include/llvm/CodeGen/DIE.h Tue May 30 19:24:09 2017 (r319250) @@ -383,11 +383,11 @@ class DIEValue { (private) return; #define HANDLE_DIEVALUE_SMALL(T) \ case is##T: \ - destruct(); + destruct(); \ return; #define HANDLE_DIEVALUE_LARGE(T) \ case is##T: \ - destruct(); + destruct(); \ return; #include "llvm/CodeGen/DIEValue.def" } Modified: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h Tue May 30 18:08:33 2017 (r319249) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h Tue May 30 19:24:09 2017 (r319250) @@ -13,6 +13,8 @@ #include #include +#include "llvm/Support/Endian.h" + namespace llvm { namespace codeview { @@ -291,7 +293,7 @@ enum class ModifierOptions : uint16_t { }; CV_DEFINE_ENUM_CLASS_FLAGS_OPERATORS(ModifierOptions) -enum class ModuleDebugFragmentKind : uint32_t { +enum class DebugSubsectionKind : uint32_t { None = 0, Symbols = 0xf1, Lines = 0xf2, @@ -549,6 +551,24 @@ enum class FileChecksumKind : uint8_t { None, MD5, SHA enum LineFlags : uint16_t { LF_None = 0, LF_HaveColumns = 1, // CV_LINES_HAVE_COLUMNS +}; + +/// Data in the the SUBSEC_FRAMEDATA subection. +struct FrameData { + support::ulittle32_t RvaStart; + support::ulittle32_t CodeSize; + support::ulittle32_t LocalSize; + support::ulittle32_t ParamsSize; + support::ulittle32_t MaxStackSize; + support::ulittle32_t FrameFunc; + support::ulittle16_t PrologSize; + support::ulittle16_t SavedRegsSize; + support::ulittle32_t Flags; + enum : uint32_t { + HasSEH = 1 << 0, + HasEH = 1 << 1, + IsFunctionStart = 1 << 2, + }; }; } } Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h) @@ -0,0 +1,98 @@ +//===- DebugChecksumsSubsection.h -------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGCHECKSUMSSUBSECTION_H +#define LLVM_DEBUGINFO_CODEVIEW_DEBUGCHECKSUMSSUBSECTION_H + +#include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/DenseMap.h" +#include "llvm/DebugInfo/CodeView/DebugSubsection.h" +#include "llvm/Support/Allocator.h" +#include "llvm/Support/BinaryStreamArray.h" +#include "llvm/Support/BinaryStreamReader.h" +#include "llvm/Support/Endian.h" + +namespace llvm { +namespace codeview { + +class DebugStringTableSubsection; + +struct FileChecksumEntry { + uint32_t FileNameOffset; // Byte offset of filename in global stringtable. + FileChecksumKind Kind; // The type of checksum. + ArrayRef Checksum; // The bytes of the checksum. +}; +} +} + +namespace llvm { +template <> struct VarStreamArrayExtractor { +public: + typedef void ContextType; + + static Error extract(BinaryStreamRef Stream, uint32_t &Len, + codeview::FileChecksumEntry &Item); +}; +} + +namespace llvm { +namespace codeview { +class DebugChecksumsSubsectionRef final : public DebugSubsectionRef { + typedef VarStreamArray FileChecksumArray; + typedef FileChecksumArray::Iterator Iterator; + +public: + DebugChecksumsSubsectionRef() + : DebugSubsectionRef(DebugSubsectionKind::FileChecksums) {} + + static bool classof(const DebugSubsectionRef *S) { + return S->kind() == DebugSubsectionKind::FileChecksums; + } + + bool valid() const { return Checksums.valid(); } + + Error initialize(BinaryStreamReader Reader); + Error initialize(BinaryStreamRef Stream); + + Iterator begin() { return Checksums.begin(); } + Iterator end() { return Checksums.end(); } + + const FileChecksumArray &getArray() const { return Checksums; } + +private: + FileChecksumArray Checksums; +}; + +class DebugChecksumsSubsection final : public DebugSubsection { +public: + explicit DebugChecksumsSubsection(DebugStringTableSubsection &Strings); + + static bool classof(const DebugSubsection *S) { + return S->kind() == DebugSubsectionKind::FileChecksums; + } + + void addChecksum(StringRef FileName, FileChecksumKind Kind, + ArrayRef Bytes); + + uint32_t calculateSerializedSize() const override; + Error commit(BinaryStreamWriter &Writer) const override; + uint32_t mapChecksumOffset(StringRef FileName) const; + +private: + DebugStringTableSubsection &Strings; + + DenseMap OffsetMap; + uint32_t SerializedSize = 0; + llvm::BumpPtrAllocator Storage; + std::vector Checksums; +}; +} +} + +#endif Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h) @@ -0,0 +1,59 @@ +//===- DebugFrameDataSubsection.h ------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGFRAMEDATASUBSECTION_H +#define LLVM_DEBUGINFO_CODEVIEW_DEBUGFRAMEDATASUBSECTION_H + +#include "llvm/DebugInfo/CodeView/CodeView.h" +#include "llvm/DebugInfo/CodeView/DebugSubsection.h" +#include "llvm/Support/BinaryStreamReader.h" +#include "llvm/Support/Error.h" + +namespace llvm { +namespace codeview { +class DebugFrameDataSubsectionRef final : public DebugSubsectionRef { +public: + DebugFrameDataSubsectionRef() + : DebugSubsectionRef(DebugSubsectionKind::FrameData) {} + static bool classof(const DebugSubsection *S) { + return S->kind() == DebugSubsectionKind::FrameData; + } + + Error initialize(BinaryStreamReader Reader); + + FixedStreamArray::Iterator begin() const { return Frames.begin(); } + FixedStreamArray::Iterator end() const { return Frames.end(); } + + const void *getRelocPtr() const { return RelocPtr; } + +private: + const uint32_t *RelocPtr = nullptr; + FixedStreamArray Frames; +}; + +class DebugFrameDataSubsection final : public DebugSubsection { +public: + DebugFrameDataSubsection() + : DebugSubsection(DebugSubsectionKind::FrameData) {} + static bool classof(const DebugSubsection *S) { + return S->kind() == DebugSubsectionKind::FrameData; + } + + uint32_t calculateSerializedSize() const override; + Error commit(BinaryStreamWriter &Writer) const override; + + void addFrameData(const FrameData &Frame); + +private: + std::vector Frames; +}; +} +} + +#endif Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h) @@ -0,0 +1,105 @@ +//===- DebugInlineeLinesSubsection.h ----------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_BUGINLINEELINESSUBSECTION_H +#define LLVM_DEBUGINFO_CODEVIEW_BUGINLINEELINESSUBSECTION_H + +#include "llvm/DebugInfo/CodeView/DebugSubsection.h" +#include "llvm/DebugInfo/CodeView/Line.h" +#include "llvm/Support/BinaryStreamArray.h" +#include "llvm/Support/BinaryStreamReader.h" +#include "llvm/Support/Error.h" + +namespace llvm { +namespace codeview { + +class DebugInlineeLinesSubsectionsRef; +class DebugChecksumsSubsection; + +enum class InlineeLinesSignature : uint32_t { + Normal, // CV_INLINEE_SOURCE_LINE_SIGNATURE + ExtraFiles // CV_INLINEE_SOURCE_LINE_SIGNATURE_EX +}; + +struct InlineeSourceLineHeader { + TypeIndex Inlinee; // ID of the function that was inlined. + support::ulittle32_t FileID; // Offset into FileChecksums subsection. + support::ulittle32_t SourceLineNum; // First line of inlined code. + // If extra files present: + // ulittle32_t ExtraFileCount; + // ulittle32_t Files[]; +}; + +struct InlineeSourceLine { + const InlineeSourceLineHeader *Header; + FixedStreamArray ExtraFiles; +}; +} + +template <> struct VarStreamArrayExtractor { + typedef bool ContextType; + + static Error extract(BinaryStreamRef Stream, uint32_t &Len, + codeview::InlineeSourceLine &Item, bool HasExtraFiles); +}; + +namespace codeview { +class DebugInlineeLinesSubsectionRef final : public DebugSubsectionRef { + typedef VarStreamArray LinesArray; + typedef LinesArray::Iterator Iterator; + +public: + DebugInlineeLinesSubsectionRef(); + + static bool classof(const DebugSubsectionRef *S) { + return S->kind() == DebugSubsectionKind::InlineeLines; + } + + Error initialize(BinaryStreamReader Reader); + bool hasExtraFiles() const; + + Iterator begin() const { return Lines.begin(); } + Iterator end() const { return Lines.end(); } + +private: + InlineeLinesSignature Signature; + VarStreamArray Lines; +}; + +class DebugInlineeLinesSubsection final : public DebugSubsection { +public: + DebugInlineeLinesSubsection(DebugChecksumsSubsection &Checksums, + bool HasExtraFiles); + + static bool classof(const DebugSubsection *S) { + return S->kind() == DebugSubsectionKind::InlineeLines; + } + + Error commit(BinaryStreamWriter &Writer) const override; + uint32_t calculateSerializedSize() const override; + + void addInlineSite(TypeIndex FuncId, StringRef FileName, uint32_t SourceLine); + void addExtraFile(StringRef FileName); + +private: + DebugChecksumsSubsection &Checksums; + + bool HasExtraFiles = false; + uint32_t ExtraFileCount = 0; + + struct Entry { + std::vector ExtraFiles; + InlineeSourceLineHeader Header; + }; + std::vector Entries; +}; +} +} + +#endif Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h) @@ -0,0 +1,143 @@ +//===- DebugLinesSubsection.h --------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGLINEFRAGMENT_H +#define LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGLINEFRAGMENT_H + +#include "llvm/DebugInfo/CodeView/DebugSubsection.h" +#include "llvm/DebugInfo/CodeView/Line.h" +#include "llvm/Support/BinaryStreamArray.h" +#include "llvm/Support/BinaryStreamReader.h" +#include "llvm/Support/Error.h" + +namespace llvm { +namespace codeview { + +class DebugChecksumsSubsection; +class DebugStringTableSubsection; + +// Corresponds to the `CV_DebugSLinesHeader_t` structure. +struct LineFragmentHeader { + support::ulittle32_t RelocOffset; // Code offset of line contribution. + support::ulittle16_t RelocSegment; // Code segment of line contribution. + support::ulittle16_t Flags; // See LineFlags enumeration. + support::ulittle32_t CodeSize; // Code size of this line contribution. +}; + +// Corresponds to the `CV_DebugSLinesFileBlockHeader_t` structure. +struct LineBlockFragmentHeader { + support::ulittle32_t NameIndex; // Offset of FileChecksum entry in File + // checksums buffer. The checksum entry then + // contains another offset into the string + // table of the actual name. + support::ulittle32_t NumLines; // Number of lines + support::ulittle32_t BlockSize; // Code size of block, in bytes. + // The following two variable length arrays appear immediately after the + // header. The structure definitions follow. + // LineNumberEntry Lines[NumLines]; + // ColumnNumberEntry Columns[NumLines]; +}; + +// Corresponds to `CV_Line_t` structure +struct LineNumberEntry { + support::ulittle32_t Offset; // Offset to start of code bytes for line number + support::ulittle32_t Flags; // Start:24, End:7, IsStatement:1 +}; + +// Corresponds to `CV_Column_t` structure +struct ColumnNumberEntry { + support::ulittle16_t StartColumn; + support::ulittle16_t EndColumn; +}; + +struct LineColumnEntry { + support::ulittle32_t NameIndex; + FixedStreamArray LineNumbers; + FixedStreamArray Columns; +}; + +class LineColumnExtractor { +public: + typedef const LineFragmentHeader *ContextType; + + static Error extract(BinaryStreamRef Stream, uint32_t &Len, + LineColumnEntry &Item, const LineFragmentHeader *Ctx); +}; + +class DebugLinesSubsectionRef final : public DebugSubsectionRef { + friend class LineColumnExtractor; + typedef VarStreamArray LineInfoArray; + typedef LineInfoArray::Iterator Iterator; + +public: + DebugLinesSubsectionRef(); + + static bool classof(const DebugSubsectionRef *S) { + return S->kind() == DebugSubsectionKind::Lines; + } + + Error initialize(BinaryStreamReader Reader); + + Iterator begin() const { return LinesAndColumns.begin(); } + Iterator end() const { return LinesAndColumns.end(); } + + const LineFragmentHeader *header() const { return Header; } + + bool hasColumnInfo() const; + +private: + const LineFragmentHeader *Header = nullptr; + LineInfoArray LinesAndColumns; +}; + +class DebugLinesSubsection final : public DebugSubsection { + struct Block { + Block(uint32_t ChecksumBufferOffset) + : ChecksumBufferOffset(ChecksumBufferOffset) {} + + uint32_t ChecksumBufferOffset; + std::vector Lines; + std::vector Columns; + }; + +public: + DebugLinesSubsection(DebugChecksumsSubsection &Checksums, + DebugStringTableSubsection &Strings); + + static bool classof(const DebugSubsection *S) { + return S->kind() == DebugSubsectionKind::Lines; + } + + void createBlock(StringRef FileName); + void addLineInfo(uint32_t Offset, const LineInfo &Line); + void addLineAndColumnInfo(uint32_t Offset, const LineInfo &Line, + uint32_t ColStart, uint32_t ColEnd); + + uint32_t calculateSerializedSize() const override; + Error commit(BinaryStreamWriter &Writer) const override; + + void setRelocationAddress(uint16_t Segment, uint16_t Offset); + void setCodeSize(uint32_t Size); + void setFlags(LineFlags Flags); + + bool hasColumnInfo() const; + +private: + DebugChecksumsSubsection &Checksums; + + uint16_t RelocOffset = 0; + uint16_t RelocSegment = 0; + uint32_t CodeSize = 0; + LineFlags Flags = LF_None; + std::vector Blocks; +}; +} +} + +#endif Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h) @@ -0,0 +1,86 @@ +//===- DebugStringTableSubsection.h - CodeView String Table -----*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGSTRINGTABLESUBSECTION_H +#define LLVM_DEBUGINFO_CODEVIEW_DEBUGSTRINGTABLESUBSECTION_H + +#include "llvm/ADT/StringMap.h" +#include "llvm/ADT/StringRef.h" +#include "llvm/DebugInfo/CodeView/DebugSubsection.h" +#include "llvm/Support/BinaryStreamRef.h" +#include "llvm/Support/Error.h" + +#include + +namespace llvm { + +class BinaryStreamReader; +class BinaryStreamRef; +class BinaryStreamWriter; + +namespace codeview { + +/// Represents a read-only view of a CodeView string table. This is a very +/// simple flat buffer consisting of null-terminated strings, where strings +/// are retrieved by their offset in the buffer. DebugStringTableSubsectionRef +/// does not own the underlying storage for the buffer. +class DebugStringTableSubsectionRef : public DebugSubsectionRef { +public: + DebugStringTableSubsectionRef(); + + static bool classof(const DebugSubsectionRef *S) { + return S->kind() == DebugSubsectionKind::StringTable; + } + + Error initialize(BinaryStreamRef Contents); + + Expected getString(uint32_t Offset) const; + + bool valid() const { return Stream.valid(); } + +private: + BinaryStreamRef Stream; +}; + +/// Represents a read-write view of a CodeView string table. +/// DebugStringTableSubsection owns the underlying storage for the table, and is +/// capable of serializing the string table into a format understood by +/// DebugStringTableSubsectionRef. +class DebugStringTableSubsection : public DebugSubsection { +public: + DebugStringTableSubsection(); + + static bool classof(const DebugSubsection *S) { + return S->kind() == DebugSubsectionKind::StringTable; + } + + // If string S does not exist in the string table, insert it. + // Returns the ID for S. + uint32_t insert(StringRef S); + + // Return the ID for string S. Assumes S exists in the table. + uint32_t getStringId(StringRef S) const; + + uint32_t calculateSerializedSize() const override; + Error commit(BinaryStreamWriter &Writer) const override; + + uint32_t size() const; + + StringMap::const_iterator begin() const { return Strings.begin(); } + + StringMap::const_iterator end() const { return Strings.end(); } + +private: + StringMap Strings; + uint32_t StringSize = 1; +}; +} +} + +#endif Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsection.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsection.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsection.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsection.h) @@ -0,0 +1,52 @@ +//===- DebugSubsection.h ------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENT_H +#define LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENT_H + +#include "llvm/DebugInfo/CodeView/CodeView.h" +#include "llvm/Support/BinaryStreamWriter.h" +#include "llvm/Support/Casting.h" + +namespace llvm { +namespace codeview { + +class DebugSubsectionRef { +public: + explicit DebugSubsectionRef(DebugSubsectionKind Kind) : Kind(Kind) {} + virtual ~DebugSubsectionRef(); + + static bool classof(const DebugSubsectionRef *S) { return true; } + + DebugSubsectionKind kind() const { return Kind; } + +protected: + DebugSubsectionKind Kind; +}; + +class DebugSubsection { +public: + explicit DebugSubsection(DebugSubsectionKind Kind) : Kind(Kind) {} + virtual ~DebugSubsection(); + + static bool classof(const DebugSubsection *S) { return true; } + + DebugSubsectionKind kind() const { return Kind; } + + virtual Error commit(BinaryStreamWriter &Writer) const = 0; + virtual uint32_t calculateSerializedSize() const = 0; + +protected: + DebugSubsectionKind Kind; +}; + +} // namespace codeview +} // namespace llvm + +#endif // LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENT_H Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h) @@ -0,0 +1,77 @@ +//===- DebugSubsection.h ------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENTRECORD_H +#define LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENTRECORD_H + +#include "llvm/DebugInfo/CodeView/CodeView.h" +#include "llvm/Support/BinaryStreamArray.h" +#include "llvm/Support/BinaryStreamRef.h" +#include "llvm/Support/BinaryStreamWriter.h" +#include "llvm/Support/Endian.h" +#include "llvm/Support/Error.h" + +namespace llvm { +namespace codeview { + +class DebugSubsection; + +// Corresponds to the `CV_DebugSSubsectionHeader_t` structure. +struct DebugSubsectionHeader { + support::ulittle32_t Kind; // codeview::DebugSubsectionKind enum + support::ulittle32_t Length; // number of bytes occupied by this record. +}; + +class DebugSubsectionRecord { +public: + DebugSubsectionRecord(); + DebugSubsectionRecord(DebugSubsectionKind Kind, BinaryStreamRef Data); + + static Error initialize(BinaryStreamRef Stream, DebugSubsectionRecord &Info); + + uint32_t getRecordLength() const; + DebugSubsectionKind kind() const; + BinaryStreamRef getRecordData() const; + +private: + DebugSubsectionKind Kind; + BinaryStreamRef Data; +}; + +class DebugSubsectionRecordBuilder { +public: + DebugSubsectionRecordBuilder(DebugSubsectionKind Kind, DebugSubsection &Frag); + uint32_t calculateSerializedLength(); + Error commit(BinaryStreamWriter &Writer); + +private: + DebugSubsectionKind Kind; + DebugSubsection &Frag; +}; + +} // namespace codeview + +template <> struct VarStreamArrayExtractor { + typedef void ContextType; + + static Error extract(BinaryStreamRef Stream, uint32_t &Length, + codeview::DebugSubsectionRecord &Info) { + if (auto EC = codeview::DebugSubsectionRecord::initialize(Stream, Info)) + return EC; + Length = Info.getRecordLength(); + return Error::success(); + } +}; + +namespace codeview { +typedef VarStreamArray DebugSubsectionArray; +} +} // namespace llvm + +#endif // LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENTRECORD_H Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSubsectionVisitor.h) @@ -0,0 +1,66 @@ +//===- DebugSubsectionVisitor.h -----------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENTVISITOR_H +#define LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENTVISITOR_H + +#include "llvm/Support/Error.h" +#include + +namespace llvm { + +namespace codeview { + +class DebugChecksumsSubsectionRef; +class DebugSubsectionRecord; +class DebugInlineeLinesSubsectionRef; +class DebugLinesSubsectionRef; +class DebugUnknownSubsectionRef; + +class DebugSubsectionVisitor { +public: + virtual ~DebugSubsectionVisitor() = default; + + virtual Error visitUnknown(DebugUnknownSubsectionRef &Unknown) { + return Error::success(); + } + virtual Error visitLines(DebugLinesSubsectionRef &Lines) { + return Error::success(); + } + + virtual Error visitFileChecksums(DebugChecksumsSubsectionRef &Checksums) { + return Error::success(); + } + + virtual Error visitInlineeLines(DebugInlineeLinesSubsectionRef &Inlinees) { + return Error::success(); + } + + virtual Error finished() { return Error::success(); } +}; + +Error visitDebugSubsection(const DebugSubsectionRecord &R, + DebugSubsectionVisitor &V); + +template +Error visitDebugSubsections(T &&FragmentRange, DebugSubsectionVisitor &V) { + for (const auto &L : FragmentRange) { + if (auto EC = visitDebugSubsection(L, V)) + return EC; + } + if (auto EC = V.finished()) + return EC; + return Error::success(); +} + +} // end namespace codeview + +} // end namespace llvm + +#endif // LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENTVISITOR_H Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h) @@ -0,0 +1,53 @@ +//===- DebugSymbolsSubsection.h --------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGSYMBOLSSUBSECTION_H +#define LLVM_DEBUGINFO_CODEVIEW_DEBUGSYMBOLSSUBSECTION_H + +#include "llvm/DebugInfo/CodeView/DebugSubsection.h" +#include "llvm/DebugInfo/CodeView/SymbolRecord.h" +#include "llvm/Support/Error.h" + +namespace llvm { +namespace codeview { +class DebugSymbolsSubsectionRef final : public DebugSubsectionRef { +public: + DebugSymbolsSubsectionRef() + : DebugSubsectionRef(DebugSubsectionKind::Symbols) {} + + static bool classof(const DebugSubsectionRef *S) { + return S->kind() == DebugSubsectionKind::Symbols; + } + + Error initialize(BinaryStreamReader Reader); + +private: + CVSymbolArray Records; +}; + +class DebugSymbolsSubsection final : public DebugSubsection { +public: + DebugSymbolsSubsection() : DebugSubsection(DebugSubsectionKind::Symbols) {} + static bool classof(const DebugSubsection *S) { + return S->kind() == DebugSubsectionKind::Symbols; + } + + uint32_t calculateSerializedSize() const override; + Error commit(BinaryStreamWriter &Writer) const override; + + void addSymbol(CVSymbol Symbol); + +private: + uint32_t Length = 0; + std::vector Records; +}; +} +} + +#endif Copied: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h (from r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h Tue May 30 19:24:09 2017 (r319250, copy of r319241, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/DebugUnknownSubsection.h) @@ -0,0 +1,32 @@ +//===- DebugUnknownSubsection.h -----------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGUNKNOWNFRAGMENT_H +#define LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGUNKNOWNFRAGMENT_H + +#include "llvm/DebugInfo/CodeView/DebugSubsection.h" +#include "llvm/Support/BinaryStreamRef.h" + +namespace llvm { +namespace codeview { + +class DebugUnknownSubsectionRef final : public DebugSubsectionRef { +public: + DebugUnknownSubsectionRef(DebugSubsectionKind Kind, BinaryStreamRef Data) + : DebugSubsectionRef(Kind), Data(Data) {} + + BinaryStreamRef getData() const { return Data; } + +private: + BinaryStreamRef Data; +}; +} +} + +#endif Modified: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h Tue May 30 18:08:33 2017 (r319249) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorDelegate.h Tue May 30 19:24:09 2017 (r319250) @@ -19,7 +19,7 @@ class BinaryStreamReader; namespace codeview { -class StringTableRef; +class DebugStringTableSubsectionRef; class SymbolVisitorDelegate { public: @@ -27,7 +27,7 @@ class SymbolVisitorDelegate { (public) virtual uint32_t getRecordOffset(BinaryStreamReader Reader) = 0; virtual StringRef getFileNameForFileOffset(uint32_t FileOffset) = 0; - virtual StringTableRef getStringTable() = 0; + virtual DebugStringTableSubsectionRef getStringTable() = 0; }; } // end namespace codeview Modified: projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h Tue May 30 18:08:33 2017 (r319249) +++ projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h Tue May 30 19:24:09 2017 (r319250) @@ -11,9 +11,9 @@ #define LLVM_DEBUGINFO_PDB_RAW_DBIMODULEDESCRIPTORBUILDER_H #include "llvm/ADT/StringRef.h" -#include "llvm/DebugInfo/CodeView/ModuleDebugFileChecksumFragment.h" -#include "llvm/DebugInfo/CodeView/ModuleDebugInlineeLinesFragment.h" -#include "llvm/DebugInfo/CodeView/ModuleDebugLineFragment.h" +#include "llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h" +#include "llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h" +#include "llvm/DebugInfo/CodeView/DebugLinesSubsection.h" #include "llvm/DebugInfo/CodeView/SymbolRecord.h" #include "llvm/DebugInfo/PDB/Native/RawTypes.h" #include "llvm/Support/Error.h" @@ -25,7 +25,7 @@ namespace llvm { class BinaryStreamWriter; namespace codeview { -class ModuleDebugFragmentRecordBuilder; +class DebugSubsectionRecordBuilder; } namespace msf { @@ -49,11 +49,11 @@ class DbiModuleDescriptorBuilder { (public) void setObjFileName(StringRef Name); void addSymbol(codeview::CVSymbol Symbol); - void addC13Fragment(std::unique_ptr Lines); + void addC13Fragment(std::unique_ptr Lines); void addC13Fragment( - std::unique_ptr Inlinees); + std::unique_ptr Inlinees); void setC13FileChecksums( - std::unique_ptr Checksums); + std::unique_ptr Checksums); uint16_t getStreamIndex() const; StringRef getModuleName() const { return ModuleName; } @@ -83,12 +83,11 @@ class DbiModuleDescriptorBuilder { (public) std::vector SourceFiles; std::vector Symbols; - std::unique_ptr ChecksumInfo; - std::vector> LineInfo; - std::vector> - Inlinees; + std::unique_ptr ChecksumInfo; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Tue May 30 19:31:06 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 39CE2BDA290 for ; Tue, 30 May 2017 19:31:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 00806762BD; Tue, 30 May 2017 19:31:05 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v4UJV5Rv093542; Tue, 30 May 2017 19:31:05 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v4UJV3bV093519; Tue, 30 May 2017 19:31:03 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201705301931.v4UJV3bV093519@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 30 May 2017 19:31:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319251 - in projects/clang500-import: . share/man/man5 sys/compat/linuxkpi/common/include/linux sys/dev/ena sys/kern sys/netinet sys/netinet6 sys/x86/x86 tools/build/options X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 May 2017 19:31:06 -0000 Author: dim Date: Tue May 30 19:31:02 2017 New Revision: 319251 URL: https://svnweb.freebsd.org/changeset/base/319251 Log: Merge ^/head r319165 through r319250. Modified: projects/clang500-import/Makefile.inc1 projects/clang500-import/share/man/man5/src.conf.5 projects/clang500-import/sys/compat/linuxkpi/common/include/linux/compiler.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/device.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/io.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/kernel.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/module.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/pci.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/preempt.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/types.h projects/clang500-import/sys/dev/ena/ena.c projects/clang500-import/sys/dev/ena/ena.h projects/clang500-import/sys/dev/ena/ena_sysctl.c projects/clang500-import/sys/kern/kern_mutex.c projects/clang500-import/sys/netinet/ip_icmp.c projects/clang500-import/sys/netinet6/icmp6.c projects/clang500-import/sys/netinet6/ip6_output.c projects/clang500-import/sys/netinet6/udp6_usrreq.c projects/clang500-import/sys/x86/x86/identcpu.c projects/clang500-import/tools/build/options/WITHOUT_BLACKLIST projects/clang500-import/tools/build/options/WITHOUT_BLACKLIST_SUPPORT Directory Properties: projects/clang500-import/ (props changed) Modified: projects/clang500-import/Makefile.inc1 ============================================================================== --- projects/clang500-import/Makefile.inc1 Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/Makefile.inc1 Tue May 30 19:31:02 2017 (r319251) @@ -975,6 +975,22 @@ __installcheck_UGID: .PHONY fi .endfor .endif +# +# If installing over the running system (DESTDIR is / or unset) and the install +# includes rescue, try running rescue from the objdir as a sanity check. If +# rescue is not functional (e.g., because it depends on a system call not +# supported by the currently running kernel), abort the installation. +# +.if !make(distributeworld) && ${MK_RESCUE} != "no" && \ + (empty(DESTDIR) || ${DESTDIR} == "/") && empty(BYPASS_INSTALLCHECK_SH) +_installcheck_world: __installcheck_sh_check +__installcheck_sh_check: .PHONY + @if [ "`${OBJTREE}${.CURDIR}/rescue/rescue/rescue sh -c 'echo OK'`" != \ + OK ]; then \ + echo "rescue/sh check failed, installation aborted" >&2; \ + false; \ + fi +.endif # # Required install tools to be saved in a scratch dir for safety. Modified: projects/clang500-import/share/man/man5/src.conf.5 ============================================================================== --- projects/clang500-import/share/man/man5/src.conf.5 Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/share/man/man5/src.conf.5 Tue May 30 19:31:02 2017 (r319251) @@ -1,6 +1,6 @@ .\" DO NOT EDIT-- this file is generated by tools/build/options/makeman. .\" $FreeBSD$ -.Dd April 21, 2017 +.Dd May 30, 2017 .Dt SRC.CONF 5 .Os .Sh NAME @@ -180,7 +180,10 @@ as part of the bootstrap process. This is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64. .It Va WITHOUT_BLACKLIST -Set this if you do not want to build blacklistd/blacklistctl. +Set this if you do not want to build +.Xr blacklistd 8 +and +.Xr blacklistctl 8 . When set, it enforces these options: .Pp .Bl -item -compact @@ -188,7 +191,9 @@ When set, it enforces these options: .Va WITHOUT_BLACKLIST_SUPPORT .El .It Va WITHOUT_BLACKLIST_SUPPORT -Set to build some programs without blacklistd support, like +Set to build some programs without +.Xr libblacklist 3 +support, like .Xr fingerd 8 , .Xr ftpd 8 , .Xr rlogind 8 , @@ -705,13 +710,34 @@ Set to not build .Xr gdb 1 . .Pp This is a default setting on -amd64/amd64, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64 and riscv/riscv64sf. +arm64/aarch64, riscv/riscv64 and riscv/riscv64sf. .It Va WITH_GDB Set to build .Xr gdb 1 . .Pp This is a default setting on +amd64/amd64, arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64. +.It Va WITHOUT_GDB_LIBEXEC +Set to install +.Xr gdb 1 +into +.Pa /usr/bin . +.Pp +This is a default setting on arm/arm, arm/armeb, arm/armv6 and sparc64/sparc64. +.It Va WITH_GDB_LIBEXEC +Set to install +.Xr gdb 1 +into +.Pa /usr/libexec . +This permits +.Xr gdb 1 +to be used as a fallback for +.Xr crashinfo 8 +if a newer version is not installed. +.Pp +This is a default setting on +amd64/amd64, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64 and riscv/riscv64sf. .It Va WITHOUT_GNUCXX Do not build the GNU C++ stack (g++, libstdc++). This is the default on platforms where clang is the system compiler. @@ -943,12 +969,6 @@ Set to not build LLVM's lld linker. .Pp This is a default setting on mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. -When set, it enforces these options: -.Pp -.Bl -item -compact -.It -.Va WITHOUT_LLD_IS_LD -.El .It Va WITH_LLD Set to build LLVM's lld linker. .Pp @@ -987,14 +1007,6 @@ Set to use LLVM's LLD as the system linker, instead of .Pp This is a default setting on arm64/aarch64. -When set, these options are also in effect: -.Pp -.Bl -inset -compact -.It Va WITHOUT_SYSTEM_COMPILER -(unless -.Va WITH_SYSTEM_COMPILER -is set explicitly) -.El .It Va WITHOUT_LLVM_LIBUNWIND Set to use GCC's stack unwinder (instead of LLVM's libunwind). .Pp @@ -1412,24 +1424,6 @@ The and .Va WITHOUT_GCC options control those. -.Pp -This is a default setting on -arm64/aarch64. -.It Va WITH_SYSTEM_COMPILER -Set to opportunistically skip building a cross-compiler during the -bootstrap phase of the build. -If the currently installed compiler matches the planned bootstrap compiler -type and revision, then it will not be built. -This does not prevent a compiler from being built for installation though, -only for building one for the build itself. -The -.Va WITHOUT_CLANG -and -.Va WITHOUT_GCC -options control those. -.Pp -This is a default setting on -amd64/amd64, arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. .It Va WITHOUT_TALK Set to not build or install .Xr talk 1 Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/linux/compiler.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/linux/compiler.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/linux/compiler.h Tue May 30 19:31:02 2017 (r319251) @@ -56,6 +56,7 @@ #define __devexit #define __exit #define __rcu +#define __malloc #define ___stringify(...) #__VA_ARGS__ #define __stringify(...) ___stringify(__VA_ARGS__) #define __attribute_const__ __attribute__((__const__)) Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/linux/device.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/linux/device.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/linux/device.h Tue May 30 19:31:02 2017 (r319251) @@ -61,6 +61,23 @@ struct class { char * (*devnode)(struct device *dev, umode_t *mode); }; +struct dev_pm_ops { + int (*suspend)(struct device *dev); + int (*suspend_late)(struct device *dev); + int (*resume)(struct device *dev); + int (*resume_early)(struct device *dev); + int (*freeze)(struct device *dev); + int (*freeze_late)(struct device *dev); + int (*thaw)(struct device *dev); + int (*poweroff)(struct device *dev); + int (*poweroff_late)(struct device *dev); + int (*restore)(struct device *dev); + int (*restore_early)(struct device *dev); + int (*runtime_suspend)(struct device *dev); + int (*runtime_resume)(struct device *dev); + int (*runtime_idle)(struct device *dev); +}; + struct device { struct device *parent; struct list_head irqents; Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/linux/io.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/linux/io.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/linux/io.h Tue May 30 19:31:02 2017 (r319251) @@ -36,6 +36,7 @@ #include #include +#include static inline uint32_t __raw_readl(const volatile void *addr) Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/linux/kernel.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/linux/kernel.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/linux/kernel.h Tue May 30 19:31:02 2017 (r319251) @@ -87,7 +87,9 @@ #define S64_C(x) x ## LL #define U64_C(x) x ## ULL -#define BUILD_BUG_ON(x) CTASSERT(!(x)) +#define BUILD_BUG_ON(x) CTASSERT(!(x)) +#define BUILD_BUG_ON_MSG(x, msg) BUILD_BUG_ON(x) +#define BUILD_BUG_ON_NOT_POWER_OF_2(x) BUILD_BUG_ON(!powerof2(x)) #define BUG() panic("BUG at %s:%d", __FILE__, __LINE__) #define BUG_ON(cond) do { \ @@ -118,6 +120,8 @@ } \ unlikely(__ret); \ }) + +#define oops_in_progress SCHEDULER_STOPPED() #undef ALIGN #define ALIGN(x, y) roundup2((x), (y)) Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/linux/module.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/linux/module.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/linux/module.h Tue May 30 19:31:02 2017 (r319251) @@ -45,6 +45,8 @@ #define MODULE_AUTHOR(name) #define MODULE_DESCRIPTION(name) #define MODULE_LICENSE(name) +#define MODULE_INFO(tag, info) +#define MODULE_FIRMWARE(firmware) #define THIS_MODULE ((struct module *)0) Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/linux/pci.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/linux/pci.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/linux/pci.h Tue May 30 19:31:02 2017 (r319251) @@ -72,16 +72,20 @@ struct pci_device_id { #define PCI_VENDOR_ID_IBM 0x1014 #define PCI_VENDOR_ID_INTEL 0x8086 #define PCI_VENDOR_ID_MELLANOX 0x15b3 +#define PCI_VENDOR_ID_REDHAT_QUMRANET 0x1af4 #define PCI_VENDOR_ID_SERVERWORKS 0x1166 #define PCI_VENDOR_ID_SONY 0x104d #define PCI_VENDOR_ID_TOPSPIN 0x1867 #define PCI_VENDOR_ID_VIA 0x1106 +#define PCI_SUBVENDOR_ID_REDHAT_QUMRANET 0x1af4 +#define PCI_DEVICE_ID_ATI_RADEON_QY 0x5159 #define PCI_DEVICE_ID_MELLANOX_TAVOR 0x5a44 #define PCI_DEVICE_ID_MELLANOX_TAVOR_BRIDGE 0x5a46 #define PCI_DEVICE_ID_MELLANOX_ARBEL_COMPAT 0x6278 #define PCI_DEVICE_ID_MELLANOX_ARBEL 0x6282 #define PCI_DEVICE_ID_MELLANOX_SINAI_OLD 0x5e8c #define PCI_DEVICE_ID_MELLANOX_SINAI 0x6274 +#define PCI_SUBDEVICE_ID_QEMU 0x1100 #define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07)) #define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/linux/preempt.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/linux/preempt.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/linux/preempt.h Tue May 30 19:31:02 2017 (r319251) @@ -34,4 +34,7 @@ #define in_interrupt() \ (curthread->td_intr_nesting_level || curthread->td_critnest) +#define preempt_disable() critical_enter() +#define preempt_enable() critical_exit() + #endif /* _LINUX_PREEMPT_H_ */ Modified: projects/clang500-import/sys/compat/linuxkpi/common/include/linux/types.h ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/include/linux/types.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/compat/linuxkpi/common/include/linux/types.h Tue May 30 19:31:02 2017 (r319251) @@ -65,6 +65,8 @@ typedef u64 phys_addr_t; #define DECLARE_BITMAP(n, bits) \ unsigned long n[howmany(bits, sizeof(long) * 8)] +typedef unsigned long irq_hw_number_t; + struct rcu_head { void *raw[2]; } __aligned(sizeof(void *)); Modified: projects/clang500-import/sys/dev/ena/ena.c ============================================================================== --- projects/clang500-import/sys/dev/ena/ena.c Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/dev/ena/ena.c Tue May 30 19:31:02 2017 (r319251) @@ -141,6 +141,7 @@ static void ena_free_irqs(struct ena_adapter*); static void ena_disable_msix(struct ena_adapter *); static void ena_unmask_all_io_irqs(struct ena_adapter *); static int ena_rss_configure(struct ena_adapter *); +static void ena_update_hw_stats(void *, int); static int ena_up_complete(struct ena_adapter *); static int ena_up(struct ena_adapter *); static void ena_down(struct ena_adapter *); @@ -155,7 +156,7 @@ static void ena_update_hwassist(struct ena_adapter *); static int ena_setup_ifnet(device_t, struct ena_adapter *, struct ena_com_dev_get_features_ctx *); static void ena_tx_csum(struct ena_com_tx_ctx *, struct mbuf *); -static int ena_xmit_mbuf(struct ena_ring *, struct mbuf *); +static int ena_xmit_mbuf(struct ena_ring *, struct mbuf **); static void ena_start_xmit(struct ena_ring *); static int ena_mq_start(if_t, struct mbuf *); static void ena_deferred_mq_start(void *, int); @@ -712,6 +713,7 @@ ena_free_tx_resources(struct ena_adapter *adapter, int drbr_flush(adapter->ifp, tx_ring->br); /* Free buffer DMA maps, */ + ENA_RING_MTX_LOCK(tx_ring); for (int i = 0; i < tx_ring->ring_size; i++) { m_freem(tx_ring->tx_buffer_info[i].mbuf); tx_ring->tx_buffer_info[i].mbuf = NULL; @@ -720,6 +722,7 @@ ena_free_tx_resources(struct ena_adapter *adapter, int bus_dmamap_destroy(adapter->tx_buf_tag, tx_ring->tx_buffer_info[i].map); } + ENA_RING_MTX_UNLOCK(tx_ring); /* And free allocated memory. */ ENA_MEM_FREE(adapter->ena_dev->dmadev, tx_ring->tx_buffer_info); @@ -1120,6 +1123,7 @@ ena_free_tx_bufs(struct ena_adapter *adapter, unsigned { struct ena_ring *tx_ring = &adapter->tx_ring[qid]; + ENA_RING_MTX_LOCK(tx_ring); for (int i = 0; i < tx_ring->ring_size; i++) { struct ena_tx_buffer *tx_info = &tx_ring->tx_buffer_info[i]; @@ -1133,6 +1137,7 @@ ena_free_tx_bufs(struct ena_adapter *adapter, unsigned m_free(tx_info->mbuf); tx_info->mbuf = NULL; } + ENA_RING_MTX_UNLOCK(tx_ring); return; } @@ -2058,6 +2063,25 @@ static int ena_rss_configure(struct ena_adapter *adapt return 0; } +static void +ena_update_hw_stats(void *arg, int pending) +{ + struct ena_adapter *adapter = arg; + int rc; + + for (;;) { + if (!adapter->up) + return; + + rc = ena_update_stats_counters(adapter); + if (rc) + ena_trace(ENA_WARNING, + "Error updating stats counters, rc = %d", rc); + + pause("ena update hw stats", hz); + } +} + static int ena_up_complete(struct ena_adapter *adapter) { @@ -2141,6 +2165,8 @@ ena_up(struct ena_adapter *adapter) callout_reset_sbt(&adapter->timer_service, SBT_1S, SBT_1S, ena_timer_service, (void *)adapter, 0); + taskqueue_enqueue(adapter->stats_tq, &adapter->stats_task); + adapter->up = true; } @@ -2193,24 +2219,8 @@ ena_get_counter(if_t ifp, ift_counter cnt) { struct ena_adapter *adapter; struct ena_hw_stats *stats; - int rc; adapter = if_getsoftc(ifp); - - /* - * Update only when asking for first counter and interface is up. - * Usually asks for all statistics in sequence. - */ - if (adapter->up) { - if (cnt == 0) { - rc = ena_update_stats_counters(adapter); - if (rc) { - ena_trace(ENA_WARNING, - "Error updating stats counters, rc = %d", - rc); - } - } - } stats = &adapter->hw_stats; switch (cnt) { @@ -2285,16 +2295,16 @@ ena_ioctl(if_t ifp, u_long command, caddr_t data) /* * Acquiring lock to prevent from running up and down routines parallel. */ - sx_xlock(&adapter->ioctl_sx); - rc = 0; switch (command) { case SIOCSIFMTU: + sx_xlock(&adapter->ioctl_sx); ena_down(adapter); ena_change_mtu(ifp, ifr->ifr_mtu); rc = ena_up(adapter); + sx_unlock(&adapter->ioctl_sx); break; case SIOCSIFFLAGS: @@ -2306,11 +2316,16 @@ ena_ioctl(if_t ifp, u_long command, caddr_t data) "ioctl promisc/allmulti\n"); } } else { + sx_xlock(&adapter->ioctl_sx); rc = ena_up(adapter); + sx_unlock(&adapter->ioctl_sx); } } else { - if (ifp->if_drv_flags & IFF_DRV_RUNNING) + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + sx_xlock(&adapter->ioctl_sx); ena_down(adapter); + sx_unlock(&adapter->ioctl_sx); + } } break; @@ -2333,8 +2348,10 @@ ena_ioctl(if_t ifp, u_long command, caddr_t data) } if (reinit && (ifp->if_drv_flags & IFF_DRV_RUNNING)) { + sx_xlock(&adapter->ioctl_sx); ena_down(adapter); rc = ena_up(adapter); + sx_unlock(&adapter->ioctl_sx); } } @@ -2344,8 +2361,6 @@ ena_ioctl(if_t ifp, u_long command, caddr_t data) break; } - sx_unlock(&adapter->ioctl_sx); - return (rc); } @@ -2496,6 +2511,10 @@ ena_down(struct ena_adapter *adapter) if_setdrvflagbits(adapter->ifp, IFF_DRV_OACTIVE, IFF_DRV_RUNNING); + /* Drain task responsible for updating hw stats */ + while (taskqueue_cancel(adapter->stats_tq, &adapter->stats_task, NULL)) + taskqueue_drain(adapter->stats_tq, &adapter->stats_task); + ena_free_io_irq(adapter); ena_destroy_all_io_queues(adapter); @@ -2601,9 +2620,36 @@ ena_tx_csum(struct ena_com_tx_ctx *ena_tx_ctx, struct } static int -ena_xmit_mbuf(struct ena_ring *tx_ring, struct mbuf *mbuf) +ena_check_and_defragment_mbuf(struct ena_ring *tx_ring, struct mbuf **mbuf) { struct ena_adapter *adapter; + struct mbuf *defrag_mbuf; + int num_frags; + + adapter = tx_ring->adapter; + num_frags = ena_mbuf_count(*mbuf); + + /* One segment must be reserved for configuration descriptor. */ + if (num_frags < adapter->max_tx_sgl_size) + return (0); + counter_u64_add(tx_ring->tx_stats.defragment, 1); + + defrag_mbuf = m_defrag(*mbuf, M_NOWAIT); + if (defrag_mbuf == NULL) { + counter_u64_add(tx_ring->tx_stats.defragment_err, 1); + return (ENOMEM); + } + + /* If mbuf was defragmented succesfully, original mbuf is released. */ + *mbuf = defrag_mbuf; + + return (0); +} + +static int +ena_xmit_mbuf(struct ena_ring *tx_ring, struct mbuf **mbuf) +{ + struct ena_adapter *adapter; struct ena_tx_buffer *tx_info; struct ena_com_tx_ctx ena_tx_ctx; struct ena_com_dev *ena_dev; @@ -2617,40 +2663,40 @@ ena_xmit_mbuf(struct ena_ring *tx_ring, struct mbuf *m uint16_t ena_qid; uint32_t len, nsegs, header_len; int i, rc; - int nb_hw_desc, num_frags; + int nb_hw_desc; ena_qid = ENA_IO_TXQ_IDX(tx_ring->que->id); adapter = tx_ring->que->adapter; ena_dev = adapter->ena_dev; io_sq = &adapter->ena_dev->io_sq_queues[ena_qid]; - ENA_ASSERT(mbuf, "mbuf is NULL\n"); + ENA_ASSERT(*mbuf, "mbuf is NULL\n"); - num_frags = ena_mbuf_count(mbuf); - if (num_frags > (adapter->max_tx_sgl_size - 2)) { - device_printf(adapter->pdev, - "too many fragments. Last fragment: %d!\n", num_frags); - return (ENA_COM_INVAL); + rc = ena_check_and_defragment_mbuf(tx_ring, mbuf); + if (rc) { + ena_trace(ENA_WARNING, + "Failed to defragment mbuf! err: %d", rc); + return (rc); } next_to_use = tx_ring->next_to_use; req_id = tx_ring->free_tx_ids[next_to_use]; tx_info = &tx_ring->tx_buffer_info[req_id]; - tx_info->mbuf = mbuf; + tx_info->mbuf = *mbuf; tx_info->num_of_bufs = 0; ena_buf = tx_info->bufs; - len = mbuf->m_len; + len = (*mbuf)->m_len; - ena_trace(ENA_DBG | ENA_TXPTH, "Tx: %d bytes", mbuf->m_pkthdr.len); + ena_trace(ENA_DBG | ENA_TXPTH, "Tx: %d bytes", (*mbuf)->m_pkthdr.len); push_len = 0; header_len = min_t(uint32_t, len, tx_ring->tx_max_header_size); push_hdr = NULL; rc = bus_dmamap_load_mbuf_sg(adapter->tx_buf_tag, tx_info->map, - mbuf, segs, &nsegs, BUS_DMA_NOWAIT); + *mbuf, segs, &nsegs, BUS_DMA_NOWAIT); if (rc || (nsegs == 0)) { ena_trace(ENA_WARNING, @@ -2678,7 +2724,7 @@ ena_xmit_mbuf(struct ena_ring *tx_ring, struct mbuf *m ena_tx_ctx.header_len = header_len; /* Set flags and meta data */ - ena_tx_csum(&ena_tx_ctx, mbuf); + ena_tx_csum(&ena_tx_ctx, *mbuf); /* Prepare the packet's descriptors and send them to device */ rc = ena_com_prepare_tx(io_sq, &ena_tx_ctx, &nb_hw_desc); if (rc != 0) { @@ -2692,7 +2738,7 @@ ena_xmit_mbuf(struct ena_ring *tx_ring, struct mbuf *m counter_enter(); counter_u64_add_protected(tx_ring->tx_stats.cnt, 1); - counter_u64_add_protected(tx_ring->tx_stats.bytes, mbuf->m_pkthdr.len); + counter_u64_add_protected(tx_ring->tx_stats.bytes, (*mbuf)->m_pkthdr.len); counter_exit(); tx_info->tx_descs = nb_hw_desc; @@ -2740,7 +2786,7 @@ ena_start_xmit(struct ena_ring *tx_ring) if (ena_com_sq_empty_space(io_sq) < ENA_TX_CLEANUP_TRESHOLD) ena_tx_cleanup(tx_ring); - if ((ret = ena_xmit_mbuf(tx_ring, mbuf)) != 0) { + if ((ret = ena_xmit_mbuf(tx_ring, &mbuf)) != 0) { if (ret == ENA_COM_NO_MEM) { drbr_putback(adapter->ifp, tx_ring->br, mbuf); } else if (ret == ENA_COM_NO_SPACE) { @@ -3572,6 +3618,30 @@ ena_attach(device_t pdev) goto err_ifp_free; } + /* Initialize reset task queue */ + TASK_INIT(&adapter->reset_task, 0, ena_reset_task, adapter); + adapter->reset_tq = taskqueue_create("ena_reset_enqueue", + M_WAITOK | M_ZERO, taskqueue_thread_enqueue, &adapter->reset_tq); + if (adapter->reset_tq == NULL) { + device_printf(adapter->pdev, + "Unable to create reset task queue\n"); + goto err_reset_tq; + } + taskqueue_start_threads(&adapter->reset_tq, 1, PI_NET, + "%s rstq", device_get_nameunit(adapter->pdev)); + + /* Initialize task queue responsible for updating hw stats */ + TASK_INIT(&adapter->stats_task, 0, ena_update_hw_stats, adapter); + adapter->stats_tq = taskqueue_create_fast("ena_stats_update", + M_WAITOK | M_ZERO, taskqueue_thread_enqueue, &adapter->stats_tq); + if (adapter->stats_tq == NULL) { + device_printf(adapter->pdev, + "Unable to create taskqueue for updating hw stats\n"); + goto err_stats_tq; + } + taskqueue_start_threads(&adapter->stats_tq, 1, PI_REALTIME, + "%s stats tq", device_get_nameunit(adapter->pdev)); + /* Initialize statistics */ ena_alloc_counters((counter_u64_t *)&adapter->dev_stats, sizeof(struct ena_stats_dev)); @@ -3581,16 +3651,14 @@ ena_attach(device_t pdev) /* Tell the stack that the interface is not active */ if_setdrvflagbits(adapter->ifp, IFF_DRV_OACTIVE, IFF_DRV_RUNNING); - /* Initialize reset task queue */ - TASK_INIT(&adapter->reset_task, 0, ena_reset_task, adapter); - adapter->reset_tq = taskqueue_create("ena_reset_enqueue", - M_WAITOK | M_ZERO, taskqueue_thread_enqueue, &adapter->reset_tq); - taskqueue_start_threads(&adapter->reset_tq, 1, PI_NET, - "%s rstq", device_get_nameunit(adapter->pdev)); - adapter->running = true; return (0); +err_stats_tq: + taskqueue_free(adapter->reset_tq); +err_reset_tq: + ena_free_mgmnt_irq(adapter); + ena_disable_msix(adapter); err_ifp_free: if_detach(adapter->ifp); if_free(adapter->ifp); @@ -3639,7 +3707,11 @@ ena_detach(device_t pdev) taskqueue_drain(adapter->reset_tq, &adapter->reset_task); taskqueue_free(adapter->reset_tq); + sx_xlock(&adapter->ioctl_sx); ena_down(adapter); + sx_unlock(&adapter->ioctl_sx); + + taskqueue_free(adapter->stats_tq); if (adapter->ifp != NULL) { ether_ifdetach(adapter->ifp); Modified: projects/clang500-import/sys/dev/ena/ena.h ============================================================================== --- projects/clang500-import/sys/dev/ena/ena.h Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/dev/ena/ena.h Tue May 30 19:31:02 2017 (r319251) @@ -226,6 +226,8 @@ struct ena_stats_tx { counter_u64_t doorbells; counter_u64_t missing_tx_comp; counter_u64_t bad_req_id; + counter_u64_t defragment; + counter_u64_t defragment_err; }; struct ena_stats_rx { @@ -400,6 +402,10 @@ struct ena_adapter { sbintime_t missing_tx_timeout; uint32_t missing_tx_max_queues; uint32_t missing_tx_threshold; + + /* Task updating hw stats */ + struct task stats_task; + struct taskqueue *stats_tq; /* Statistics */ struct ena_stats_dev dev_stats; Modified: projects/clang500-import/sys/dev/ena/ena_sysctl.c ============================================================================== --- projects/clang500-import/sys/dev/ena/ena_sysctl.c Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/dev/ena/ena_sysctl.c Tue May 30 19:31:02 2017 (r319251) @@ -155,6 +155,14 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, "stops", CTLFLAG_RD, &tx_stats->queue_stop, "Queue stops"); + SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, + "defragmentations", CTLFLAG_RD, + &tx_stats->defragment, + "Mbuf defragmentations"); + SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, + "defragmentation_err", CTLFLAG_RD, + &tx_stats->defragment_err, + "Mbuf defragmentation failures"); /* RX specific stats */ rx_node = SYSCTL_ADD_NODE(ctx, queue_list, OID_AUTO, Modified: projects/clang500-import/sys/kern/kern_mutex.c ============================================================================== --- projects/clang500-import/sys/kern/kern_mutex.c Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/kern/kern_mutex.c Tue May 30 19:31:02 2017 (r319251) @@ -410,10 +410,10 @@ _mtx_trylock_flags_(volatile uintptr_t *c, int opts, c if (v == tid && ((m->lock_object.lo_flags & LO_RECURSABLE) != 0 || (opts & MTX_RECURSE) != 0)) { - m->mtx_recurse++; - atomic_set_ptr(&m->mtx_lock, MTX_RECURSED); - recursed = true; - break; + m->mtx_recurse++; + atomic_set_ptr(&m->mtx_lock, MTX_RECURSED); + recursed = true; + break; } rval = 0; break; Modified: projects/clang500-import/sys/netinet/ip_icmp.c ============================================================================== --- projects/clang500-import/sys/netinet/ip_icmp.c Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/netinet/ip_icmp.c Tue May 30 19:31:02 2017 (r319251) @@ -540,11 +540,10 @@ icmp_input(struct mbuf **mp, int *offp, int proto) ICMPSTAT_INC(icps_bmcastecho); break; } - icp->icmp_type = ICMP_ECHOREPLY; if (badport_bandlim(BANDLIM_ICMP_ECHO) < 0) goto freeit; - else - goto reflect; + icp->icmp_type = ICMP_ECHOREPLY; + goto reflect; case ICMP_TSTAMP: if (V_icmptstamprepl == 0) @@ -558,13 +557,12 @@ icmp_input(struct mbuf **mp, int *offp, int proto) ICMPSTAT_INC(icps_badlen); break; } + if (badport_bandlim(BANDLIM_ICMP_TSTAMP) < 0) + goto freeit; icp->icmp_type = ICMP_TSTAMPREPLY; icp->icmp_rtime = iptime(); icp->icmp_ttime = icp->icmp_rtime; /* bogus, do later! */ - if (badport_bandlim(BANDLIM_ICMP_TSTAMP) < 0) - goto freeit; - else - goto reflect; + goto reflect; case ICMP_MASKREQ: if (V_icmpmaskrepl == 0) Modified: projects/clang500-import/sys/netinet6/icmp6.c ============================================================================== --- projects/clang500-import/sys/netinet6/icmp6.c Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/netinet6/icmp6.c Tue May 30 19:31:02 2017 (r319251) @@ -597,9 +597,9 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) sizeof(*nicmp6)); noff = off; } - nicmp6->icmp6_type = ICMP6_ECHO_REPLY; - nicmp6->icmp6_code = 0; if (n) { + nicmp6->icmp6_type = ICMP6_ECHO_REPLY; + nicmp6->icmp6_code = 0; ICMP6STAT_INC(icp6s_reflect); ICMP6STAT_INC(icp6s_outhist[ICMP6_ECHO_REPLY]); icmp6_reflect(n, noff); @@ -689,6 +689,7 @@ icmp6_input(struct mbuf **mp, int *offp, int proto) */ m_free(n); n = NULL; + break; } maxhlen = M_TRAILINGSPACE(n) - (sizeof(*nip6) + sizeof(*nicmp6) + 4); Modified: projects/clang500-import/sys/netinet6/ip6_output.c ============================================================================== --- projects/clang500-import/sys/netinet6/ip6_output.c Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/netinet6/ip6_output.c Tue May 30 19:31:02 2017 (r319251) @@ -2465,7 +2465,7 @@ do {\ if (src->type) {\ int hlen = (((struct ip6_ext *)src->type)->ip6e_len + 1) << 3;\ dst->type = malloc(hlen, M_IP6OPT, canwait);\ - if (dst->type == NULL && canwait == M_NOWAIT)\ + if (dst->type == NULL)\ goto bad;\ bcopy(src->type, dst->type, hlen);\ }\ Modified: projects/clang500-import/sys/netinet6/udp6_usrreq.c ============================================================================== --- projects/clang500-import/sys/netinet6/udp6_usrreq.c Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/netinet6/udp6_usrreq.c Tue May 30 19:31:02 2017 (r319251) @@ -104,9 +104,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include -#include #include #include #include @@ -480,8 +478,6 @@ udp6_input(struct mbuf **mp, int *offp, int proto) goto badunlocked; } if (V_udp_blackhole) - goto badunlocked; - if (badport_bandlim(BANDLIM_ICMP6_UNREACH) < 0) goto badunlocked; icmp6_error(m, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_NOPORT, 0); return (IPPROTO_DONE); Modified: projects/clang500-import/sys/x86/x86/identcpu.c ============================================================================== --- projects/clang500-import/sys/x86/x86/identcpu.c Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/sys/x86/x86/identcpu.c Tue May 30 19:31:02 2017 (r319251) @@ -906,7 +906,7 @@ printcpuinfo(void) "\033DBE" /* Data Breakpoint extension */ "\034PTSC" /* Performance TSC */ "\035PL2I" /* L2I perf count */ - "\036MWAITX" /* MONITORX/MWAITX instructions */ + "\036MWAITX" /* MONITORX/MWAITX instructions */ "\037" "\040" ); Modified: projects/clang500-import/tools/build/options/WITHOUT_BLACKLIST ============================================================================== --- projects/clang500-import/tools/build/options/WITHOUT_BLACKLIST Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/tools/build/options/WITHOUT_BLACKLIST Tue May 30 19:31:02 2017 (r319251) @@ -1,2 +1,5 @@ .\" $FreeBSD$ -Set this if you do not want to build blacklistd/blacklistctl. +Set this if you do not want to build +.Xr blacklistd 8 +and +.Xr blacklistctl 8 . Modified: projects/clang500-import/tools/build/options/WITHOUT_BLACKLIST_SUPPORT ============================================================================== --- projects/clang500-import/tools/build/options/WITHOUT_BLACKLIST_SUPPORT Tue May 30 19:24:09 2017 (r319250) +++ projects/clang500-import/tools/build/options/WITHOUT_BLACKLIST_SUPPORT Tue May 30 19:31:02 2017 (r319251) @@ -1,5 +1,7 @@ .\" $FreeBSD$ -Set to build some programs without blacklistd support, like +Set to build some programs without +.Xr libblacklist 3 +support, like .Xr fingerd 8 , .Xr ftpd 8 , .Xr rlogind 8 , From owner-svn-src-projects@freebsd.org Thu Jun 1 22:13:50 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C80E8B7FEA2 for ; Thu, 1 Jun 2017 22:13:50 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3DBCD6EEF2; Thu, 1 Jun 2017 22:13:50 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v51MDnw1068236; Thu, 1 Jun 2017 22:13:49 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v51MDkis068210; Thu, 1 Jun 2017 22:13:46 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <201706012213.v51MDkis068210@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Thu, 1 Jun 2017 22:13:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319478 - in projects/pnfs-planb-server/sys: . amd64/acpica amd64/amd64 amd64/include amd64/linux arm/arm arm/conf arm/include arm/mv arm/mv/armada arm/mv/armada38x arm64/arm64 arm64/co... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Jun 2017 22:13:50 -0000 Author: rmacklem Date: Thu Jun 1 22:13:46 2017 New Revision: 319478 URL: https://svnweb.freebsd.org/changeset/base/319478 Log: Update the kernel to the one in head. Added: projects/pnfs-planb-server/sys/arm/mv/armada/wdt.c - copied unchanged from r319477, head/sys/arm/mv/armada/wdt.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmswitch.c - copied unchanged from r319477, head/sys/contrib/dev/acpica/common/dmswitch.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utresdecode.c - copied unchanged from r319477, head/sys/contrib/dev/acpica/components/utilities/utresdecode.c projects/pnfs-planb-server/sys/dev/acpica/acpi_container.c - copied unchanged from r319477, head/sys/dev/acpica/acpi_container.c projects/pnfs-planb-server/sys/dev/ath/ah_osdep_ar5210.c - copied unchanged from r319477, head/sys/dev/ath/ah_osdep_ar5210.c projects/pnfs-planb-server/sys/dev/ath/ah_osdep_ar5211.c - copied unchanged from r319477, head/sys/dev/ath/ah_osdep_ar5211.c projects/pnfs-planb-server/sys/dev/ath/ah_osdep_ar5212.c - copied unchanged from r319477, head/sys/dev/ath/ah_osdep_ar5212.c projects/pnfs-planb-server/sys/dev/ath/ah_osdep_ar5416.c - copied unchanged from r319477, head/sys/dev/ath/ah_osdep_ar5416.c projects/pnfs-planb-server/sys/dev/ath/ah_osdep_ar9300.c - copied unchanged from r319477, head/sys/dev/ath/ah_osdep_ar9300.c projects/pnfs-planb-server/sys/dev/ath/if_ath_dfs.c - copied unchanged from r319477, head/sys/dev/ath/if_ath_dfs.c projects/pnfs-planb-server/sys/dev/ath/if_ath_drv.c - copied unchanged from r319477, head/sys/dev/ath/if_ath_drv.c projects/pnfs-planb-server/sys/dev/ath/if_ath_rate.c - copied unchanged from r319477, head/sys/dev/ath/if_ath_rate.c projects/pnfs-planb-server/sys/dev/cxgbe/crypto/ - copied from r319477, head/sys/dev/cxgbe/crypto/ projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu - copied unchanged from r319477, head/sys/dev/cxgbe/firmware/t4fw-1.16.45.0.bin.uu projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu - copied unchanged from r319477, head/sys/dev/cxgbe/firmware/t5fw-1.16.45.0.bin.uu projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu - copied unchanged from r319477, head/sys/dev/cxgbe/firmware/t6fw-1.16.45.0.bin.uu projects/pnfs-planb-server/sys/dev/ena/ - copied from r319477, head/sys/dev/ena/ projects/pnfs-planb-server/sys/dev/hyperv/vmbus/vmbus_res.c - copied unchanged from r319477, head/sys/dev/hyperv/vmbus/vmbus_res.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_constants.h - copied unchanged from r319477, head/sys/dev/iwm/if_iwm_constants.h projects/pnfs-planb-server/sys/dev/iwm/if_iwm_sta.c - copied unchanged from r319477, head/sys/dev/iwm/if_iwm_sta.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_sta.h - copied unchanged from r319477, head/sys/dev/iwm/if_iwm_sta.h projects/pnfs-planb-server/sys/dev/mpr/mpi/mpi2_pci.h - copied unchanged from r319477, head/sys/dev/mpr/mpi/mpi2_pci.h projects/pnfs-planb-server/sys/fs/ext2fs/ext2_acl.c - copied unchanged from r319477, head/sys/fs/ext2fs/ext2_acl.c projects/pnfs-planb-server/sys/fs/ext2fs/ext2_acl.h - copied unchanged from r319477, head/sys/fs/ext2fs/ext2_acl.h projects/pnfs-planb-server/sys/mips/atheros/ar71xx_caldata.c - copied unchanged from r319477, head/sys/mips/atheros/ar71xx_caldata.c projects/pnfs-planb-server/sys/mips/conf/std.AR724X - copied unchanged from r319477, head/sys/mips/conf/std.AR724X projects/pnfs-planb-server/sys/modules/ath_dfs/ - copied from r319477, head/sys/modules/ath_dfs/ projects/pnfs-planb-server/sys/modules/ath_hal/ - copied from r319477, head/sys/modules/ath_hal/ projects/pnfs-planb-server/sys/modules/ath_hal_ar5210/ - copied from r319477, head/sys/modules/ath_hal_ar5210/ projects/pnfs-planb-server/sys/modules/ath_hal_ar5211/ - copied from r319477, head/sys/modules/ath_hal_ar5211/ projects/pnfs-planb-server/sys/modules/ath_hal_ar5212/ - copied from r319477, head/sys/modules/ath_hal_ar5212/ projects/pnfs-planb-server/sys/modules/ath_hal_ar5416/ - copied from r319477, head/sys/modules/ath_hal_ar5416/ projects/pnfs-planb-server/sys/modules/ath_hal_ar9300/ - copied from r319477, head/sys/modules/ath_hal_ar9300/ projects/pnfs-planb-server/sys/modules/ath_main/ - copied from r319477, head/sys/modules/ath_main/ projects/pnfs-planb-server/sys/modules/ath_rate/ - copied from r319477, head/sys/modules/ath_rate/ projects/pnfs-planb-server/sys/modules/cxgbe/ccr/ - copied from r319477, head/sys/modules/cxgbe/ccr/ projects/pnfs-planb-server/sys/modules/dtb/mv/ - copied from r319477, head/sys/modules/dtb/mv/ projects/pnfs-planb-server/sys/modules/ena/ - copied from r319477, head/sys/modules/ena/ projects/pnfs-planb-server/sys/modules/tests/Makefile - copied unchanged from r319477, head/sys/modules/tests/Makefile Deleted: projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu projects/pnfs-planb-server/sys/mips/conf/AR724X_BASE Modified: projects/pnfs-planb-server/sys/Makefile projects/pnfs-planb-server/sys/amd64/acpica/acpi_wakecode.S projects/pnfs-planb-server/sys/amd64/amd64/cpu_switch.S projects/pnfs-planb-server/sys/amd64/amd64/pmap.c projects/pnfs-planb-server/sys/amd64/amd64/sys_machdep.c projects/pnfs-planb-server/sys/amd64/amd64/vm_machdep.c projects/pnfs-planb-server/sys/amd64/include/vmparam.h projects/pnfs-planb-server/sys/amd64/linux/linux.h projects/pnfs-planb-server/sys/arm/arm/busdma_machdep-v4.c projects/pnfs-planb-server/sys/arm/arm/busdma_machdep-v6.c projects/pnfs-planb-server/sys/arm/arm/pmap-v6.c projects/pnfs-planb-server/sys/arm/arm/sys_machdep.c projects/pnfs-planb-server/sys/arm/arm/vm_machdep.c projects/pnfs-planb-server/sys/arm/conf/ARMADA38X projects/pnfs-planb-server/sys/arm/conf/NOTES projects/pnfs-planb-server/sys/arm/include/atomic-v4.h projects/pnfs-planb-server/sys/arm/include/pmap-v6.h projects/pnfs-planb-server/sys/arm/include/vmparam.h projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x.c projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x_mp.c projects/pnfs-planb-server/sys/arm/mv/armada38x/files.armada38x projects/pnfs-planb-server/sys/arm/mv/files.mv projects/pnfs-planb-server/sys/arm/mv/mpic.c projects/pnfs-planb-server/sys/arm/mv/mv_common.c projects/pnfs-planb-server/sys/arm/mv/mv_pci.c projects/pnfs-planb-server/sys/arm/mv/mvreg.h projects/pnfs-planb-server/sys/arm/mv/mvwin.h projects/pnfs-planb-server/sys/arm64/arm64/busdma_bounce.c projects/pnfs-planb-server/sys/arm64/conf/GENERIC projects/pnfs-planb-server/sys/arm64/include/armreg.h projects/pnfs-planb-server/sys/arm64/include/vm.h projects/pnfs-planb-server/sys/boot/common/dev_net.c projects/pnfs-planb-server/sys/boot/efi/loader/main.c projects/pnfs-planb-server/sys/boot/fdt/dts/arm/armada-38x.dtsi projects/pnfs-planb-server/sys/boot/i386/loader/Makefile projects/pnfs-planb-server/sys/boot/i386/loader/Makefile.depend projects/pnfs-planb-server/sys/boot/i386/pxeldr/pxeboot.8 projects/pnfs-planb-server/sys/boot/i386/zfsloader/Makefile.depend projects/pnfs-planb-server/sys/boot/mips/beri/boot2/Makefile projects/pnfs-planb-server/sys/bsm/audit.h projects/pnfs-planb-server/sys/cam/ata/ata_xpt.c projects/pnfs-planb-server/sys/cam/scsi/scsi_da.c projects/pnfs-planb-server/sys/cam/scsi/scsi_xpt.c projects/pnfs-planb-server/sys/cddl/compat/opensolaris/sys/dirent.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_deadlist.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/multilist.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_impl.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_tx.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/multilist.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/pnfs-planb-server/sys/cddl/dev/dtrace/powerpc/dtrace_isa.c projects/pnfs-planb-server/sys/cddl/dev/fbt/powerpc/fbt_isa.c projects/pnfs-planb-server/sys/cddl/dev/profile/profile.c projects/pnfs-planb-server/sys/compat/freebsd32/capabilities.conf projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32.h projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_misc.c projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_proto.h projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_syscall.h projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_syscalls.c projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_sysent.c projects/pnfs-planb-server/sys/compat/freebsd32/freebsd32_systrace_args.c projects/pnfs-planb-server/sys/compat/freebsd32/syscalls.master projects/pnfs-planb-server/sys/compat/linux/linux_file.c projects/pnfs-planb-server/sys/compat/linux/linux_misc.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/asm/smp.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/compiler.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/device.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/file.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/fs.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/idr.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/io.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/kernel.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/kthread.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/mm_types.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/module.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/pci.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/poll.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/preempt.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/printk.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/include/linux/types.h projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_compat.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_current.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_idr.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_page.c projects/pnfs-planb-server/sys/compat/linuxkpi/common/src/linux_rcu.c projects/pnfs-planb-server/sys/compat/ndis/kern_ndis.c projects/pnfs-planb-server/sys/compat/ndis/subr_ndis.c projects/pnfs-planb-server/sys/conf/NOTES projects/pnfs-planb-server/sys/conf/config.mk projects/pnfs-planb-server/sys/conf/files projects/pnfs-planb-server/sys/conf/files.amd64 projects/pnfs-planb-server/sys/conf/files.i386 projects/pnfs-planb-server/sys/conf/kern.opts.mk projects/pnfs-planb-server/sys/conf/kern.post.mk projects/pnfs-planb-server/sys/conf/kern.pre.mk projects/pnfs-planb-server/sys/contrib/dev/acpica/acpica_prep.sh projects/pnfs-planb-server/sys/contrib/dev/acpica/changes.txt projects/pnfs-planb-server/sys/contrib/dev/acpica/common/acfileio.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/adfile.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/adisasm.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/adwalk.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/ahids.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/ahpredef.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/ahtable.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/ahuuids.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmextern.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmrestag.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmtable.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmtbdump.c projects/pnfs-planb-server/sys/contrib/dev/acpica/common/dmtbinfo.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslascii.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslcompile.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asldefine.h projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslexternal.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslglobal.h projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslhelp.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslhelpers.y projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslload.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslmain.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslmap.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asloffset.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asloptions.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslparser.y projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslresource.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslresources.y projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslrestype2s.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslrules.y projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslstartup.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslsupport.l projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asltokens.y projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asltree.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/asltypes.y projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslutils.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/aslxref.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/cvcompiler.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/cvdisasm.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/cvparser.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtfield.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dttable1.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dttable2.c projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dttemplate.h projects/pnfs-planb-server/sys/contrib/dev/acpica/compiler/dtutils.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/debugger/dbobject.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/debugger/dbxface.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/disassembler/dmwalk.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dsargs.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dsutils.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dswexec.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/events/evxfevnt.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exdebug.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exdump.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exoparg1.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/executer/exresolv.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/namespace/nsxfeval.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/parser/psobject.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/parser/psopcode.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/parser/psparse.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/resources/rscalc.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/resources/rsdump.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/resources/rsinfo.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/resources/rsserial.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/tables/tbfadt.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/tables/tbutils.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utownerid.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/pnfs-planb-server/sys/contrib/dev/acpica/components/utilities/utxfmutex.c projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acapps.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acdisasm.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acglobal.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/aclocal.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acopcode.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acpixf.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acpredef.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acresrc.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acrestyp.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/actbl1.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/actbl2.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/actbl3.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/actypes.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acutils.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/acuuid.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/amlcode.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/amlresrc.h projects/pnfs-planb-server/sys/contrib/dev/acpica/include/platform/acgcc.h projects/pnfs-planb-server/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/pnfs-planb-server/sys/contrib/ipfilter/netinet/ip_fil.h projects/pnfs-planb-server/sys/contrib/ipfilter/netinet/ip_nat.c projects/pnfs-planb-server/sys/contrib/ipfilter/netinet/ip_sync.c projects/pnfs-planb-server/sys/crypto/des/des_enc.c projects/pnfs-planb-server/sys/crypto/des/des_setkey.c projects/pnfs-planb-server/sys/ddb/db_access.c projects/pnfs-planb-server/sys/ddb/db_output.c projects/pnfs-planb-server/sys/ddb/db_sym.c projects/pnfs-planb-server/sys/dev/acpica/acpi_pcib_acpi.c projects/pnfs-planb-server/sys/dev/ath/ah_osdep.c projects/pnfs-planb-server/sys/dev/ath/ath_dfs/null/dfs_null.c projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah.c projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_desc.h projects/pnfs-planb-server/sys/dev/ath/ath_hal/ah_internal.h projects/pnfs-planb-server/sys/dev/ath/ath_rate/sample/sample.c projects/pnfs-planb-server/sys/dev/ath/if_ath.c projects/pnfs-planb-server/sys/dev/ath/if_ath_ahb.c projects/pnfs-planb-server/sys/dev/ath/if_ath_pci.c projects/pnfs-planb-server/sys/dev/ath/if_ath_rx.c projects/pnfs-planb-server/sys/dev/atkbdc/psm.c projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/chipcreg.h projects/pnfs-planb-server/sys/dev/bhnd/cores/chipc/pwrctl/bhnd_pwrctl_subr.c projects/pnfs-planb-server/sys/dev/bhnd/nvram/bhnd_nvram_data_sprom.c projects/pnfs-planb-server/sys/dev/bhnd/nvram/bhnd_sprom.c projects/pnfs-planb-server/sys/dev/bnxt/if_bnxt.c projects/pnfs-planb-server/sys/dev/cesa/cesa.c projects/pnfs-planb-server/sys/dev/cesa/cesa.h projects/pnfs-planb-server/sys/dev/cs/if_cs.c projects/pnfs-planb-server/sys/dev/cxgbe/adapter.h projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t4fw_cfg_uwire.txt projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t4fw_interface.h projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt projects/pnfs-planb-server/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt projects/pnfs-planb-server/sys/dev/cxgbe/iw_cxgbe/cm.c projects/pnfs-planb-server/sys/dev/cxgbe/t4_main.c projects/pnfs-planb-server/sys/dev/cxgbe/t4_sge.c projects/pnfs-planb-server/sys/dev/dpaa/if_dtsec_rm.c projects/pnfs-planb-server/sys/dev/drm2/ttm/ttm_bo_vm.c projects/pnfs-planb-server/sys/dev/drm2/ttm/ttm_page_alloc.c projects/pnfs-planb-server/sys/dev/e1000/e1000_ich8lan.c projects/pnfs-planb-server/sys/dev/etherswitch/arswitch/arswitch_phy.c projects/pnfs-planb-server/sys/dev/etherswitch/e6000sw/e6000sw.c projects/pnfs-planb-server/sys/dev/etherswitch/e6000sw/e6000swreg.h projects/pnfs-planb-server/sys/dev/etherswitch/rtl8366/rtl8366rb.c projects/pnfs-planb-server/sys/dev/etherswitch/rtl8366/rtl8366rbvar.h projects/pnfs-planb-server/sys/dev/hyperv/vmbus/vmbus.c projects/pnfs-planb-server/sys/dev/if_ndis/if_ndis.c projects/pnfs-planb-server/sys/dev/if_ndis/if_ndisvar.h projects/pnfs-planb-server/sys/dev/iwm/if_iwm.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_7000.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_8000.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_binding.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_binding.h projects/pnfs-planb-server/sys/dev/iwm/if_iwm_fw.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_led.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_mac_ctxt.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_mac_ctxt.h projects/pnfs-planb-server/sys/dev/iwm/if_iwm_notif_wait.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_pcie_trans.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_phy_ctxt.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_phy_db.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_power.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_power.h projects/pnfs-planb-server/sys/dev/iwm/if_iwm_scan.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_time_event.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_time_event.h projects/pnfs-planb-server/sys/dev/iwm/if_iwm_util.c projects/pnfs-planb-server/sys/dev/iwm/if_iwm_util.h projects/pnfs-planb-server/sys/dev/iwm/if_iwmreg.h projects/pnfs-planb-server/sys/dev/iwm/if_iwmvar.h projects/pnfs-planb-server/sys/dev/ixgb/if_ixgb.c projects/pnfs-planb-server/sys/dev/lge/if_lge.c projects/pnfs-planb-server/sys/dev/md/md.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_core/mlx4_eq.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_core/mlx4_main.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c projects/pnfs-planb-server/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c projects/pnfs-planb-server/sys/dev/mpr/mpi/mpi2.h projects/pnfs-planb-server/sys/dev/mpr/mpi/mpi2_cnfg.h projects/pnfs-planb-server/sys/dev/mpr/mpi/mpi2_hbd.h projects/pnfs-planb-server/sys/dev/mpr/mpi/mpi2_history.txt projects/pnfs-planb-server/sys/dev/mpr/mpi/mpi2_init.h projects/pnfs-planb-server/sys/dev/mpr/mpi/mpi2_ioc.h projects/pnfs-planb-server/sys/dev/mpr/mpi/mpi2_tool.h projects/pnfs-planb-server/sys/dev/mpr/mpr.c projects/pnfs-planb-server/sys/dev/mpr/mpr_config.c projects/pnfs-planb-server/sys/dev/mpr/mpr_mapping.c projects/pnfs-planb-server/sys/dev/mpr/mpr_mapping.h projects/pnfs-planb-server/sys/dev/mpr/mpr_pci.c projects/pnfs-planb-server/sys/dev/mpr/mpr_sas.c projects/pnfs-planb-server/sys/dev/mpr/mpr_sas.h projects/pnfs-planb-server/sys/dev/mpr/mpr_sas_lsi.c projects/pnfs-planb-server/sys/dev/mpr/mpr_table.c projects/pnfs-planb-server/sys/dev/mpr/mpr_table.h projects/pnfs-planb-server/sys/dev/mpr/mpr_user.c projects/pnfs-planb-server/sys/dev/mpr/mprvar.h projects/pnfs-planb-server/sys/dev/mps/mps.c projects/pnfs-planb-server/sys/dev/mps/mps_mapping.c projects/pnfs-planb-server/sys/dev/mps/mps_sas.c projects/pnfs-planb-server/sys/dev/mps/mps_sas_lsi.c projects/pnfs-planb-server/sys/dev/mps/mps_user.c projects/pnfs-planb-server/sys/dev/mps/mpsvar.h projects/pnfs-planb-server/sys/dev/mse/mse_isa.c projects/pnfs-planb-server/sys/dev/my/if_my.c projects/pnfs-planb-server/sys/dev/pcn/if_pcn.c projects/pnfs-planb-server/sys/dev/ppbus/immio.c projects/pnfs-planb-server/sys/dev/ppbus/vpoio.c projects/pnfs-planb-server/sys/dev/ppc/ppc.c projects/pnfs-planb-server/sys/dev/qlnx/qlnxe/ecore_dev.c projects/pnfs-planb-server/sys/dev/qlnx/qlnxe/qlnx_def.h projects/pnfs-planb-server/sys/dev/qlnx/qlnxe/qlnx_ioctl.c projects/pnfs-planb-server/sys/dev/qlnx/qlnxe/qlnx_os.c projects/pnfs-planb-server/sys/dev/qlnx/qlnxe/qlnx_os.h projects/pnfs-planb-server/sys/dev/qlxgb/qla_os.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_isr.c projects/pnfs-planb-server/sys/dev/qlxgbe/ql_os.c projects/pnfs-planb-server/sys/dev/qlxge/qls_os.c projects/pnfs-planb-server/sys/dev/rl/if_rl.c projects/pnfs-planb-server/sys/dev/rtwn/if_rtwn.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8192c/r92c_tx.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c projects/pnfs-planb-server/sys/dev/rtwn/rtl8812a/r12a_tx.c projects/pnfs-planb-server/sys/dev/sdhci/sdhci.c projects/pnfs-planb-server/sys/dev/sdhci/sdhci.h projects/pnfs-planb-server/sys/dev/sdhci/sdhci_acpi.c projects/pnfs-planb-server/sys/dev/sdhci/sdhci_fdt.c projects/pnfs-planb-server/sys/dev/sdhci/sdhci_pci.c projects/pnfs-planb-server/sys/dev/snp/snp.c projects/pnfs-planb-server/sys/dev/sound/pci/fm801.c projects/pnfs-planb-server/sys/dev/sound/pcm/buffer.c projects/pnfs-planb-server/sys/dev/sound/pcm/feeder_mixer.c projects/pnfs-planb-server/sys/dev/speaker/spkr.c projects/pnfs-planb-server/sys/dev/tl/if_tl.c projects/pnfs-planb-server/sys/dev/tws/tws.h projects/pnfs-planb-server/sys/dev/uart/uart_bus_pci.c projects/pnfs-planb-server/sys/dev/usb/controller/xhci_pci.c projects/pnfs-planb-server/sys/dev/usb/usb_busdma.c projects/pnfs-planb-server/sys/dev/vmware/vmxnet3/if_vmx.c projects/pnfs-planb-server/sys/dev/vt/vt_core.c projects/pnfs-planb-server/sys/dev/wb/if_wb.c projects/pnfs-planb-server/sys/dev/xen/blkfront/blkfront.c projects/pnfs-planb-server/sys/dev/xen/netfront/netfront.c projects/pnfs-planb-server/sys/dev/xl/if_xl.c projects/pnfs-planb-server/sys/fs/cd9660/cd9660_vfsops.c projects/pnfs-planb-server/sys/fs/cuse/cuse.c projects/pnfs-planb-server/sys/fs/devfs/devfs_devs.c projects/pnfs-planb-server/sys/fs/devfs/devfs_vnops.c projects/pnfs-planb-server/sys/fs/ext2fs/ext2_extattr.c projects/pnfs-planb-server/sys/fs/ext2fs/ext2_vnops.c projects/pnfs-planb-server/sys/fs/fdescfs/fdesc_vnops.c projects/pnfs-planb-server/sys/fs/fifofs/fifo_vnops.c projects/pnfs-planb-server/sys/fs/msdosfs/bootsect.h projects/pnfs-planb-server/sys/fs/msdosfs/bpb.h projects/pnfs-planb-server/sys/fs/msdosfs/denode.h projects/pnfs-planb-server/sys/fs/msdosfs/direntry.h projects/pnfs-planb-server/sys/fs/msdosfs/fat.h projects/pnfs-planb-server/sys/fs/msdosfs/msdosfs_conv.c projects/pnfs-planb-server/sys/fs/msdosfs/msdosfs_denode.c projects/pnfs-planb-server/sys/fs/msdosfs/msdosfs_fat.c projects/pnfs-planb-server/sys/fs/msdosfs/msdosfs_lookup.c projects/pnfs-planb-server/sys/fs/msdosfs/msdosfs_vfsops.c projects/pnfs-planb-server/sys/fs/msdosfs/msdosfs_vnops.c projects/pnfs-planb-server/sys/fs/msdosfs/msdosfsmount.h projects/pnfs-planb-server/sys/fs/nandfs/nandfs_fs.h projects/pnfs-planb-server/sys/fs/nandfs/nandfs_vnops.c projects/pnfs-planb-server/sys/fs/nfs/nfsport.h projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clcomsubs.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clport.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clrpcops.c projects/pnfs-planb-server/sys/fs/nfsclient/nfs_clvnops.c projects/pnfs-planb-server/sys/fs/nfsserver/nfs_nfsdport.c projects/pnfs-planb-server/sys/geom/geom_vfs.c projects/pnfs-planb-server/sys/geom/uzip/g_uzip.c projects/pnfs-planb-server/sys/i386/i386/in_cksum.c projects/pnfs-planb-server/sys/i386/i386/k6_mem.c projects/pnfs-planb-server/sys/i386/i386/machdep.c projects/pnfs-planb-server/sys/i386/i386/sys_machdep.c projects/pnfs-planb-server/sys/i386/i386/vm_machdep.c projects/pnfs-planb-server/sys/i386/ibcs2/ibcs2_misc.c projects/pnfs-planb-server/sys/i386/ibcs2/ibcs2_other.c projects/pnfs-planb-server/sys/i386/ibcs2/ibcs2_signal.c projects/pnfs-planb-server/sys/i386/ibcs2/ibcs2_socksys.c projects/pnfs-planb-server/sys/i386/isa/ccbque.h projects/pnfs-planb-server/sys/i386/isa/elink.c projects/pnfs-planb-server/sys/kern/capabilities.conf projects/pnfs-planb-server/sys/kern/inflate.c projects/pnfs-planb-server/sys/kern/init_sysent.c projects/pnfs-planb-server/sys/kern/kern_acct.c projects/pnfs-planb-server/sys/kern/kern_clock.c projects/pnfs-planb-server/sys/kern/kern_cpuset.c projects/pnfs-planb-server/sys/kern/kern_descrip.c projects/pnfs-planb-server/sys/kern/kern_exec.c projects/pnfs-planb-server/sys/kern/kern_fail.c projects/pnfs-planb-server/sys/kern/kern_mutex.c projects/pnfs-planb-server/sys/kern/kern_proc.c projects/pnfs-planb-server/sys/kern/kern_prot.c projects/pnfs-planb-server/sys/kern/kern_resource.c projects/pnfs-planb-server/sys/kern/kern_sig.c projects/pnfs-planb-server/sys/kern/kern_timeout.c projects/pnfs-planb-server/sys/kern/kern_xxx.c projects/pnfs-planb-server/sys/kern/makesyscalls.sh projects/pnfs-planb-server/sys/kern/sched_4bsd.c projects/pnfs-planb-server/sys/kern/subr_kobj.c projects/pnfs-planb-server/sys/kern/subr_sglist.c projects/pnfs-planb-server/sys/kern/sys_socket.c projects/pnfs-planb-server/sys/kern/syscalls.c projects/pnfs-planb-server/sys/kern/syscalls.master projects/pnfs-planb-server/sys/kern/systrace_args.c projects/pnfs-planb-server/sys/kern/sysv_msg.c projects/pnfs-planb-server/sys/kern/tty.c projects/pnfs-planb-server/sys/kern/tty_pts.c projects/pnfs-planb-server/sys/kern/vfs_export.c projects/pnfs-planb-server/sys/kern/vfs_mount.c projects/pnfs-planb-server/sys/kern/vfs_subr.c projects/pnfs-planb-server/sys/kern/vfs_syscalls.c projects/pnfs-planb-server/sys/kern/vfs_vnops.c projects/pnfs-planb-server/sys/libkern/qsort.c projects/pnfs-planb-server/sys/libkern/zlib.c projects/pnfs-planb-server/sys/mips/atheros/ar71xx_fixup.c projects/pnfs-planb-server/sys/mips/atheros/ar71xx_machdep.c projects/pnfs-planb-server/sys/mips/atheros/ar71xxreg.h projects/pnfs-planb-server/sys/mips/atheros/files.ar71xx projects/pnfs-planb-server/sys/mips/broadcom/bcm_pmu.c projects/pnfs-planb-server/sys/mips/cavium/cryptocteon/cavium_crypto.c projects/pnfs-planb-server/sys/mips/conf/AP91 projects/pnfs-planb-server/sys/mips/conf/AP93 projects/pnfs-planb-server/sys/mips/conf/AP93.hints projects/pnfs-planb-server/sys/mips/conf/ENH200 projects/pnfs-planb-server/sys/mips/conf/PICOSTATION_M2HP projects/pnfs-planb-server/sys/mips/conf/ROCKET_M2HP projects/pnfs-planb-server/sys/mips/conf/WZR-300HP projects/pnfs-planb-server/sys/mips/include/cpuinfo.h projects/pnfs-planb-server/sys/mips/include/frame.h projects/pnfs-planb-server/sys/mips/include/md_var.h projects/pnfs-planb-server/sys/mips/include/regnum.h projects/pnfs-planb-server/sys/mips/mips/busdma_machdep.c projects/pnfs-planb-server/sys/mips/mips/cpu.c projects/pnfs-planb-server/sys/mips/mips/pm_machdep.c projects/pnfs-planb-server/sys/mips/mips/swtch.S projects/pnfs-planb-server/sys/mips/mips/vm_machdep.c projects/pnfs-planb-server/sys/modules/Makefile projects/pnfs-planb-server/sys/modules/ath/Makefile projects/pnfs-planb-server/sys/modules/cxgbe/Makefile projects/pnfs-planb-server/sys/modules/cxgbe/t4_firmware/Makefile projects/pnfs-planb-server/sys/modules/cxgbe/t5_firmware/Makefile projects/pnfs-planb-server/sys/modules/cxgbe/t6_firmware/Makefile projects/pnfs-planb-server/sys/modules/dtrace/dtaudit/Makefile projects/pnfs-planb-server/sys/modules/ext2fs/Makefile projects/pnfs-planb-server/sys/modules/hyperv/vmbus/Makefile projects/pnfs-planb-server/sys/modules/ipsec/Makefile projects/pnfs-planb-server/sys/modules/iwm/Makefile projects/pnfs-planb-server/sys/modules/linux/Makefile projects/pnfs-planb-server/sys/modules/linux64/Makefile projects/pnfs-planb-server/sys/modules/mmcsd/Makefile projects/pnfs-planb-server/sys/modules/qlnx/qlnxe/Makefile projects/pnfs-planb-server/sys/net/altq/altq_rio.c projects/pnfs-planb-server/sys/net/altq/altq_rmclass.h projects/pnfs-planb-server/sys/net/bpf_filter.c projects/pnfs-planb-server/sys/net/ethernet.h projects/pnfs-planb-server/sys/net/ieee8023ad_lacp.c projects/pnfs-planb-server/sys/net/if.c projects/pnfs-planb-server/sys/net/if_ethersubr.c projects/pnfs-planb-server/sys/net/if_lagg.c projects/pnfs-planb-server/sys/net/if_lagg.h projects/pnfs-planb-server/sys/net/if_llatbl.c projects/pnfs-planb-server/sys/net/if_media.c projects/pnfs-planb-server/sys/net/if_media.h projects/pnfs-planb-server/sys/net/if_var.h projects/pnfs-planb-server/sys/net/if_vlan.c projects/pnfs-planb-server/sys/net/iflib.c projects/pnfs-planb-server/sys/net/slcompress.c projects/pnfs-planb-server/sys/net80211/ieee80211_adhoc.c projects/pnfs-planb-server/sys/net80211/ieee80211_hostap.c projects/pnfs-planb-server/sys/net80211/ieee80211_ht.c projects/pnfs-planb-server/sys/net80211/ieee80211_ht.h projects/pnfs-planb-server/sys/net80211/ieee80211_input.h projects/pnfs-planb-server/sys/net80211/ieee80211_mesh.c projects/pnfs-planb-server/sys/net80211/ieee80211_output.c projects/pnfs-planb-server/sys/net80211/ieee80211_radiotap.h projects/pnfs-planb-server/sys/net80211/ieee80211_sta.c projects/pnfs-planb-server/sys/net80211/ieee80211_wds.c projects/pnfs-planb-server/sys/netinet/in.c projects/pnfs-planb-server/sys/netinet/in_cksum.c projects/pnfs-planb-server/sys/netinet/in_mcast.c projects/pnfs-planb-server/sys/netinet/in_pcb.c projects/pnfs-planb-server/sys/netinet/in_pcb.h projects/pnfs-planb-server/sys/netinet/ip_divert.c projects/pnfs-planb-server/sys/netinet/ip_icmp.c projects/pnfs-planb-server/sys/netinet/libalias/alias.c projects/pnfs-planb-server/sys/netinet/raw_ip.c projects/pnfs-planb-server/sys/netinet/sctp_input.c projects/pnfs-planb-server/sys/netinet/sctp_os_bsd.h projects/pnfs-planb-server/sys/netinet/sctp_output.c projects/pnfs-planb-server/sys/netinet/sctp_pcb.c projects/pnfs-planb-server/sys/netinet/sctp_sysctl.c projects/pnfs-planb-server/sys/netinet/sctp_usrreq.c projects/pnfs-planb-server/sys/netinet/tcp_input.c projects/pnfs-planb-server/sys/netinet/tcp_reass.c projects/pnfs-planb-server/sys/netinet/tcp_stacks/fastpath.c projects/pnfs-planb-server/sys/netinet/tcp_subr.c projects/pnfs-planb-server/sys/netinet/tcp_usrreq.c projects/pnfs-planb-server/sys/netinet/udp_usrreq.c projects/pnfs-planb-server/sys/netinet6/icmp6.c projects/pnfs-planb-server/sys/netinet6/in6_mcast.c projects/pnfs-planb-server/sys/netinet6/in6_pcb.c projects/pnfs-planb-server/sys/netinet6/ip6_output.c projects/pnfs-planb-server/sys/netinet6/raw_ip6.c projects/pnfs-planb-server/sys/netinet6/udp6_usrreq.c projects/pnfs-planb-server/sys/netipsec/ipsec.h projects/pnfs-planb-server/sys/netipsec/ipsec_input.c projects/pnfs-planb-server/sys/netipsec/ipsec_mbuf.c projects/pnfs-planb-server/sys/netipsec/ipsec_output.c projects/pnfs-planb-server/sys/netipsec/key_debug.c projects/pnfs-planb-server/sys/netipsec/key_debug.h projects/pnfs-planb-server/sys/netipsec/xform_ah.c projects/pnfs-planb-server/sys/netipsec/xform_esp.c projects/pnfs-planb-server/sys/netipsec/xform_ipcomp.c projects/pnfs-planb-server/sys/netpfil/ipfw/dn_aqm_pie.c projects/pnfs-planb-server/sys/netpfil/ipfw/dn_sched_fq_pie.c projects/pnfs-planb-server/sys/nlm/nlm_advlock.c projects/pnfs-planb-server/sys/opencrypto/criov.c projects/pnfs-planb-server/sys/opencrypto/cryptodev.h projects/pnfs-planb-server/sys/powerpc/booke/trap_subr.S projects/pnfs-planb-server/sys/powerpc/conf/NOTES projects/pnfs-planb-server/sys/powerpc/include/pmap.h projects/pnfs-planb-server/sys/powerpc/powerpc/bus_machdep.c projects/pnfs-planb-server/sys/powerpc/powerpc/pmap_dispatch.c projects/pnfs-planb-server/sys/rpc/clnt.h projects/pnfs-planb-server/sys/rpc/rpc_generic.c projects/pnfs-planb-server/sys/rpc/rpcb_clnt.c projects/pnfs-planb-server/sys/rpc/rpcb_prot.c projects/pnfs-planb-server/sys/security/audit/audit_private.h projects/pnfs-planb-server/sys/sys/_termios.h projects/pnfs-planb-server/sys/sys/_types.h projects/pnfs-planb-server/sys/sys/acct.h projects/pnfs-planb-server/sys/sys/ata.h projects/pnfs-planb-server/sys/sys/bitset.h projects/pnfs-planb-server/sys/sys/dirent.h projects/pnfs-planb-server/sys/sys/kobj.h projects/pnfs-planb-server/sys/sys/mdioctl.h projects/pnfs-planb-server/sys/sys/mount.h projects/pnfs-planb-server/sys/sys/param.h projects/pnfs-planb-server/sys/sys/proc.h projects/pnfs-planb-server/sys/sys/sglist.h projects/pnfs-planb-server/sys/sys/sockio.h projects/pnfs-planb-server/sys/sys/stat.h projects/pnfs-planb-server/sys/sys/syscall.h projects/pnfs-planb-server/sys/sys/syscall.mk projects/pnfs-planb-server/sys/sys/syscallsubr.h projects/pnfs-planb-server/sys/sys/sysproto.h projects/pnfs-planb-server/sys/sys/tty.h projects/pnfs-planb-server/sys/sys/user.h projects/pnfs-planb-server/sys/sys/vnode.h projects/pnfs-planb-server/sys/tests/callout_test/callout_test.c projects/pnfs-planb-server/sys/tests/framework/kern_testfrwk.c projects/pnfs-planb-server/sys/tools/sound/snd_fxdiv_gen.awk projects/pnfs-planb-server/sys/vm/swap_pager.c projects/pnfs-planb-server/sys/vm/uma_core.c projects/pnfs-planb-server/sys/vm/vm_object.c projects/pnfs-planb-server/sys/vm/vm_param.h projects/pnfs-planb-server/sys/x86/acpica/acpi_wakeup.c projects/pnfs-planb-server/sys/x86/include/segments.h projects/pnfs-planb-server/sys/x86/x86/busdma_bounce.c projects/pnfs-planb-server/sys/x86/x86/identcpu.c projects/pnfs-planb-server/sys/xdr/xdr.c Directory Properties: projects/pnfs-planb-server/sys/ (props changed) projects/pnfs-planb-server/sys/cddl/contrib/opensolaris/ (props changed) projects/pnfs-planb-server/sys/contrib/dev/acpica/ (props changed) projects/pnfs-planb-server/sys/contrib/ipfilter/ (props changed) Modified: projects/pnfs-planb-server/sys/Makefile ============================================================================== --- projects/pnfs-planb-server/sys/Makefile Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/Makefile Thu Jun 1 22:13:46 2017 (r319478) @@ -59,19 +59,7 @@ TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscope.files rm -f ${.CURDIR}/TAGS cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscope.files -# You need the textproc/glimpse ports for this. -glimpse: -.if !exists(${.CURDIR}/.glimpse_exclude) - echo .svn > ${.CURDIR}/.glimpse_exclude - echo /compile/ >> ${.CURDIR}/.glimpse_exclude -.endif - cd ${.CURDIR}; glimpseindex -H . -B -f -o . - -glimpse-clean: - cd ${.CURDIR}; rm -f .glimpse_* - -.if !(make(cscope) || make(cscope-clean) || make(cscope-hook) || make(TAGS) || \ - make(glimpse) || make(glimpse-clean)) +.if !(make(cscope) || make(cscope-clean) || make(cscope-hook) || make(TAGS)) .include # The boot loader Modified: projects/pnfs-planb-server/sys/amd64/acpica/acpi_wakecode.S ============================================================================== --- projects/pnfs-planb-server/sys/amd64/acpica/acpi_wakecode.S Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/amd64/acpica/acpi_wakecode.S Thu Jun 1 22:13:46 2017 (r319478) @@ -156,11 +156,12 @@ wakeup_32: /* * Enable EFER.LME so that we get long mode when all the prereqs are * in place. In this case, it turns on when CR0_PG is finally enabled. - * Pick up a few other EFER bits that we'll use need we're here. + * Also it picks up a few other EFER bits that we'll use need we're + * here, like SYSCALL and NX enable. */ movl $MSR_EFER, %ecx - rdmsr - orl $EFER_LME | EFER_SCE, %eax + movl wakeup_efer - wakeup_start(%ebx), %eax + movl wakeup_efer + 4 - wakeup_start(%ebx), %edx wrmsr /* @@ -275,6 +276,8 @@ bootgdtdesc: wakeup_pcb: .quad 0 wakeup_ret: + .quad 0 +wakeup_efer: .quad 0 wakeup_gdt: .word 0 Modified: projects/pnfs-planb-server/sys/amd64/amd64/cpu_switch.S ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/cpu_switch.S Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/amd64/amd64/cpu_switch.S Thu Jun 1 22:13:46 2017 (r319478) @@ -396,7 +396,7 @@ ENTRY(resumectx) movl 4 + PCB_KGSBASE(%rdi),%edx wrmsr - /* Restore EFER. */ + /* Restore EFER one more time. */ movl $MSR_EFER,%ecx movl PCB_EFER(%rdi),%eax wrmsr Modified: projects/pnfs-planb-server/sys/amd64/amd64/pmap.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/pmap.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/amd64/amd64/pmap.c Thu Jun 1 22:13:46 2017 (r319478) @@ -6691,7 +6691,7 @@ pmap_change_attr_locked(vm_offset_t va, vm_size_t size changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS && - (*pte & PG_PS_FRAME) < dmaplimit) { + (*pte & PG_FRAME) < dmaplimit) { if (pa_start == pa_end) { /* Start physical address run. */ pa_start = *pte & PG_FRAME; Modified: projects/pnfs-planb-server/sys/amd64/amd64/sys_machdep.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/sys_machdep.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/amd64/amd64/sys_machdep.c Thu Jun 1 22:13:46 2017 (r319478) @@ -169,9 +169,7 @@ update_gdt_fsbase(struct thread *td, uint32_t base) } int -sysarch(td, uap) - struct thread *td; - register struct sysarch_args *uap; +sysarch(struct thread *td, struct sysarch_args *uap) { int error = 0; struct pcb *pcb = curthread->td_pcb; Modified: projects/pnfs-planb-server/sys/amd64/amd64/vm_machdep.c ============================================================================== --- projects/pnfs-planb-server/sys/amd64/amd64/vm_machdep.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/amd64/amd64/vm_machdep.c Thu Jun 1 22:13:46 2017 (r319478) @@ -148,13 +148,9 @@ alloc_fpusave(int flags) * ready to run and return to user mode. */ void -cpu_fork(td1, p2, td2, flags) - register struct thread *td1; - register struct proc *p2; - struct thread *td2; - int flags; +cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags) { - register struct proc *p1; + struct proc *p1; struct pcb *pcb2; struct mdproc *mdp1, *mdp2; struct proc_ldt *pldt; Modified: projects/pnfs-planb-server/sys/amd64/include/vmparam.h ============================================================================== --- projects/pnfs-planb-server/sys/amd64/include/vmparam.h Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/amd64/include/vmparam.h Thu Jun 1 22:13:46 2017 (r319478) @@ -52,7 +52,7 @@ /* * Virtual memory related constants, all in bytes */ -#define MAXTSIZ (128UL*1024*1024) /* max text size */ +#define MAXTSIZ (32768UL*1024*1024) /* max text size */ #ifndef DFLDSIZ #define DFLDSIZ (32768UL*1024*1024) /* initial data size limit */ #endif Modified: projects/pnfs-planb-server/sys/amd64/linux/linux.h ============================================================================== --- projects/pnfs-planb-server/sys/amd64/linux/linux.h Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/amd64/linux/linux.h Thu Jun 1 22:13:46 2017 (r319478) @@ -101,9 +101,6 @@ typedef struct { /* * Miscellaneous */ -#define LINUX_NAME_MAX 255 -#define LINUX_CTL_MAXNAME 10 - #define LINUX_AT_COUNT 19 /* Count of used aux entry types. */ struct l___sysctl_args @@ -117,11 +114,6 @@ struct l___sysctl_args l_ulong __spare[4]; }; -/* Scheduling policies */ -#define LINUX_SCHED_OTHER 0 -#define LINUX_SCHED_FIFO 1 -#define LINUX_SCHED_RR 2 - /* Resource limits */ #define LINUX_RLIMIT_CPU 0 #define LINUX_RLIMIT_FSIZE 1 @@ -455,20 +447,6 @@ struct l_pollfd { l_short events; l_short revents; }; - - -#define LINUX_CLONE_VM 0x00000100 -#define LINUX_CLONE_FS 0x00000200 -#define LINUX_CLONE_FILES 0x00000400 -#define LINUX_CLONE_SIGHAND 0x00000800 -#define LINUX_CLONE_PID 0x00001000 /* No longer exist in Linux */ -#define LINUX_CLONE_VFORK 0x00004000 -#define LINUX_CLONE_PARENT 0x00008000 -#define LINUX_CLONE_THREAD 0x00010000 -#define LINUX_CLONE_SETTLS 0x00080000 -#define LINUX_CLONE_PARENT_SETTID 0x00100000 -#define LINUX_CLONE_CHILD_CLEARTID 0x00200000 -#define LINUX_CLONE_CHILD_SETTID 0x01000000 #define LINUX_ARCH_SET_GS 0x1001 #define LINUX_ARCH_SET_FS 0x1002 Modified: projects/pnfs-planb-server/sys/arm/arm/busdma_machdep-v4.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/arm/busdma_machdep-v4.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/arm/busdma_machdep-v4.c Thu Jun 1 22:13:46 2017 (r319478) @@ -736,8 +736,10 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void **vaddr, int if (bufzone != NULL && dmat->alignment <= bufzone->size && !_bus_dma_can_bounce(dmat->lowaddr, dmat->highaddr)) { *vaddr = uma_zalloc(bufzone->umazone, mflags); - } else if (dmat->nsegments >= btoc(dmat->maxsize) && - dmat->alignment <= PAGE_SIZE && dmat->boundary == 0) { + } else if (dmat->nsegments >= + howmany(dmat->maxsize, MIN(dmat->maxsegsz, PAGE_SIZE)) && + dmat->alignment <= PAGE_SIZE && + (dmat->boundary % PAGE_SIZE) == 0) { *vaddr = (void *)kmem_alloc_attr(kernel_arena, dmat->maxsize, mflags, 0, dmat->lowaddr, memattr); } else { Modified: projects/pnfs-planb-server/sys/arm/arm/busdma_machdep-v6.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/arm/busdma_machdep-v6.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/arm/busdma_machdep-v6.c Thu Jun 1 22:13:46 2017 (r319478) @@ -779,7 +779,9 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void **vaddr, int * (the allocator aligns buffers to their size boundaries). * - There's no need to handle lowaddr/highaddr exclusion zones. * else allocate non-contiguous pages if... - * - The page count that could get allocated doesn't exceed nsegments. + * - The page count that could get allocated doesn't exceed + * nsegments also when the maximum segment size is less + * than PAGE_SIZE. * - The alignment constraint isn't larger than a page boundary. * - There are no boundary-crossing constraints. * else allocate a block of contiguous pages because one or more of the @@ -788,8 +790,10 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void **vaddr, int if (bufzone != NULL && dmat->alignment <= bufzone->size && !exclusion_bounce(dmat)) { *vaddr = uma_zalloc(bufzone->umazone, mflags); - } else if (dmat->nsegments >= btoc(dmat->maxsize) && - dmat->alignment <= PAGE_SIZE && dmat->boundary == 0) { + } else if (dmat->nsegments >= + howmany(dmat->maxsize, MIN(dmat->maxsegsz, PAGE_SIZE)) && + dmat->alignment <= PAGE_SIZE && + (dmat->boundary % PAGE_SIZE) == 0) { *vaddr = (void *)kmem_alloc_attr(kernel_arena, dmat->maxsize, mflags, 0, dmat->lowaddr, memattr); } else { Modified: projects/pnfs-planb-server/sys/arm/arm/pmap-v6.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/arm/pmap-v6.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/arm/pmap-v6.c Thu Jun 1 22:13:46 2017 (r319478) @@ -498,6 +498,42 @@ pmap_set_tex(void) } /* + * Remap one vm_meattr class to another one. This can be useful as + * workaround for SOC errata, e.g. if devices must be accessed using + * SO memory class. + * + * !!! Please note that this function is absolutely last resort thing. + * It should not be used under normal circumstances. !!! + * + * Usage rules: + * - it shall be called after pmap_bootstrap_prepare() and before + * cpu_mp_start() (thus only on boot CPU). In practice, it's expected + * to be called from platform_attach() or platform_late_init(). + * + * - if remapping doesn't change caching mode, or until uncached class + * is remapped to any kind of cached one, then no other restriction exists. + * + * - if pmap_remap_vm_attr() changes caching mode, but both (original and + * remapped) remain cached, then caller is resposible for calling + * of dcache_wbinv_poc_all(). + * + * - remapping of any kind of cached class to uncached is not permitted. + */ +void +pmap_remap_vm_attr(vm_memattr_t old_attr, vm_memattr_t new_attr) +{ + int old_idx, new_idx; + + /* Map VM memattrs to indexes to tex_class table. */ + old_idx = pte2_attr_tab[(int)old_attr]; + new_idx = pte2_attr_tab[(int)new_attr]; + + /* Replace TEX attribute and apply it. */ + tex_class[old_idx] = tex_class[new_idx]; + pmap_set_tex(); +} + +/* * KERNBASE must be multiple of NPT2_IN_PG * PTE1_SIZE. In other words, * KERNBASE is mapped by first L2 page table in L2 page table page. It * meets same constrain due to PT2MAP being placed just under KERNBASE. Modified: projects/pnfs-planb-server/sys/arm/arm/sys_machdep.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/arm/sys_machdep.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/arm/sys_machdep.c Thu Jun 1 22:13:46 2017 (r319478) @@ -188,9 +188,7 @@ arm32_get_tp(struct thread *td, void *args) } int -sysarch(td, uap) - struct thread *td; - register struct sysarch_args *uap; +sysarch(struct thread *td, struct sysarch_args *uap) { int error; Modified: projects/pnfs-planb-server/sys/arm/arm/vm_machdep.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/arm/vm_machdep.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/arm/vm_machdep.c Thu Jun 1 22:13:46 2017 (r319478) @@ -93,8 +93,7 @@ uint32_t initial_fpscr = VFPSCR_DN | VFPSCR_FZ; * ready to run and return to user mode. */ void -cpu_fork(register struct thread *td1, register struct proc *p2, - struct thread *td2, int flags) +cpu_fork(struct thread *td1, struct proc *p2, struct thread *td2, int flags) { struct pcb *pcb2; struct trapframe *tf; Modified: projects/pnfs-planb-server/sys/arm/conf/ARMADA38X ============================================================================== --- projects/pnfs-planb-server/sys/arm/conf/ARMADA38X Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/conf/ARMADA38X Thu Jun 1 22:13:46 2017 (r319478) @@ -12,6 +12,7 @@ ident ARMADA38X options SOC_MV_ARMADA38X makeoptions WERROR="-Werror" +makeoptions MODULES_EXTRA="dtb/mv" options MD_ROOT #makeoptions MFS_IMAGE=/path/to/miniroot @@ -62,6 +63,11 @@ device scbus device pass device da +# MMC/SD/SDIO Card slot support +device mmc # mmc/sd bus +device mmcsd # mmc/sd flash cards +device sdhci # mmc/sd host controller + # SATA device ahci @@ -70,6 +76,14 @@ device iic device iicbus device twsi +# Wireless NIC cards +device wlan # 802.11 support +device ath # Atheros NIC's +device ath_pci # Atheros pci/cardbus glue +device ath_hal +device ath_rate_sample +options ATH_ENABLE_11N + # CESA device cesa device crypto @@ -78,7 +92,5 @@ device cryptodev # L2 Cache device pl310 -#FDT +# FDT options FDT -options FDT_DTB_STATIC -makeoptions FDT_DTS_FILE=armada-388-gp.dts Modified: projects/pnfs-planb-server/sys/arm/conf/NOTES ============================================================================== --- projects/pnfs-planb-server/sys/arm/conf/NOTES Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/conf/NOTES Thu Jun 1 22:13:46 2017 (r319478) @@ -79,6 +79,7 @@ nodevice snake_saver nodevice star_saver nodevice warp_saver +nodevice ccr nodevice cxgbe nodevice cxgbev nodevice snd_cmi Modified: projects/pnfs-planb-server/sys/arm/include/atomic-v4.h ============================================================================== --- projects/pnfs-planb-server/sys/arm/include/atomic-v4.h Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/include/atomic-v4.h Thu Jun 1 22:13:46 2017 (r319478) @@ -299,7 +299,7 @@ atomic_clear_32(volatile uint32_t *address, uint32_t c static __inline u_int32_t atomic_cmpset_32(volatile u_int32_t *p, volatile u_int32_t cmpval, volatile u_int32_t newval) { - register int done, ras_start = ARM_RAS_START; + int done, ras_start = ARM_RAS_START; __asm __volatile("1:\n" "adr %1, 1b\n" Modified: projects/pnfs-planb-server/sys/arm/include/pmap-v6.h ============================================================================== --- projects/pnfs-planb-server/sys/arm/include/pmap-v6.h Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/include/pmap-v6.h Thu Jun 1 22:13:46 2017 (r319478) @@ -188,6 +188,7 @@ vm_offset_t pmap_preboot_reserve_pages(u_int); vm_offset_t pmap_preboot_get_vpages(u_int); void pmap_preboot_map_attr(vm_paddr_t, vm_offset_t, vm_size_t, vm_prot_t, vm_memattr_t); +void pmap_remap_vm_attr(vm_memattr_t old_attr, vm_memattr_t new_attr); #endif /* _KERNEL */ #endif /* !_MACHINE_PMAP_V6_H_ */ Modified: projects/pnfs-planb-server/sys/arm/include/vmparam.h ============================================================================== --- projects/pnfs-planb-server/sys/arm/include/vmparam.h Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/include/vmparam.h Thu Jun 1 22:13:46 2017 (r319478) @@ -42,7 +42,7 @@ * Virtual memory related constants, all in bytes */ #ifndef MAXTSIZ -#define MAXTSIZ (64UL*1024*1024) /* max text size */ +#define MAXTSIZ (256UL*1024*1024) /* max text size */ #endif #ifndef DFLDSIZ #define DFLDSIZ (128UL*1024*1024) /* initial data size limit */ Copied: projects/pnfs-planb-server/sys/arm/mv/armada/wdt.c (from r319477, head/sys/arm/mv/armada/wdt.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pnfs-planb-server/sys/arm/mv/armada/wdt.c Thu Jun 1 22:13:46 2017 (r319478, copy of r319477, head/sys/arm/mv/armada/wdt.c) @@ -0,0 +1,285 @@ +/*- + * Copyright (c) 2006 Benno Rice. + * Copyright (C) 2007-2008 MARVELL INTERNATIONAL LTD. + * All rights reserved. + * + * Adapted to Marvell SoC by Semihalf. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * from: FreeBSD: //depot/projects/arm/src/sys/arm/xscale/pxa2x0/pxa2x0_timer.c, rev 1 + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#define INITIAL_TIMECOUNTER (0xffffffff) +#define MAX_WATCHDOG_TICKS (0xffffffff) + +#if defined(SOC_MV_ARMADAXP) || defined(SOC_MV_ARMADA38X) +#define MV_CLOCK_SRC 25000000 /* Timers' 25MHz mode */ +#else +#define MV_CLOCK_SRC get_tclk() +#endif + +#if defined(SOC_MV_ARMADA38X) +#define WATCHDOG_TIMER 4 +#else +#define WATCHDOG_TIMER 2 +#endif + +struct mv_wdt_softc { + struct resource * wdt_res; + struct mtx wdt_mtx; +}; + +static struct resource_spec mv_wdt_spec[] = { + { SYS_RES_MEMORY, 0, RF_ACTIVE }, + { -1, 0 } +}; + +static struct ofw_compat_data mv_wdt_compat[] = { + {"marvell,armada-380-wdt", true}, + {NULL, false} +}; + +static struct mv_wdt_softc *wdt_softc = NULL; +int timers_initialized = 0; + +static int mv_wdt_probe(device_t); +static int mv_wdt_attach(device_t); + +static uint32_t mv_get_timer_control(void); +static void mv_set_timer_control(uint32_t); +static void mv_set_timer(uint32_t, uint32_t); + +static void mv_watchdog_enable(void); +static void mv_watchdog_disable(void); +static void mv_watchdog_event(void *, unsigned int, int *); + +static device_method_t mv_wdt_methods[] = { + DEVMETHOD(device_probe, mv_wdt_probe), + DEVMETHOD(device_attach, mv_wdt_attach), + + { 0, 0 } +}; + +static driver_t mv_wdt_driver = { + "wdt", + mv_wdt_methods, + sizeof(struct mv_wdt_softc), +}; + +static devclass_t mv_wdt_devclass; + +DRIVER_MODULE(wdt, simplebus, mv_wdt_driver, mv_wdt_devclass, 0, 0); +static int +mv_wdt_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + if (!ofw_bus_search_compatible(dev, mv_wdt_compat)->ocd_data) + return (ENXIO); + + device_set_desc(dev, "Marvell Watchdog Timer"); + return (0); +} + +static int +mv_wdt_attach(device_t dev) +{ + struct mv_wdt_softc *sc; + int error; + + if (wdt_softc != NULL) + return (ENXIO); + + sc = device_get_softc(dev); + wdt_softc = sc; + + error = bus_alloc_resources(dev, mv_wdt_spec, &sc->wdt_res); + if (error) { + device_printf(dev, "could not allocate resources\n"); + return (ENXIO); + } + + mtx_init(&sc->wdt_mtx, "watchdog", NULL, MTX_DEF); + + mv_watchdog_disable(); + EVENTHANDLER_REGISTER(watchdog_list, mv_watchdog_event, sc, 0); + + return (0); +} + +static __inline uint32_t +mv_get_timer_control(void) +{ + + return (bus_read_4(wdt_softc->wdt_res, CPU_TIMER_CONTROL)); +} + +static __inline void +mv_set_timer_control(uint32_t val) +{ + + bus_write_4(wdt_softc->wdt_res, CPU_TIMER_CONTROL, val); +} + +static __inline void +mv_set_timer(uint32_t timer, uint32_t val) +{ + + bus_write_4(wdt_softc->wdt_res, CPU_TIMER0 + timer * 0x8, val); +} + +static void +mv_watchdog_enable(void) +{ + uint32_t val, irq_cause; +#if !defined(SOC_MV_ARMADAXP) && !defined(SOC_MV_ARMADA38X) + uint32_t irq_mask; +#endif + + irq_cause = read_cpu_ctrl(BRIDGE_IRQ_CAUSE); + irq_cause &= IRQ_TIMER_WD_CLR; + write_cpu_ctrl(BRIDGE_IRQ_CAUSE, irq_cause); + +#if defined(SOC_MV_ARMADAXP) || defined(SOC_MV_ARMADA38X) + val = read_cpu_mp_clocks(WD_RSTOUTn_MASK); + val |= (WD_GLOBAL_MASK | WD_CPU0_MASK); + write_cpu_mp_clocks(WD_RSTOUTn_MASK, val); + + val = read_cpu_misc(RSTOUTn_MASK); + val &= ~RSTOUTn_MASK_WD; + write_cpu_misc(RSTOUTn_MASK, val); +#else + irq_mask = read_cpu_ctrl(BRIDGE_IRQ_MASK); + irq_mask |= IRQ_TIMER_WD_MASK; + write_cpu_ctrl(BRIDGE_IRQ_MASK, irq_mask); + + val = read_cpu_ctrl(RSTOUTn_MASK); + val |= WD_RST_OUT_EN; + write_cpu_ctrl(RSTOUTn_MASK, val); +#endif + + val = mv_get_timer_control(); +#if defined(SOC_MV_ARMADA38X) + val |= CPU_TIMER_WD_EN | CPU_TIMER_WD_AUTO | CPU_TIMER_WD_25MHZ_EN; +#elif defined(SOC_MV_ARMADAXP) + val |= CPU_TIMER2_EN | CPU_TIMER2_AUTO | CPU_TIMER_WD_25MHZ_EN; +#else + val |= CPU_TIMER2_EN | CPU_TIMER2_AUTO; +#endif + mv_set_timer_control(val); +} + +static void +mv_watchdog_disable(void) +{ + uint32_t val, irq_cause; +#if !defined(SOC_MV_ARMADAXP) && !defined(SOC_MV_ARMADA38X) + uint32_t irq_mask; +#endif + + val = mv_get_timer_control(); +#if defined(SOC_MV_ARMADA38X) + val &= ~(CPU_TIMER_WD_EN | CPU_TIMER_WD_AUTO); +#else + val &= ~(CPU_TIMER2_EN | CPU_TIMER2_AUTO); +#endif + mv_set_timer_control(val); + +#if defined(SOC_MV_ARMADAXP) || defined(SOC_MV_ARMADA38X) + val = read_cpu_mp_clocks(WD_RSTOUTn_MASK); + val &= ~(WD_GLOBAL_MASK | WD_CPU0_MASK); + write_cpu_mp_clocks(WD_RSTOUTn_MASK, val); + + val = read_cpu_misc(RSTOUTn_MASK); + val |= RSTOUTn_MASK_WD; + write_cpu_misc(RSTOUTn_MASK, RSTOUTn_MASK_WD); +#else + val = read_cpu_ctrl(RSTOUTn_MASK); + val &= ~WD_RST_OUT_EN; + write_cpu_ctrl(RSTOUTn_MASK, val); + + irq_mask = read_cpu_ctrl(BRIDGE_IRQ_MASK); + irq_mask &= ~(IRQ_TIMER_WD_MASK); + write_cpu_ctrl(BRIDGE_IRQ_MASK, irq_mask); +#endif + + irq_cause = read_cpu_ctrl(BRIDGE_IRQ_CAUSE); + irq_cause &= IRQ_TIMER_WD_CLR; + write_cpu_ctrl(BRIDGE_IRQ_CAUSE, irq_cause); +} + +/* + * Watchdog event handler. + */ +static void +mv_watchdog_event(void *arg, unsigned int cmd, int *error) +{ + struct mv_wdt_softc *sc; + uint64_t ns; + uint64_t ticks; + + sc = arg; + mtx_lock(&sc->wdt_mtx); + if (cmd == 0) + mv_watchdog_disable(); + else { + /* + * Watchdog timeout is in nanosecs, calculation according to + * watchdog(9) + */ + ns = (uint64_t)1 << (cmd & WD_INTERVAL); + ticks = (uint64_t)(ns * MV_CLOCK_SRC) / 1000000000; + if (ticks > MAX_WATCHDOG_TICKS) + mv_watchdog_disable(); + else { + mv_set_timer(WATCHDOG_TIMER, ticks); + mv_watchdog_enable(); + *error = 0; + } + } + mtx_unlock(&sc->wdt_mtx); +} Modified: projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x.c Thu Jun 1 22:13:46 2017 (r319478) @@ -173,9 +173,13 @@ armada38x_scu_enable(void) /* Enable SCU */ val = bus_space_read_4(fdtbus_bs_tag, vaddr_scu, MV_SCU_REG_CTRL); - if (!(val & MV_SCU_ENABLE)) + if (!(val & MV_SCU_ENABLE)) { + /* Enable SCU Speculative linefills to L2 */ + val |= MV_SCU_SL_L2_ENABLE; + bus_space_write_4(fdtbus_bs_tag, vaddr_scu, 0, val | MV_SCU_ENABLE); + } bus_space_unmap(fdtbus_bs_tag, vaddr_scu, MV_SCU_REGS_LEN); return (0); Modified: projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x_mp.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x_mp.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/mv/armada38x/armada38x_mp.c Thu Jun 1 22:13:46 2017 (r319478) @@ -127,7 +127,7 @@ platform_mp_setmaxid(void) /* Armada38x family supports maximum 2 cores */ mp_ncpus = platform_cnt_cpus(); - mp_maxid = 1; + mp_maxid = mp_ncpus - 1; } void Modified: projects/pnfs-planb-server/sys/arm/mv/armada38x/files.armada38x ============================================================================== --- projects/pnfs-planb-server/sys/arm/mv/armada38x/files.armada38x Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/mv/armada38x/files.armada38x Thu Jun 1 22:13:46 2017 (r319478) @@ -2,9 +2,11 @@ arm/mv/mpic.c standard arm/mv/armada/thermal.c optional fdt +arm/mv/armada/wdt.c optional fdt arm/mv/armada38x/armada38x.c standard arm/mv/armada38x/armada38x_mp.c optional smp arm/mv/armada38x/pmsu.c standard arm/mv/armada38x/rtc.c standard arm/mv/armada38x/armada38x_pl310.c optional pl310 +dev/sdhci/sdhci_fdt.c optional sdhci Modified: projects/pnfs-planb-server/sys/arm/mv/files.mv ============================================================================== --- projects/pnfs-planb-server/sys/arm/mv/files.mv Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/mv/files.mv Thu Jun 1 22:13:46 2017 (r319478) @@ -18,7 +18,7 @@ arm/mv/mv_localbus.c standard arm/mv/mv_machdep.c standard arm/mv/mv_pci.c optional pci arm/mv/mv_ts.c standard -arm/mv/timer.c standard +arm/mv/timer.c optional !soc_mv_armada38x dev/cesa/cesa.c optional cesa dev/iicbus/twsi/mv_twsi.c optional twsi Modified: projects/pnfs-planb-server/sys/arm/mv/mpic.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/mv/mpic.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/mv/mpic.c Thu Jun 1 22:13:46 2017 (r319478) @@ -148,12 +148,11 @@ static void mpic_unmask_irq(uintptr_t nb); static void mpic_mask_irq(uintptr_t nb); static void mpic_mask_irq_err(uintptr_t nb); static void mpic_unmask_irq_err(uintptr_t nb); +static boolean_t mpic_irq_is_percpu(uintptr_t); +#ifdef INTRNG static int mpic_intr(void *arg); -static void mpic_unmask_msi(void); -#ifndef INTRNG -static void arm_mask_irq_err(uintptr_t); -static void arm_unmask_irq_err(uintptr_t); #endif +static void mpic_unmask_msi(void); #define MPIC_WRITE(softc, reg, val) \ bus_space_write_4((softc)->mpic_bst, (softc)->mpic_bsh, (reg), (val)) @@ -260,8 +259,7 @@ mv_mpic_attach(device_t dev) sc->drbl_bsh = rman_get_bushandle(sc->mpic_res[2]); } - bus_space_write_4(mv_mpic_sc->mpic_bst, mv_mpic_sc->mpic_bsh, - MPIC_CTRL, 1); + MPIC_WRITE(mv_mpic_sc, MPIC_CTRL, 1); MPIC_CPU_WRITE(mv_mpic_sc, MPIC_CTP, 0); val = MPIC_READ(mv_mpic_sc, MPIC_CTRL); @@ -273,6 +271,9 @@ mv_mpic_attach(device_t dev) bus_release_resources(dev, mv_mpic_spec, sc->mpic_res); return (ENXIO); } + + OF_device_register_xref(OF_xref_from_node(ofw_bus_get_node(dev)), dev); + if (intr_pic_register(dev, OF_xref_from_device(dev)) == NULL) { device_printf(dev, "could not register PIC\n"); bus_release_resources(dev, mv_mpic_spec, sc->mpic_res); @@ -398,7 +399,7 @@ static driver_t mv_mpic_driver = { static devclass_t mv_mpic_devclass; EARLY_DRIVER_MODULE(mpic, simplebus, mv_mpic_driver, mv_mpic_devclass, 0, 0, - BUS_PASS_INTERRUPT); + BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE); #ifndef INTRNG int @@ -432,27 +433,12 @@ arm_mask_irq(uintptr_t nb) mpic_mask_irq(nb); } - -static void -arm_mask_irq_err(uintptr_t nb) -{ - - mpic_mask_irq_err(nb); -} - void arm_unmask_irq(uintptr_t nb) { mpic_unmask_irq(nb); } - -void -arm_unmask_irq_err(uintptr_t nb) -{ - - mpic_unmask_irq_err(nb); -} #endif static void @@ -468,8 +454,7 @@ mpic_unmask_irq_err(uintptr_t nb) uint32_t mask; uint8_t bit_off; - bus_space_write_4(mv_mpic_sc->mpic_bst, mv_mpic_sc->mpic_bsh, - MPIC_ISE, MPIC_INT_ERR); + MPIC_WRITE(mv_mpic_sc, MPIC_ISE, MPIC_INT_ERR); MPIC_CPU_WRITE(mv_mpic_sc, MPIC_ICM, MPIC_INT_ERR); bit_off = nb - ERR_IRQ; @@ -490,15 +475,24 @@ mpic_mask_irq_err(uintptr_t nb) MPIC_CPU_WRITE(mv_mpic_sc, MPIC_ERR_MASK, mask); } +static boolean_t +mpic_irq_is_percpu(uintptr_t nb) +{ + if (nb < MPIC_PPI) + return TRUE; + + return FALSE; +} + static void mpic_unmask_irq(uintptr_t nb) { - if (nb < ERR_IRQ) { - bus_space_write_4(mv_mpic_sc->mpic_bst, mv_mpic_sc->mpic_bsh, - MPIC_ISE, nb); + if (mpic_irq_is_percpu(nb)) MPIC_CPU_WRITE(mv_mpic_sc, MPIC_ICM, nb); - } else if (nb < MSI_IRQ) + else if (nb < ERR_IRQ) + MPIC_WRITE(mv_mpic_sc, MPIC_ISE, nb); + else if (nb < MSI_IRQ) mpic_unmask_irq_err(nb); if (nb == 0) @@ -509,11 +503,11 @@ static void mpic_mask_irq(uintptr_t nb) { - if (nb < ERR_IRQ) { - bus_space_write_4(mv_mpic_sc->mpic_bst, mv_mpic_sc->mpic_bsh, - MPIC_ICE, nb); + if (mpic_irq_is_percpu(nb)) MPIC_CPU_WRITE(mv_mpic_sc, MPIC_ISM, nb); - } else if (nb < MSI_IRQ) + else if (nb < ERR_IRQ) + MPIC_WRITE(mv_mpic_sc, MPIC_ICE, nb); + else if (nb < MSI_IRQ) mpic_mask_irq_err(nb); } @@ -530,8 +524,7 @@ mv_mpic_get_cause_err(void) uint32_t err_cause; uint8_t bit_off; - err_cause = bus_space_read_4(mv_mpic_sc->mpic_bst, - mv_mpic_sc->mpic_bsh, MPIC_ERR_CAUSE); + err_cause = MPIC_READ(mv_mpic_sc, MPIC_ERR_CAUSE); if (err_cause) bit_off = ffs(err_cause) - 1; @@ -612,8 +605,7 @@ pic_ipi_send(cpuset_t cpus, u_int ipi) if (CPU_ISSET(i, &cpus)) val |= (1 << (8 + i)); val |= ipi; - bus_space_write_4(mv_mpic_sc->mpic_bst, mv_mpic_sc->mpic_bsh, - MPIC_SOFT_INT, val); + MPIC_WRITE(mv_mpic_sc, MPIC_SOFT_INT, val); } int Modified: projects/pnfs-planb-server/sys/arm/mv/mv_common.c ============================================================================== --- projects/pnfs-planb-server/sys/arm/mv/mv_common.c Thu Jun 1 21:23:04 2017 (r319477) +++ projects/pnfs-planb-server/sys/arm/mv/mv_common.c Thu Jun 1 22:13:46 2017 (r319478) @@ -76,12 +76,14 @@ MALLOC_DEFINE(M_IDMA, "idma", "idma dma test memory"); static int win_eth_can_remap(int i); +static int decode_win_cesa_valid(void); static int decode_win_cpu_valid(void); static int decode_win_usb_valid(void); static int decode_win_usb3_valid(void); static int decode_win_eth_valid(void); static int decode_win_pcie_valid(void); static int decode_win_sata_valid(void); +static int decode_win_sdhci_valid(void); static int decode_win_idma_valid(void); static int decode_win_xor_valid(void); @@ -90,21 +92,25 @@ static void decode_win_cpu_setup(void); #ifdef SOC_MV_ARMADAXP static int decode_win_sdram_fixup(void); #endif +static void decode_win_cesa_setup(u_long); static void decode_win_usb_setup(u_long); static void decode_win_usb3_setup(u_long); static void decode_win_eth_setup(u_long); static void decode_win_sata_setup(u_long); static void decode_win_ahci_setup(u_long); +static void decode_win_sdhci_setup(u_long); static void decode_win_idma_setup(u_long); static void decode_win_xor_setup(u_long); +static void decode_win_cesa_dump(u_long); static void decode_win_usb_dump(u_long); static void decode_win_usb3_dump(u_long); static void decode_win_eth_dump(u_long base); static void decode_win_idma_dump(u_long base); static void decode_win_xor_dump(u_long base); static void decode_win_ahci_dump(u_long base); +static void decode_win_sdhci_dump(u_long); static int fdt_get_ranges(const char *, void *, int, int *, int *); #ifdef SOC_MV_ARMADA38X @@ -127,6 +133,16 @@ const struct decode_win *cpu_wins = cpu_win_tbl; typedef void (*decode_win_setup_t)(u_long); typedef void (*dump_win_t)(u_long); +/* + * The power status of device feature is only supported on + * Kirkwood and Discovery SoCs. + */ +#if defined(SOC_MV_KIRKWOOD) || defined(SOC_MV_DISCOVERY) +#define SOC_MV_POWER_STAT_SUPPORTED 1 +#else +#define SOC_MV_POWER_STAT_SUPPORTED 0 +#endif + struct soc_node_spec { const char *compat; decode_win_setup_t decode_handler; @@ -136,11 +152,14 @@ struct soc_node_spec { static struct soc_node_spec soc_nodes[] = { { "mrvl,ge", &decode_win_eth_setup, &decode_win_eth_dump }, { "mrvl,usb-ehci", &decode_win_usb_setup, &decode_win_usb_dump }, + { "marvell,orion-ehci", &decode_win_usb_setup, &decode_win_usb_dump }, { "marvell,armada-380-xhci", &decode_win_usb3_setup, &decode_win_usb3_dump }, { "marvell,armada-380-ahci", &decode_win_ahci_setup, &decode_win_ahci_dump }, + { "marvell,armada-380-sdhci", &decode_win_sdhci_setup, &decode_win_sdhci_dump }, { "mrvl,sata", &decode_win_sata_setup, NULL }, { "mrvl,xor", &decode_win_xor_setup, &decode_win_xor_dump }, { "mrvl,idma", &decode_win_idma_setup, &decode_win_idma_dump }, + { "mrvl,cesa", &decode_win_cesa_setup, &decode_win_cesa_dump }, { "mrvl,pcie", &decode_win_pcie_setup, NULL }, { NULL, NULL, NULL }, }; @@ -165,10 +184,10 @@ static struct fdt_pm_mask_entry fdt_pm_mask_table[] = static __inline int pm_is_disabled(uint32_t mask) { -#if defined(SOC_MV_KIRKWOOD) - return (soc_power_ctrl_get(mask) == mask); -#else +#if SOC_MV_POWER_STAT_SUPPORTED return (soc_power_ctrl_get(mask) == mask ? 0 : 1); +#else + return (0); #endif } @@ -355,7 +374,7 @@ uint32_t soc_power_ctrl_get(uint32_t mask) { -#if !defined(SOC_MV_ORION) +#if SOC_MV_POWER_STAT_SUPPORTED if (mask != CPU_PM_CTRL_NONE) mask &= read_cpu_ctrl(CPU_PM_CTRL); @@ -568,7 +587,8 @@ soc_decode_win(void) if (!decode_win_cpu_valid() || !decode_win_usb_valid() || !decode_win_eth_valid() || !decode_win_idma_valid() || !decode_win_pcie_valid() || !decode_win_sata_valid() || - !decode_win_xor_valid() || !decode_win_usb3_valid()) + !decode_win_xor_valid() || !decode_win_usb3_valid() || + !decode_win_sdhci_valid() || !decode_win_cesa_valid()) return (EINVAL); decode_win_cpu_setup(); @@ -595,6 +615,11 @@ WIN_REG_IDX_WR(win_cpu, br, MV_WIN_CPU_BASE, MV_MBUS_B WIN_REG_IDX_WR(win_cpu, remap_l, MV_WIN_CPU_REMAP_LO, MV_MBUS_BRIDGE_BASE) WIN_REG_IDX_WR(win_cpu, remap_h, MV_WIN_CPU_REMAP_HI, MV_MBUS_BRIDGE_BASE) +WIN_REG_BASE_IDX_RD(win_cesa, cr, MV_WIN_CESA_CTRL) +WIN_REG_BASE_IDX_RD(win_cesa, br, MV_WIN_CESA_BASE) +WIN_REG_BASE_IDX_WR(win_cesa, cr, MV_WIN_CESA_CTRL) +WIN_REG_BASE_IDX_WR(win_cesa, br, MV_WIN_CESA_BASE) + WIN_REG_BASE_IDX_RD(win_usb, cr, MV_WIN_USB_CTRL) WIN_REG_BASE_IDX_RD(win_usb, br, MV_WIN_USB_BASE) WIN_REG_BASE_IDX_WR(win_usb, cr, MV_WIN_USB_CTRL) @@ -659,6 +684,11 @@ WIN_REG_BASE_IDX_RD(win_sata, sz, MV_WIN_SATA_SIZE); WIN_REG_BASE_IDX_WR(win_sata, sz, MV_WIN_SATA_SIZE); #endif +WIN_REG_BASE_IDX_RD(win_sdhci, cr, MV_WIN_SDHCI_CTRL); +WIN_REG_BASE_IDX_RD(win_sdhci, br, MV_WIN_SDHCI_BASE); +WIN_REG_BASE_IDX_WR(win_sdhci, cr, MV_WIN_SDHCI_CTRL); +WIN_REG_BASE_IDX_WR(win_sdhci, br, MV_WIN_SDHCI_BASE); + #ifndef SOC_MV_DOVE WIN_REG_IDX_RD(ddr, br, MV_WIN_DDR_BASE, MV_DDR_CADR_BASE) WIN_REG_IDX_RD(ddr, sz, MV_WIN_DDR_SIZE, MV_DDR_CADR_BASE) @@ -1060,6 +1090,78 @@ ddr_target(int i) } /************************************************************************** + * CESA windows routines + **************************************************************************/ +static int +decode_win_cesa_valid(void) +{ + + return (decode_win_can_cover_ddr(MV_WIN_CESA_MAX)); +} + +static void +decode_win_cesa_dump(u_long base) +{ + int i; + + for (i = 0; i < MV_WIN_CESA_MAX; i++) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Thu Jun 1 22:47:06 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A6447B82519 for ; Thu, 1 Jun 2017 22:47:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 36F946FB2B; Thu, 1 Jun 2017 22:47:06 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v51Ml5lr080290; Thu, 1 Jun 2017 22:47:05 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v51Ml2xB080258; Thu, 1 Jun 2017 22:47:02 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706012247.v51Ml2xB080258@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 1 Jun 2017 22:47:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319479 - in projects/clang500-import: contrib/compiler-rt/include/sanitizer contrib/compiler-rt/lib/asan contrib/compiler-rt/lib/dfsan contrib/compiler-rt/lib/lsan contrib/compiler-rt/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Jun 2017 22:47:06 -0000 Author: dim Date: Thu Jun 1 22:47:02 2017 New Revision: 319479 URL: https://svnweb.freebsd.org/changeset/base/319479 Log: Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304460, and update build glue. Added: projects/clang500-import/contrib/libc++/include/__undef_macros - copied unchanged from r319475, vendor/libc++/dist/include/__undef_macros projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def - copied unchanged from r319475, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CodeViewSymbols.def projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewTypes.def - copied unchanged from r319475, vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CodeViewTypes.def projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h - copied unchanged from r319475, vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h - copied unchanged from r319475, vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLTypes.h - copied unchanged from r319475, vendor/llvm/dist/include/llvm/ObjectYAML/CodeViewYAMLTypes.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h - copied unchanged from r319475, vendor/llvm/dist/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h projects/clang500-import/contrib/llvm/lib/CodeGen/LiveRangeShrink.cpp - copied unchanged from r319475, vendor/llvm/dist/lib/CodeGen/LiveRangeShrink.cpp projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp - copied unchanged from r319475, vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp - copied unchanged from r319475, vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLSymbols.cpp projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp - copied unchanged from r319475, vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLTypes.cpp Deleted: projects/clang500-import/contrib/libc++/include/__undef_min_max projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CVSymbolTypes.def projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecords.def projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YamlSerializationContext.h projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YamlSymbolDumper.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YamlSymbolDumper.h projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YamlTypeDumper.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YamlTypeDumper.h Modified: projects/clang500-import/contrib/compiler-rt/include/sanitizer/coverage_interface.h projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.cc projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.h projects/clang500-import/contrib/compiler-rt/lib/asan/asan_flags.cc projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc projects/clang500-import/contrib/compiler-rt/lib/dfsan/done_abilist.txt projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.cc projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.h projects/clang500-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc projects/clang500-import/contrib/libc++/include/__bit_reference projects/clang500-import/contrib/libc++/include/__config projects/clang500-import/contrib/libc++/include/__hash_table projects/clang500-import/contrib/libc++/include/__locale projects/clang500-import/contrib/libc++/include/__mutex_base projects/clang500-import/contrib/libc++/include/__split_buffer projects/clang500-import/contrib/libc++/include/__std_stream projects/clang500-import/contrib/libc++/include/__string projects/clang500-import/contrib/libc++/include/__threading_support projects/clang500-import/contrib/libc++/include/__tree projects/clang500-import/contrib/libc++/include/algorithm projects/clang500-import/contrib/libc++/include/array projects/clang500-import/contrib/libc++/include/bitset projects/clang500-import/contrib/libc++/include/chrono projects/clang500-import/contrib/libc++/include/deque projects/clang500-import/contrib/libc++/include/experimental/algorithm projects/clang500-import/contrib/libc++/include/experimental/dynarray projects/clang500-import/contrib/libc++/include/experimental/functional projects/clang500-import/contrib/libc++/include/experimental/memory_resource projects/clang500-import/contrib/libc++/include/experimental/numeric projects/clang500-import/contrib/libc++/include/experimental/optional projects/clang500-import/contrib/libc++/include/experimental/string_view projects/clang500-import/contrib/libc++/include/forward_list projects/clang500-import/contrib/libc++/include/fstream projects/clang500-import/contrib/libc++/include/istream projects/clang500-import/contrib/libc++/include/limits projects/clang500-import/contrib/libc++/include/list projects/clang500-import/contrib/libc++/include/locale projects/clang500-import/contrib/libc++/include/memory projects/clang500-import/contrib/libc++/include/module.modulemap projects/clang500-import/contrib/libc++/include/mutex projects/clang500-import/contrib/libc++/include/numeric projects/clang500-import/contrib/libc++/include/optional projects/clang500-import/contrib/libc++/include/random projects/clang500-import/contrib/libc++/include/ratio projects/clang500-import/contrib/libc++/include/regex projects/clang500-import/contrib/libc++/include/shared_mutex projects/clang500-import/contrib/libc++/include/sstream projects/clang500-import/contrib/libc++/include/stdexcept projects/clang500-import/contrib/libc++/include/stdio.h projects/clang500-import/contrib/libc++/include/streambuf projects/clang500-import/contrib/libc++/include/string projects/clang500-import/contrib/libc++/include/string_view projects/clang500-import/contrib/libc++/include/thread projects/clang500-import/contrib/libc++/include/tuple projects/clang500-import/contrib/libc++/include/valarray projects/clang500-import/contrib/libc++/include/vector projects/clang500-import/contrib/libc++/include/wchar.h projects/clang500-import/contrib/libc++/src/chrono.cpp projects/clang500-import/contrib/libc++/src/condition_variable.cpp projects/clang500-import/contrib/libc++/src/ios.cpp projects/clang500-import/contrib/libc++/src/locale.cpp projects/clang500-import/contrib/libc++/src/mutex.cpp projects/clang500-import/contrib/libc++/src/new.cpp projects/clang500-import/contrib/libc++/src/strstream.cpp projects/clang500-import/contrib/libc++/src/system_error.cpp projects/clang500-import/contrib/libc++/src/thread.cpp projects/clang500-import/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MIRYamlMapping.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineConstantPool.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineFunctionInitializer.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineInstrBundleIterator.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineLoopInfo.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/Passes.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/TargetPassConfig.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDeserializer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeSerializer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeTableBuilder.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DIContext.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/RawConstants.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/TpiHashing.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/PDBContext.h projects/clang500-import/contrib/llvm/include/llvm/IR/Attributes.h projects/clang500-import/contrib/llvm/include/llvm/IR/Function.h projects/clang500-import/contrib/llvm/include/llvm/IR/Instructions.h projects/clang500-import/contrib/llvm/include/llvm/InitializePasses.h projects/clang500-import/contrib/llvm/include/llvm/Object/WindowsResource.h projects/clang500-import/contrib/llvm/include/llvm/Passes/PassBuilder.h projects/clang500-import/contrib/llvm/include/llvm/Support/ARMTargetParser.def projects/clang500-import/contrib/llvm/include/llvm/Support/BinaryStreamReader.h projects/clang500-import/contrib/llvm/include/llvm/Support/YAMLTraits.h projects/clang500-import/contrib/llvm/include/llvm/TableGen/Record.h projects/clang500-import/contrib/llvm/include/llvm/Target/TargetLowering.h projects/clang500-import/contrib/llvm/include/llvm/Target/TargetMachine.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar/GVN.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/CodeExtractor.h projects/clang500-import/contrib/llvm/include/llvm/module.modulemap projects/clang500-import/contrib/llvm/lib/Analysis/CFLGraph.h projects/clang500-import/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/clang500-import/contrib/llvm/lib/Analysis/EHPersonalities.cpp projects/clang500-import/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/clang500-import/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/clang500-import/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/clang500-import/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp projects/clang500-import/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/clang500-import/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/CodeGen.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/Localizer.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ImplicitNullChecks.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MIRParser/MIRParser.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MIRPrinter.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/TargetPassConfig.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/EnumTables.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/InfoStream.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/PDBContext.cpp projects/clang500-import/contrib/llvm/lib/IR/Attributes.cpp projects/clang500-import/contrib/llvm/lib/IR/Function.cpp projects/clang500-import/contrib/llvm/lib/IR/Instructions.cpp projects/clang500-import/contrib/llvm/lib/LTO/LTOBackend.cpp projects/clang500-import/contrib/llvm/lib/MC/MCCodeView.cpp projects/clang500-import/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/clang500-import/contrib/llvm/lib/Object/WindowsResource.cpp projects/clang500-import/contrib/llvm/lib/Passes/PassBuilder.cpp projects/clang500-import/contrib/llvm/lib/Support/BinaryStreamReader.cpp projects/clang500-import/contrib/llvm/lib/Support/Unix/Path.inc projects/clang500-import/contrib/llvm/lib/TableGen/Record.cpp projects/clang500-import/contrib/llvm/lib/TableGen/TGParser.cpp projects/clang500-import/contrib/llvm/lib/TableGen/TGParser.h projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64.td projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedM1.td projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/DSInstructions.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIDefines.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.h projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AVR/AVRISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AVR/AVRInstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/AVR/AVRTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/AVR/AVRTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/BPF/BPFTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.h projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonPatterns.td projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp projects/clang500-import/contrib/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/Lanai/LanaiTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/Mips16FrameLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h projects/clang500-import/contrib/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/InstPrinter/X86InstComments.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/X86/X86TargetMachine.h projects/clang500-import/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroEarly.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroElide.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroSplit.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/clang500-import/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/ClangOptionDocEmitter.cpp projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/InputSection.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/InputSection.h projects/clang500-import/contrib/llvm/tools/lld/ELF/LinkerScript.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/LinkerScript.h projects/clang500-import/contrib/llvm/tools/lld/ELF/MarkLive.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/OutputSections.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/OutputSections.h projects/clang500-import/contrib/llvm/tools/lld/ELF/Relocations.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/ScriptParser.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/Symbols.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/SyntheticSections.h projects/clang500-import/contrib/llvm/tools/lld/ELF/Target.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/Writer.cpp projects/clang500-import/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdVar.cpp projects/clang500-import/contrib/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp projects/clang500-import/contrib/llvm/tools/llvm-objdump/MachODump.cpp projects/clang500-import/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/Analyze.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/CompactTypeDumpVisitor.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/PdbYaml.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/PdbYaml.h projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YAMLOutputStyle.h projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp projects/clang500-import/contrib/llvm/tools/llvm-readobj/ELFDumper.cpp projects/clang500-import/contrib/llvm/tools/opt/NewPMDriver.cpp projects/clang500-import/contrib/llvm/tools/opt/NewPMDriver.h projects/clang500-import/contrib/llvm/tools/opt/opt.cpp projects/clang500-import/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/Attributes.cpp projects/clang500-import/contrib/llvm/utils/TableGen/CodeEmitterGen.cpp projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp projects/clang500-import/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/GlobalISelEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/OptParserEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/RegisterBankEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/SearchableTableEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp projects/clang500-import/contrib/llvm/utils/TableGen/X86FoldTablesEmitter.cpp projects/clang500-import/lib/clang/include/clang/Basic/Version.inc projects/clang500-import/lib/clang/include/lld/Config/Version.inc projects/clang500-import/lib/clang/include/llvm/Support/VCSRevision.h projects/clang500-import/lib/clang/libllvm/Makefile projects/clang500-import/lib/libc++/Makefile projects/clang500-import/tools/build/mk/OptionalObsoleteFiles.inc projects/clang500-import/usr.bin/clang/llvm-pdbdump/Makefile Directory Properties: projects/clang500-import/contrib/compiler-rt/ (props changed) projects/clang500-import/contrib/libc++/ (props changed) projects/clang500-import/contrib/llvm/ (props changed) projects/clang500-import/contrib/llvm/tools/clang/ (props changed) projects/clang500-import/contrib/llvm/tools/lld/ (props changed) projects/clang500-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang500-import/contrib/compiler-rt/include/sanitizer/coverage_interface.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/include/sanitizer/coverage_interface.h Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/include/sanitizer/coverage_interface.h Thu Jun 1 22:47:02 2017 (r319479) @@ -32,9 +32,6 @@ extern "C" { // descriptor. Returns -1 on failure, or if coverage dumping is disabled. // This is intended for use by sandboxing code. intptr_t __sanitizer_maybe_open_cov_file(const char *name); - // Get the number of unique covered blocks (or edges). - // This can be useful for coverage-directed in-process fuzzers. - uintptr_t __sanitizer_get_total_unique_coverage(); #ifdef __cplusplus } // extern "C" #endif Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -47,8 +47,6 @@ static u32 RZSize2Log(u32 rz_size) { return res; } -static AsanAllocator &get_allocator(); - // The memory chunk allocated from the underlying allocator looks like this: // L L L L L L H H U U U U U U R R // L -- left redzone words (0 or more bytes) @@ -719,7 +717,7 @@ struct Allocator { static Allocator instance(LINKER_INITIALIZED); -static AsanAllocator &get_allocator() { +AsanAllocator &get_allocator() { return instance.allocator; } Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.h Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.h Thu Jun 1 22:47:02 2017 (r319479) @@ -213,5 +213,7 @@ void asan_mz_force_unlock(); void PrintInternalAllocatorStats(); void AsanSoftRssLimitExceededCallback(bool exceeded); +AsanAllocator &get_allocator(); + } // namespace __asan #endif // ASAN_ALLOCATOR_H Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_flags.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_flags.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_flags.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -194,6 +194,10 @@ void InitializeFlags() { Report("WARNING: strchr* interceptors are enabled even though " "replace_str=0. Use intercept_strchr=0 to disable them."); } + if (!f->replace_str && common_flags()->intercept_strndup) { + Report("WARNING: strndup* interceptors are enabled even though " + "replace_str=0. Use intercept_strndup=0 to disable them."); + } } } // namespace __asan Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -22,6 +22,7 @@ #include "asan_stats.h" #include "asan_suppressions.h" #include "lsan/lsan_common.h" +#include "sanitizer_common/sanitizer_stackdepot.h" #include "sanitizer_common/sanitizer_libc.h" #if SANITIZER_POSIX @@ -705,11 +706,27 @@ INTERCEPTOR(int, __cxa_atexit, void (*func)(void *), v #endif // ASAN_INTERCEPT___CXA_ATEXIT #if ASAN_INTERCEPT_FORK +static void BeforeFork() { + if (SANITIZER_LINUX) { + get_allocator().ForceLock(); + StackDepotLockAll(); + } +} + +static void AfterFork() { + if (SANITIZER_LINUX) { + StackDepotUnlockAll(); + get_allocator().ForceUnlock(); + } +} + INTERCEPTOR(int, fork, void) { ENSURE_ASAN_INITED(); + BeforeFork(); if (common_flags()->coverage) CovBeforeFork(); int pid = REAL(fork)(); if (common_flags()->coverage) CovAfterFork(pid); + AfterFork(); return pid; } #endif // ASAN_INTERCEPT_FORK Modified: projects/clang500-import/contrib/compiler-rt/lib/dfsan/done_abilist.txt ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/dfsan/done_abilist.txt Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/dfsan/done_abilist.txt Thu Jun 1 22:47:02 2017 (r319479) @@ -287,8 +287,6 @@ fun:__sanitizer_cov_with_check=uninstrumented fun:__sanitizer_cov_with_check=discard fun:__sanitizer_set_death_callback=uninstrumented fun:__sanitizer_set_death_callback=discard -fun:__sanitizer_get_total_unique_coverage=uninstrumented -fun:__sanitizer_get_total_unique_coverage=discard fun:__sanitizer_update_counter_bitset_and_clear_counters=uninstrumented fun:__sanitizer_update_counter_bitset_and_clear_counters=discard Modified: projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -22,6 +22,7 @@ #include "sanitizer_common/sanitizer_platform_interceptors.h" #include "sanitizer_common/sanitizer_platform_limits_posix.h" #include "sanitizer_common/sanitizer_posix.h" +#include "sanitizer_common/sanitizer_stackdepot.h" #include "sanitizer_common/sanitizer_tls_get_addr.h" #include "lsan.h" #include "lsan_allocator.h" @@ -97,6 +98,28 @@ INTERCEPTOR(void*, valloc, uptr size) { } #endif +static void BeforeFork() { + if (SANITIZER_LINUX) { + LockAllocator(); + StackDepotLockAll(); + } +} + +static void AfterFork() { + if (SANITIZER_LINUX) { + StackDepotUnlockAll(); + UnlockAllocator(); + } +} + +INTERCEPTOR(int, fork, void) { + ENSURE_LSAN_INITED; + BeforeFork(); + int pid = REAL(fork)(); + AfterFork(); + return pid; +} + #if SANITIZER_INTERCEPT_MEMALIGN INTERCEPTOR(void*, memalign, uptr alignment, uptr size) { ENSURE_LSAN_INITED; @@ -336,6 +359,7 @@ void InitializeInterceptors() { LSAN_MAYBE_INTERCEPT_MALLOPT; INTERCEPT_FUNCTION(pthread_create); INTERCEPT_FUNCTION(pthread_join); + INTERCEPT_FUNCTION(fork); if (pthread_key_create(&g_thread_finalize_key, &thread_finalize)) { Report("LeakSanitizer: failed to create thread key.\n"); Modified: projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -12,8 +12,6 @@ // MemorySanitizer allocator. //===----------------------------------------------------------------------===// -#include "sanitizer_common/sanitizer_allocator.h" -#include "sanitizer_common/sanitizer_allocator_interface.h" #include "msan.h" #include "msan_allocator.h" #include "msan_origin.h" @@ -22,101 +20,11 @@ namespace __msan { -struct Metadata { - uptr requested_size; -}; - -struct MsanMapUnmapCallback { - void OnMap(uptr p, uptr size) const {} - void OnUnmap(uptr p, uptr size) const { - __msan_unpoison((void *)p, size); - - // We are about to unmap a chunk of user memory. - // Mark the corresponding shadow memory as not needed. - uptr shadow_p = MEM_TO_SHADOW(p); - ReleaseMemoryPagesToOS(shadow_p, shadow_p + size); - if (__msan_get_track_origins()) { - uptr origin_p = MEM_TO_ORIGIN(p); - ReleaseMemoryPagesToOS(origin_p, origin_p + size); - } - } -}; - -#if defined(__mips64) - static const uptr kMaxAllowedMallocSize = 2UL << 30; - static const uptr kRegionSizeLog = 20; - static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog; - typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap; - - struct AP32 { - static const uptr kSpaceBeg = 0; - static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE; - static const uptr kMetadataSize = sizeof(Metadata); - typedef __sanitizer::CompactSizeClassMap SizeClassMap; - static const uptr kRegionSizeLog = __msan::kRegionSizeLog; - typedef __msan::ByteMap ByteMap; - typedef MsanMapUnmapCallback MapUnmapCallback; - static const uptr kFlags = 0; - }; - typedef SizeClassAllocator32 PrimaryAllocator; -#elif defined(__x86_64__) -#if SANITIZER_LINUX && !defined(MSAN_LINUX_X86_64_OLD_MAPPING) - static const uptr kAllocatorSpace = 0x700000000000ULL; -#else - static const uptr kAllocatorSpace = 0x600000000000ULL; -#endif - static const uptr kMaxAllowedMallocSize = 8UL << 30; - - struct AP64 { // Allocator64 parameters. Deliberately using a short name. - static const uptr kSpaceBeg = kAllocatorSpace; - static const uptr kSpaceSize = 0x40000000000; // 4T. - static const uptr kMetadataSize = sizeof(Metadata); - typedef DefaultSizeClassMap SizeClassMap; - typedef MsanMapUnmapCallback MapUnmapCallback; - static const uptr kFlags = 0; - }; - - typedef SizeClassAllocator64 PrimaryAllocator; - -#elif defined(__powerpc64__) - static const uptr kMaxAllowedMallocSize = 2UL << 30; // 2G - - struct AP64 { // Allocator64 parameters. Deliberately using a short name. - static const uptr kSpaceBeg = 0x300000000000; - static const uptr kSpaceSize = 0x020000000000; // 2T. - static const uptr kMetadataSize = sizeof(Metadata); - typedef DefaultSizeClassMap SizeClassMap; - typedef MsanMapUnmapCallback MapUnmapCallback; - static const uptr kFlags = 0; - }; - - typedef SizeClassAllocator64 PrimaryAllocator; -#elif defined(__aarch64__) - static const uptr kMaxAllowedMallocSize = 2UL << 30; // 2G - static const uptr kRegionSizeLog = 20; - static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog; - typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap; - - struct AP32 { - static const uptr kSpaceBeg = 0; - static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE; - static const uptr kMetadataSize = sizeof(Metadata); - typedef __sanitizer::CompactSizeClassMap SizeClassMap; - static const uptr kRegionSizeLog = __msan::kRegionSizeLog; - typedef __msan::ByteMap ByteMap; - typedef MsanMapUnmapCallback MapUnmapCallback; - static const uptr kFlags = 0; - }; - typedef SizeClassAllocator32 PrimaryAllocator; -#endif -typedef SizeClassAllocatorLocalCache AllocatorCache; -typedef LargeMmapAllocator SecondaryAllocator; -typedef CombinedAllocator Allocator; - static Allocator allocator; static AllocatorCache fallback_allocator_cache; static SpinMutex fallback_mutex; + +Allocator &get_allocator() { return allocator; } void MsanAllocatorInit() { allocator.Init( Modified: projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.h Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.h Thu Jun 1 22:47:02 2017 (r319479) @@ -15,8 +15,105 @@ #define MSAN_ALLOCATOR_H #include "sanitizer_common/sanitizer_common.h" +#include "sanitizer_common/sanitizer_allocator.h" +#include "sanitizer_common/sanitizer_allocator_interface.h" namespace __msan { + +struct Metadata { + uptr requested_size; +}; + +struct MsanMapUnmapCallback { + void OnMap(uptr p, uptr size) const {} + void OnUnmap(uptr p, uptr size) const { + __msan_unpoison((void *)p, size); + + // We are about to unmap a chunk of user memory. + // Mark the corresponding shadow memory as not needed. + uptr shadow_p = MEM_TO_SHADOW(p); + ReleaseMemoryPagesToOS(shadow_p, shadow_p + size); + if (__msan_get_track_origins()) { + uptr origin_p = MEM_TO_ORIGIN(p); + ReleaseMemoryPagesToOS(origin_p, origin_p + size); + } + } +}; + +#if defined(__mips64) + static const uptr kMaxAllowedMallocSize = 2UL << 30; + static const uptr kRegionSizeLog = 20; + static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog; + typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap; + + struct AP32 { + static const uptr kSpaceBeg = 0; + static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE; + static const uptr kMetadataSize = sizeof(Metadata); + typedef __sanitizer::CompactSizeClassMap SizeClassMap; + static const uptr kRegionSizeLog = __msan::kRegionSizeLog; + typedef __msan::ByteMap ByteMap; + typedef MsanMapUnmapCallback MapUnmapCallback; + static const uptr kFlags = 0; + }; + typedef SizeClassAllocator32 PrimaryAllocator; +#elif defined(__x86_64__) +#if SANITIZER_LINUX && !defined(MSAN_LINUX_X86_64_OLD_MAPPING) + static const uptr kAllocatorSpace = 0x700000000000ULL; +#else + static const uptr kAllocatorSpace = 0x600000000000ULL; +#endif + static const uptr kMaxAllowedMallocSize = 8UL << 30; + + struct AP64 { // Allocator64 parameters. Deliberately using a short name. + static const uptr kSpaceBeg = kAllocatorSpace; + static const uptr kSpaceSize = 0x40000000000; // 4T. + static const uptr kMetadataSize = sizeof(Metadata); + typedef DefaultSizeClassMap SizeClassMap; + typedef MsanMapUnmapCallback MapUnmapCallback; + static const uptr kFlags = 0; + }; + + typedef SizeClassAllocator64 PrimaryAllocator; + +#elif defined(__powerpc64__) + static const uptr kMaxAllowedMallocSize = 2UL << 30; // 2G + + struct AP64 { // Allocator64 parameters. Deliberately using a short name. + static const uptr kSpaceBeg = 0x300000000000; + static const uptr kSpaceSize = 0x020000000000; // 2T. + static const uptr kMetadataSize = sizeof(Metadata); + typedef DefaultSizeClassMap SizeClassMap; + typedef MsanMapUnmapCallback MapUnmapCallback; + static const uptr kFlags = 0; + }; + + typedef SizeClassAllocator64 PrimaryAllocator; +#elif defined(__aarch64__) + static const uptr kMaxAllowedMallocSize = 2UL << 30; // 2G + static const uptr kRegionSizeLog = 20; + static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog; + typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap; + + struct AP32 { + static const uptr kSpaceBeg = 0; + static const u64 kSpaceSize = SANITIZER_MMAP_RANGE_SIZE; + static const uptr kMetadataSize = sizeof(Metadata); + typedef __sanitizer::CompactSizeClassMap SizeClassMap; + static const uptr kRegionSizeLog = __msan::kRegionSizeLog; + typedef __msan::ByteMap ByteMap; + typedef MsanMapUnmapCallback MapUnmapCallback; + static const uptr kFlags = 0; + }; + typedef SizeClassAllocator32 PrimaryAllocator; +#endif +typedef SizeClassAllocatorLocalCache AllocatorCache; +typedef LargeMmapAllocator SecondaryAllocator; +typedef CombinedAllocator Allocator; + + +Allocator &get_allocator(); struct MsanThreadLocalMallocStorage { uptr quarantine_cache[16]; Modified: projects/clang500-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -341,33 +341,6 @@ INTERCEPTOR(char *, __strdup, char *src) { #define MSAN_MAYBE_INTERCEPT___STRDUP #endif -INTERCEPTOR(char *, strndup, char *src, SIZE_T n) { - ENSURE_MSAN_INITED(); - GET_STORE_STACK_TRACE; - // On FreeBSD strndup() leverages strnlen(). - InterceptorScope interceptor_scope; - SIZE_T copy_size = REAL(strnlen)(src, n); - char *res = REAL(strndup)(src, n); - CopyShadowAndOrigin(res, src, copy_size, &stack); - __msan_unpoison(res + copy_size, 1); // \0 - return res; -} - -#if !SANITIZER_FREEBSD -INTERCEPTOR(char *, __strndup, char *src, SIZE_T n) { - ENSURE_MSAN_INITED(); - GET_STORE_STACK_TRACE; - SIZE_T copy_size = REAL(strnlen)(src, n); - char *res = REAL(__strndup)(src, n); - CopyShadowAndOrigin(res, src, copy_size, &stack); - __msan_unpoison(res + copy_size, 1); // \0 - return res; -} -#define MSAN_MAYBE_INTERCEPT___STRNDUP INTERCEPT_FUNCTION(__strndup) -#else -#define MSAN_MAYBE_INTERCEPT___STRNDUP -#endif - INTERCEPTOR(char *, gcvt, double number, SIZE_T ndigit, char *buf) { ENSURE_MSAN_INITED(); char *res = REAL(gcvt)(number, ndigit, buf); @@ -1228,6 +1201,7 @@ INTERCEPTOR(void *, shmat, int shmid, const void *shma } static void BeforeFork() { + get_allocator().ForceLock(); StackDepotLockAll(); ChainedOriginDepotLockAll(); } @@ -1235,6 +1209,7 @@ static void BeforeFork() { static void AfterFork() { ChainedOriginDepotUnlockAll(); StackDepotUnlockAll(); + get_allocator().ForceUnlock(); } INTERCEPTOR(int, fork, void) { @@ -1371,6 +1346,13 @@ int OnExit() { return __msan_memcpy(to, from, size); \ } +#define COMMON_INTERCEPTOR_COPY_STRING(ctx, to, from, size) \ + do { \ + GET_STORE_STACK_TRACE; \ + CopyShadowAndOrigin(to, from, size, &stack); \ + __msan_unpoison(to + size, 1); \ + } while (false) + #include "sanitizer_common/sanitizer_platform_interceptors.h" #include "sanitizer_common/sanitizer_common_interceptors.inc" @@ -1538,8 +1520,6 @@ void InitializeInterceptors() { INTERCEPT_FUNCTION(stpcpy); // NOLINT INTERCEPT_FUNCTION(strdup); MSAN_MAYBE_INTERCEPT___STRDUP; - INTERCEPT_FUNCTION(strndup); - MSAN_MAYBE_INTERCEPT___STRNDUP; INTERCEPT_FUNCTION(strncpy); // NOLINT INTERCEPT_FUNCTION(gcvt); INTERCEPT_FUNCTION(strcat); // NOLINT Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc Thu Jun 1 22:47:02 2017 (r319479) @@ -34,6 +34,8 @@ // COMMON_INTERCEPTOR_MEMSET_IMPL // COMMON_INTERCEPTOR_MEMMOVE_IMPL // COMMON_INTERCEPTOR_MEMCPY_IMPL +// COMMON_INTERCEPTOR_COPY_STRING +// COMMON_INTERCEPTOR_STRNDUP_IMPL //===----------------------------------------------------------------------===// #include "interception/interception.h" @@ -217,6 +219,24 @@ bool PlatformHasDifferentMemcpyAndMemmove(); } #endif +#ifndef COMMON_INTERCEPTOR_COPY_STRING +#define COMMON_INTERCEPTOR_COPY_STRING(ctx, to, from, size) {} +#endif + +#ifndef COMMON_INTERCEPTOR_STRNDUP_IMPL +#define COMMON_INTERCEPTOR_STRNDUP_IMPL(ctx, s, size) \ + COMMON_INTERCEPTOR_ENTER(ctx, strndup, s, size); \ + uptr copy_length = internal_strnlen(s, size); \ + char *new_mem = (char *)WRAP(malloc)(copy_length + 1); \ + if (common_flags()->intercept_strndup) { \ + COMMON_INTERCEPTOR_READ_STRING(ctx, s, Min(size, copy_length + 1)); \ + } \ + COMMON_INTERCEPTOR_COPY_STRING(ctx, new_mem, s, copy_length); \ + internal_memcpy(new_mem, s, copy_length); \ + new_mem[copy_length] = '\0'; \ + return new_mem; +#endif + struct FileMetadata { // For open_memstream(). char **addr; @@ -300,6 +320,26 @@ INTERCEPTOR(SIZE_T, strnlen, const char *s, SIZE_T max #define INIT_STRNLEN #endif +#if SANITIZER_INTERCEPT_STRNDUP +INTERCEPTOR(char*, strndup, const char *s, uptr size) { + void *ctx; + COMMON_INTERCEPTOR_STRNDUP_IMPL(ctx, s, size); +} +#define INIT_STRNDUP COMMON_INTERCEPT_FUNCTION(strndup) +#else +#define INIT_STRNDUP +#endif // SANITIZER_INTERCEPT_STRNDUP + +#if SANITIZER_INTERCEPT___STRNDUP +INTERCEPTOR(char*, __strndup, const char *s, uptr size) { + void *ctx; + COMMON_INTERCEPTOR_STRNDUP_IMPL(ctx, s, size); +} +#define INIT___STRNDUP COMMON_INTERCEPT_FUNCTION(__strndup) +#else +#define INIT___STRNDUP +#endif // SANITIZER_INTERCEPT___STRNDUP + #if SANITIZER_INTERCEPT_TEXTDOMAIN INTERCEPTOR(char*, textdomain, const char *domainname) { void *ctx; @@ -6163,6 +6203,8 @@ static void InitializeCommonInterceptors() { INIT_TEXTDOMAIN; INIT_STRLEN; INIT_STRNLEN; + INIT_STRNDUP; + INIT___STRNDUP; INIT_STRCMP; INIT_STRNCMP; INIT_STRCASECMP; Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc Thu Jun 1 22:47:02 2017 (r319479) @@ -8,14 +8,9 @@ //===----------------------------------------------------------------------===// // Sanitizer Coverage interface list. //===----------------------------------------------------------------------===// -INTERFACE_FUNCTION(__sanitizer_cov) INTERFACE_FUNCTION(__sanitizer_cov_dump) -INTERFACE_FUNCTION(__sanitizer_cov_init) -INTERFACE_FUNCTION(__sanitizer_cov_module_init) -INTERFACE_FUNCTION(__sanitizer_cov_with_check) INTERFACE_FUNCTION(__sanitizer_dump_coverage) INTERFACE_FUNCTION(__sanitizer_dump_trace_pc_guard_coverage) -INTERFACE_FUNCTION(__sanitizer_get_total_unique_coverage) INTERFACE_FUNCTION(__sanitizer_maybe_open_cov_file) INTERFACE_WEAK_FUNCTION(__sancov_default_options) INTERFACE_WEAK_FUNCTION(__sanitizer_cov_trace_cmp) Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -155,13 +155,6 @@ void CoverageData::DirectOpen() { void CoverageData::Init() { pc_fd = kInvalidFd; - - if (!common_flags()->coverage) return; - Printf("**\n***\n***\n"); - Printf("**WARNING: this implementation of SanitizerCoverage is deprecated\n"); - Printf("**WARNING: and will be removed in future versions\n"); - Printf("**WARNING: See https://clang.llvm.org/docs/SanitizerCoverage.html\n"); - Printf("**\n***\n***\n"); } void CoverageData::Enable() { @@ -495,6 +488,12 @@ static void GenerateHtmlReport(const InternalMmapVecto void CoverageData::DumpOffsets() { auto sym = Symbolizer::GetOrInit(); if (!common_flags()->coverage_pcs) return; + Printf("**\n***\n***\n"); + Printf("**WARNING: this implementation of SanitizerCoverage is deprecated\n"); + Printf("**WARNING: and will be removed in future versions\n"); + Printf("**WARNING: See https://clang.llvm.org/docs/SanitizerCoverage.html\n"); + Printf("**\n***\n***\n"); + CHECK_NE(sym, nullptr); InternalMmapVector offsets(0); InternalScopedString path(kMaxPathLength); @@ -607,47 +606,13 @@ void CoverageUpdateMapping() { } // namespace __sanitizer extern "C" { -SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_cov(u32 *guard) { - coverage_data.Add(StackTrace::GetPreviousInstructionPc(GET_CALLER_PC()), - guard); -} -SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_cov_with_check(u32 *guard) { - atomic_uint32_t *atomic_guard = reinterpret_cast(guard); - if (static_cast( - __sanitizer::atomic_load(atomic_guard, memory_order_relaxed)) < 0) - coverage_data.Add(StackTrace::GetPreviousInstructionPc(GET_CALLER_PC()), - guard); -} -SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_cov_init() { - coverage_enabled = true; - coverage_dir = common_flags()->coverage_dir; - coverage_data.Init(); -} SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_cov_dump() { - coverage_data.DumpAll(); __sanitizer_dump_trace_pc_guard_coverage(); } -SANITIZER_INTERFACE_ATTRIBUTE void -__sanitizer_cov_module_init(s32 *guards, uptr npcs, u8 *counters, - const char *comp_unit_name) { - coverage_data.InitializeGuards(guards, npcs, comp_unit_name, GET_CALLER_PC()); - if (!common_flags()->coverage_direct) return; - if (SANITIZER_ANDROID && coverage_enabled) { - // dlopen/dlclose interceptors do not work on Android, so we rely on - // Extend() calls to update .sancov.map. - CovUpdateMapping(coverage_dir, GET_CALLER_PC()); - } - coverage_data.Extend(npcs); -} SANITIZER_INTERFACE_ATTRIBUTE sptr __sanitizer_maybe_open_cov_file(const char *name) { return (sptr)MaybeOpenCovFile(name); } -SANITIZER_INTERFACE_ATTRIBUTE -uptr __sanitizer_get_total_unique_coverage() { - return atomic_load(&coverage_counter, memory_order_relaxed); -} - // Default empty implementations (weak). Users should redefine them. SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_cmp, void) {} SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_cmp1, void) {} Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -49,7 +49,7 @@ static void WriteModuleCoverage(char* file_path, const WriteToFile(fd, &Magic, sizeof(Magic)); WriteToFile(fd, pcs, len * sizeof(*pcs)); CloseFile(fd); - Printf("SanitizerCoverage: %s %zd PCs written\n", file_path, len); + Printf("SanitizerCoverage: %s: %zd PCs written\n", file_path, len); } static void SanitizerDumpCoverage(const uptr* unsorted_pcs, uptr len) { @@ -71,7 +71,7 @@ static void SanitizerDumpCoverage(const uptr* unsorted if (!pc) continue; if (!__sanitizer_get_module_and_offset_for_pc(pc, nullptr, 0, &pcs[i])) { - Printf("ERROR: bad pc %x\n", pc); + Printf("ERROR: unknown pc 0x%x (may happen if dlclose is used)\n", pc); continue; } uptr module_base = pc - pcs[i]; Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc Thu Jun 1 22:47:02 2017 (r319479) @@ -197,6 +197,9 @@ COMMON_FLAG(bool, intercept_strpbrk, true, COMMON_FLAG(bool, intercept_strlen, true, "If set, uses custom wrappers for strlen and strnlen functions " "to find more errors.") +COMMON_FLAG(bool, intercept_strndup, true, + "If set, uses custom wrappers for strndup functions " + "to find more errors.") COMMON_FLAG(bool, intercept_strchr, true, "If set, uses custom wrappers for strchr, strchrnul, and strrchr " "functions to find more errors.") Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h Thu Jun 1 22:47:02 2017 (r319479) @@ -25,6 +25,12 @@ # define SI_NOT_WINDOWS 0 #endif +#if SANITIZER_POSIX +# define SI_POSIX 1 +#else +# define SI_POSIX 0 +#endif + #if SANITIZER_LINUX && !SANITIZER_ANDROID # define SI_LINUX_NOT_ANDROID 1 #else @@ -69,6 +75,12 @@ # define SI_UNIX_NOT_MAC 0 #endif +#if SANITIZER_LINUX && !SANITIZER_FREEBSD +# define SI_LINUX_NOT_FREEBSD 1 +# else +# define SI_LINUX_NOT_FREEBSD 0 +#endif + #define SANITIZER_INTERCEPT_STRLEN 1 #define SANITIZER_INTERCEPT_STRNLEN SI_NOT_MAC #define SANITIZER_INTERCEPT_STRCMP 1 @@ -86,6 +98,8 @@ #define SANITIZER_INTERCEPT_MEMMOVE 1 #define SANITIZER_INTERCEPT_MEMCPY 1 #define SANITIZER_INTERCEPT_MEMCMP 1 +#define SANITIZER_INTERCEPT_STRNDUP SI_POSIX +#define SANITIZER_INTERCEPT___STRNDUP SI_LINUX_NOT_FREEBSD #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \ __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070 # define SI_MAC_DEPLOYMENT_BELOW_10_7 1 Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt Thu Jun 1 22:47:02 2017 (r319479) @@ -59,6 +59,7 @@ getpagesize U getpid U gettimeofday U ioctl U +isalpha U isatty U isprint U isupper U Modified: projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_type_hash_itanium.cc Thu Jun 1 22:47:02 2017 (r319479) @@ -197,7 +197,7 @@ struct VtablePrefix { }; VtablePrefix *getVtablePrefix(void *Vtable) { VtablePrefix *Vptr = reinterpret_cast(Vtable); - if (!Vptr) + if (!IsAccessibleMemoryRange((uptr)Vptr, sizeof(VtablePrefix))) return nullptr; VtablePrefix *Prefix = Vptr - 1; if (!Prefix->TypeInfo) Modified: projects/clang500-import/contrib/libc++/include/__bit_reference ============================================================================== --- projects/clang500-import/contrib/libc++/include/__bit_reference Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__bit_reference Thu Jun 1 22:47:02 2017 (r319479) @@ -14,12 +14,14 @@ #include <__config> #include -#include <__undef_min_max> - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif +_LIBCPP_PUSH_MACROS +#include <__undef_macros> + + _LIBCPP_BEGIN_NAMESPACE_STD template class __bit_iterator; @@ -1272,5 +1274,7 @@ class __bit_iterator (private) }; _LIBCPP_END_NAMESPACE_STD + +_LIBCPP_POP_MACROS #endif // _LIBCPP___BIT_REFERENCE Modified: projects/clang500-import/contrib/libc++/include/__config ============================================================================== --- projects/clang500-import/contrib/libc++/include/__config Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__config Thu Jun 1 22:47:02 2017 (r319479) @@ -220,10 +220,12 @@ #endif // __NetBSD__ #if defined(_WIN32) -# define _LIBCPP_WIN32API 1 +# define _LIBCPP_WIN32API # define _LIBCPP_LITTLE_ENDIAN 1 # define _LIBCPP_BIG_ENDIAN 0 # define _LIBCPP_SHORT_WCHAR 1 +// Both MinGW and native MSVC provide a "MSVC"-like enviroment +# define _LIBCPP_MSVCRT_LIKE // If mingw not explicitly detected, assume using MS C runtime only. # ifndef __MINGW32__ # define _LIBCPP_MSVCRT // Using Microsoft's C Runtime library @@ -1204,5 +1206,35 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_ __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ <= 70000)) #define _LIBCPP_AVAILABILITY_NO_STREAMS_EXTERN_TEMPLATE #endif + +#if defined(_LIBCPP_COMPILER_IBM) +#define _LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO +#endif + +#if defined(_LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO) +# define _LIBCPP_PUSH_MACROS +# define _LIBCPP_POP_MACROS +#else + // Don't warn about macro conflicts when we can restore them at the + // end of the header. +# ifndef _LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS +# define _LIBCPP_DISABLE_MACRO_CONFLICT_WARNINGS +# endif +# if defined(_LIBCPP_COMPILER_MSVC) +# define _LIBCPP_PUSH_MACROS \ + __pragma(push_macro("min")) \ + __pragma(push_macro("max")) +# define _LIBCPP_POP_MACROS \ + __pragma(pop_macro("min")) \ + __pragma(pop_macro("max")) +# else +# define _LIBCPP_PUSH_MACROS \ + _Pragma("push_macro(\"min\")") \ + _Pragma("push_macro(\"max\")") +# define _LIBCPP_POP_MACROS \ + _Pragma("pop_macro(\"min\")") \ + _Pragma("pop_macro(\"max\")") +# endif +#endif // defined(_LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO) #endif // _LIBCPP_CONFIG Modified: projects/clang500-import/contrib/libc++/include/__hash_table ============================================================================== --- projects/clang500-import/contrib/libc++/include/__hash_table Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__hash_table Thu Jun 1 22:47:02 2017 (r319479) @@ -20,17 +20,18 @@ #include #include -#include <__undef_min_max> - #include <__debug> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif -_LIBCPP_BEGIN_NAMESPACE_STD +_LIBCPP_PUSH_MACROS +#include <__undef_macros> +_LIBCPP_BEGIN_NAMESPACE_STD + #ifndef _LIBCPP_CXX03_LANG template union __hash_value_type; @@ -2667,6 +2668,9 @@ __hash_table<_Tp, _Hash, _Equal, _Alloc>::__subscripta } #endif // _LIBCPP_DEBUG_LEVEL >= 2 + _LIBCPP_END_NAMESPACE_STD + +_LIBCPP_POP_MACROS #endif // _LIBCPP__HASH_TABLE Modified: projects/clang500-import/contrib/libc++/include/__locale ============================================================================== --- projects/clang500-import/contrib/libc++/include/__locale Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__locale Thu Jun 1 22:47:02 2017 (r319479) @@ -19,7 +19,7 @@ #include #include #include -#if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__) +#if defined(_LIBCPP_MSVCRT_LIKE) # include #elif defined(_AIX) # include @@ -367,7 +367,7 @@ class _LIBCPP_TYPE_VIS ctype_base (public) static const mask punct = _ISpunct; static const mask xdigit = _ISxdigit; static const mask blank = _ISblank; -#elif defined(_LIBCPP_MSVCRT) +#elif defined(_LIBCPP_MSVCRT_LIKE) typedef unsigned short mask; static const mask space = _SPACE; static const mask print = _BLANK|_PUNCT|_ALPHA|_DIGIT; Modified: projects/clang500-import/contrib/libc++/include/__mutex_base ============================================================================== --- projects/clang500-import/contrib/libc++/include/__mutex_base Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__mutex_base Thu Jun 1 22:47:02 2017 (r319479) @@ -15,12 +15,16 @@ #include #include #include <__threading_support> -#include <__undef_min_max> + #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif +_LIBCPP_PUSH_MACROS +#include <__undef_macros> + + _LIBCPP_BEGIN_NAMESPACE_STD #ifndef _LIBCPP_HAS_NO_THREADS @@ -427,5 +431,7 @@ condition_variable::wait_for(unique_lock& __lk, #endif // !_LIBCPP_HAS_NO_THREADS _LIBCPP_END_NAMESPACE_STD + +_LIBCPP_POP_MACROS #endif // _LIBCPP___MUTEX_BASE Modified: projects/clang500-import/contrib/libc++/include/__split_buffer ============================================================================== --- projects/clang500-import/contrib/libc++/include/__split_buffer Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__split_buffer Thu Jun 1 22:47:02 2017 (r319479) @@ -6,12 +6,14 @@ #include #include -#include <__undef_min_max> - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif +_LIBCPP_PUSH_MACROS +#include <__undef_macros> + + _LIBCPP_BEGIN_NAMESPACE_STD template @@ -628,7 +630,8 @@ swap(__split_buffer<_Tp, _Allocator>& __x, __split_buf __x.swap(__y); } - _LIBCPP_END_NAMESPACE_STD + +_LIBCPP_POP_MACROS #endif // _LIBCPP_SPLIT_BUFFER Modified: projects/clang500-import/contrib/libc++/include/__std_stream ============================================================================== --- projects/clang500-import/contrib/libc++/include/__std_stream Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__std_stream Thu Jun 1 22:47:02 2017 (r319479) @@ -17,12 +17,14 @@ #include <__locale> #include -#include <__undef_min_max> - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif +_LIBCPP_PUSH_MACROS +#include <__undef_macros> + + _LIBCPP_BEGIN_NAMESPACE_STD static const int __limit = 8; @@ -354,5 +356,7 @@ __stdoutbuf<_CharT>::imbue(const locale& __loc) } _LIBCPP_END_NAMESPACE_STD + +_LIBCPP_POP_MACROS #endif // _LIBCPP___STD_STREAM Modified: projects/clang500-import/contrib/libc++/include/__string ============================================================================== --- projects/clang500-import/contrib/libc++/include/__string Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__string Thu Jun 1 22:47:02 2017 (r319479) @@ -57,14 +57,16 @@ template <> struct char_traits; #include // For EOF. #include // for __murmur2_or_cityhash -#include <__undef_min_max> - #include <__debug> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif +_LIBCPP_PUSH_MACROS +#include <__undef_macros> + + _LIBCPP_BEGIN_NAMESPACE_STD // char_traits @@ -869,5 +871,7 @@ struct __quoted_output_proxy }; _LIBCPP_END_NAMESPACE_STD + +_LIBCPP_POP_MACROS #endif // _LIBCPP___STRING Modified: projects/clang500-import/contrib/libc++/include/__threading_support ============================================================================== --- projects/clang500-import/contrib/libc++/include/__threading_support Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__threading_support Thu Jun 1 22:47:02 2017 (r319479) @@ -30,9 +30,12 @@ #include #include #include -#include <__undef_min_max> #endif +_LIBCPP_PUSH_MACROS +#include <__undef_macros> + + #if defined(_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL) || \ defined(_LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL) #define _LIBCPP_THREAD_ABI_VISIBILITY _LIBCPP_FUNC_VIS @@ -628,6 +631,8 @@ int __libcpp_tls_set(__libcpp_tls_key __key, void *__p #endif // !_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL || _LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL _LIBCPP_END_NAMESPACE_STD + +_LIBCPP_POP_MACROS #endif // !_LIBCPP_HAS_NO_THREADS Modified: projects/clang500-import/contrib/libc++/include/__tree ============================================================================== --- projects/clang500-import/contrib/libc++/include/__tree Thu Jun 1 22:13:46 2017 (r319478) +++ projects/clang500-import/contrib/libc++/include/__tree Thu Jun 1 22:47:02 2017 (r319479) @@ -17,12 +17,14 @@ #include #include -#include <__undef_min_max> - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header #endif +_LIBCPP_PUSH_MACROS +#include <__undef_macros> + + _LIBCPP_BEGIN_NAMESPACE_STD template class __tree; @@ -2684,5 +2686,7 @@ swap(__tree<_Tp, _Compare, _Allocator>& __x, } _LIBCPP_END_NAMESPACE_STD + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Thu Jun 1 22:59:48 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 43C4CB82A1E for ; Thu, 1 Jun 2017 22:59:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D00C070241; Thu, 1 Jun 2017 22:59:47 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v51MxktJ084658; Thu, 1 Jun 2017 22:59:46 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v51MxgSt084606; Thu, 1 Jun 2017 22:59:42 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706012259.v51MxgSt084606@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 1 Jun 2017 22:59:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319480 - in projects/clang500-import: . bin/dd bin/dd/tests contrib/byacc contrib/byacc/package contrib/byacc/package/debian contrib/byacc/package/pkgsrc contrib/byacc/test/btyacc cont... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Jun 2017 22:59:48 -0000 Author: dim Date: Thu Jun 1 22:59:41 2017 New Revision: 319480 URL: https://svnweb.freebsd.org/changeset/base/319480 Log: Merge ^/head r319251 through r319479. Added: projects/clang500-import/bin/dd/tests/dd2_test.sh - copied unchanged from r319479, head/bin/dd/tests/dd2_test.sh projects/clang500-import/sys/contrib/dev/acpica/common/dmswitch.c - copied unchanged from r319479, head/sys/contrib/dev/acpica/common/dmswitch.c projects/clang500-import/sys/contrib/dev/acpica/components/utilities/utresdecode.c - copied unchanged from r319479, head/sys/contrib/dev/acpica/components/utilities/utresdecode.c projects/clang500-import/sys/mips/conf/std.AR724X - copied unchanged from r319479, head/sys/mips/conf/std.AR724X Deleted: projects/clang500-import/sys/mips/conf/AR724X_BASE Modified: projects/clang500-import/ObsoleteFiles.inc projects/clang500-import/bin/dd/position.c projects/clang500-import/bin/dd/tests/Makefile projects/clang500-import/contrib/byacc/CHANGES projects/clang500-import/contrib/byacc/MANIFEST projects/clang500-import/contrib/byacc/VERSION projects/clang500-import/contrib/byacc/btyaccpar.c projects/clang500-import/contrib/byacc/btyaccpar.skel projects/clang500-import/contrib/byacc/config.guess projects/clang500-import/contrib/byacc/config.sub projects/clang500-import/contrib/byacc/defs.h projects/clang500-import/contrib/byacc/main.c projects/clang500-import/contrib/byacc/output.c projects/clang500-import/contrib/byacc/package/byacc.spec projects/clang500-import/contrib/byacc/package/debian/changelog projects/clang500-import/contrib/byacc/package/mingw-byacc.spec projects/clang500-import/contrib/byacc/package/pkgsrc/Makefile projects/clang500-import/contrib/byacc/test/btyacc/btyacc_calc1.tab.c projects/clang500-import/contrib/byacc/test/btyacc/btyacc_demo.tab.c projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c projects/clang500-import/contrib/byacc/test/btyacc/calc.tab.c projects/clang500-import/contrib/byacc/test/btyacc/calc1.tab.c projects/clang500-import/contrib/byacc/test/btyacc/calc2.tab.c projects/clang500-import/contrib/byacc/test/btyacc/calc3.tab.c projects/clang500-import/contrib/byacc/test/btyacc/code_calc.code.c projects/clang500-import/contrib/byacc/test/btyacc/code_error.code.c projects/clang500-import/contrib/byacc/test/btyacc/empty.tab.c projects/clang500-import/contrib/byacc/test/btyacc/err_inherit3.tab.c projects/clang500-import/contrib/byacc/test/btyacc/err_inherit4.tab.c projects/clang500-import/contrib/byacc/test/btyacc/err_syntax10.tab.c projects/clang500-import/contrib/byacc/test/btyacc/err_syntax11.tab.c projects/clang500-import/contrib/byacc/test/btyacc/err_syntax12.tab.c projects/clang500-import/contrib/byacc/test/btyacc/err_syntax18.tab.c projects/clang500-import/contrib/byacc/test/btyacc/err_syntax20.tab.c projects/clang500-import/contrib/byacc/test/btyacc/error.tab.c projects/clang500-import/contrib/byacc/test/btyacc/expr.oxout.tab.c projects/clang500-import/contrib/byacc/test/btyacc/grammar.tab.c projects/clang500-import/contrib/byacc/test/btyacc/inherit0.tab.c projects/clang500-import/contrib/byacc/test/btyacc/inherit1.tab.c projects/clang500-import/contrib/byacc/test/btyacc/inherit2.tab.c projects/clang500-import/contrib/byacc/test/btyacc/ok_syntax1.tab.c projects/clang500-import/contrib/byacc/test/btyacc/pure_calc.tab.c projects/clang500-import/contrib/byacc/test/btyacc/pure_error.tab.c projects/clang500-import/contrib/byacc/test/btyacc/quote_calc-s.tab.c projects/clang500-import/contrib/byacc/test/btyacc/quote_calc.tab.c projects/clang500-import/contrib/byacc/test/btyacc/quote_calc2-s.tab.c projects/clang500-import/contrib/byacc/test/btyacc/quote_calc2.tab.c projects/clang500-import/contrib/byacc/test/btyacc/quote_calc3-s.tab.c projects/clang500-import/contrib/byacc/test/btyacc/quote_calc3.tab.c projects/clang500-import/contrib/byacc/test/btyacc/quote_calc4-s.tab.c projects/clang500-import/contrib/byacc/test/btyacc/quote_calc4.tab.c projects/clang500-import/contrib/byacc/test/btyacc/rename_debug.c projects/clang500-import/contrib/byacc/test/btyacc/varsyntax_calc1.tab.c projects/clang500-import/contrib/byacc/test/yacc/big_l.output projects/clang500-import/contrib/byacc/test/yacc/calc3.tab.c projects/clang500-import/contrib/byacc/test/yacc/ok_syntax1.tab.c projects/clang500-import/contrib/byacc/test/yacc/pure_calc.tab.c projects/clang500-import/contrib/byacc/test/yacc/pure_error.tab.c projects/clang500-import/contrib/byacc/yaccpar.c projects/clang500-import/contrib/byacc/yaccpar.skel projects/clang500-import/contrib/ipfilter/tools/ippool.c projects/clang500-import/contrib/telnet/telnetd/utility.c projects/clang500-import/etc/rc.d/savecore projects/clang500-import/lib/clang/llvm.build.mk projects/clang500-import/lib/libc/rpc/rpc_generic.c projects/clang500-import/lib/libc/rpc/rpcb_prot.c projects/clang500-import/lib/libc/rpc/rpcb_st_xdr.c projects/clang500-import/lib/libc/xdr/xdr.c projects/clang500-import/lib/libutil/kinfo_getvmobject.c projects/clang500-import/sbin/camcontrol/camcontrol.c projects/clang500-import/sbin/dhclient/parse.c projects/clang500-import/sbin/ipfw/ipfw.8 projects/clang500-import/sbin/mdconfig/mdconfig.8 projects/clang500-import/sbin/mdconfig/mdconfig.c projects/clang500-import/sbin/mount/mount.c projects/clang500-import/share/man/man9/Makefile projects/clang500-import/share/man/man9/getenv.9 projects/clang500-import/share/misc/organization.dot projects/clang500-import/sys/compat/linuxkpi/common/include/linux/file.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/fs.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/idr.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/kthread.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/mm_types.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/poll.h projects/clang500-import/sys/compat/linuxkpi/common/include/linux/printk.h projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c projects/clang500-import/sys/compat/linuxkpi/common/src/linux_current.c projects/clang500-import/sys/compat/linuxkpi/common/src/linux_idr.c projects/clang500-import/sys/compat/linuxkpi/common/src/linux_page.c projects/clang500-import/sys/compat/linuxkpi/common/src/linux_rcu.c projects/clang500-import/sys/conf/files projects/clang500-import/sys/contrib/dev/acpica/acpica_prep.sh projects/clang500-import/sys/contrib/dev/acpica/changes.txt projects/clang500-import/sys/contrib/dev/acpica/common/acfileio.c projects/clang500-import/sys/contrib/dev/acpica/common/adfile.c projects/clang500-import/sys/contrib/dev/acpica/common/adisasm.c projects/clang500-import/sys/contrib/dev/acpica/common/adwalk.c projects/clang500-import/sys/contrib/dev/acpica/common/ahids.c projects/clang500-import/sys/contrib/dev/acpica/common/ahpredef.c projects/clang500-import/sys/contrib/dev/acpica/common/ahtable.c projects/clang500-import/sys/contrib/dev/acpica/common/ahuuids.c projects/clang500-import/sys/contrib/dev/acpica/common/dmextern.c projects/clang500-import/sys/contrib/dev/acpica/common/dmrestag.c projects/clang500-import/sys/contrib/dev/acpica/common/dmtable.c projects/clang500-import/sys/contrib/dev/acpica/common/dmtbdump.c projects/clang500-import/sys/contrib/dev/acpica/common/dmtbinfo.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslascii.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslcompile.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/clang500-import/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/clang500-import/sys/contrib/dev/acpica/compiler/asldefine.h projects/clang500-import/sys/contrib/dev/acpica/compiler/aslexternal.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslglobal.h projects/clang500-import/sys/contrib/dev/acpica/compiler/aslhelp.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslhelpers.y projects/clang500-import/sys/contrib/dev/acpica/compiler/aslload.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslmain.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslmap.c projects/clang500-import/sys/contrib/dev/acpica/compiler/asloffset.c projects/clang500-import/sys/contrib/dev/acpica/compiler/asloptions.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslparser.y projects/clang500-import/sys/contrib/dev/acpica/compiler/aslresource.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslresources.y projects/clang500-import/sys/contrib/dev/acpica/compiler/aslrestype2s.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslrules.y projects/clang500-import/sys/contrib/dev/acpica/compiler/aslstartup.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslsupport.l projects/clang500-import/sys/contrib/dev/acpica/compiler/asltokens.y projects/clang500-import/sys/contrib/dev/acpica/compiler/asltree.c projects/clang500-import/sys/contrib/dev/acpica/compiler/asltypes.y projects/clang500-import/sys/contrib/dev/acpica/compiler/aslutils.c projects/clang500-import/sys/contrib/dev/acpica/compiler/aslxref.c projects/clang500-import/sys/contrib/dev/acpica/compiler/cvcompiler.c projects/clang500-import/sys/contrib/dev/acpica/compiler/cvdisasm.c projects/clang500-import/sys/contrib/dev/acpica/compiler/cvparser.c projects/clang500-import/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/clang500-import/sys/contrib/dev/acpica/compiler/dtfield.c projects/clang500-import/sys/contrib/dev/acpica/compiler/dttable1.c projects/clang500-import/sys/contrib/dev/acpica/compiler/dttable2.c projects/clang500-import/sys/contrib/dev/acpica/compiler/dttemplate.h projects/clang500-import/sys/contrib/dev/acpica/compiler/dtutils.c projects/clang500-import/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/clang500-import/sys/contrib/dev/acpica/components/debugger/dbobject.c projects/clang500-import/sys/contrib/dev/acpica/components/debugger/dbxface.c projects/clang500-import/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c projects/clang500-import/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/clang500-import/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/clang500-import/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/clang500-import/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/clang500-import/sys/contrib/dev/acpica/components/disassembler/dmwalk.c projects/clang500-import/sys/contrib/dev/acpica/components/dispatcher/dsargs.c projects/clang500-import/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c projects/clang500-import/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/clang500-import/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/clang500-import/sys/contrib/dev/acpica/components/dispatcher/dsutils.c projects/clang500-import/sys/contrib/dev/acpica/components/dispatcher/dswexec.c projects/clang500-import/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/clang500-import/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/clang500-import/sys/contrib/dev/acpica/components/events/evxfevnt.c projects/clang500-import/sys/contrib/dev/acpica/components/executer/exdebug.c projects/clang500-import/sys/contrib/dev/acpica/components/executer/exdump.c projects/clang500-import/sys/contrib/dev/acpica/components/executer/exoparg1.c projects/clang500-import/sys/contrib/dev/acpica/components/executer/exresolv.c projects/clang500-import/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/clang500-import/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/clang500-import/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/clang500-import/sys/contrib/dev/acpica/components/namespace/nsxfeval.c projects/clang500-import/sys/contrib/dev/acpica/components/parser/psobject.c projects/clang500-import/sys/contrib/dev/acpica/components/parser/psopcode.c projects/clang500-import/sys/contrib/dev/acpica/components/parser/psparse.c projects/clang500-import/sys/contrib/dev/acpica/components/resources/rscalc.c projects/clang500-import/sys/contrib/dev/acpica/components/resources/rsdump.c projects/clang500-import/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c projects/clang500-import/sys/contrib/dev/acpica/components/resources/rsinfo.c projects/clang500-import/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/clang500-import/sys/contrib/dev/acpica/components/resources/rsserial.c projects/clang500-import/sys/contrib/dev/acpica/components/tables/tbfadt.c projects/clang500-import/sys/contrib/dev/acpica/components/tables/tbutils.c projects/clang500-import/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/clang500-import/sys/contrib/dev/acpica/components/utilities/utownerid.c projects/clang500-import/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/clang500-import/sys/contrib/dev/acpica/components/utilities/utxfmutex.c projects/clang500-import/sys/contrib/dev/acpica/include/acapps.h projects/clang500-import/sys/contrib/dev/acpica/include/acdisasm.h projects/clang500-import/sys/contrib/dev/acpica/include/acglobal.h projects/clang500-import/sys/contrib/dev/acpica/include/aclocal.h projects/clang500-import/sys/contrib/dev/acpica/include/acopcode.h projects/clang500-import/sys/contrib/dev/acpica/include/acpixf.h projects/clang500-import/sys/contrib/dev/acpica/include/acpredef.h projects/clang500-import/sys/contrib/dev/acpica/include/acresrc.h projects/clang500-import/sys/contrib/dev/acpica/include/acrestyp.h projects/clang500-import/sys/contrib/dev/acpica/include/actbl1.h projects/clang500-import/sys/contrib/dev/acpica/include/actbl2.h projects/clang500-import/sys/contrib/dev/acpica/include/actbl3.h projects/clang500-import/sys/contrib/dev/acpica/include/actypes.h projects/clang500-import/sys/contrib/dev/acpica/include/acutils.h projects/clang500-import/sys/contrib/dev/acpica/include/acuuid.h projects/clang500-import/sys/contrib/dev/acpica/include/amlcode.h projects/clang500-import/sys/contrib/dev/acpica/include/amlresrc.h projects/clang500-import/sys/contrib/dev/acpica/include/platform/acgcc.h projects/clang500-import/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/clang500-import/sys/dev/md/md.c projects/clang500-import/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c projects/clang500-import/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c projects/clang500-import/sys/dev/rtwn/rtl8192c/r92c_tx.c projects/clang500-import/sys/dev/rtwn/rtl8812a/r12a_tx.c projects/clang500-import/sys/dev/sdhci/sdhci.c projects/clang500-import/sys/fs/cd9660/cd9660_vfsops.c projects/clang500-import/sys/fs/cuse/cuse.c projects/clang500-import/sys/fs/nfsclient/nfs_clport.c projects/clang500-import/sys/geom/uzip/g_uzip.c projects/clang500-import/sys/mips/conf/AP91 projects/clang500-import/sys/mips/conf/AP93 projects/clang500-import/sys/mips/conf/ENH200 projects/clang500-import/sys/mips/conf/PICOSTATION_M2HP projects/clang500-import/sys/mips/conf/ROCKET_M2HP projects/clang500-import/sys/mips/conf/WZR-300HP projects/clang500-import/sys/net80211/ieee80211_output.c projects/clang500-import/sys/netinet/tcp_input.c projects/clang500-import/sys/netinet/tcp_stacks/fastpath.c projects/clang500-import/sys/netipsec/key_debug.c projects/clang500-import/sys/rpc/rpc_generic.c projects/clang500-import/sys/rpc/rpcb_clnt.c projects/clang500-import/sys/rpc/rpcb_prot.c projects/clang500-import/sys/sys/mdioctl.h projects/clang500-import/sys/sys/mount.h projects/clang500-import/sys/vm/uma_core.c projects/clang500-import/sys/xdr/xdr.c projects/clang500-import/tests/sys/opencrypto/Makefile projects/clang500-import/tests/sys/opencrypto/cryptodev.py projects/clang500-import/tests/sys/opencrypto/runtests.sh projects/clang500-import/tools/tools/crypto/cryptotest.c projects/clang500-import/usr.bin/mkimg/tests/Makefile projects/clang500-import/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-4096-gpt.qcow2.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-4096-gpt.raw.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhd.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-4096-gpt.vhdf.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-4096-gpt.vmdk.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-512-gpt.qcow2.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-512-gpt.raw.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-512-gpt.vhd.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-512-gpt.vhdf.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-1x1-512-gpt.vmdk.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-4096-gpt.qcow2.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-4096-gpt.raw.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhd.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-4096-gpt.vhdf.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-4096-gpt.vmdk.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-512-gpt.qcow2.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-512-gpt.raw.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-512-gpt.vhd.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-512-gpt.vhdf.gz.uu projects/clang500-import/usr.bin/mkimg/tests/img-63x255-512-gpt.vmdk.gz.uu projects/clang500-import/usr.bin/rctl/rctl.8 projects/clang500-import/usr.bin/uname/uname.1 projects/clang500-import/usr.sbin/acpi/acpidb/Makefile projects/clang500-import/usr.sbin/acpi/iasl/Makefile projects/clang500-import/usr.sbin/bootparamd/bootparamd/bootparamd.c projects/clang500-import/usr.sbin/crashinfo/crashinfo.8 projects/clang500-import/usr.sbin/crashinfo/crashinfo.sh projects/clang500-import/usr.sbin/makefs/ffs.c projects/clang500-import/usr.sbin/rpcbind/rpcb_svc_com.c Directory Properties: projects/clang500-import/ (props changed) projects/clang500-import/contrib/byacc/ (props changed) projects/clang500-import/contrib/ipfilter/ (props changed) projects/clang500-import/sys/contrib/dev/acpica/ (props changed) Modified: projects/clang500-import/ObsoleteFiles.inc ============================================================================== --- projects/clang500-import/ObsoleteFiles.inc Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/ObsoleteFiles.inc Thu Jun 1 22:59:41 2017 (r319480) @@ -150,6 +150,11 @@ OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt OLD_DIRS+=usr/lib/clang/4.0.0/lib/freebsd OLD_DIRS+=usr/lib/clang/4.0.0/lib OLD_DIRS+=usr/lib/clang/4.0.0 +# 20170601: old libifconfig and libifc +OLD_FILES+=usr/lib/libifc.a +OLD_FILES+=usr/lib/libifc_p.a +OLD_FILES+=usr/lib/libifconfig.a +OLD_FILES+=usr/lib/libifconfig_p.a # 20170529: mount.conf(8) -> mount.conf(5) OLD_FILES+=usr/share/man/man8/mount.conf.8.gz # 20170525: remove misleading template @@ -228,6 +233,9 @@ OLD_FILES+=usr/share/doc/usd/contents.ascii.gz OLD_LIBS+=lib/libzfs.so.2 OLD_LIBS+=usr/lib/libarchive.so.6 OLD_LIBS+=usr/lib/libmilter.so.5 +OLD_LIBS+=usr/lib32/libzfs.so.2 +OLD_LIBS+=usr/lib32/libarchive.so.6 +OLD_LIBS+=usr/lib32/libmilter.so.5 # 20170427: NATM configuration support removed OLD_FILES+=etc/rc.d/atm1 OLD_FILES+=etc/rc.d/atm2 Modified: projects/clang500-import/bin/dd/position.c ============================================================================== --- projects/clang500-import/bin/dd/position.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/bin/dd/position.c Thu Jun 1 22:59:41 2017 (r319480) @@ -70,7 +70,7 @@ seek_offset(IO *io) * * Bail out if the calculation of a file offset would overflow. */ - if ((io->flags & ISCHR) == 0 && n > OFF_MAX / (ssize_t)sz) + if ((io->flags & ISCHR) == 0 && (n < 0 || n > OFF_MAX / (ssize_t)sz)) errx(1, "seek offsets cannot be larger than %jd", (intmax_t)OFF_MAX); else if ((io->flags & ISCHR) != 0 && (uint64_t)n > UINT64_MAX / sz) Modified: projects/clang500-import/bin/dd/tests/Makefile ============================================================================== --- projects/clang500-import/bin/dd/tests/Makefile Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/bin/dd/tests/Makefile Thu Jun 1 22:59:41 2017 (r319480) @@ -1,5 +1,10 @@ # $FreeBSD$ +.include + +.PATH: ${.CURDIR}/.. + +ATF_TESTS_SH= dd2_test NETBSD_ATF_TESTS_SH= dd_test .include Copied: projects/clang500-import/bin/dd/tests/dd2_test.sh (from r319479, head/bin/dd/tests/dd2_test.sh) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang500-import/bin/dd/tests/dd2_test.sh Thu Jun 1 22:59:41 2017 (r319480, copy of r319479, head/bin/dd/tests/dd2_test.sh) @@ -0,0 +1,50 @@ +# +# Copyright (c) 2017 Spectra Logic Corporation +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# $FreeBSD$ + + +atf_test_case seek_overflow +seek_overflow_head() { + atf_set "descr" "dd(1) should reject too-large seek values" +} +seek_overflow_body() { + touch f.in + # Positive tests + seek=`echo "2^63 / 4096 - 1" | bc` + atf_check -s exit:0 -e ignore dd if=f.in of=f.out bs=4096 seek=$seek + + # Negative tests + seek=`echo "2^63 / 4096" | bc` + atf_check -s not-exit:0 -e match:"seek offsets cannot be larger than" \ + dd if=f.in of=f.out bs=4096 seek=$seek + atf_check -s not-exit:0 -e match:"seek offsets cannot be larger than" \ + dd if=f.in of=f.out bs=4096 seek=-1 +} + +atf_init_test_cases() +{ + atf_add_test_case seek_overflow +} Modified: projects/clang500-import/contrib/byacc/CHANGES ============================================================================== --- projects/clang500-import/contrib/byacc/CHANGES Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/CHANGES Thu Jun 1 22:59:41 2017 (r319480) @@ -1,3 +1,33 @@ +2017-04-30 Thomas E. Dickey + + * test/btyacc/quote_calc-s.tab.c, test/btyacc/quote_calc2-s.tab.c, test/btyacc/quote_calc2.tab.c, test/btyacc/quote_calc3-s.tab.c, test/btyacc/quote_calc3.tab.c, test/btyacc/quote_calc4-s.tab.c, test/btyacc/quote_calc4.tab.c, test/btyacc/varsyntax_calc1.tab.c, test/btyacc/err_syntax18.tab.c, test/btyacc/err_syntax20.tab.c, test/btyacc/error.tab.c, test/btyacc/expr.oxout.tab.c, test/btyacc/grammar.tab.c, test/btyacc/inherit0.tab.c, test/btyacc/inherit1.tab.c, test/btyacc/inherit2.tab.c, test/btyacc/ok_syntax1.tab.c, test/btyacc/pure_calc.tab.c, test/btyacc/pure_error.tab.c, test/btyacc/quote_calc.tab.c, test/btyacc/btyacc_calc1.tab.c, test/btyacc/btyacc_demo.tab.c, test/btyacc/btyacc_destroy1.tab.c, test/btyacc/btyacc_destroy2.tab.c, test/btyacc/btyacc_destroy3.tab.c, test/btyacc/calc.tab.c, test/btyacc/calc1.tab.c, test/btyacc/calc2.tab.c, test/btyacc/calc3.tab.c, test/btyacc/code_calc.code.c, test/btyacc/code_error.code.c, test/btyacc/empty.tab.c, test/btyacc/err_inherit3.tab.c, t est/btyacc/err_inherit4.tab.c, test/btyacc/err_syntax10.tab.c, test/btyacc/err_syntax11.tab.c, test/btyacc/err_syntax12.tab.c, test/btyacc/rename_debug.c, btyaccpar.c, btyaccpar.skel: + fix another uninitialized variable warning in "make check_make" for btyacc + + * test/btyacc/pure_calc.tab.c, test/btyacc/pure_error.tab.c, test/btyacc/ok_syntax1.tab.c, test/btyacc/btyacc_calc1.tab.c, test/btyacc/calc3.tab.c, btyaccpar.c, btyaccpar.skel, test/yacc/ok_syntax1.tab.c, test/yacc/pure_calc.tab.c, test/yacc/pure_error.tab.c, test/yacc/calc3.tab.c, yaccpar.c, defs.h, yaccpar.skel, output.c: + fix some compiler warnings for "make check_make" by adding section init_vars, + which initializes the body_vars for pure-parser configuration. + +2017-04-30 Tom.Shields + + * output.c: + use YY_NO_LEAKS set in configure --with-no-leaks, in the generated code + +2017-04-30 Julien.Ramseier + + * main.c, test/yacc/big_l.output: + fix typo in unsupported-flag warning message + +2017-04-30 Thomas E. Dickey + + * VERSION, package/byacc.spec, package/debian/changelog, package/mingw-byacc.spec, package/pkgsrc/Makefile: + bump + +2017-03-18 Thomas E. Dickey + + * config.sub: 2017-02-07 + + * config.guess: 2017-03-05 + 2017-02-01 Thomas E. Dickey * test/btyacc/expr.oxout.error, test/btyacc/expr.oxout.output, test/btyacc/expr.oxout.tab.c, test/btyacc/expr.oxout.tab.h, test/yacc/expr.oxout.error, test/yacc/expr.oxout.output, test/yacc/expr.oxout.tab.c, test/yacc/expr.oxout.tab.h: Modified: projects/clang500-import/contrib/byacc/MANIFEST ============================================================================== --- projects/clang500-import/contrib/byacc/MANIFEST Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/MANIFEST Thu Jun 1 22:59:41 2017 (r319480) @@ -1,4 +1,4 @@ -MANIFEST for byacc-20170201, version t20170201 +MANIFEST for byacc-20170430, version t20170430 -------------------------------------------------------------------------------- MANIFEST this file ACKNOWLEDGEMENTS original version of byacc - 1993 Modified: projects/clang500-import/contrib/byacc/VERSION ============================================================================== --- projects/clang500-import/contrib/byacc/VERSION Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/VERSION Thu Jun 1 22:59:41 2017 (r319480) @@ -1 +1 @@ -20170201 +20170430 Modified: projects/clang500-import/contrib/byacc/btyaccpar.c ============================================================================== --- projects/clang500-import/contrib/byacc/btyaccpar.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/btyaccpar.c Thu Jun 1 22:59:41 2017 (r319480) @@ -2,7 +2,7 @@ * @Id: skel2c,v 1.4 2016/06/07 00:26:09 tom Exp @ */ -/* @Id: btyaccpar.skel,v 1.5 2016/12/02 22:02:28 tom Exp @ */ +/* @Id: btyaccpar.skel,v 1.6 2017/04/30 23:40:34 tom Exp @ */ #include "defs.h" @@ -449,6 +449,23 @@ const char *const body_2[] = " }", " if (yydebug)", " fprintf(stderr, \"%sdebug[<# of symbols on state stack>]\\n\", YYPREFIX);", + "#endif", + "#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)", + " memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range));", + "#endif", + "", + 0 +}; + +const char *const init_vars[] = +{ + " yyerrflag = 0;", + " yychar = 0;", + " memset(&yyval, 0, sizeof(yyval));", + " memset(&yylval, 0, sizeof(yylval));", + "#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED)", + " memset(&yyloc, 0, sizeof(yyloc));", + " memset(&yylloc, 0, sizeof(yylloc));", "#endif", "", 0 Modified: projects/clang500-import/contrib/byacc/btyaccpar.skel ============================================================================== --- projects/clang500-import/contrib/byacc/btyaccpar.skel Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/btyaccpar.skel Thu Jun 1 22:59:41 2017 (r319480) @@ -1,4 +1,4 @@ -/* $Id: btyaccpar.skel,v 1.5 2016/12/02 22:02:28 tom Exp $ */ +/* $Id: btyaccpar.skel,v 1.7 2017/05/01 00:13:19 tom Exp $ */ #include "defs.h" @@ -384,6 +384,19 @@ YYPARSE_DECL() } if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); +#endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif + +%% init_vars + yyerrflag = 0; + yychar = 0; + memset(&yyval, 0, sizeof(yyval)); + memset(&yylval, 0, sizeof(yylval)); +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(&yyloc, 0, sizeof(yyloc)); + memset(&yylloc, 0, sizeof(yylloc)); #endif %% body_3 Modified: projects/clang500-import/contrib/byacc/config.guess ============================================================================== --- projects/clang500-import/contrib/byacc/config.guess Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/config.guess Thu Jun 1 22:59:41 2017 (r319480) @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2017-01-01' +timestamp='2017-03-05' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -837,10 +837,11 @@ EOF UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; esac + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -1342,6 +1343,9 @@ EOF exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + NSX-?:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux Modified: projects/clang500-import/contrib/byacc/config.sub ============================================================================== --- projects/clang500-import/contrib/byacc/config.sub Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/config.sub Thu Jun 1 22:59:41 2017 (r319480) @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2017-01-01' +timestamp='2017-02-07' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -947,6 +947,9 @@ case $basic_machine in ;; nsr-tandem) basic_machine=nsr-tandem + ;; + nsx-tandem) + basic_machine=nsx-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki Modified: projects/clang500-import/contrib/byacc/defs.h ============================================================================== --- projects/clang500-import/contrib/byacc/defs.h Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/defs.h Thu Jun 1 22:59:41 2017 (r319480) @@ -1,4 +1,4 @@ -/* $Id: defs.h,v 1.56 2017/02/02 00:44:38 tom Exp $ */ +/* $Id: defs.h,v 1.57 2017/04/30 23:29:11 tom Exp $ */ #ifdef HAVE_CONFIG_H #include @@ -307,6 +307,7 @@ extern const char *const hdr_defs[]; extern const char *const hdr_vars[]; extern const char *const body_1[]; extern const char *const body_vars[]; +extern const char *const init_vars[]; extern const char *const body_2[]; extern const char *const body_3[]; extern const char *const trailer[]; Modified: projects/clang500-import/contrib/byacc/main.c ============================================================================== --- projects/clang500-import/contrib/byacc/main.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/main.c Thu Jun 1 22:59:41 2017 (r319480) @@ -1,4 +1,4 @@ -/* $Id: main.c,v 1.59 2017/02/02 00:44:38 tom Exp $ */ +/* $Id: main.c,v 1.60 2017/04/30 20:57:56 Julien.Ramseier Exp $ */ #include #ifndef _WIN32 @@ -266,7 +266,7 @@ setflag(int ch) #if defined(YYBTYACC) locations = 1; #else - unsupported_flag_warning("-B", "reconfigure with --enable-btyacc"); + unsupported_flag_warning("-L", "reconfigure with --enable-btyacc"); #endif break; Modified: projects/clang500-import/contrib/byacc/output.c ============================================================================== --- projects/clang500-import/contrib/byacc/output.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/output.c Thu Jun 1 22:59:41 2017 (r319480) @@ -1,4 +1,4 @@ -/* $Id: output.c,v 1.79 2016/12/02 20:42:38 tom Exp $ */ +/* $Id: output.c,v 1.81 2017/04/30 23:23:32 tom Exp $ */ #include "defs.h" @@ -1584,7 +1584,20 @@ output_pure_parser(FILE * fp) putc_code(fp, '\n'); } +#if defined(YY_NO_LEAKS) static void +output_no_leaks(FILE * fp) +{ + putc_code(fp, '\n'); + + if (fp == code_file) + ++outline; + fputs("#define YY_NO_LEAKS 1\n", fp); + putc_code(fp, '\n'); +} +#endif + +static void output_trailing_text(void) { int c, last; @@ -1985,6 +1998,9 @@ output(void) output_prefix(fp); output_pure_parser(fp); +#if defined(YY_NO_LEAKS) + output_no_leaks(fp); +#endif output_stored_text(fp); output_stype(fp); #if defined(YYBTYACC) @@ -2068,6 +2084,10 @@ output(void) write_section(code_file, body_vars); } write_section(code_file, body_2); + if (pure_parser) + { + write_section(code_file, init_vars); + } #if defined(YYBTYACC) if (initial_action) output_initial_action(); Modified: projects/clang500-import/contrib/byacc/package/byacc.spec ============================================================================== --- projects/clang500-import/contrib/byacc/package/byacc.spec Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/package/byacc.spec Thu Jun 1 22:59:41 2017 (r319480) @@ -1,8 +1,8 @@ Summary: byacc - public domain Berkeley LALR Yacc parser generator %define AppProgram byacc -%define AppVersion 20170201 +%define AppVersion 20170430 %define UseProgram yacc -# $XTermId: byacc.spec,v 1.33 2017/02/01 09:55:04 tom Exp $ +# $XTermId: byacc.spec,v 1.34 2017/04/30 20:55:15 tom Exp $ Name: %{AppProgram} Version: %{AppVersion} Release: 1 Modified: projects/clang500-import/contrib/byacc/package/debian/changelog ============================================================================== --- projects/clang500-import/contrib/byacc/package/debian/changelog Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/package/debian/changelog Thu Jun 1 22:59:41 2017 (r319480) @@ -1,3 +1,9 @@ +byacc (20170430) unstable; urgency=low + + * maintenance updates + + -- Thomas E. Dickey Sun, 30 Apr 2017 16:55:15 -0400 + byacc (20170201) unstable; urgency=low * maintenance updates Modified: projects/clang500-import/contrib/byacc/package/mingw-byacc.spec ============================================================================== --- projects/clang500-import/contrib/byacc/package/mingw-byacc.spec Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/package/mingw-byacc.spec Thu Jun 1 22:59:41 2017 (r319480) @@ -1,8 +1,8 @@ Summary: byacc - public domain Berkeley LALR Yacc parser generator %define AppProgram byacc -%define AppVersion 20170201 +%define AppVersion 20170430 %define UseProgram yacc -# $XTermId: mingw-byacc.spec,v 1.15 2017/02/01 09:55:04 tom Exp $ +# $XTermId: mingw-byacc.spec,v 1.16 2017/04/30 20:55:15 tom Exp $ Name: %{AppProgram} Version: %{AppVersion} Release: 1 Modified: projects/clang500-import/contrib/byacc/package/pkgsrc/Makefile ============================================================================== --- projects/clang500-import/contrib/byacc/package/pkgsrc/Makefile Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/package/pkgsrc/Makefile Thu Jun 1 22:59:41 2017 (r319480) @@ -1,7 +1,7 @@ # $NetBSD: Makefile,v 1.9 2008/07/24 17:13:00 tonnerre Exp $ # -DISTNAME= byacc-20170201 +DISTNAME= byacc-20170430 PKGREVISION= 1 CATEGORIES= devel MASTER_SITES= ftp://invisible-island.net/byacc/ Modified: projects/clang500-import/contrib/byacc/test/btyacc/btyacc_calc1.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/btyacc_calc1.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/btyacc_calc1.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -818,7 +818,19 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif + yyerrflag = 0; + yychar = 0; + memset(&yyval, 0, sizeof(yyval)); + memset(&yylval, 0, sizeof(yylval)); +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(&yyloc, 0, sizeof(yyloc)); + memset(&yylloc, 0, sizeof(yylloc)); +#endif + #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; yyps->save = 0; @@ -1525,7 +1537,7 @@ case 28: yyval.vval = yystack.l_mark[-1].vval; } break; -#line 1529 "btyacc_calc1.tab.c" +#line 1541 "btyacc_calc1.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/btyacc_demo.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/btyacc_demo.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/btyacc_demo.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -1330,6 +1330,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -2103,7 +2106,7 @@ case 59: #line 197 "btyacc_demo.y" { yyval.code = yystack.l_mark[-1].code; } break; -#line 2107 "btyacc_demo.tab.c" +#line 2110 "btyacc_demo.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy1.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -662,6 +662,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1225,7 +1228,7 @@ case 9: #line 86 "btyacc_destroy1.y" { yyval.nlist = yystack.l_mark[-5].nlist; } break; -#line 1229 "btyacc_destroy1.tab.c" +#line 1232 "btyacc_destroy1.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy2.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -662,6 +662,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1225,7 +1228,7 @@ case 9: #line 86 "btyacc_destroy2.y" { yyval.nlist = yystack.l_mark[-5].nlist; } break; -#line 1229 "btyacc_destroy2.tab.c" +#line 1232 "btyacc_destroy2.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/btyacc_destroy3.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -662,6 +662,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1225,7 +1228,7 @@ case 9: #line 89 "btyacc_destroy3.y" { yyval.nlist = yystack.l_mark[-5].nlist; } break; -#line 1229 "btyacc_destroy3.tab.c" +#line 1232 "btyacc_destroy3.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/calc.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/calc.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/calc.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -657,6 +657,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1231,7 +1234,7 @@ case 18: #line 63 "calc.y" { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 1235 "calc.tab.c" +#line 1238 "calc.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/calc1.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/calc1.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/calc1.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -801,6 +801,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1478,7 +1481,7 @@ case 28: yyval.vval = yystack.l_mark[-1].vval; } break; -#line 1482 "calc1.tab.c" +#line 1485 "calc1.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/calc2.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/calc2.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/calc2.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -670,6 +670,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1244,7 +1247,7 @@ case 18: #line 70 "calc2.y" { yyval = (*base) * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 1248 "calc2.tab.c" +#line 1251 "calc2.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/calc3.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/calc3.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/calc3.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -675,7 +675,19 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif + yyerrflag = 0; + yychar = 0; + memset(&yyval, 0, sizeof(yyval)); + memset(&yylval, 0, sizeof(yylval)); +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(&yyloc, 0, sizeof(yyloc)); + memset(&yylloc, 0, sizeof(yylloc)); +#endif + #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; yyps->save = 0; @@ -1249,7 +1261,7 @@ case 18: #line 73 "calc3.y" { yyval = (*base) * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 1253 "calc3.tab.c" +#line 1265 "calc3.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/code_calc.code.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/code_calc.code.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/code_calc.code.c Thu Jun 1 22:59:41 2017 (r319480) @@ -530,6 +530,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1104,7 +1107,7 @@ case 18: #line 67 "code_calc.y" { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 1108 "code_calc.code.c" +#line 1111 "code_calc.code.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/code_error.code.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/code_error.code.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/code_error.code.c Thu Jun 1 22:59:41 2017 (r319480) @@ -500,6 +500,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; Modified: projects/clang500-import/contrib/byacc/test/btyacc/empty.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/empty.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/empty.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -519,6 +519,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; Modified: projects/clang500-import/contrib/byacc/test/btyacc/err_inherit3.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/err_inherit3.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/err_inherit3.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -619,6 +619,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1189,7 +1192,7 @@ case 13: #line 75 "err_inherit3.y" { yyval.nlist = yystack.l_mark[0].nlist; } break; -#line 1193 "err_inherit3.tab.c" +#line 1196 "err_inherit3.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/err_inherit4.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/err_inherit4.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/err_inherit4.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -617,6 +617,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1179,7 +1182,7 @@ case 11: #line 77 "err_inherit4.y" { yyval.nlist = yystack.l_mark[0].nlist; yyloc = yystack.p_mark[1]; } break; -#line 1183 "err_inherit4.tab.c" +#line 1186 "err_inherit4.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/err_syntax10.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/err_syntax10.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/err_syntax10.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -518,6 +518,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; Modified: projects/clang500-import/contrib/byacc/test/btyacc/err_syntax11.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/err_syntax11.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/err_syntax11.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -524,6 +524,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; Modified: projects/clang500-import/contrib/byacc/test/btyacc/err_syntax12.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/err_syntax12.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/err_syntax12.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -530,6 +530,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; Modified: projects/clang500-import/contrib/byacc/test/btyacc/err_syntax18.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/err_syntax18.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/err_syntax18.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -527,6 +527,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1045,7 +1048,7 @@ case 1: #line 9 "err_syntax18.y" { yyval = yystack.l_mark[1]; } break; -#line 1049 "err_syntax18.tab.c" +#line 1052 "err_syntax18.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/err_syntax20.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/err_syntax20.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/err_syntax20.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -522,6 +522,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1040,7 +1043,7 @@ case 1: #line 12 "err_syntax20.y" { yystack.l_mark[-1].rechk = 3; } break; -#line 1044 "err_syntax20.tab.c" +#line 1047 "err_syntax20.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/error.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/error.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/error.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -523,6 +523,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; Modified: projects/clang500-import/contrib/byacc/test/btyacc/expr.oxout.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/expr.oxout.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/expr.oxout.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -1943,6 +1943,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -2515,7 +2518,7 @@ case 10: yyyGenIntNode(8,1,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs); yyyAdjustINRC(8,1,0,0,&yyval.yyyOxAttrbs,&yystack.l_mark[0].yyyOxAttrbs);}} break; -#line 2519 "expr.oxout.tab.c" +#line 2522 "expr.oxout.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/grammar.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/grammar.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/grammar.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -1496,6 +1496,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -2684,7 +2687,7 @@ case 114: yyval.declarator->func_def = FUNC_ANSI; } break; -#line 2688 "grammar.tab.c" +#line 2691 "grammar.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/inherit0.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/inherit0.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/inherit0.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -542,6 +542,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1100,7 +1103,7 @@ case 11: #line 43 "inherit0.y" { yyval = yystack.l_mark[0]; } break; -#line 1104 "inherit0.tab.c" +#line 1107 "inherit0.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/inherit1.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/inherit1.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/inherit1.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -563,6 +563,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1125,7 +1128,7 @@ case 11: #line 71 "inherit1.y" { yyval.nlist = yystack.l_mark[0].nlist; } break; -#line 1129 "inherit1.tab.c" +#line 1132 "inherit1.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/inherit2.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/inherit2.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/inherit2.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -618,6 +618,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1184,7 +1187,7 @@ case 12: #line 75 "inherit2.y" { yyval.nlist = yystack.l_mark[0].nlist; } break; -#line 1188 "inherit2.tab.c" +#line 1191 "inherit2.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/ok_syntax1.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/ok_syntax1.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/ok_syntax1.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -698,7 +698,19 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif + yyerrflag = 0; + yychar = 0; + memset(&yyval, 0, sizeof(yyval)); + memset(&yylval, 0, sizeof(yylval)); +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(&yyloc, 0, sizeof(yyloc)); + memset(&yylloc, 0, sizeof(yylloc)); +#endif + #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; yyps->save = 0; @@ -1272,7 +1284,7 @@ case 18: #line 101 "ok_syntax1.y" { yyval.ival = (*base) * yystack.l_mark[-1].ival + yystack.l_mark[0].ival; } break; -#line 1276 "ok_syntax1.tab.c" +#line 1288 "ok_syntax1.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/pure_calc.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/pure_calc.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/pure_calc.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -671,7 +671,19 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif + yyerrflag = 0; + yychar = 0; + memset(&yyval, 0, sizeof(yyval)); + memset(&yylval, 0, sizeof(yylval)); +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(&yyloc, 0, sizeof(yyloc)); + memset(&yylloc, 0, sizeof(yylloc)); +#endif + #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; yyps->save = 0; @@ -1245,7 +1257,7 @@ case 18: #line 69 "pure_calc.y" { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 1249 "pure_calc.tab.c" +#line 1261 "pure_calc.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/pure_error.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/pure_error.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/pure_error.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -539,6 +539,18 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif + + yyerrflag = 0; + yychar = 0; + memset(&yyval, 0, sizeof(yyval)); + memset(&yylval, 0, sizeof(yylval)); +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(&yyloc, 0, sizeof(yyloc)); + memset(&yylloc, 0, sizeof(yylloc)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; Modified: projects/clang500-import/contrib/byacc/test/btyacc/quote_calc-s.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/quote_calc-s.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/quote_calc-s.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -675,6 +675,9 @@ YYPARSE_DECL() if (yydebug) fprintf(stderr, "%sdebug[<# of symbols on state stack>]\n", YYPREFIX); #endif +#if defined(YYLTYPE) || defined(YYLTYPE_IS_DECLARED) + memset(yyerror_loc_range, 0, sizeof(yyerror_loc_range)); +#endif #if YYBTYACC yyps = yyNewState(0); if (yyps == 0) goto yyenomem; @@ -1249,7 +1252,7 @@ case 18: #line 70 "quote_calc.y" { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 1253 "quote_calc-s.tab.c" +#line 1256 "quote_calc-s.tab.c" default: break; } Modified: projects/clang500-import/contrib/byacc/test/btyacc/quote_calc.tab.c ============================================================================== --- projects/clang500-import/contrib/byacc/test/btyacc/quote_calc.tab.c Thu Jun 1 22:47:02 2017 (r319479) +++ projects/clang500-import/contrib/byacc/test/btyacc/quote_calc.tab.c Thu Jun 1 22:59:41 2017 (r319480) @@ -681,6 +681,9 @@ YYPARSE_DECL() *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sat Jun 3 18:18:38 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F205DBF6A59 for ; Sat, 3 Jun 2017 18:18:38 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5E4E5793B9; Sat, 3 Jun 2017 18:18:38 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v53IIbiT054221; Sat, 3 Jun 2017 18:18:37 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v53IIZAu054194; Sat, 3 Jun 2017 18:18:35 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706031818.v53IIZAu054194@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 3 Jun 2017 18:18:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319547 - in projects/clang500-import: contrib/compiler-rt/include/sanitizer contrib/compiler-rt/lib/asan contrib/compiler-rt/lib/lsan contrib/compiler-rt/lib/sanitizer_common contrib/c... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jun 2017 18:18:39 -0000 Author: dim Date: Sat Jun 3 18:18:34 2017 New Revision: 319547 URL: https://svnweb.freebsd.org/changeset/base/319547 Log: Merge llvm, clang, lld, lldb, compiler-rt and libc++ r304659, and update build glue. Added: projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleA57.td - copied unchanged from r319534, vendor/llvm/dist/lib/Target/ARM/ARMScheduleA57.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleA57WriteRes.td - copied unchanged from r319534, vendor/llvm/dist/lib/Target/ARM/ARMScheduleA57WriteRes.td Deleted: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_mapping_libcdep.cc Modified: projects/clang500-import/contrib/compiler-rt/include/sanitizer/coverage_interface.h projects/clang500-import/contrib/compiler-rt/lib/asan/asan_activation.cc projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc projects/clang500-import/contrib/compiler-rt/lib/asan/asan_thread.cc projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common.cc projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_linux.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform.h projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_checks.inc projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_handlers.cc projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_handlers.h projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_interface.inc projects/clang500-import/contrib/libc++/include/__hash_table projects/clang500-import/contrib/llvm/include/llvm/ADT/SmallVector.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/OrderedBasicBlock.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/RegionPass.h projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/PBQP/CostAllocator.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/PBQP/Graph.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/PBQP/Math.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/PBQP/ReductionRules.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/PBQP/Solution.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/PBQPRAConstraint.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/Passes.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/RegAllocPBQP.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/RegisterScavenging.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/StackMaps.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/TargetSchedule.h projects/clang500-import/contrib/llvm/include/llvm/CodeGen/WinEHFuncInfo.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDumper.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/MSF/MappedBlockStream.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/PDBStringTable.h projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h projects/clang500-import/contrib/llvm/include/llvm/IR/DIBuilder.h projects/clang500-import/contrib/llvm/include/llvm/IR/DebugLoc.h projects/clang500-import/contrib/llvm/include/llvm/IR/ModuleSummaryIndex.h projects/clang500-import/contrib/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h projects/clang500-import/contrib/llvm/include/llvm/IR/Statepoint.h projects/clang500-import/contrib/llvm/include/llvm/InitializePasses.h projects/clang500-import/contrib/llvm/include/llvm/LTO/Config.h projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h projects/clang500-import/contrib/llvm/include/llvm/TableGen/Record.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/IPO/FunctionImport.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/clang500-import/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/clang500-import/contrib/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp projects/clang500-import/contrib/llvm/lib/Analysis/InlineCost.cpp projects/clang500-import/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/clang500-import/contrib/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp projects/clang500-import/contrib/llvm/lib/Analysis/OrderedBasicBlock.cpp projects/clang500-import/contrib/llvm/lib/Analysis/RegionPass.cpp projects/clang500-import/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/clang500-import/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/CodeGen.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalMerge.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LivePhysRegs.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/LiveRegUnits.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineRegionInfo.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/RegAllocBasic.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/RegAllocPBQP.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/RegisterScavenging.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/clang500-import/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/MSF/MappedBlockStream.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/DbiStream.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/PDBStringTable.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp projects/clang500-import/contrib/llvm/lib/IR/DIBuilder.cpp projects/clang500-import/contrib/llvm/lib/IR/DebugLoc.cpp projects/clang500-import/contrib/llvm/lib/IR/OptBisect.cpp projects/clang500-import/contrib/llvm/lib/LTO/LTO.cpp projects/clang500-import/contrib/llvm/lib/LTO/LTOBackend.cpp projects/clang500-import/contrib/llvm/lib/LTO/ThinLTOCodeGenerator.cpp projects/clang500-import/contrib/llvm/lib/MC/WasmObjectWriter.cpp projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp projects/clang500-import/contrib/llvm/lib/Passes/PassBuilder.cpp projects/clang500-import/contrib/llvm/lib/Support/Triple.cpp projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.h projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedFalkorDetails.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SMInstructions.td projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/VOP3Instructions.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARM.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMCallLowering.cpp projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMSchedule.td projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp projects/clang500-import/contrib/llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/known_gcc_test_failures.txt projects/clang500-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroSplit.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/Coroutines.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/FunctionImport.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/LowerTypeTests.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp projects/clang500-import/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/clang500-import/contrib/llvm/tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/ARCMigrate/TransformActions.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTStructuralEquivalence.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/PseudoConstantAnalysis.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/FrontendActions.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticReader.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/CoroutineStmtBuilder.h projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/clang500-import/contrib/llvm/tools/llc/llc.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/DLL.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/DLL.h projects/clang500-import/contrib/llvm/tools/lld/COFF/Driver.cpp projects/clang500-import/contrib/llvm/tools/lld/COFF/PDB.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/LinkerScript.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/OutputSections.cpp projects/clang500-import/contrib/llvm/tools/lld/ELF/OutputSections.h projects/clang500-import/contrib/llvm/tools/lld/ELF/Writer.cpp projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/Config.h.cmake projects/clang500-import/contrib/llvm/tools/lldb/source/Symbol/ClangASTContext.cpp projects/clang500-import/contrib/llvm/tools/llvm-lto2/llvm-lto2.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/PdbYaml.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/PdbYaml.h projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YAMLOutputStyle.cpp projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/YAMLOutputStyle.h projects/clang500-import/contrib/llvm/tools/llvm-pdbdump/llvm-pdbdump.cpp projects/clang500-import/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp projects/clang500-import/contrib/llvm/utils/TableGen/X86FoldTablesEmitter.cpp projects/clang500-import/lib/clang/include/clang/Basic/Version.inc projects/clang500-import/lib/clang/include/lld/Config/Version.inc projects/clang500-import/lib/clang/include/lldb/Host/Config.h projects/clang500-import/lib/clang/include/llvm/Support/DataTypes.h projects/clang500-import/lib/clang/include/llvm/Support/VCSRevision.h projects/clang500-import/lib/libclang_rt/asan/Makefile projects/clang500-import/lib/libclang_rt/asan_dynamic/Makefile projects/clang500-import/lib/libclang_rt/stats/Makefile projects/clang500-import/lib/libclang_rt/ubsan_standalone/Makefile Directory Properties: projects/clang500-import/contrib/compiler-rt/ (props changed) projects/clang500-import/contrib/libc++/ (props changed) projects/clang500-import/contrib/llvm/ (props changed) projects/clang500-import/contrib/llvm/tools/clang/ (props changed) projects/clang500-import/contrib/llvm/tools/lld/ (props changed) projects/clang500-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang500-import/contrib/compiler-rt/include/sanitizer/coverage_interface.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/include/sanitizer/coverage_interface.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/include/sanitizer/coverage_interface.h Sat Jun 3 18:18:34 2017 (r319547) @@ -19,8 +19,6 @@ extern "C" { #endif - // Initialize coverage. - void __sanitizer_cov_init(); // Record and dump coverage info. void __sanitizer_cov_dump(); @@ -28,10 +26,6 @@ extern "C" { // .sancov files. void __sanitizer_dump_coverage(const uintptr_t *pcs, uintptr_t len); - // Open .sancov.packed in the coverage directory and return the file - // descriptor. Returns -1 on failure, or if coverage dumping is disabled. - // This is intended for use by sandboxing code. - intptr_t __sanitizer_maybe_open_cov_file(const char *name); #ifdef __cplusplus } // extern "C" #endif Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_activation.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_activation.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_activation.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -106,7 +106,6 @@ void AsanDeactivate() { // Deactivate the runtime. SetCanPoisonMemory(false); SetMallocContextSize(1); - ReInitializeCoverage(false, nullptr); AllocatorOptions disabled = asan_deactivated_flags.allocator_options; disabled.quarantine_size_mb = 0; @@ -130,8 +129,6 @@ void AsanActivate() { SetCanPoisonMemory(asan_deactivated_flags.poison_heap); SetMallocContextSize(asan_deactivated_flags.malloc_context_size); - ReInitializeCoverage(asan_deactivated_flags.coverage, - asan_deactivated_flags.coverage_dir); ReInitializeAllocator(asan_deactivated_flags.allocator_options); asan_is_deactivated = false; Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -242,9 +242,8 @@ DECLARE_REAL_AND_INTERCEPTOR(void, free, void *) CheckNoDeepBind(filename, flag); \ } while (false) #define COMMON_INTERCEPTOR_ON_EXIT(ctx) OnExit() -#define COMMON_INTERCEPTOR_LIBRARY_LOADED(filename, handle) \ - CoverageUpdateMapping() -#define COMMON_INTERCEPTOR_LIBRARY_UNLOADED() CoverageUpdateMapping() +#define COMMON_INTERCEPTOR_LIBRARY_LOADED(filename, handle) +#define COMMON_INTERCEPTOR_LIBRARY_UNLOADED() #define COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED (!asan_inited) #define COMMON_INTERCEPTOR_GET_TLS_RANGE(begin, end) \ if (AsanThread *t = GetCurrentThread()) { \ @@ -723,9 +722,7 @@ static void AfterFork() { INTERCEPTOR(int, fork, void) { ENSURE_ASAN_INITED(); BeforeFork(); - if (common_flags()->coverage) CovBeforeFork(); int pid = REAL(fork)(); - if (common_flags()->coverage) CovAfterFork(pid); AfterFork(); return pid; } Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_thread.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_thread.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_thread.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -166,16 +166,19 @@ void AsanThread::FinishSwitchFiber(FakeStack *fake_sta } inline AsanThread::StackBounds AsanThread::GetStackBounds() const { - if (!atomic_load(&stack_switching_, memory_order_acquire)) - return StackBounds{stack_bottom_, stack_top_}; // NOLINT + if (!atomic_load(&stack_switching_, memory_order_acquire)) { + // Make sure the stack bounds are fully initialized. + if (stack_bottom_ >= stack_top_) return {0, 0}; + return {stack_bottom_, stack_top_}; + } char local; const uptr cur_stack = (uptr)&local; // Note: need to check next stack first, because FinishSwitchFiber // may be in process of overwriting stack_top_/bottom_. But in such case // we are already on the next stack. if (cur_stack >= next_stack_bottom_ && cur_stack < next_stack_top_) - return StackBounds{next_stack_bottom_, next_stack_top_}; // NOLINT - return StackBounds{stack_bottom_, stack_top_}; // NOLINT + return {next_stack_bottom_, next_stack_top_}; + return {stack_bottom_, stack_top_}; } uptr AsanThread::stack_top() { @@ -197,6 +200,7 @@ FakeStack *AsanThread::AsyncSignalSafeLazyInitFakeStac uptr stack_size = this->stack_size(); if (stack_size == 0) // stack_size is not yet available, don't use FakeStack. return nullptr; + CHECK_LE(stack_size, 0x10000000); uptr old_val = 0; // fake_stack_ has 3 states: // 0 -- not initialized Modified: projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -408,6 +408,9 @@ static void MarkInvalidPCCb(uptr chunk, void *arg) { // On Linux, handles dynamically allocated TLS blocks by treating all chunks // allocated from ld-linux.so as reachable. +// On Linux, treats all chunks allocated from ld-linux.so as reachable, which +// covers dynamically allocated TLS blocks, internal dynamic loader's loaded +// modules accounting etc. // Dynamic TLS blocks contain the TLS variables of dynamically loaded modules. // They are allocated with a __libc_memalign() call in allocate_and_init() // (elf/dl-tls.c). Glibc won't tell us the address ranges occupied by those Modified: projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_linux.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_linux.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_common_linux.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -23,6 +23,10 @@ #include "sanitizer_common/sanitizer_linux.h" #include "sanitizer_common/sanitizer_stackdepot.h" +#if SANITIZER_USE_GETAUXVAL +#include +#endif // SANITIZER_USE_GETAUXVAL + namespace __lsan { static const char kLinkerName[] = "ld"; @@ -30,8 +34,12 @@ static const char kLinkerName[] = "ld"; static char linker_placeholder[sizeof(LoadedModule)] ALIGNED(64); static LoadedModule *linker = nullptr; -static bool IsLinker(const char* full_name) { - return LibraryNameIs(full_name, kLinkerName); +static bool IsLinker(const LoadedModule& module) { +#if SANITIZER_USE_GETAUXVAL + return module.base_address() == getauxval(AT_BASE); +#else + return LibraryNameIs(module.full_name(), kLinkerName); +#endif // SANITIZER_USE_GETAUXVAL } __attribute__((tls_model("initial-exec"))) @@ -49,22 +57,25 @@ void InitializePlatformSpecificModules() { ListOfModules modules; modules.init(); for (LoadedModule &module : modules) { - if (!IsLinker(module.full_name())) continue; + if (!IsLinker(module)) + continue; if (linker == nullptr) { linker = reinterpret_cast(linker_placeholder); *linker = module; module = LoadedModule(); } else { VReport(1, "LeakSanitizer: Multiple modules match \"%s\". " - "TLS will not be handled correctly.\n", kLinkerName); + "TLS and other allocations originating from linker might be " + "falsely reported as leaks.\n", kLinkerName); linker->clear(); linker = nullptr; return; } } if (linker == nullptr) { - VReport(1, "LeakSanitizer: Dynamic linker not found. " - "TLS will not be handled correctly.\n"); + VReport(1, "LeakSanitizer: Dynamic linker not found. TLS and other " + "allocations originating from linker might be falsely reported " + "as leaks.\n"); } } Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h Sat Jun 3 18:18:34 2017 (r319547) @@ -317,15 +317,9 @@ bool AddressSpaceIsUnlimited(); void SetAddressSpaceUnlimited(); void AdjustStackSize(void *attr); void PrepareForSandboxing(__sanitizer_sandbox_arguments *args); -void CovPrepareForSandboxing(__sanitizer_sandbox_arguments *args); void SetSandboxingCallback(void (*f)()); -void CoverageUpdateMapping(); -void CovBeforeFork(); -void CovAfterFork(int child_pid); - void InitializeCoverage(bool enabled, const char *coverage_dir); -void ReInitializeCoverage(bool enabled, const char *coverage_dir); void InitTlsSize(); uptr GetTlsSize(); Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_interface.inc Sat Jun 3 18:18:34 2017 (r319547) @@ -11,7 +11,6 @@ INTERFACE_FUNCTION(__sanitizer_cov_dump) INTERFACE_FUNCTION(__sanitizer_dump_coverage) INTERFACE_FUNCTION(__sanitizer_dump_trace_pc_guard_coverage) -INTERFACE_FUNCTION(__sanitizer_maybe_open_cov_file) INTERFACE_WEAK_FUNCTION(__sancov_default_options) INTERFACE_WEAK_FUNCTION(__sanitizer_cov_trace_cmp) INTERFACE_WEAK_FUNCTION(__sanitizer_cov_trace_cmp1) Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -146,6 +146,17 @@ static TracePcGuardController pc_guard_controller; } // namespace } // namespace __sancov +namespace __sanitizer { +void InitializeCoverage(bool enabled, const char *dir) { + static bool coverage_enabled = false; + if (coverage_enabled) + return; // May happen if two sanitizer enable coverage in the same process. + coverage_enabled = enabled; + Atexit(__sanitizer_cov_dump); + AddDieCallback(__sanitizer_cov_dump); +} +} // namespace __sanitizer + extern "C" { SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_dump_coverage( // NOLINT const uptr* pcs, uptr len) { @@ -166,4 +177,18 @@ SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_tra SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_dump_trace_pc_guard_coverage() { __sancov::pc_guard_controller.Dump(); } +SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_cov_dump() { + __sanitizer_dump_trace_pc_guard_coverage(); +} +// Default empty implementations (weak). Users should redefine them. +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_cmp, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_cmp1, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_cmp2, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_cmp4, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_cmp8, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_switch, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_div4, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_div8, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_gep, void) {} +SANITIZER_INTERFACE_WEAK_DEF(void, __sanitizer_cov_trace_pc_indir, void) {} } // extern "C" Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc Sat Jun 3 18:18:34 2017 (r319547) @@ -138,16 +138,6 @@ COMMON_FLAG( bool, coverage, false, "If set, coverage information will be dumped at program shutdown (if the " "coverage instrumentation was enabled at compile time).") -COMMON_FLAG(bool, coverage_pcs, true, - "If set (and if 'coverage' is set too), the coverage information " - "will be dumped as a set of PC offsets for every module.") -COMMON_FLAG(bool, coverage_order_pcs, false, - "If true, the PCs will be dumped in the order they've" - " appeared during the execution.") -COMMON_FLAG(bool, coverage_direct, SANITIZER_ANDROID, - "If set, coverage information will be dumped directly to a memory " - "mapped file. This way data is not lost even if the process is " - "suddenly killed.") COMMON_FLAG(const char *, coverage_dir, ".", "Target directory for coverage dumps. Defaults to the current " "directory.") Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -75,16 +75,6 @@ extern char **environ; // provided by crt1 #include #endif -#ifndef __GLIBC_PREREQ -#define __GLIBC_PREREQ(x, y) 0 -#endif - -#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 16) -# define SANITIZER_USE_GETAUXVAL 1 -#else -# define SANITIZER_USE_GETAUXVAL 0 -#endif - #if SANITIZER_USE_GETAUXVAL #include #endif Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform.h Sat Jun 3 18:18:34 2017 (r319547) @@ -269,5 +269,14 @@ # define SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT 0 #endif +#ifndef __GLIBC_PREREQ +#define __GLIBC_PREREQ(x, y) 0 +#endif + +#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 16) +# define SANITIZER_USE_GETAUXVAL 1 +#else +# define SANITIZER_USE_GETAUXVAL 0 +#endif #endif // SANITIZER_PLATFORM_H Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h Sat Jun 3 18:18:34 2017 (r319547) @@ -23,6 +23,9 @@ // incorporates the map structure. # define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) \ ((link_map*)((handle) == nullptr ? nullptr : ((char*)(handle) + 544))) +// Get sys/_types.h, because that tells us whether 64-bit inodes are +// used in struct dirent below. +#include #else # define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle)) #endif // !SANITIZER_FREEBSD @@ -489,8 +492,12 @@ namespace __sanitizer { }; #elif SANITIZER_FREEBSD struct __sanitizer_dirent { +#if defined(__INO64) unsigned long long d_fileno; unsigned long long d_off; +#else + unsigned int d_fileno; +#endif unsigned short d_reclen; // more fields that we don't care about }; Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -264,7 +264,6 @@ void PrepareForSandboxing(__sanitizer_sandbox_argument // Same for /proc/self/exe in the symbolizer. #if !SANITIZER_GO Symbolizer::GetOrInit()->PrepareForSandboxing(); - CovPrepareForSandboxing(args); #endif } Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -400,9 +400,6 @@ void ReExec() { } void PrepareForSandboxing(__sanitizer_sandbox_arguments *args) { -#if !SANITIZER_GO - CovPrepareForSandboxing(args); -#endif } bool StackSizeIsUnlimited() { Modified: projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_checks.inc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_checks.inc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_checks.inc Sat Jun 3 18:18:34 2017 (r319547) @@ -19,6 +19,7 @@ UBSAN_CHECK(GenericUB, "undefined-behavior", "undefined") UBSAN_CHECK(NullPointerUse, "null-pointer-use", "null") +UBSAN_CHECK(PointerOverflow, "pointer-overflow", "pointer-overflow") UBSAN_CHECK(MisalignedPointerUse, "misaligned-pointer-use", "alignment") UBSAN_CHECK(InsufficientObjectSize, "insufficient-object-size", "object-size") UBSAN_CHECK(SignedIntegerOverflow, "signed-integer-overflow", Modified: projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_handlers.cc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_handlers.cc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_handlers.cc Sat Jun 3 18:18:34 2017 (r319547) @@ -554,6 +554,37 @@ void __ubsan::__ubsan_handle_nullability_arg_abort(Non Die(); } +static void handlePointerOverflowImpl(PointerOverflowData *Data, + ValueHandle Base, + ValueHandle Result, + ReportOptions Opts) { + SourceLocation Loc = Data->Loc.acquire(); + ErrorType ET = ErrorType::PointerOverflow; + + if (ignoreReport(Loc, Opts, ET)) + return; + + ScopedReport R(Opts, Loc, ET); + + Diag(Loc, DL_Error, "pointer index expression with base %0 overflowed to %1") + << (void *)Base << (void*)Result; +} + +void __ubsan::__ubsan_handle_pointer_overflow(PointerOverflowData *Data, + ValueHandle Base, + ValueHandle Result) { + GET_REPORT_OPTIONS(false); + handlePointerOverflowImpl(Data, Base, Result, Opts); +} + +void __ubsan::__ubsan_handle_pointer_overflow_abort(PointerOverflowData *Data, + ValueHandle Base, + ValueHandle Result) { + GET_REPORT_OPTIONS(true); + handlePointerOverflowImpl(Data, Base, Result, Opts); + Die(); +} + static void handleCFIBadIcall(CFICheckFailData *Data, ValueHandle Function, ReportOptions Opts) { if (Data->CheckKind != CFITCK_ICall) Modified: projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_handlers.h ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_handlers.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_handlers.h Sat Jun 3 18:18:34 2017 (r319547) @@ -152,6 +152,13 @@ struct NonNullArgData { RECOVERABLE(nonnull_arg, NonNullArgData *Data) RECOVERABLE(nullability_arg, NonNullArgData *Data) +struct PointerOverflowData { + SourceLocation Loc; +}; + +RECOVERABLE(pointer_overflow, PointerOverflowData *Data, ValueHandle Base, + ValueHandle Result) + /// \brief Known CFI check kinds. /// Keep in sync with the enum of the same name in CodeGenFunction.h enum CFITypeCheckKind : unsigned char { Modified: projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_interface.inc ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_interface.inc Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/compiler-rt/lib/ubsan/ubsan_interface.inc Sat Jun 3 18:18:34 2017 (r319547) @@ -36,6 +36,8 @@ INTERFACE_FUNCTION(__ubsan_handle_nullability_return) INTERFACE_FUNCTION(__ubsan_handle_nullability_return_abort) INTERFACE_FUNCTION(__ubsan_handle_out_of_bounds) INTERFACE_FUNCTION(__ubsan_handle_out_of_bounds_abort) +INTERFACE_FUNCTION(__ubsan_handle_pointer_overflow) +INTERFACE_FUNCTION(__ubsan_handle_pointer_overflow_abort) INTERFACE_FUNCTION(__ubsan_handle_shift_out_of_bounds) INTERFACE_FUNCTION(__ubsan_handle_shift_out_of_bounds_abort) INTERFACE_FUNCTION(__ubsan_handle_sub_overflow) Modified: projects/clang500-import/contrib/libc++/include/__hash_table ============================================================================== --- projects/clang500-import/contrib/libc++/include/__hash_table Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/libc++/include/__hash_table Sat Jun 3 18:18:34 2017 (r319547) @@ -137,7 +137,7 @@ inline _LIBCPP_INLINE_VISIBILITY size_t __next_hash_pow2(size_t __n) { - return size_t(1) << (std::numeric_limits::digits - __clz(__n-1)); + return __n < 2 ? __n : (size_t(1) << (std::numeric_limits::digits - __clz(__n-1))); } Modified: projects/clang500-import/contrib/llvm/include/llvm/ADT/SmallVector.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/ADT/SmallVector.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/llvm/include/llvm/ADT/SmallVector.h Sat Jun 3 18:18:34 2017 (r319547) @@ -415,12 +415,20 @@ class SmallVectorImpl : public SmallVectorTemplateBase append(IL.begin(), IL.end()); } + // FIXME: Consider assigning over existing elements, rather than clearing & + // re-initializing them - for all assign(...) variants. + void assign(size_type NumElts, const T &Elt) { clear(); if (this->capacity() < NumElts) this->grow(NumElts); this->setEnd(this->begin()+NumElts); std::uninitialized_fill(this->begin(), this->end(), Elt); + } + + template void assign(in_iter in_start, in_iter in_end) { + clear(); + append(in_start, in_end); } void assign(std::initializer_list IL) { Modified: projects/clang500-import/contrib/llvm/include/llvm/Analysis/OrderedBasicBlock.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/Analysis/OrderedBasicBlock.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/llvm/include/llvm/Analysis/OrderedBasicBlock.h Sat Jun 3 18:18:34 2017 (r319547) @@ -58,6 +58,7 @@ class OrderedBasicBlock { (public) /// comes before \p B in \p BB. This is a simplification that considers /// cached instruction positions and ignores other basic blocks, being /// only relevant to compare relative instructions positions inside \p BB. + /// Returns false for A == B. bool dominates(const Instruction *A, const Instruction *B); }; Modified: projects/clang500-import/contrib/llvm/include/llvm/Analysis/RegionPass.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/Analysis/RegionPass.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/llvm/include/llvm/Analysis/RegionPass.h Sat Jun 3 18:18:34 2017 (r319547) @@ -78,6 +78,11 @@ class RegionPass : public Pass { (public) return PMT_RegionPassManager; } //@} + +protected: + /// Optional passes call this function to check whether the pass should be + /// skipped. This is the case when optimization bisect is over the limit. + bool skipRegion(Region &R) const; }; /// @brief The pass manager to schedule RegionPasses. Modified: projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Sat Jun 3 18:18:34 2017 (r319547) @@ -636,7 +636,7 @@ class ScalarEvolution { (private) /// @} public: - BackedgeTakenInfo() : MaxAndComplete(nullptr, 0) {} + BackedgeTakenInfo() : MaxAndComplete(nullptr, 0), MaxOrZero(false) {} BackedgeTakenInfo(BackedgeTakenInfo &&) = default; BackedgeTakenInfo &operator=(BackedgeTakenInfo &&) = default; Modified: projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegionInfo.h Sat Jun 3 18:18:34 2017 (r319547) @@ -10,83 +10,77 @@ #ifndef LLVM_CODEGEN_MACHINEREGIONINFO_H #define LLVM_CODEGEN_MACHINEREGIONINFO_H +#include "llvm/ADT/DepthFirstIterator.h" #include "llvm/Analysis/RegionInfo.h" #include "llvm/Analysis/RegionIterator.h" +#include "llvm/CodeGen/MachineBasicBlock.h" #include "llvm/CodeGen/MachineDominanceFrontier.h" #include "llvm/CodeGen/MachineDominators.h" #include "llvm/CodeGen/MachineFunction.h" #include "llvm/CodeGen/MachineFunctionPass.h" #include "llvm/CodeGen/MachineLoopInfo.h" +#include - namespace llvm { -class MachineDominatorTree; struct MachinePostDominatorTree; class MachineRegion; class MachineRegionNode; class MachineRegionInfo; -template<> -struct RegionTraits { - typedef MachineFunction FuncT; - typedef MachineBasicBlock BlockT; - typedef MachineRegion RegionT; - typedef MachineRegionNode RegionNodeT; - typedef MachineRegionInfo RegionInfoT; - typedef MachineDominatorTree DomTreeT; - typedef MachineDomTreeNode DomTreeNodeT; - typedef MachinePostDominatorTree PostDomTreeT; - typedef MachineDominanceFrontier DomFrontierT; - typedef MachineInstr InstT; - typedef MachineLoop LoopT; - typedef MachineLoopInfo LoopInfoT; +template <> struct RegionTraits { + using FuncT = MachineFunction; + using BlockT = MachineBasicBlock; + using RegionT = MachineRegion; + using RegionNodeT = MachineRegionNode; + using RegionInfoT = MachineRegionInfo; + using DomTreeT = MachineDominatorTree; + using DomTreeNodeT = MachineDomTreeNode; + using PostDomTreeT = MachinePostDominatorTree; + using DomFrontierT = MachineDominanceFrontier; + using InstT = MachineInstr; + using LoopT = MachineLoop; + using LoopInfoT = MachineLoopInfo; static unsigned getNumSuccessors(MachineBasicBlock *BB) { return BB->succ_size(); } }; - class MachineRegionNode : public RegionNodeBase> { public: - inline MachineRegionNode(MachineRegion *Parent, - MachineBasicBlock *Entry, + inline MachineRegionNode(MachineRegion *Parent, MachineBasicBlock *Entry, bool isSubRegion = false) - : RegionNodeBase>(Parent, Entry, isSubRegion) { + : RegionNodeBase>(Parent, Entry, + isSubRegion) {} - } - bool operator==(const MachineRegion &RN) const { - return this == reinterpret_cast(&RN); + return this == reinterpret_cast(&RN); } }; class MachineRegion : public RegionBase> { public: MachineRegion(MachineBasicBlock *Entry, MachineBasicBlock *Exit, - MachineRegionInfo* RI, - MachineDominatorTree *DT, MachineRegion *Parent = nullptr); + MachineRegionInfo *RI, MachineDominatorTree *DT, + MachineRegion *Parent = nullptr); ~MachineRegion(); bool operator==(const MachineRegionNode &RN) const { - return &RN == reinterpret_cast(this); + return &RN == reinterpret_cast(this); } }; class MachineRegionInfo : public RegionInfoBase> { public: explicit MachineRegionInfo(); - ~MachineRegionInfo() override; // updateStatistics - Update statistic about created regions. void updateStatistics(MachineRegion *R) final; - void recalculate(MachineFunction &F, - MachineDominatorTree *DT, - MachinePostDominatorTree *PDT, - MachineDominanceFrontier *DF); + void recalculate(MachineFunction &F, MachineDominatorTree *DT, + MachinePostDominatorTree *PDT, MachineDominanceFrontier *DF); }; class MachineRegionInfoPass : public MachineFunctionPass { @@ -94,17 +88,13 @@ class MachineRegionInfoPass : public MachineFunctionPa public: static char ID; - explicit MachineRegionInfoPass(); + explicit MachineRegionInfoPass(); ~MachineRegionInfoPass() override; - MachineRegionInfo &getRegionInfo() { - return RI; - } + MachineRegionInfo &getRegionInfo() { return RI; } - const MachineRegionInfo &getRegionInfo() const { - return RI; - } + const MachineRegionInfo &getRegionInfo() const { return RI; } /// @name MachineFunctionPass interface //@{ @@ -117,66 +107,76 @@ class MachineRegionInfoPass : public MachineFunctionPa //@} }; - template <> template <> -inline MachineBasicBlock* RegionNodeBase>::getNodeAs() const { +inline MachineBasicBlock * +RegionNodeBase>::getNodeAs() + const { assert(!isSubRegion() && "This is not a MachineBasicBlock RegionNode!"); return getEntry(); } -template<> -template<> -inline MachineRegion* RegionNodeBase>::getNodeAs() const { +template <> +template <> +inline MachineRegion * +RegionNodeBase>::getNodeAs() + const { assert(isSubRegion() && "This is not a subregion RegionNode!"); - auto Unconst = const_cast>*>(this); - return reinterpret_cast(Unconst); + auto Unconst = + const_cast> *>(this); + return reinterpret_cast(Unconst); } - RegionNodeGraphTraits(MachineRegionNode, MachineBasicBlock, MachineRegion); -RegionNodeGraphTraits(const MachineRegionNode, MachineBasicBlock, MachineRegion); +RegionNodeGraphTraits(const MachineRegionNode, MachineBasicBlock, + MachineRegion); RegionGraphTraits(MachineRegion, MachineRegionNode); RegionGraphTraits(const MachineRegion, const MachineRegionNode); -template <> struct GraphTraits - : public GraphTraits > { - typedef df_iterator, false, - GraphTraits>> - nodes_iterator; +template <> +struct GraphTraits + : public GraphTraits> { + using nodes_iterator = df_iterator, + false, GraphTraits>>; static NodeRef getEntryNode(MachineRegionInfo *RI) { - return GraphTraits >::getEntryNode(RI->getTopLevelRegion()); + return GraphTraits>::getEntryNode( + RI->getTopLevelRegion()); } - static nodes_iterator nodes_begin(MachineRegionInfo* RI) { + + static nodes_iterator nodes_begin(MachineRegionInfo *RI) { return nodes_iterator::begin(getEntryNode(RI)); } + static nodes_iterator nodes_end(MachineRegionInfo *RI) { return nodes_iterator::end(getEntryNode(RI)); } }; -template <> struct GraphTraits - : public GraphTraits { - typedef df_iterator, false, - GraphTraits>> - nodes_iterator; +template <> +struct GraphTraits + : public GraphTraits { + using nodes_iterator = df_iterator, + false, GraphTraits>>; static NodeRef getEntryNode(MachineRegionInfoPass *RI) { - return GraphTraits::getEntryNode(&RI->getRegionInfo()); + return GraphTraits::getEntryNode(&RI->getRegionInfo()); } - static nodes_iterator nodes_begin(MachineRegionInfoPass* RI) { - return GraphTraits::nodes_begin(&RI->getRegionInfo()); + + static nodes_iterator nodes_begin(MachineRegionInfoPass *RI) { + return GraphTraits::nodes_begin(&RI->getRegionInfo()); } + static nodes_iterator nodes_end(MachineRegionInfoPass *RI) { - return GraphTraits::nodes_end(&RI->getRegionInfo()); + return GraphTraits::nodes_end(&RI->getRegionInfo()); } }; extern template class RegionBase>; extern template class RegionNodeBase>; extern template class RegionInfoBase>; -} -#endif +} // end namespace llvm + +#endif // LLVM_CODEGEN_MACHINEREGIONINFO_H Modified: projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h ============================================================================== --- projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h Sat Jun 3 18:12:00 2017 (r319546) +++ projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h Sat Jun 3 18:18:34 2017 (r319547) @@ -14,11 +14,13 @@ #ifndef LLVM_CODEGEN_MACHINEREGISTERINFO_H #define LLVM_CODEGEN_MACHINEREGISTERINFO_H +#include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/BitVector.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/IndexedMap.h" #include "llvm/ADT/iterator_range.h" #include "llvm/ADT/PointerUnion.h" +#include "llvm/ADT/SmallVector.h" #include "llvm/CodeGen/GlobalISel/RegisterBank.h" #include "llvm/CodeGen/LowLevelType.h" #include "llvm/CodeGen/MachineBasicBlock.h" @@ -41,8 +43,8 @@ namespace llvm { class PSetIterator; /// Convenient type to represent either a register class or a register bank. -typedef PointerUnion - RegClassOrRegBank; +using RegClassOrRegBank = + PointerUnion; /// MachineRegisterInfo - Keep track of information for virtual and physical /// registers, including vreg register classes, use/def chains for registers, @@ -125,7 +127,7 @@ class MachineRegisterInfo { (private) /// started. BitVector ReservedRegs; - typedef DenseMap VRegToTypeMap; + using VRegToTypeMap = DenseMap; /// Map generic virtual registers to their actual size. mutable std::unique_ptr VRegToType; @@ -266,8 +268,8 @@ class MachineRegisterInfo { (private) /// reg_iterator/reg_begin/reg_end - Walk all defs and uses of the specified /// register. - typedef defusechain_iterator - reg_iterator; + using reg_iterator = + defusechain_iterator; reg_iterator reg_begin(unsigned RegNo) const { return reg_iterator(getRegUseDefListHead(RegNo)); } @@ -279,8 +281,8 @@ class MachineRegisterInfo { (private) /// reg_instr_iterator/reg_instr_begin/reg_instr_end - Walk all defs and uses /// of the specified register, stepping by MachineInstr. - typedef defusechain_instr_iterator - reg_instr_iterator; + using reg_instr_iterator = + defusechain_instr_iterator; reg_instr_iterator reg_instr_begin(unsigned RegNo) const { return reg_instr_iterator(getRegUseDefListHead(RegNo)); } @@ -295,8 +297,8 @@ class MachineRegisterInfo { (private) /// reg_bundle_iterator/reg_bundle_begin/reg_bundle_end - Walk all defs and uses /// of the specified register, stepping by bundle. - typedef defusechain_instr_iterator - reg_bundle_iterator; + using reg_bundle_iterator = + defusechain_instr_iterator; reg_bundle_iterator reg_bundle_begin(unsigned RegNo) const { return reg_bundle_iterator(getRegUseDefListHead(RegNo)); } @@ -314,8 +316,8 @@ class MachineRegisterInfo { (private) /// reg_nodbg_iterator/reg_nodbg_begin/reg_nodbg_end - Walk all defs and uses /// of the specified register, skipping those marked as Debug. - typedef defusechain_iterator - reg_nodbg_iterator; + using reg_nodbg_iterator = + defusechain_iterator; reg_nodbg_iterator reg_nodbg_begin(unsigned RegNo) const { return reg_nodbg_iterator(getRegUseDefListHead(RegNo)); } @@ -331,8 +333,8 @@ class MachineRegisterInfo { (private) /// reg_instr_nodbg_iterator/reg_instr_nodbg_begin/reg_instr_nodbg_end - Walk /// all defs and uses of the specified register, stepping by MachineInstr, /// skipping those marked as Debug. - typedef defusechain_instr_iterator - reg_instr_nodbg_iterator; + using reg_instr_nodbg_iterator = + defusechain_instr_iterator; reg_instr_nodbg_iterator reg_instr_nodbg_begin(unsigned RegNo) const { return reg_instr_nodbg_iterator(getRegUseDefListHead(RegNo)); } @@ -348,8 +350,8 @@ class MachineRegisterInfo { (private) /// reg_bundle_nodbg_iterator/reg_bundle_nodbg_begin/reg_bundle_nodbg_end - Walk /// all defs and uses of the specified register, stepping by bundle, /// skipping those marked as Debug. - typedef defusechain_instr_iterator - reg_bundle_nodbg_iterator; + using reg_bundle_nodbg_iterator = + defusechain_instr_iterator; reg_bundle_nodbg_iterator reg_bundle_nodbg_begin(unsigned RegNo) const { return reg_bundle_nodbg_iterator(getRegUseDefListHead(RegNo)); } @@ -369,8 +371,8 @@ class MachineRegisterInfo { (private) } /// def_iterator/def_begin/def_end - Walk all defs of the specified register. - typedef defusechain_iterator - def_iterator; + using def_iterator = + defusechain_iterator; def_iterator def_begin(unsigned RegNo) const { return def_iterator(getRegUseDefListHead(RegNo)); } @@ -382,8 +384,8 @@ class MachineRegisterInfo { (private) /// def_instr_iterator/def_instr_begin/def_instr_end - Walk all defs of the /// specified register, stepping by MachineInst. - typedef defusechain_instr_iterator - def_instr_iterator; + using def_instr_iterator = + defusechain_instr_iterator; def_instr_iterator def_instr_begin(unsigned RegNo) const { return def_instr_iterator(getRegUseDefListHead(RegNo)); } @@ -398,8 +400,8 @@ class MachineRegisterInfo { (private) /// def_bundle_iterator/def_bundle_begin/def_bundle_end - Walk all defs of the /// specified register, stepping by bundle. - typedef defusechain_instr_iterator - def_bundle_iterator; + using def_bundle_iterator = + defusechain_instr_iterator; def_bundle_iterator def_bundle_begin(unsigned RegNo) const { return def_bundle_iterator(getRegUseDefListHead(RegNo)); } @@ -425,8 +427,8 @@ class MachineRegisterInfo { (private) } /// use_iterator/use_begin/use_end - Walk all uses of the specified register. - typedef defusechain_iterator - use_iterator; + using use_iterator = + defusechain_iterator; use_iterator use_begin(unsigned RegNo) const { return use_iterator(getRegUseDefListHead(RegNo)); } @@ -438,8 +440,8 @@ class MachineRegisterInfo { (private) /// use_instr_iterator/use_instr_begin/use_instr_end - Walk all uses of the /// specified register, stepping by MachineInstr. - typedef defusechain_instr_iterator - use_instr_iterator; + using use_instr_iterator = + defusechain_instr_iterator; use_instr_iterator use_instr_begin(unsigned RegNo) const { return use_instr_iterator(getRegUseDefListHead(RegNo)); } @@ -454,8 +456,8 @@ class MachineRegisterInfo { (private) /// use_bundle_iterator/use_bundle_begin/use_bundle_end - Walk all uses of the /// specified register, stepping by bundle. - typedef defusechain_instr_iterator - use_bundle_iterator; + using use_bundle_iterator = + defusechain_instr_iterator; use_bundle_iterator use_bundle_begin(unsigned RegNo) const { return use_bundle_iterator(getRegUseDefListHead(RegNo)); } @@ -482,8 +484,8 @@ class MachineRegisterInfo { (private) /// use_nodbg_iterator/use_nodbg_begin/use_nodbg_end - Walk all uses of the /// specified register, skipping those marked as Debug. - typedef defusechain_iterator - use_nodbg_iterator; + using use_nodbg_iterator = + defusechain_iterator; use_nodbg_iterator use_nodbg_begin(unsigned RegNo) const { return use_nodbg_iterator(getRegUseDefListHead(RegNo)); } @@ -499,8 +501,8 @@ class MachineRegisterInfo { (private) /// use_instr_nodbg_iterator/use_instr_nodbg_begin/use_instr_nodbg_end - Walk /// all uses of the specified register, stepping by MachineInstr, skipping /// those marked as Debug. - typedef defusechain_instr_iterator - use_instr_nodbg_iterator; + using use_instr_nodbg_iterator = + defusechain_instr_iterator; use_instr_nodbg_iterator use_instr_nodbg_begin(unsigned RegNo) const { return use_instr_nodbg_iterator(getRegUseDefListHead(RegNo)); } @@ -516,8 +518,8 @@ class MachineRegisterInfo { (private) /// use_bundle_nodbg_iterator/use_bundle_nodbg_begin/use_bundle_nodbg_end - Walk /// all uses of the specified register, stepping by bundle, skipping /// those marked as Debug. - typedef defusechain_instr_iterator - use_bundle_nodbg_iterator; + using use_bundle_nodbg_iterator = + defusechain_instr_iterator; use_bundle_nodbg_iterator use_bundle_nodbg_begin(unsigned RegNo) const { return use_bundle_nodbg_iterator(getRegUseDefListHead(RegNo)); } @@ -593,7 +595,6 @@ class MachineRegisterInfo { (private) /// Return the register class of the specified virtual register. /// This shouldn't be used directly unless \p Reg has a register class. /// \see getRegClassOrNull when this might happen. - /// const TargetRegisterClass *getRegClass(unsigned Reg) const { assert(VRegInfo[Reg].first.is() && "Register class not set, wrong accessor"); @@ -620,7 +621,6 @@ class MachineRegisterInfo { (private) /// a register bank or has been assigned a register class. /// \note It is possible to get the register bank from the register class via /// RegisterBankInfo::getRegBankFromRegClass. - /// const RegisterBank *getRegBankOrNull(unsigned Reg) const { const RegClassOrRegBank &Val = VRegInfo[Reg].first; return Val.dyn_cast(); @@ -629,17 +629,14 @@ class MachineRegisterInfo { (private) /// Return the register bank or register class of \p Reg. /// \note Before the register bank gets assigned (i.e., before the /// RegBankSelect pass) \p Reg may not have either. - /// const RegClassOrRegBank &getRegClassOrRegBank(unsigned Reg) const { return VRegInfo[Reg].first; } /// setRegClass - Set the register class of the specified virtual register. - /// void setRegClass(unsigned Reg, const TargetRegisterClass *RC); /// Set the register bank to \p RegBank for \p Reg. - /// void setRegBank(unsigned Reg, const RegisterBank &RegBank); void setRegClassOrRegBank(unsigned Reg, @@ -653,7 +650,6 @@ class MachineRegisterInfo { (private) /// new register class, or NULL if no such class exists. /// This should only be used when the constraint is known to be trivial, like /// GR32 -> GR32_NOSP. Beware of increasing register pressure. - /// const TargetRegisterClass *constrainRegClass(unsigned Reg, const TargetRegisterClass *RC, unsigned MinNumRegs = 0); @@ -665,12 +661,10 @@ class MachineRegisterInfo { (private) /// This method can be used after constraints have been removed from a /// virtual register, for example after removing instructions or splitting /// the live range. - /// bool recomputeRegClass(unsigned Reg); /// createVirtualRegister - Create and return a new virtual register in the /// function with the specified register class. - /// unsigned createVirtualRegister(const TargetRegisterClass *RegClass); /// Accessor for VRegToType. This accessor should only be used @@ -704,7 +698,6 @@ class MachineRegisterInfo { (private) unsigned createIncompleteVirtualRegister(); /// getNumVirtRegs - Return the number of virtual registers created. - /// unsigned getNumVirtRegs() const { return VRegInfo.size(); } /// clearVirtRegs - Remove all virtual registers (after physreg assignment). @@ -810,7 +803,6 @@ class MachineRegisterInfo { (private) /// /// Reserved registers may belong to an allocatable register class, but the /// target has explicitly requested that they are not used. - /// bool isReserved(unsigned PhysReg) const { return getReservedRegs().test(PhysReg); } @@ -838,8 +830,8 @@ class MachineRegisterInfo { (private) // Iteration support for the live-ins set. It's kept in sorted order // by register number. - typedef std::vector>::const_iterator - livein_iterator; + using livein_iterator = + std::vector>::const_iterator; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sat Jun 3 18:21:55 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 53C68BF6C9D for ; Sat, 3 Jun 2017 18:21:55 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EBE1D797C3; Sat, 3 Jun 2017 18:21:54 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v53ILsOD058296; Sat, 3 Jun 2017 18:21:54 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v53ILoGd058259; Sat, 3 Jun 2017 18:21:50 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201706031821.v53ILoGd058259@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 3 Jun 2017 18:21:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r319549 - in projects/clang500-import: . bin/dd/tests contrib/compiler-rt/lib/tsan/rtl contrib/xz/src/liblzma/check lib/libc/sys lib/libsysdecode share/man/man7 share/mk sys/amd64/amd64... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jun 2017 18:21:55 -0000 Author: dim Date: Sat Jun 3 18:21:50 2017 New Revision: 319549 URL: https://svnweb.freebsd.org/changeset/base/319549 Log: Merge ^/head r319480 through r319547. Deleted: projects/clang500-import/sys/arm/versatile/versatile_timer.c Modified: projects/clang500-import/Makefile.inc1 projects/clang500-import/ObsoleteFiles.inc projects/clang500-import/bin/dd/tests/dd2_test.sh projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S projects/clang500-import/contrib/xz/src/liblzma/check/crc32_x86.S projects/clang500-import/contrib/xz/src/liblzma/check/crc64_x86.S projects/clang500-import/lib/libc/sys/Makefile.inc projects/clang500-import/lib/libsysdecode/Makefile projects/clang500-import/lib/libsysdecode/flags.c projects/clang500-import/lib/libsysdecode/mktables projects/clang500-import/lib/libsysdecode/sysdecode.3 projects/clang500-import/lib/libsysdecode/sysdecode.h projects/clang500-import/lib/libsysdecode/sysdecode_enum.3 projects/clang500-import/share/man/man7/ascii.7 projects/clang500-import/share/mk/local.meta.sys.mk projects/clang500-import/share/mk/sys.mk projects/clang500-import/sys/amd64/amd64/pmap.c projects/clang500-import/sys/arm/annapurna/alpine/files.alpine projects/clang500-import/sys/arm/arm/machdep.c projects/clang500-import/sys/arm/arm/mpcore_timer.c projects/clang500-import/sys/arm/conf/AML8726 projects/clang500-import/sys/arm/conf/ARMADAXP projects/clang500-import/sys/arm/conf/BEAGLEBONE projects/clang500-import/sys/arm/conf/EFIKA_MX projects/clang500-import/sys/arm/conf/IMX53 projects/clang500-import/sys/arm/conf/RT1310 projects/clang500-import/sys/arm/freescale/imx/imx51_machdep.c projects/clang500-import/sys/arm/freescale/imx/imx53_machdep.c projects/clang500-import/sys/arm/versatile/files.versatile projects/clang500-import/sys/arm/versatile/sp804.c projects/clang500-import/sys/arm64/arm64/pmap.c projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c projects/clang500-import/sys/conf/files.amd64 projects/clang500-import/sys/conf/files.i386 projects/clang500-import/sys/dev/cxgbe/t4_sge.c projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000swreg.h projects/clang500-import/sys/dev/uart/uart_bus_fdt.c projects/clang500-import/sys/dev/xen/netfront/netfront.c projects/clang500-import/sys/fs/msdosfs/denode.h projects/clang500-import/sys/fs/msdosfs/msdosfs_conv.c projects/clang500-import/sys/fs/msdosfs/msdosfs_denode.c projects/clang500-import/sys/fs/msdosfs/msdosfs_fat.c projects/clang500-import/sys/fs/msdosfs/msdosfs_vnops.c projects/clang500-import/sys/kern/kern_proc.c projects/clang500-import/sys/kern/kern_sendfile.c projects/clang500-import/sys/kern/uipc_accf.c projects/clang500-import/sys/kern/uipc_socket.c projects/clang500-import/sys/kern/uipc_usrreq.c projects/clang500-import/sys/kern/vfs_default.c projects/clang500-import/sys/kern/vfs_subr.c projects/clang500-import/sys/kern/vnode_if.src projects/clang500-import/sys/sys/sockopt.h projects/clang500-import/sys/sys/unpcb.h projects/clang500-import/sys/sys/vnode.h projects/clang500-import/sys/ufs/ffs/ffs_softdep.c projects/clang500-import/sys/ufs/ffs/ffs_vfsops.c projects/clang500-import/sys/ufs/ffs/softdep.h projects/clang500-import/usr.bin/diff/diff.c projects/clang500-import/usr.bin/kdump/kdump.c projects/clang500-import/usr.bin/last/last.c projects/clang500-import/usr.bin/truss/syscall.h projects/clang500-import/usr.bin/truss/syscalls.c projects/clang500-import/usr.sbin/bhyve/Makefile projects/clang500-import/usr.sbin/bhyve/bhyve.8 projects/clang500-import/usr.sbin/bhyve/pci_fbuf.c (contents, props changed) projects/clang500-import/usr.sbin/bhyve/rfb.c (contents, props changed) projects/clang500-import/usr.sbin/bhyve/rfb.h (contents, props changed) projects/clang500-import/usr.sbin/makefs/ffs/buf.c projects/clang500-import/usr.sbin/newsyslog/tests/legacy_test.sh Directory Properties: projects/clang500-import/ (props changed) projects/clang500-import/contrib/compiler-rt/ (props changed) projects/clang500-import/contrib/xz/ (props changed) Modified: projects/clang500-import/Makefile.inc1 ============================================================================== --- projects/clang500-import/Makefile.inc1 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/Makefile.inc1 Sat Jun 3 18:21:50 2017 (r319549) @@ -2019,6 +2019,7 @@ native-xtools: .PHONY ${_gcc_tools} \ ${_clang_libs} \ ${_clang} \ + ${_lld} \ sbin/md5 \ sbin/sysctl \ usr.bin/diff \ Modified: projects/clang500-import/ObsoleteFiles.inc ============================================================================== --- projects/clang500-import/ObsoleteFiles.inc Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/ObsoleteFiles.inc Sat Jun 3 18:21:50 2017 (r319549) @@ -150,6 +150,8 @@ OLD_FILES+=usr/lib/clang/4.0.0/lib/freebsd/libclang_rt OLD_DIRS+=usr/lib/clang/4.0.0/lib/freebsd OLD_DIRS+=usr/lib/clang/4.0.0/lib OLD_DIRS+=usr/lib/clang/4.0.0 +# 20170601: remove stale manpage +OLD_FILES+=usr/share/man/man2/cap_rights_get.2.gz # 20170601: old libifconfig and libifc OLD_FILES+=usr/lib/libifc.a OLD_FILES+=usr/lib/libifc_p.a Modified: projects/clang500-import/bin/dd/tests/dd2_test.sh ============================================================================== --- projects/clang500-import/bin/dd/tests/dd2_test.sh Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/bin/dd/tests/dd2_test.sh Sat Jun 3 18:21:50 2017 (r319549) @@ -27,10 +27,14 @@ atf_test_case seek_overflow -seek_overflow_head() { +seek_overflow_head() +{ atf_set "descr" "dd(1) should reject too-large seek values" } -seek_overflow_body() { +seek_overflow_body() +{ + atf_expect_fail "fails with 'dd: truncating f.out: File too large' - bug 219757" + touch f.in # Positive tests seek=`echo "2^63 / 4096 - 1" | bc` Modified: projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S ============================================================================== --- projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S Sat Jun 3 18:21:50 2017 (r319549) @@ -252,7 +252,7 @@ __sigsetjmp: CFI_ENDPROC .size __sigsetjmp, .-__sigsetjmp -#if defined(__linux__) +#if defined(__FreeBSD__) || defined(__linux__) /* We do not need executable stack. */ .section .note.GNU-stack,"",@progbits #endif Modified: projects/clang500-import/contrib/xz/src/liblzma/check/crc32_x86.S ============================================================================== --- projects/clang500-import/contrib/xz/src/liblzma/check/crc32_x86.S Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/contrib/xz/src/liblzma/check/crc32_x86.S Sat Jun 3 18:21:50 2017 (r319549) @@ -299,6 +299,6 @@ LZMA_CRC32: * use __linux__ here, but I don't know a way to detect when * we are using GNU assembler. */ -#if defined(__ELF__) && defined(__linux__) +#if defined(__ELF__) && (defined(__FreeBSD__) || defined(__linux__)) .section .note.GNU-stack,"",@progbits #endif Modified: projects/clang500-import/contrib/xz/src/liblzma/check/crc64_x86.S ============================================================================== --- projects/clang500-import/contrib/xz/src/liblzma/check/crc64_x86.S Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/contrib/xz/src/liblzma/check/crc64_x86.S Sat Jun 3 18:21:50 2017 (r319549) @@ -282,6 +282,6 @@ LZMA_CRC64: * use __linux__ here, but I don't know a way to detect when * we are using GNU assembler. */ -#if defined(__ELF__) && defined(__linux__) +#if defined(__ELF__) && (defined(__FreeBSD__) || defined(__linux__)) .section .note.GNU-stack,"",@progbits #endif Modified: projects/clang500-import/lib/libc/sys/Makefile.inc ============================================================================== --- projects/clang500-import/lib/libc/sys/Makefile.inc Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/lib/libc/sys/Makefile.inc Sat Jun 3 18:21:50 2017 (r319549) @@ -350,7 +350,6 @@ MLINKS+=brk.2 sbrk.2 MLINKS+=cap_enter.2 cap_getmode.2 MLINKS+=cap_fcntls_limit.2 cap_fcntls_get.2 MLINKS+=cap_ioctls_limit.2 cap_ioctls_get.2 -MLINKS+=cap_rights_limit.2 cap_rights_get.2 MLINKS+=chdir.2 fchdir.2 MLINKS+=chflags.2 chflagsat.2 \ chflags.2 fchflags.2 \ Modified: projects/clang500-import/lib/libsysdecode/Makefile ============================================================================== --- projects/clang500-import/lib/libsysdecode/Makefile Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/lib/libsysdecode/Makefile Sat Jun 3 18:21:50 2017 (r319549) @@ -32,6 +32,7 @@ MLINKS+=sysdecode_enum.3 sysdecode_acltype.3 \ sysdecode_enum.3 sysdecode_fadvice.3 \ sysdecode_enum.3 sysdecode_fcntl_cmd.3 \ sysdecode_enum.3 sysdecode_getfsstat_mode.3 \ + sysdecode_enum.3 sysdecode_getrusage_who.3 \ sysdecode_enum.3 sysdecode_idtype.3 \ sysdecode_enum.3 sysdecode_ipproto.3 \ sysdecode_enum.3 sysdecode_kldsym_cmd.3 \ Modified: projects/clang500-import/lib/libsysdecode/flags.c ============================================================================== --- projects/clang500-import/lib/libsysdecode/flags.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/lib/libsysdecode/flags.c Sat Jun 3 18:21:50 2017 (r319549) @@ -487,6 +487,13 @@ sysdecode_getfsstat_mode(int mode) } const char * +sysdecode_getrusage_who(int who) +{ + + return (lookup_value(rusage, who)); +} + +const char * sysdecode_kldsym_cmd(int cmd) { Modified: projects/clang500-import/lib/libsysdecode/mktables ============================================================================== --- projects/clang500-import/lib/libsysdecode/mktables Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/lib/libsysdecode/mktables Sat Jun 3 18:21:50 2017 (r319549) @@ -114,6 +114,7 @@ gen_table "quotactlcmds" "Q_[A-Z]+[[:space:]]+0x[0- gen_table "rebootopt" "RB_[A-Z]+[[:space:]]+0x[0-9]+" "sys/reboot.h" gen_table "rforkflags" "RF[A-Z]+[[:space:]]+\([0-9]+<<[0-9]+\)" "sys/unistd.h" gen_table "rlimit" "RLIMIT_[A-Z]+[[:space:]]+[0-9]+" "sys/resource.h" +gen_table "rusage" "RUSAGE_[A-Z]+[[:space:]]+[-0-9]+" "sys/resource.h" gen_table "schedpolicy" "SCHED_[A-Z]+[[:space:]]+[0-9]+" "sched.h" gen_table "sendfileflags" "SF_[A-Z]+[[:space:]]+[0-9]+" "sys/socket.h" gen_table "shmatflags" "SHM_[A-Z]+[[:space:]]+[0-9]{6}+" "sys/shm.h" Modified: projects/clang500-import/lib/libsysdecode/sysdecode.3 ============================================================================== --- projects/clang500-import/lib/libsysdecode/sysdecode.3 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/lib/libsysdecode/sysdecode.3 Sat Jun 3 18:21:50 2017 (r319549) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 17, 2016 +.Dd June 3, 2017 .Dt SYSDECODE 3 .Os .Sh NAME @@ -76,6 +76,7 @@ A placeholder for use when the ABI is not known. .Xr sysdecode_mask 3 , .Xr sysdecode_quotactl_cmd 3 , .Xr sysdecode_sigcode 3 , +.Xr sysdecode_socket_protocol 3 , .Xr sysdecode_sockopt_name 3 , .Xr sysdecode_syscallnames 3 , .Xr sysdecode_utrace 3 Modified: projects/clang500-import/lib/libsysdecode/sysdecode.h ============================================================================== --- projects/clang500-import/lib/libsysdecode/sysdecode.h Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/lib/libsysdecode/sysdecode.h Sat Jun 3 18:21:50 2017 (r319549) @@ -55,6 +55,7 @@ bool sysdecode_filemode(FILE *_fp, int _mode, int *_re bool sysdecode_flock_operation(FILE *_fp, int _operation, int *_rem); int sysdecode_freebsd_to_abi_errno(enum sysdecode_abi _abi, int _error); const char *sysdecode_getfsstat_mode(int _mode); +const char *sysdecode_getrusage_who(int _who); const char *sysdecode_idtype(int _idtype); const char *sysdecode_ioctlname(unsigned long _val); const char *sysdecode_ipproto(int _protocol); Modified: projects/clang500-import/lib/libsysdecode/sysdecode_enum.3 ============================================================================== --- projects/clang500-import/lib/libsysdecode/sysdecode_enum.3 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/lib/libsysdecode/sysdecode_enum.3 Sat Jun 3 18:21:50 2017 (r319549) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 2, 2017 +.Dd June 3, 2017 .Dt sysdecode_enum 3 .Os .Sh NAME @@ -36,6 +36,7 @@ .Nm sysdecode_fadvice , .Nm sysdecode_fcntl_cmd , .Nm sysdecode_getfsstat_mode , +.Nm sysdecode_getrusage_who , .Nm sysdecode_idtype , .Nm sysdecode_ipproto , .Nm sysdecode_kldsym_cmd , @@ -89,6 +90,8 @@ .Ft const char * .Fn sysdecode_getfsstat_mode "int mode" .Ft const char * +.Fn sysdecode_getrusage_who "int who" +.Ft const char * .Fn sysdecode_idtype "int idtype" .Ft const char * .Fn sysdecode_ipproto "int protocol" @@ -188,6 +191,7 @@ Most of these functions decode an argument passed to a .It Fn sysdecode_ptrace_request Ta Xr ptrace 2 Ta Fa request .It Fn sysdecode_rlimit Ta Xr getrlimit 2 Ta Fa resource .It Fn sysdecode_rtprio_function Ta Xr rtprio 2 Ta Fa function +.It Fn sysdecode_getrusage_who Ta Xr getrusage 2 Ta Fa who .It Fn sysdecode_scheduler_policy Ta Xr sched_setscheduler 2 Ta Fa policy .It Fn sysdecode_semctl_cmd Ta Xr semctl 2 Ta Fa cmd .It Fn sysdecode_shmctl_cmd Ta Xr shmctl 2 Ta Fa cmd Modified: projects/clang500-import/share/man/man7/ascii.7 ============================================================================== --- projects/clang500-import/share/man/man7/ascii.7 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/share/man/man7/ascii.7 Sat Jun 3 18:21:50 2017 (r319549) @@ -64,9 +64,9 @@ The set: .Bd -literal -offset left 00 NUL 01 SOH 02 STX 03 ETX 04 EOT 05 ENQ 06 ACK 07 BEL -08 BS 09 HT 0A LF 0B VT 0C FF 0D CR 0E SO 0F SI +08 BS 09 HT 0a LF 0b VT 0c FF 0d CR 0e SO 0f SI 10 DLE 11 DC1 12 DC2 13 DC3 14 DC4 15 NAK 16 SYN 17 ETB -18 CAN 19 EM 1A SUB 1B ESC 1C FS 1D GS 1E RS 1F US +18 CAN 19 EM 1a SUB 1b ESC 1c FS 1d GS 1e RS 1f US 20 SP 21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' 28 ( 29 ) 2a * 2b + 2c , 2d - 2e . 2f / 30 0 31 1 32 2 33 3 34 4 35 5 36 6 37 7 Modified: projects/clang500-import/share/mk/local.meta.sys.mk ============================================================================== --- projects/clang500-import/share/mk/local.meta.sys.mk Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/share/mk/local.meta.sys.mk Sat Jun 3 18:21:50 2017 (r319549) @@ -283,6 +283,3 @@ META_MODE+= missing-meta=yes .if empty(META_MODE:Mnofilemon) META_MODE+= missing-filemon=yes .endif -# We do not want everything out-of-date just because -# some unrelated shared lib updated this. -.MAKE.META.IGNORE_PATHS+= /usr/local/etc/libmap.d Modified: projects/clang500-import/share/mk/sys.mk ============================================================================== --- projects/clang500-import/share/mk/sys.mk Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/share/mk/sys.mk Sat Jun 3 18:21:50 2017 (r319549) @@ -91,7 +91,11 @@ META_MODE?= normal /usr/share \ .endif - +.if !empty(.MAKE.MODE:Mmeta) +# We do not want everything out-of-date just because +# some unrelated shared lib updated this. +.MAKE.META.IGNORE_PATHS+= /usr/local/etc/libmap.d +.endif .if ${MK_AUTO_OBJ} == "yes" # This needs to be done early - before .PATH is computed Modified: projects/clang500-import/sys/amd64/amd64/pmap.c ============================================================================== --- projects/clang500-import/sys/amd64/amd64/pmap.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/amd64/amd64/pmap.c Sat Jun 3 18:21:50 2017 (r319549) @@ -4313,6 +4313,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, v pv_entry_t pv; vm_paddr_t opa, pa; vm_page_t mpte, om; + int rv; boolean_t nosleep; PG_A = pmap_accessed_bit(pmap); @@ -4387,10 +4388,8 @@ retry: mpte = _pmap_allocpte(pmap, pmap_pde_pindex(va), nosleep ? NULL : &lock); if (mpte == NULL && nosleep) { - if (lock != NULL) - rw_wunlock(lock); - PMAP_UNLOCK(pmap); - return (KERN_RESOURCE_SHORTAGE); + rv = KERN_RESOURCE_SHORTAGE; + goto out; } goto retry; } else @@ -4516,10 +4515,12 @@ unchanged: vm_reserv_level_iffullpop(m) == 0) pmap_promote_pde(pmap, pde, va, &lock); + rv = KERN_SUCCESS; +out: if (lock != NULL) rw_wunlock(lock); PMAP_UNLOCK(pmap); - return (KERN_SUCCESS); + return (rv); } /* Modified: projects/clang500-import/sys/arm/annapurna/alpine/files.alpine ============================================================================== --- projects/clang500-import/sys/arm/annapurna/alpine/files.alpine Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/annapurna/alpine/files.alpine Sat Jun 3 18:21:50 2017 (r319549) @@ -3,7 +3,6 @@ kern/kern_clocksource.c standard arm/versatile/sp804.c standard -arm/versatile/versatile_timer.c standard dev/uart/uart_dev_ns8250.c optional uart arm/annapurna/alpine/common.c standard Modified: projects/clang500-import/sys/arm/arm/machdep.c ============================================================================== --- projects/clang500-import/sys/arm/arm/machdep.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/arm/machdep.c Sat Jun 3 18:21:50 2017 (r319549) @@ -103,6 +103,10 @@ __FBSDID("$FreeBSD$"); #error FreeBSD/arm doesn't provide compatibility with releases prior to 10 #endif +#if __ARM_ARCH >= 6 && !defined(INTRNG) +#error armv6 requires INTRNG +#endif + struct pcpu __pcpu[MAXCPU]; struct pcpu *pcpup = &__pcpu[0]; @@ -297,6 +301,7 @@ cpu_idle_wakeup(int cpu) return (0); } +#ifdef NO_EVENTTIMERS /* * Most ARM platforms don't need to do anything special to init their clocks * (they get intialized during normal device attachment), and by not defining a @@ -307,8 +312,14 @@ cpu_idle_wakeup(int cpu) void arm_generic_initclocks(void) { +} +__weak_reference(arm_generic_initclocks, cpu_initclocks); -#ifndef NO_EVENTTIMERS +#else +void +cpu_initclocks(void) +{ + #ifdef SMP if (PCPU_GET(cpuid) == 0) cpu_initclocks_bsp(); @@ -317,9 +328,8 @@ arm_generic_initclocks(void) #else cpu_initclocks_bsp(); #endif -#endif } -__weak_reference(arm_generic_initclocks, cpu_initclocks); +#endif #ifdef MULTIDELAY void Modified: projects/clang500-import/sys/arm/arm/mpcore_timer.c ============================================================================== --- projects/clang500-import/sys/arm/arm/mpcore_timer.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/arm/mpcore_timer.c Sat Jun 3 18:21:50 2017 (r319549) @@ -59,6 +59,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef MULTIDELAY +#include /* For arm_set_delay */ +#endif + #include #include #include @@ -115,6 +119,8 @@ static boolean_t arm_tmr_freq_varies; #define tmr_gbl_read_4(sc, reg) bus_read_4((sc)->gbl_mem, reg) #define tmr_gbl_write_4(sc, reg, val) bus_write_4((sc)->gbl_mem, reg, val) +static void arm_tmr_delay(int, void *); + static timecounter_get_t arm_tmr_get_timecount; static struct timecounter arm_tmr_timecount = { @@ -431,6 +437,11 @@ arm_tmr_attach(device_t dev) if (tc_err != 0 && et_err != 0) { return (ENXIO); } + +#ifdef MULTIDELAY + arm_set_delay(arm_tmr_delay, sc); +#endif + return (0); } @@ -482,37 +493,14 @@ arm_tmr_change_frequency(uint64_t newfreq) et_change_frequency(arm_tmr_et, newfreq); } -/** - * DELAY - Delay for at least usec microseconds. - * @usec: number of microseconds to delay by - * - * This function is called all over the kernel and is suppose to provide a - * consistent delay. This function may also be called before the console - * is setup so no printf's can be called here. - * - * RETURNS: - * nothing - */ -static void __used /* Must emit function code for the weak ref below. */ -arm_tmr_DELAY(int usec) +static void +arm_tmr_delay(int usec, void *arg) { - struct arm_tmr_softc *sc; + struct arm_tmr_softc *sc = arg; int32_t counts_per_usec; int32_t counts; uint32_t first, last; - /* Check the timers are setup, if not just use a for loop for the meantime */ - if (arm_tmr_tc == NULL || arm_tmr_timecount.tc_frequency == 0) { - for (; usec > 0; usec--) - for (counts = 200; counts > 0; counts--) - cpufunc_nullop(); /* Prevent gcc from optimizing - * out the loop - */ - return; - } - - sc = arm_tmr_tc->tc_priv; - /* Get the number of times to count */ counts_per_usec = ((arm_tmr_timecount.tc_frequency / 1000000) + 1); @@ -536,10 +524,34 @@ arm_tmr_DELAY(int usec) } } -/* - * Supply a DELAY() implementation via weak linkage. A platform may want to use - * the mpcore per-cpu eventtimers but provide its own DELAY() routine, - * especially when the core frequency can change on the fly. +#ifndef MULTIDELAY +/** + * DELAY - Delay for at least usec microseconds. + * @usec: number of microseconds to delay by + * + * This function is called all over the kernel and is suppose to provide a + * consistent delay. This function may also be called before the console + * is setup so no printf's can be called here. + * + * RETURNS: + * nothing */ -__weak_reference(arm_tmr_DELAY, DELAY); +void +DELAY(int usec) +{ + struct arm_tmr_softc *sc; + int32_t counts; + /* Check the timers are setup, if not just use a for loop for the meantime */ + if (arm_tmr_tc == NULL || arm_tmr_timecount.tc_frequency == 0) { + for (; usec > 0; usec--) + for (counts = 200; counts > 0; counts--) + cpufunc_nullop(); /* Prevent gcc from optimizing + * out the loop + */ + } else { + sc = arm_tmr_tc->tc_priv; + arm_tmr_delay(usec, sc); + } +} +#endif Modified: projects/clang500-import/sys/arm/conf/AML8726 ============================================================================== --- projects/clang500-import/sys/arm/conf/AML8726 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/conf/AML8726 Sat Jun 3 18:21:50 2017 (r319549) @@ -18,6 +18,9 @@ # # $FreeBSD$ +# TODO: Port to INTRNG +#NO_UNIVERSE + ident AML8726 include "std.armv6" Modified: projects/clang500-import/sys/arm/conf/ARMADAXP ============================================================================== --- projects/clang500-import/sys/arm/conf/ARMADAXP Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/conf/ARMADAXP Sat Jun 3 18:21:50 2017 (r319549) @@ -18,6 +18,9 @@ # # $FreeBSD$ +# TODO: Port to INTRNG +#NO_UNIVERSE + ident MV-88F78XX0 include "std.armv6" Modified: projects/clang500-import/sys/arm/conf/BEAGLEBONE ============================================================================== --- projects/clang500-import/sys/arm/conf/BEAGLEBONE Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/conf/BEAGLEBONE Sat Jun 3 18:21:50 2017 (r319549) @@ -29,6 +29,7 @@ include "../ti/am335x/std.am335x" makeoptions MODULES_EXTRA="dtb/am335x am335x_dmtpps" options INTRNG +options MULTIDELAY options SCHED_4BSD # 4BSD scheduler options PLATFORM Modified: projects/clang500-import/sys/arm/conf/EFIKA_MX ============================================================================== --- projects/clang500-import/sys/arm/conf/EFIKA_MX Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/conf/EFIKA_MX Sat Jun 3 18:21:50 2017 (r319549) @@ -31,6 +31,7 @@ options SCHED_4BSD # 4BSD scheduler #options MD_ROOT # MD is a potential root device #options NFSD # Network Filesystem Server options PLATFORM +options MULTIDELAY options INCLUDE_CONFIG_FILE # Include this file in kernel # NFS root from boopt/dhcp Modified: projects/clang500-import/sys/arm/conf/IMX53 ============================================================================== --- projects/clang500-import/sys/arm/conf/IMX53 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/conf/IMX53 Sat Jun 3 18:21:50 2017 (r319549) @@ -28,6 +28,7 @@ options SOC_IMX53 options SCHED_4BSD # 4BSD scheduler #options NFSD # Network Filesystem Server options PLATFORM +options MULTIDELAY options INCLUDE_CONFIG_FILE # Include this file in kernel # kernel/memory size reduction Modified: projects/clang500-import/sys/arm/conf/RT1310 ============================================================================== --- projects/clang500-import/sys/arm/conf/RT1310 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/conf/RT1310 Sat Jun 3 18:21:50 2017 (r319549) @@ -3,6 +3,8 @@ # # $FreeBSD$ # +# TODO: This fails to build under universe, irnore it until it's fixed +#NO_UNIVERSE ident RT1310 include "std.arm" Modified: projects/clang500-import/sys/arm/freescale/imx/imx51_machdep.c ============================================================================== --- projects/clang500-import/sys/arm/freescale/imx/imx51_machdep.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/freescale/imx/imx51_machdep.c Sat Jun 3 18:21:50 2017 (r319549) @@ -99,4 +99,4 @@ static platform_method_t imx51_methods[] = { PLATFORMMETHOD_END, }; -FDT_PLATFORM_DEF(imx51, "i.MX51", 0, "fsl,imx51", 0); +FDT_PLATFORM_DEF(imx51, "i.MX51", 0, "fsl,imx51", 100); Modified: projects/clang500-import/sys/arm/freescale/imx/imx53_machdep.c ============================================================================== --- projects/clang500-import/sys/arm/freescale/imx/imx53_machdep.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/freescale/imx/imx53_machdep.c Sat Jun 3 18:21:50 2017 (r319549) @@ -95,5 +95,4 @@ static platform_method_t imx53_methods[] = { PLATFORMMETHOD_END, }; -FDT_PLATFORM_DEF(imx53, "i.MX53", 0, "fsl,imx53", 0); - +FDT_PLATFORM_DEF(imx53, "i.MX53", 0, "fsl,imx53", 100); Modified: projects/clang500-import/sys/arm/versatile/files.versatile ============================================================================== --- projects/clang500-import/sys/arm/versatile/files.versatile Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/versatile/files.versatile Sat Jun 3 18:21:50 2017 (r319549) @@ -8,6 +8,5 @@ arm/versatile/versatile_common.c standard arm/versatile/versatile_pci.c optional pci arm/versatile/versatile_scm.c standard arm/versatile/versatile_sic.c standard -arm/versatile/versatile_timer.c standard kern/kern_clocksource.c standard Modified: projects/clang500-import/sys/arm/versatile/sp804.c ============================================================================== --- projects/clang500-import/sys/arm/versatile/sp804.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm/versatile/sp804.c Sat Jun 3 18:21:50 2017 (r319549) @@ -42,6 +42,10 @@ __FBSDID("$FreeBSD$"); #include #include +#ifdef MULTIDELAY +#include /* For arm_set_delay */ +#endif + #include #include #include @@ -109,6 +113,7 @@ struct sp804_timer_softc { bus_space_write_4(sc->bst, sc->bsh, reg, val) static unsigned sp804_timer_tc_get_timecount(struct timecounter *); +static void sp804_timer_delay(int, void *); static unsigned sp804_timer_tc_get_timecount(struct timecounter *tc) @@ -287,6 +292,10 @@ sp804_timer_attach(device_t dev) (sp804_timer_tc_read_4(SP804_PRIMECELL_ID0 + i*4) & 0xff); } +#ifdef MULTIDELAY + arm_set_delay(sp804_timer_delay, sc); +#endif + device_printf(dev, "PrimeCell ID: %08x\n", id); sc->timer_initialized = 1; @@ -310,11 +319,36 @@ static devclass_t sp804_timer_devclass; DRIVER_MODULE(sp804_timer, simplebus, sp804_timer_driver, sp804_timer_devclass, 0, 0); +static void +sp804_timer_delay(int usec, void *arg) +{ + struct sp804_timer_softc *sc = arg; + int32_t counts; + uint32_t first, last; + + /* Get the number of times to count */ + counts = usec * ((sc->tc.tc_frequency / 1000000) + 1); + + first = sp804_timer_tc_get_timecount(&sc->tc); + + while (counts > 0) { + last = sp804_timer_tc_get_timecount(&sc->tc); + if (last == first) + continue; + if (last > first) { + counts -= (int32_t)(last - first); + } else { + counts -= (int32_t)((0xFFFFFFFF - first) + last); + } + first = last; + } +} + +#ifndef MULTIDELAY void DELAY(int usec) { int32_t counts; - uint32_t first, last; device_t timer_dev; struct sp804_timer_softc *sc; int timer_initialized = 0; @@ -336,23 +370,8 @@ DELAY(int usec) for (counts = 200; counts > 0; counts--) /* Prevent gcc from optimizing out the loop */ cpufunc_nullop(); - return; + } else { + sp804_timer_delay(usec, sc); } - - /* Get the number of times to count */ - counts = usec * ((sc->tc.tc_frequency / 1000000) + 1); - - first = sp804_timer_tc_get_timecount(&sc->tc); - - while (counts > 0) { - last = sp804_timer_tc_get_timecount(&sc->tc); - if (last == first) - continue; - if (last>first) { - counts -= (int32_t)(last - first); - } else { - counts -= (int32_t)((0xFFFFFFFF - first) + last); - } - first = last; - } } +#endif Modified: projects/clang500-import/sys/arm64/arm64/pmap.c ============================================================================== --- projects/clang500-import/sys/arm64/arm64/pmap.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/arm64/arm64/pmap.c Sat Jun 3 18:21:50 2017 (r319549) @@ -495,14 +495,6 @@ pmap_get_tables(pmap_t pmap, vm_offset_t va, pd_entry_ } static __inline int -pmap_is_current(pmap_t pmap) -{ - - return ((pmap == pmap_kernel()) || - (pmap == curthread->td_proc->p_vmspace->vm_map.pmap)); -} - -static __inline int pmap_l3_valid(pt_entry_t l3) { @@ -510,24 +502,8 @@ pmap_l3_valid(pt_entry_t l3) } -/* Is a level 1 or 2entry a valid block and cacheable */ CTASSERT(L1_BLOCK == L2_BLOCK); -static __inline int -pmap_pte_valid_cacheable(pt_entry_t pte) -{ - return (((pte & ATTR_DESCR_MASK) == L1_BLOCK) && - ((pte & ATTR_IDX_MASK) == ATTR_IDX(CACHED_MEMORY))); -} - -static __inline int -pmap_l3_valid_cacheable(pt_entry_t l3) -{ - - return (((l3 & ATTR_DESCR_MASK) == L3_PAGE) && - ((l3 & ATTR_IDX_MASK) == ATTR_IDX(CACHED_MEMORY))); -} - #define PTE_SYNC(pte) cpu_dcache_wb_range((vm_offset_t)pte, sizeof(*pte)) /* @@ -1180,8 +1156,6 @@ pmap_kremove(vm_offset_t va) KASSERT(pte != NULL, ("pmap_kremove: Invalid address")); KASSERT(lvl == 3, ("pmap_kremove: Invalid pte level %d", lvl)); - if (pmap_l3_valid_cacheable(pmap_load(pte))) - cpu_dcache_wb_range(va, L3_SIZE); pmap_load_clear(pte); PTE_SYNC(pte); pmap_invalidate_page(kernel_pmap, va); @@ -1292,8 +1266,6 @@ pmap_qremove(vm_offset_t sva, int count) KASSERT(lvl == 3, ("Invalid device pagetable level: %d != 3", lvl)); if (pte != NULL) { - if (pmap_l3_valid_cacheable(pmap_load(pte))) - cpu_dcache_wb_range(va, L3_SIZE); pmap_load_clear(pte); PTE_SYNC(pte); } @@ -2295,8 +2267,6 @@ pmap_remove_l3(pmap_t pmap, pt_entry_t *l3, vm_offset_ vm_page_t m; PMAP_LOCK_ASSERT(pmap, MA_OWNED); - if (pmap_is_current(pmap) && pmap_l3_valid_cacheable(pmap_load(l3))) - cpu_dcache_wb_range(va, L3_SIZE); old_l3 = pmap_load_clear(l3); PTE_SYNC(l3); pmap_invalidate_page(pmap, va); @@ -2518,9 +2488,6 @@ retry: pte = pmap_l2_to_l3(pde, pv->pv_va); tpte = pmap_load(pte); - if (pmap_is_current(pmap) && - pmap_l3_valid_cacheable(tpte)) - cpu_dcache_wb_range(pv->pv_va, L3_SIZE); pmap_load_clear(pte); PTE_SYNC(pte); pmap_invalidate_page(pmap, pv->pv_va); @@ -3004,10 +2971,6 @@ havel3: } goto validate; } - - /* Flush the cache, there might be uncommitted data in it */ - if (pmap_is_current(pmap) && pmap_l3_valid_cacheable(orig_l3)) - cpu_dcache_wb_range(va, L3_SIZE); } else { /* * Increment the counters. @@ -3673,20 +3636,8 @@ pmap_remove_pages(pmap_t pmap) ("pmap_remove_pages: bad pte %#jx", (uintmax_t)tpte)); - if (pmap_is_current(pmap)) { - if (lvl == 2 && - pmap_l3_valid_cacheable(tpte)) { - cpu_dcache_wb_range(pv->pv_va, - L3_SIZE); - } else if (lvl == 1 && - pmap_pte_valid_cacheable(tpte)) { - cpu_dcache_wb_range(pv->pv_va, - L2_SIZE); - } - } pmap_load_clear(pte); PTE_SYNC(pte); - pmap_invalidate_page(pmap, pv->pv_va); /* * Update the vm_page_t clean/reference bits. Modified: projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c ============================================================================== --- projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/compat/linuxkpi/common/src/linux_compat.c Sat Jun 3 18:21:50 2017 (r319549) @@ -438,7 +438,7 @@ linux_kq_lock_unowned(void *arg) } static void -linux_dev_kqfilter_poll(struct linux_file *); +linux_dev_kqfilter_poll(struct linux_file *, int); struct linux_file * linux_file_alloc(void) @@ -826,6 +826,10 @@ linux_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t return (error); filp->f_flags = file->f_flag; + /* the LinuxKPI supports blocking and non-blocking I/O */ + if (cmd == FIONBIO || cmd == FIOASYNC) + return (0); + linux_set_current(td); size = IOCPARM_LEN(cmd); /* refer to logic in sys_ioctl() */ @@ -852,9 +856,11 @@ linux_dev_ioctl(struct cdev *dev, u_long cmd, caddr_t current->bsd_ioctl_len = 0; } - if (error == EWOULDBLOCK) - linux_dev_kqfilter_poll(filp); - else if (error == ERESTARTSYS) + if (error == EWOULDBLOCK) { + /* update kqfilter status, if any */ + linux_dev_kqfilter_poll(filp, + LINUX_KQ_FLAG_HAS_READ | LINUX_KQ_FLAG_HAS_WRITE); + } else if (error == ERESTARTSYS) error = ERESTART; return (error); } @@ -889,14 +895,15 @@ linux_dev_read(struct cdev *dev, struct uio *uio, int uio->uio_resid -= bytes; } else { error = -bytes; - if (error == EWOULDBLOCK) - linux_dev_kqfilter_poll(filp); - else if (error == ERESTARTSYS) + if (error == ERESTARTSYS) error = ERESTART; } } else error = ENXIO; + /* update kqfilter status, if any */ + linux_dev_kqfilter_poll(filp, LINUX_KQ_FLAG_HAS_READ); + return (error); } @@ -930,14 +937,15 @@ linux_dev_write(struct cdev *dev, struct uio *uio, int uio->uio_resid -= bytes; } else { error = -bytes; - if (error == EWOULDBLOCK) - linux_dev_kqfilter_poll(filp); - else if (error == ERESTARTSYS) + if (error == ERESTARTSYS) error = ERESTART; } } else error = ENXIO; + /* update kqfilter status, if any */ + linux_dev_kqfilter_poll(filp, LINUX_KQ_FLAG_HAS_WRITE); + return (error); } @@ -1028,21 +1036,20 @@ static struct filterops linux_dev_kqfiltops_write = { }; static void -linux_dev_kqfilter_poll(struct linux_file *filp) +linux_dev_kqfilter_poll(struct linux_file *filp, int kqflags) { int temp; - spin_lock(&filp->f_kqlock); - temp = (filp->f_kqflags & (LINUX_KQ_FLAG_HAS_READ | LINUX_KQ_FLAG_HAS_WRITE)); - filp->f_kqflags &= ~(LINUX_KQ_FLAG_NEED_READ | LINUX_KQ_FLAG_NEED_WRITE); - spin_unlock(&filp->f_kqlock); - - if (temp != 0) { + if (filp->f_kqflags & kqflags) { /* get the latest polling state */ temp = filp->f_op->poll(filp, NULL); + spin_lock(&filp->f_kqlock); + /* clear kqflags */ + filp->f_kqflags &= ~(LINUX_KQ_FLAG_NEED_READ | + LINUX_KQ_FLAG_NEED_WRITE); + /* update kqflags */ if (temp & (POLLIN | POLLOUT)) { - spin_lock(&filp->f_kqlock); if (temp & POLLIN) filp->f_kqflags |= LINUX_KQ_FLAG_NEED_READ; if (temp & POLLOUT) @@ -1050,8 +1057,8 @@ linux_dev_kqfilter_poll(struct linux_file *filp) /* make sure the "knote" gets woken up */ KNOTE_LOCKED(&filp->f_selinfo.si_note, 0); - spin_unlock(&filp->f_kqlock); } + spin_unlock(&filp->f_kqlock); } } @@ -1095,7 +1102,10 @@ linux_dev_kqfilter(struct cdev *dev, struct knote *kn) if (error == 0) { linux_set_current(td); - linux_dev_kqfilter_poll(filp); + + /* update kqfilter status, if any */ + linux_dev_kqfilter_poll(filp, + LINUX_KQ_FLAG_HAS_READ | LINUX_KQ_FLAG_HAS_WRITE); } return (error); } Modified: projects/clang500-import/sys/conf/files.amd64 ============================================================================== --- projects/clang500-import/sys/conf/files.amd64 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/conf/files.amd64 Sat Jun 3 18:21:50 2017 (r319549) @@ -46,7 +46,7 @@ linux32_assym.h optional compat_linux32 \ # linux32_locore.o optional compat_linux32 \ dependency "linux32_assym.h $S/amd64/linux32/linux32_locore.s" \ - compile-with "${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s -pipe -I. -I$S -Werror -Wall -fno-common -nostdinc -nostdlib -Wl,-T$S/amd64/linux32/linux32_vdso.lds.s -Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-fPIC,-warn-common ${.IMPSRC} -o ${.TARGET}" \ + compile-with "${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s -pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/amd64/linux32/linux32_vdso.lds.s -Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \ no-obj no-implicit-rule \ clean "linux32_locore.o" # Modified: projects/clang500-import/sys/conf/files.i386 ============================================================================== --- projects/clang500-import/sys/conf/files.i386 Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/conf/files.i386 Sat Jun 3 18:21:50 2017 (r319549) @@ -33,7 +33,7 @@ linux_assym.h optional compat_linux \ # linux_locore.o optional compat_linux \ dependency "linux_assym.h $S/i386/linux/linux_locore.s" \ - compile-with "${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe -I. -I$S -Werror -Wall -fno-common -nostdinc -nostdlib -Wl,-T$S/i386/linux/linux_vdso.lds.s -Wl,-soname=linux_vdso.so,--eh-frame-hdr,-fPIC,-warn-common ${.IMPSRC} -o ${.TARGET}" \ + compile-with "${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/i386/linux/linux_vdso.lds.s -Wl,-soname=linux_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \ no-obj no-implicit-rule \ clean "linux_locore.o" # Modified: projects/clang500-import/sys/dev/cxgbe/t4_sge.c ============================================================================== --- projects/clang500-import/sys/dev/cxgbe/t4_sge.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/dev/cxgbe/t4_sge.c Sat Jun 3 18:21:50 2017 (r319549) @@ -4581,12 +4581,8 @@ write_txpkts_wr(struct sge_txq *txq, struct fw_eth_tx_ if (checkwrap && (uintptr_t)cpl == (uintptr_t)&eq->desc[eq->sidx]) cpl = (void *)&eq->desc[0]; - txq->txpkts0_pkts += txp->npkt; - txq->txpkts0_wrs++; } else { cpl = flitp; - txq->txpkts1_pkts += txp->npkt; - txq->txpkts1_wrs++; } /* Checksum offload */ @@ -4619,6 +4615,14 @@ write_txpkts_wr(struct sge_txq *txq, struct fw_eth_tx_ write_gl_to_txd(txq, m, (caddr_t *)(&flitp), checkwrap); + } + + if (txp->wr_type == 0) { + txq->txpkts0_pkts += txp->npkt; + txq->txpkts0_wrs++; + } else { + txq->txpkts1_pkts += txp->npkt; + txq->txpkts1_wrs++; } txsd = &txq->sdesc[eq->pidx]; Modified: projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c ============================================================================== --- projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c Sat Jun 3 18:20:23 2017 (r319548) +++ projects/clang500-import/sys/dev/etherswitch/e6000sw/e6000sw.c Sat Jun 3 18:21:50 2017 (r319549) @@ -28,40 +28,25 @@ #include __FBSDID("$FreeBSD$"); -#include #include -#include -#include +#include +#include #include #include -#include #include -#include -#include -#include -#include -#include +#include +#include #include #include #include -#include -#include - -#include -#include -#include - #include -#include #include #include -#include #include #include -#include #include "e6000swreg.h" #include "etherswitch_if.h" @@ -71,14 +56,10 @@ __FBSDID("$FreeBSD$"); MALLOC_DECLARE(M_E6000SW); MALLOC_DEFINE(M_E6000SW, "e6000sw", "e6000sw switch"); -#define E6000SW_LOCK(_sc) \ - sx_xlock(&(_sc)->sx) -#define E6000SW_UNLOCK(_sc) \ - sx_unlock(&(_sc)->sx) -#define E6000SW_LOCK_ASSERT(_sc, _what) \ - sx_assert(&(_sc)->sx, (_what)) -#define E6000SW_TRYLOCK(_sc) \ - sx_tryxlock(&(_sc)->sx) +#define E6000SW_LOCK(_sc) sx_xlock(&(_sc)->sx) +#define E6000SW_UNLOCK(_sc) sx_unlock(&(_sc)->sx) +#define E6000SW_LOCK_ASSERT(_sc, _what) sx_assert(&(_sc)->sx, (_what)) +#define E6000SW_TRYLOCK(_sc) sx_tryxlock(&(_sc)->sx) typedef struct e6000sw_softc { device_t dev; @@ -108,46 +89,43 @@ static etherswitch_info_t etherswitch_info = { .es_name = "Marvell 6000 series switch" }; -static void e6000sw_identify(driver_t *driver, device_t parent); -static int e6000sw_probe(device_t dev); -static int e6000sw_attach(device_t dev); -static int e6000sw_detach(device_t dev); -static int e6000sw_readphy(device_t dev, int phy, int reg); -static int e6000sw_writephy(device_t dev, int phy, int reg, int data); -static etherswitch_info_t* e6000sw_getinfo(device_t dev); -static void e6000sw_lock(device_t dev); -static void e6000sw_unlock(device_t dev); -static int e6000sw_getport(device_t dev, etherswitch_port_t *p); -static int e6000sw_setport(device_t dev, etherswitch_port_t *p); -static int e6000sw_readreg_wrapper(device_t dev, int addr_reg); -static int e6000sw_writereg_wrapper(device_t dev, int addr_reg, int val); -static int e6000sw_readphy_wrapper(device_t dev, int phy, int reg); -static int e6000sw_writephy_wrapper(device_t dev, int phy, int reg, int data); -static int e6000sw_getvgroup_wrapper(device_t dev, etherswitch_vlangroup_t *vg); -static int e6000sw_setvgroup_wrapper(device_t dev, etherswitch_vlangroup_t *vg); -static int e6000sw_setvgroup(device_t dev, etherswitch_vlangroup_t *vg); -static int e6000sw_getvgroup(device_t dev, etherswitch_vlangroup_t *vg); -static void e6000sw_setup(device_t dev, e6000sw_softc_t *sc); -static void e6000sw_port_vlan_conf(e6000sw_softc_t *sc); -static void e6000sw_tick(void *arg); -static void e6000sw_set_atustat(device_t dev, e6000sw_softc_t *sc, int bin, *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***