diff options
author | adam <adam@pkgsrc.org> | 2019-06-02 08:35:55 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2019-06-02 08:35:55 +0000 |
commit | cdade2ea1faa2c9ea4a3530b6de47dedffbb73de (patch) | |
tree | e2b1c3c441dd8930fcf6f889b9b0fce64e8a2c16 /lang/llvm | |
parent | 81a0b14b1d7c0b5addde51e4e2f4159c521b5c81 (diff) | |
download | pkgsrc-cdade2ea1faa2c9ea4a3530b6de47dedffbb73de.tar.gz |
llvm: updated to 8.0.0
8.0.0:
Non-comprehensive list of changes in this release
* The llvm-cov tool can now export lcov trace files using the -format=lcov option of the export command.
* The add_llvm_loadable_module CMake macro has been removed. The add_llvm_library macro with the MODULE argument now provides the same functionality. See Writing an LLVM Pass.
* For MinGW, references to data variables that might need to be imported from a dll are accessed via a stub, to allow the linker to convert it to a dllimport if needed.
* Added support for labels as offsets in .reloc directive.
* Support for precise identification of X86 instructions with memory operands, by using debug information. This supports profile-driven cache prefetching. It is enabled with the -x86-discriminate-memops LLVM Flag.
* Support for profile-driven software cache prefetching on X86. This is part of a larger system, consisting of: an offline cache prefetches recommender, AutoFDO tooling, and LLVM. In this system, a binary compiled with -x86-discriminate-memops is run under the observation of the recommender. The recommender identifies certain memory access instructions by their binary file address, and recommends a prefetch of a specific type (NTA, T0, etc) be performed at a specified fixed offset from such an instruction’s memory operand. Next, this information needs to be converted to the AutoFDO syntax and the resulting profile may be passed back to the compiler with the LLVM flag -prefetch-hints-file, together with the exact same set of compilation parameters used for the original binary. More information is available in the RFC.
* Windows support for libFuzzer (x86_64).
Diffstat (limited to 'lang/llvm')
-rw-r--r-- | lang/llvm/Makefile | 8 | ||||
-rw-r--r-- | lang/llvm/PLIST | 148 | ||||
-rw-r--r-- | lang/llvm/buildlink3.mk | 4 | ||||
-rw-r--r-- | lang/llvm/distinfo | 16 | ||||
-rw-r--r-- | lang/llvm/patches/patch-cmake_config-ix.cmake | 8 | ||||
-rw-r--r-- | lang/llvm/patches/patch-cmake_modules_HandleLLVMOptions.cmake | 10 | ||||
-rw-r--r-- | lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt | 53 |
7 files changed, 181 insertions, 66 deletions
diff --git a/lang/llvm/Makefile b/lang/llvm/Makefile index 0a4ed8d0025..4da991c39f2 100644 --- a/lang/llvm/Makefile +++ b/lang/llvm/Makefile @@ -1,11 +1,13 @@ -# $NetBSD: Makefile,v 1.38 2019/04/25 07:33:02 maya Exp $ +# $NetBSD: Makefile,v 1.39 2019/06/02 08:35:55 adam Exp $ # # when updating this, please also update: # devel/include-what-you-use +# devel/lld # devel/lldb # devel/polly # lang/clang # lang/clang-static-analyzer +# lang/clang-tools-extra # lang/compiler-rt # lang/libcxx # lang/libcxxabi @@ -19,9 +21,8 @@ # Always update all */buildlink3.mk to require the latest stable release # version in BUILDLINK_API_DEPENDS, as there is no backwards compatibility -DISTNAME= llvm-7.0.1.src +DISTNAME= llvm-8.0.0.src PKGNAME= ${DISTNAME:S/.src//} -PKGREVISION= 2 CATEGORIES= lang devel MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/ EXTRACT_SUFX= .tar.xz @@ -44,6 +45,7 @@ CMAKE_ARGS+= -DCMAKE_C_COMPILER=${CC:Q} CMAKE_ARGS+= -DCMAKE_CXX_COMPILER=${CXX:Q} CMAKE_ARGS+= -DCMAKE_CXX_LINK_FLAGS=${LDFLAGS:Q} CMAKE_ARGS+= -DLLVM_BUILD_LLVM_DYLIB=ON +CMAKE_ARGS+= -DLLVM_INCLUDE_BENCHMARKS=OFF CMAKE_ARGS+= -DLLVM_INSTALL_UTILS=ON CMAKE_ARGS+= -DLLVM_LINK_LLVM_DYLIB=ON diff --git a/lang/llvm/PLIST b/lang/llvm/PLIST index 86c9dd83894..83ca1a5bf26 100644 --- a/lang/llvm/PLIST +++ b/lang/llvm/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.10 2019/01/27 06:43:21 maya Exp $ +@comment $NetBSD: PLIST,v 1.11 2019/06/02 08:35:55 adam Exp $ bin/FileCheck bin/bugpoint bin/count @@ -18,11 +18,13 @@ bin/llvm-cov bin/llvm-cvtres bin/llvm-cxxdump bin/llvm-cxxfilt +bin/llvm-cxxmap bin/llvm-diff bin/llvm-dis bin/llvm-dlltool bin/llvm-dwarfdump bin/llvm-dwp +bin/llvm-elfabi bin/llvm-exegesis bin/llvm-extract bin/llvm-lib @@ -70,6 +72,7 @@ include/llvm-c/DataTypes.h include/llvm-c/DebugInfo.h include/llvm-c/Disassembler.h include/llvm-c/DisassemblerTypes.h +include/llvm-c/Error.h include/llvm-c/ErrorHandling.h include/llvm-c/ExecutionEngine.h include/llvm-c/IRReader.h @@ -77,10 +80,13 @@ include/llvm-c/Initialization.h include/llvm-c/LinkTimeOptimizer.h include/llvm-c/Linker.h include/llvm-c/Object.h +include/llvm-c/OptRemarks.h include/llvm-c/OrcBindings.h include/llvm-c/Support.h include/llvm-c/Target.h include/llvm-c/TargetMachine.h +include/llvm-c/Transforms/AggressiveInstCombine.h +include/llvm-c/Transforms/Coroutines.h include/llvm-c/Transforms/IPO.h include/llvm-c/Transforms/InstCombine.h include/llvm-c/Transforms/PassManagerBuilder.h @@ -155,6 +161,7 @@ include/llvm/ADT/Triple.h include/llvm/ADT/Twine.h include/llvm/ADT/UniqueVector.h include/llvm/ADT/VariadicFunction.h +include/llvm/ADT/bit.h include/llvm/ADT/edit_distance.h include/llvm/ADT/ilist.h include/llvm/ADT/ilist_base.h @@ -195,10 +202,13 @@ include/llvm/Analysis/DominanceFrontier.h include/llvm/Analysis/DominanceFrontierImpl.h include/llvm/Analysis/EHPersonalities.h include/llvm/Analysis/GlobalsModRef.h +include/llvm/Analysis/GuardUtils.h +include/llvm/Analysis/IVDescriptors.h include/llvm/Analysis/IVUsers.h include/llvm/Analysis/IndirectCallPromotionAnalysis.h -include/llvm/Analysis/IndirectCallSiteVisitor.h +include/llvm/Analysis/IndirectCallVisitor.h include/llvm/Analysis/InlineCost.h +include/llvm/Analysis/InstructionPrecedenceTracking.h include/llvm/Analysis/InstructionSimplify.h include/llvm/Analysis/Interval.h include/llvm/Analysis/IntervalIterator.h @@ -208,6 +218,7 @@ include/llvm/Analysis/LazyBlockFrequencyInfo.h include/llvm/Analysis/LazyBranchProbabilityInfo.h include/llvm/Analysis/LazyCallGraph.h include/llvm/Analysis/LazyValueInfo.h +include/llvm/Analysis/LegacyDivergenceAnalysis.h include/llvm/Analysis/Lint.h include/llvm/Analysis/Loads.h include/llvm/Analysis/LoopAccessAnalysis.h @@ -229,6 +240,7 @@ include/llvm/Analysis/ObjCARCAnalysisUtils.h include/llvm/Analysis/ObjCARCInstKind.h include/llvm/Analysis/OptimizationRemarkEmitter.h include/llvm/Analysis/OrderedBasicBlock.h +include/llvm/Analysis/OrderedInstructions.h include/llvm/Analysis/PHITransAddr.h include/llvm/Analysis/Passes.h include/llvm/Analysis/PhiValues.h @@ -247,6 +259,8 @@ include/llvm/Analysis/ScalarEvolutionExpressions.h include/llvm/Analysis/ScalarEvolutionNormalization.h include/llvm/Analysis/ScopedNoAliasAA.h include/llvm/Analysis/SparsePropagation.h +include/llvm/Analysis/StackSafetyAnalysis.h +include/llvm/Analysis/SyncDependenceAnalysis.h include/llvm/Analysis/SyntheticCountsUtils.h include/llvm/Analysis/TargetFolder.h include/llvm/Analysis/TargetLibraryInfo.def @@ -263,6 +277,7 @@ include/llvm/Analysis/ValueTracking.h include/llvm/Analysis/VectorUtils.h include/llvm/AsmParser/Parser.h include/llvm/AsmParser/SlotMapping.h +include/llvm/BinaryFormat/AMDGPUMetadataVerifier.h include/llvm/BinaryFormat/COFF.h include/llvm/BinaryFormat/Dwarf.def include/llvm/BinaryFormat/Dwarf.h @@ -276,6 +291,7 @@ include/llvm/BinaryFormat/ELFRelocs/AVR.def include/llvm/BinaryFormat/ELFRelocs/BPF.def include/llvm/BinaryFormat/ELFRelocs/Hexagon.def include/llvm/BinaryFormat/ELFRelocs/Lanai.def +include/llvm/BinaryFormat/ELFRelocs/MSP430.def include/llvm/BinaryFormat/ELFRelocs/Mips.def include/llvm/BinaryFormat/ELFRelocs/PowerPC.def include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def @@ -287,6 +303,11 @@ include/llvm/BinaryFormat/ELFRelocs/x86_64.def include/llvm/BinaryFormat/MachO.def include/llvm/BinaryFormat/MachO.h include/llvm/BinaryFormat/Magic.h +include/llvm/BinaryFormat/MsgPack.def +include/llvm/BinaryFormat/MsgPack.h +include/llvm/BinaryFormat/MsgPackReader.h +include/llvm/BinaryFormat/MsgPackTypes.h +include/llvm/BinaryFormat/MsgPackWriter.h include/llvm/BinaryFormat/Wasm.h include/llvm/BinaryFormat/WasmRelocs.def include/llvm/Bitcode/BitCodes.h @@ -299,8 +320,10 @@ include/llvm/Bitcode/LLVMBitCodes.h include/llvm/CodeGen/AccelTable.h include/llvm/CodeGen/Analysis.h include/llvm/CodeGen/AsmPrinter.h +include/llvm/CodeGen/AsmPrinterHandler.h include/llvm/CodeGen/AtomicExpandUtils.h include/llvm/CodeGen/BasicTTIImpl.h +include/llvm/CodeGen/BuiltinGCs.h include/llvm/CodeGen/CalcSpillWeights.h include/llvm/CodeGen/CallingConvLower.h include/llvm/CodeGen/CommandFlags.inc @@ -309,6 +332,8 @@ include/llvm/CodeGen/DAGCombine.h include/llvm/CodeGen/DFAPacketizer.h include/llvm/CodeGen/DIE.h include/llvm/CodeGen/DIEValue.def +include/llvm/CodeGen/DbgEntityHistoryCalculator.h +include/llvm/CodeGen/DebugHandlerBase.h include/llvm/CodeGen/DwarfStringPoolEntry.h include/llvm/CodeGen/EdgeBundles.h include/llvm/CodeGen/ExecutionDomainFix.h @@ -319,12 +344,14 @@ include/llvm/CodeGen/FunctionLoweringInfo.h include/llvm/CodeGen/GCMetadata.h include/llvm/CodeGen/GCMetadataPrinter.h include/llvm/CodeGen/GCStrategy.h -include/llvm/CodeGen/GCs.h +include/llvm/CodeGen/GlobalISel/CSEInfo.h +include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h include/llvm/CodeGen/GlobalISel/CallLowering.h include/llvm/CodeGen/GlobalISel/Combiner.h include/llvm/CodeGen/GlobalISel/CombinerHelper.h include/llvm/CodeGen/GlobalISel/CombinerInfo.h include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h +include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h include/llvm/CodeGen/GlobalISel/GISelWorkList.h include/llvm/CodeGen/GlobalISel/IRTranslator.h include/llvm/CodeGen/GlobalISel/InstructionSelect.h @@ -387,6 +414,7 @@ include/llvm/CodeGen/MachineOperand.h include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h include/llvm/CodeGen/MachineOutliner.h include/llvm/CodeGen/MachinePassRegistry.h +include/llvm/CodeGen/MachinePipeliner.h include/llvm/CodeGen/MachinePostDominators.h include/llvm/CodeGen/MachineRegionInfo.h include/llvm/CodeGen/MachineRegisterInfo.h @@ -492,6 +520,7 @@ include/llvm/DebugInfo/CodeView/SymbolDeserializer.h include/llvm/DebugInfo/CodeView/SymbolDumpDelegate.h include/llvm/DebugInfo/CodeView/SymbolDumper.h include/llvm/DebugInfo/CodeView/SymbolRecord.h +include/llvm/DebugInfo/CodeView/SymbolRecordHelpers.h include/llvm/DebugInfo/CodeView/SymbolRecordMapping.h include/llvm/DebugInfo/CodeView/SymbolSerializer.h include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h @@ -504,6 +533,7 @@ include/llvm/DebugInfo/CodeView/TypeHashing.h include/llvm/DebugInfo/CodeView/TypeIndex.h include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h include/llvm/DebugInfo/CodeView/TypeRecord.h +include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h include/llvm/DebugInfo/CodeView/TypeRecordMapping.h include/llvm/DebugInfo/CodeView/TypeStreamMerger.h include/llvm/DebugInfo/CodeView/TypeSymbolEmitter.h @@ -550,6 +580,7 @@ include/llvm/DebugInfo/MSF/MappedBlockStream.h include/llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h include/llvm/DebugInfo/PDB/DIA/DIADataStream.h include/llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h +include/llvm/DebugInfo/PDB/DIA/DIAEnumFrameData.h include/llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h include/llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h include/llvm/DebugInfo/PDB/DIA/DIAEnumSectionContribs.h @@ -557,6 +588,7 @@ include/llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h include/llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h include/llvm/DebugInfo/PDB/DIA/DIAEnumTables.h include/llvm/DebugInfo/PDB/DIA/DIAError.h +include/llvm/DebugInfo/PDB/DIA/DIAFrameData.h include/llvm/DebugInfo/PDB/DIA/DIAInjectedSource.h include/llvm/DebugInfo/PDB/DIA/DIALineNumber.h include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h @@ -569,6 +601,7 @@ include/llvm/DebugInfo/PDB/DIA/DIAUtils.h include/llvm/DebugInfo/PDB/GenericError.h include/llvm/DebugInfo/PDB/IPDBDataStream.h include/llvm/DebugInfo/PDB/IPDBEnumChildren.h +include/llvm/DebugInfo/PDB/IPDBFrameData.h include/llvm/DebugInfo/PDB/IPDBInjectedSource.h include/llvm/DebugInfo/PDB/IPDBLineNumber.h include/llvm/DebugInfo/PDB/IPDBRawSymbol.h @@ -592,14 +625,22 @@ include/llvm/DebugInfo/PDB/Native/InfoStream.h include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h include/llvm/DebugInfo/PDB/Native/NamedStreamMap.h -include/llvm/DebugInfo/PDB/Native/NativeBuiltinSymbol.h include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h +include/llvm/DebugInfo/PDB/Native/NativeEnumGlobals.h include/llvm/DebugInfo/PDB/Native/NativeEnumModules.h -include/llvm/DebugInfo/PDB/Native/NativeEnumSymbol.h include/llvm/DebugInfo/PDB/Native/NativeEnumTypes.h include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h include/llvm/DebugInfo/PDB/Native/NativeSession.h +include/llvm/DebugInfo/PDB/Native/NativeSymbolEnumerator.h +include/llvm/DebugInfo/PDB/Native/NativeTypeArray.h +include/llvm/DebugInfo/PDB/Native/NativeTypeBuiltin.h +include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h +include/llvm/DebugInfo/PDB/Native/NativeTypeFunctionSig.h +include/llvm/DebugInfo/PDB/Native/NativeTypePointer.h +include/llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h +include/llvm/DebugInfo/PDB/Native/NativeTypeUDT.h +include/llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h include/llvm/DebugInfo/PDB/Native/PDBFile.h include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h include/llvm/DebugInfo/PDB/Native/PDBStringTable.h @@ -608,6 +649,7 @@ include/llvm/DebugInfo/PDB/Native/PublicsStream.h include/llvm/DebugInfo/PDB/Native/RawConstants.h include/llvm/DebugInfo/PDB/Native/RawError.h include/llvm/DebugInfo/PDB/Native/RawTypes.h +include/llvm/DebugInfo/PDB/Native/SymbolCache.h include/llvm/DebugInfo/PDB/Native/SymbolStream.h include/llvm/DebugInfo/PDB/Native/TpiHashing.h include/llvm/DebugInfo/PDB/Native/TpiStream.h @@ -653,7 +695,13 @@ include/llvm/DebugInfo/PDB/UDTLayout.h include/llvm/DebugInfo/Symbolize/DIPrinter.h include/llvm/DebugInfo/Symbolize/SymbolizableModule.h include/llvm/DebugInfo/Symbolize/Symbolize.h +include/llvm/Demangle/Compiler.h include/llvm/Demangle/Demangle.h +include/llvm/Demangle/ItaniumDemangle.h +include/llvm/Demangle/MicrosoftDemangle.h +include/llvm/Demangle/MicrosoftDemangleNodes.h +include/llvm/Demangle/StringView.h +include/llvm/Demangle/Utility.h include/llvm/ExecutionEngine/ExecutionEngine.h include/llvm/ExecutionEngine/GenericValue.h include/llvm/ExecutionEngine/Interpreter.h @@ -670,10 +718,12 @@ include/llvm/ExecutionEngine/Orc/GlobalMappingLayer.h include/llvm/ExecutionEngine/Orc/IRCompileLayer.h include/llvm/ExecutionEngine/Orc/IRTransformLayer.h include/llvm/ExecutionEngine/Orc/IndirectionUtils.h +include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h include/llvm/ExecutionEngine/Orc/LLJIT.h include/llvm/ExecutionEngine/Orc/LambdaResolver.h include/llvm/ExecutionEngine/Orc/Layer.h include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h +include/llvm/ExecutionEngine/Orc/LazyReexports.h include/llvm/ExecutionEngine/Orc/Legacy.h include/llvm/ExecutionEngine/Orc/NullResolver.h include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h @@ -688,6 +738,7 @@ include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h include/llvm/ExecutionEngine/Orc/RawByteChannel.h include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h include/llvm/ExecutionEngine/Orc/SymbolStringPool.h +include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h include/llvm/ExecutionEngine/OrcMCJITReplacement.h include/llvm/ExecutionEngine/RTDyldMemoryManager.h include/llvm/ExecutionEngine/RuntimeDyld.h @@ -707,6 +758,7 @@ include/llvm/IR/Attributes.td include/llvm/IR/AutoUpgrade.h include/llvm/IR/BasicBlock.h include/llvm/IR/CFG.h +include/llvm/IR/CFGDiff.h include/llvm/IR/CallSite.h include/llvm/IR/CallingConv.h include/llvm/IR/Comdat.h @@ -758,6 +810,7 @@ include/llvm/IR/IntrinsicsHexagon.td include/llvm/IR/IntrinsicsMips.td include/llvm/IR/IntrinsicsNVVM.td include/llvm/IR/IntrinsicsPowerPC.td +include/llvm/IR/IntrinsicsRISCV.td include/llvm/IR/IntrinsicsSystemZ.td include/llvm/IR/IntrinsicsWebAssembly.td include/llvm/IR/IntrinsicsX86.td @@ -778,8 +831,10 @@ include/llvm/IR/NoFolder.h include/llvm/IR/OperandTraits.h include/llvm/IR/Operator.h include/llvm/IR/OptBisect.h +include/llvm/IR/PassInstrumentation.h include/llvm/IR/PassManager.h include/llvm/IR/PassManagerInternal.h +include/llvm/IR/PassTimingInfo.h include/llvm/IR/PatternMatch.h include/llvm/IR/PredIteratorCache.h include/llvm/IR/ProfileSummary.h @@ -789,7 +844,6 @@ include/llvm/IR/Statepoint.h include/llvm/IR/SymbolTableListTraits.h include/llvm/IR/TrackingMDRef.h include/llvm/IR/Type.h -include/llvm/IR/TypeBuilder.h include/llvm/IR/TypeFinder.h include/llvm/IR/Use.h include/llvm/IR/UseListOrder.h @@ -806,6 +860,7 @@ include/llvm/LTO/Caching.h include/llvm/LTO/Config.h include/llvm/LTO/LTO.h include/llvm/LTO/LTOBackend.h +include/llvm/LTO/SummaryBasedOptimizations.h include/llvm/LTO/legacy/LTOCodeGenerator.h include/llvm/LTO/legacy/LTOModule.h include/llvm/LTO/legacy/ThinLTOCodeGenerator.h @@ -891,6 +946,25 @@ include/llvm/MC/MachineLocation.h include/llvm/MC/SectionKind.h include/llvm/MC/StringTableBuilder.h include/llvm/MC/SubtargetFeature.h +include/llvm/MCA/Context.h +include/llvm/MCA/HWEventListener.h +include/llvm/MCA/HardwareUnits/HardwareUnit.h +include/llvm/MCA/HardwareUnits/LSUnit.h +include/llvm/MCA/HardwareUnits/RegisterFile.h +include/llvm/MCA/HardwareUnits/ResourceManager.h +include/llvm/MCA/HardwareUnits/RetireControlUnit.h +include/llvm/MCA/HardwareUnits/Scheduler.h +include/llvm/MCA/InstrBuilder.h +include/llvm/MCA/Instruction.h +include/llvm/MCA/Pipeline.h +include/llvm/MCA/SourceMgr.h +include/llvm/MCA/Stages/DispatchStage.h +include/llvm/MCA/Stages/EntryStage.h +include/llvm/MCA/Stages/ExecuteStage.h +include/llvm/MCA/Stages/InstructionTables.h +include/llvm/MCA/Stages/RetireStage.h +include/llvm/MCA/Stages/Stage.h +include/llvm/MCA/Support.h include/llvm/Object/Archive.h include/llvm/Object/ArchiveWriter.h include/llvm/Object/Binary.h @@ -941,6 +1015,7 @@ include/llvm/PassRegistry.h include/llvm/PassSupport.h include/llvm/Passes/PassBuilder.h include/llvm/Passes/PassPlugin.h +include/llvm/Passes/StandardInstrumentations.h include/llvm/ProfileData/Coverage/CoverageMapping.h include/llvm/ProfileData/Coverage/CoverageMappingReader.h include/llvm/ProfileData/Coverage/CoverageMappingWriter.h @@ -954,12 +1029,14 @@ include/llvm/ProfileData/SampleProf.h include/llvm/ProfileData/SampleProfReader.h include/llvm/ProfileData/SampleProfWriter.h include/llvm/Support/AArch64TargetParser.def +include/llvm/Support/AArch64TargetParser.h include/llvm/Support/AMDGPUMetadata.h include/llvm/Support/AMDHSAKernelDescriptor.h include/llvm/Support/ARMAttributeParser.h include/llvm/Support/ARMBuildAttributes.h include/llvm/Support/ARMEHABI.h include/llvm/Support/ARMTargetParser.def +include/llvm/Support/ARMTargetParser.h include/llvm/Support/ARMWinEH.h include/llvm/Support/AlignOf.h include/llvm/Support/Allocator.h @@ -976,7 +1053,9 @@ include/llvm/Support/BinaryStreamRef.h include/llvm/Support/BinaryStreamWriter.h include/llvm/Support/BlockFrequency.h include/llvm/Support/BranchProbability.h +include/llvm/Support/BuryPointer.h include/llvm/Support/CBindingWrapping.h +include/llvm/Support/CFGUpdate.h include/llvm/Support/COM.h include/llvm/Support/CachePruning.h include/llvm/Support/Capacity.h @@ -1004,6 +1083,7 @@ include/llvm/Support/Errno.h include/llvm/Support/Error.h include/llvm/Support/ErrorHandling.h include/llvm/Support/ErrorOr.h +include/llvm/Support/FileCheck.h include/llvm/Support/FileOutputBuffer.h include/llvm/Support/FileSystem.h include/llvm/Support/FileUtilities.h @@ -1020,6 +1100,7 @@ include/llvm/Support/GlobPattern.h include/llvm/Support/GraphWriter.h include/llvm/Support/Host.h include/llvm/Support/InitLLVM.h +include/llvm/Support/ItaniumManglingCanonicalizer.h include/llvm/Support/JSON.h include/llvm/Support/JamCRC.h include/llvm/Support/KnownBits.h @@ -1030,6 +1111,7 @@ include/llvm/Support/Locale.h include/llvm/Support/LockFileManager.h include/llvm/Support/LowLevelTypeImpl.h include/llvm/Support/MD5.h +include/llvm/Support/MSVCErrorWorkarounds.h include/llvm/Support/MachineValueType.h include/llvm/Support/ManagedStatic.h include/llvm/Support/MathExtras.h @@ -1070,6 +1152,7 @@ include/llvm/Support/SpecialCaseList.h include/llvm/Support/StringPool.h include/llvm/Support/StringSaver.h include/llvm/Support/SwapByteOrder.h +include/llvm/Support/SymbolRemappingReader.h include/llvm/Support/SystemUtils.h include/llvm/Support/TarWriter.h include/llvm/Support/TargetOpcodes.def @@ -1091,6 +1174,7 @@ include/llvm/Support/UniqueLock.h include/llvm/Support/VCSRevision.h include/llvm/Support/Valgrind.h include/llvm/Support/VersionTuple.h +include/llvm/Support/VirtualFileSystem.h include/llvm/Support/Watchdog.h include/llvm/Support/Win64EH.h include/llvm/Support/WindowsError.h @@ -1127,10 +1211,13 @@ include/llvm/Target/TargetItinerary.td include/llvm/Target/TargetLoweringObjectFile.h include/llvm/Target/TargetMachine.h include/llvm/Target/TargetOptions.h +include/llvm/Target/TargetPfmCounters.td include/llvm/Target/TargetSchedule.td include/llvm/Target/TargetSelectionDAG.td include/llvm/Testing/Support/Error.h include/llvm/Testing/Support/SupportHelpers.h +include/llvm/TextAPI/ELF/ELFStub.h +include/llvm/TextAPI/ELF/TBEHandler.h include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h include/llvm/ToolDrivers/llvm-lib/LibDriver.h include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h @@ -1149,6 +1236,7 @@ include/llvm/Transforms/IPO/FunctionImport.h include/llvm/Transforms/IPO/GlobalDCE.h include/llvm/Transforms/IPO/GlobalOpt.h include/llvm/Transforms/IPO/GlobalSplit.h +include/llvm/Transforms/IPO/HotColdSplitting.h include/llvm/Transforms/IPO/InferFunctionAttrs.h include/llvm/Transforms/IPO/Inliner.h include/llvm/Transforms/IPO/Internalize.h @@ -1166,9 +1254,12 @@ include/llvm/Transforms/InstCombine/InstCombineWorklist.h include/llvm/Transforms/Instrumentation.h include/llvm/Transforms/Instrumentation/BoundsChecking.h include/llvm/Transforms/Instrumentation/CGProfile.h +include/llvm/Transforms/Instrumentation/ControlHeightReduction.h include/llvm/Transforms/Instrumentation/GCOVProfiler.h include/llvm/Transforms/Instrumentation/InstrProfiling.h +include/llvm/Transforms/Instrumentation/MemorySanitizer.h include/llvm/Transforms/Instrumentation/PGOInstrumentation.h +include/llvm/Transforms/Instrumentation/ThreadSanitizer.h include/llvm/Transforms/ObjCARC.h include/llvm/Transforms/Scalar.h include/llvm/Transforms/Scalar/ADCE.h @@ -1209,6 +1300,7 @@ include/llvm/Transforms/Scalar/LoopUnrollPass.h include/llvm/Transforms/Scalar/LowerAtomic.h include/llvm/Transforms/Scalar/LowerExpectIntrinsic.h include/llvm/Transforms/Scalar/LowerGuardIntrinsic.h +include/llvm/Transforms/Scalar/MakeGuardsExplicit.h include/llvm/Transforms/Scalar/MemCpyOptimizer.h include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h include/llvm/Transforms/Scalar/NaryReassociate.h @@ -1218,12 +1310,14 @@ include/llvm/Transforms/Scalar/Reassociate.h include/llvm/Transforms/Scalar/RewriteStatepointsForGC.h include/llvm/Transforms/Scalar/SCCP.h include/llvm/Transforms/Scalar/SROA.h +include/llvm/Transforms/Scalar/Scalarizer.h include/llvm/Transforms/Scalar/SimpleLoopUnswitch.h include/llvm/Transforms/Scalar/SimplifyCFG.h include/llvm/Transforms/Scalar/Sink.h include/llvm/Transforms/Scalar/SpeculateAroundPHIs.h include/llvm/Transforms/Scalar/SpeculativeExecution.h include/llvm/Transforms/Scalar/TailRecursionElimination.h +include/llvm/Transforms/Scalar/WarnMissedTransforms.h include/llvm/Transforms/Utils.h include/llvm/Transforms/Utils/ASanStackFrameLayout.h include/llvm/Transforms/Utils/AddDiscriminators.h @@ -1232,6 +1326,7 @@ include/llvm/Transforms/Utils/BreakCriticalEdges.h include/llvm/Transforms/Utils/BuildLibCalls.h include/llvm/Transforms/Utils/BypassSlowDivision.h include/llvm/Transforms/Utils/CallPromotionUtils.h +include/llvm/Transforms/Utils/CanonicalizeAliases.h include/llvm/Transforms/Utils/Cloning.h include/llvm/Transforms/Utils/CodeExtractor.h include/llvm/Transforms/Utils/CtorUtils.h @@ -1241,6 +1336,7 @@ include/llvm/Transforms/Utils/Evaluator.h include/llvm/Transforms/Utils/FunctionComparator.h include/llvm/Transforms/Utils/FunctionImportUtils.h include/llvm/Transforms/Utils/GlobalStatus.h +include/llvm/Transforms/Utils/GuardUtils.h include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h include/llvm/Transforms/Utils/IntegerDivision.h include/llvm/Transforms/Utils/LCSSA.h @@ -1255,7 +1351,6 @@ include/llvm/Transforms/Utils/LowerMemIntrinsics.h include/llvm/Transforms/Utils/Mem2Reg.h include/llvm/Transforms/Utils/ModuleUtils.h include/llvm/Transforms/Utils/NameAnonGlobals.h -include/llvm/Transforms/Utils/OrderedInstructions.h include/llvm/Transforms/Utils/PredicateInfo.h include/llvm/Transforms/Utils/PromoteMemToReg.h include/llvm/Transforms/Utils/SSAUpdater.h @@ -1271,6 +1366,7 @@ include/llvm/Transforms/Utils/UnrollLoop.h include/llvm/Transforms/Utils/VNCoercion.h include/llvm/Transforms/Utils/ValueMapper.h include/llvm/Transforms/Vectorize.h +include/llvm/Transforms/Vectorize/LoadStoreVectorizer.h include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h include/llvm/Transforms/Vectorize/LoopVectorize.h include/llvm/Transforms/Vectorize/SLPVectorizer.h @@ -1278,14 +1374,23 @@ include/llvm/WindowsManifest/WindowsManifestMerger.h include/llvm/WindowsResource/ResourceProcessor.h include/llvm/WindowsResource/ResourceScriptToken.h include/llvm/WindowsResource/ResourceScriptTokenList.h +include/llvm/XRay/BlockIndexer.h +include/llvm/XRay/BlockPrinter.h +include/llvm/XRay/BlockVerifier.h +include/llvm/XRay/FDRLogBuilder.h +include/llvm/XRay/FDRRecordConsumer.h +include/llvm/XRay/FDRRecordProducer.h +include/llvm/XRay/FDRRecords.h +include/llvm/XRay/FDRTraceExpander.h +include/llvm/XRay/FDRTraceWriter.h +include/llvm/XRay/FileHeaderReader.h include/llvm/XRay/Graph.h include/llvm/XRay/InstrumentationMap.h +include/llvm/XRay/Profile.h +include/llvm/XRay/RecordPrinter.h include/llvm/XRay/Trace.h include/llvm/XRay/XRayRecord.h include/llvm/XRay/YAMLXRayRecord.h -lib/BugpointPasses.${SOEXT} -lib/LLVMHello.${SOEXT} -lib/TestPlugin.${SOEXT} lib/cmake/llvm/AddLLVM.cmake lib/cmake/llvm/AddLLVMDefinitions.cmake lib/cmake/llvm/AddOCaml.cmake @@ -1314,7 +1419,7 @@ lib/cmake/llvm/LLVMProcessSources.cmake lib/cmake/llvm/TableGen.cmake lib/cmake/llvm/VersionFromVCS.cmake lib/libLLVM-${PKGVERSION}.${SOEXT} -lib/libLLVM-7.${SOEXT} +lib/libLLVM-8.${SOEXT} lib/libLLVM.${SOEXT} ${PLIST.AArch64}lib/libLLVMAArch64AsmParser.a ${PLIST.AArch64}lib/libLLVMAArch64AsmPrinter.a @@ -1373,23 +1478,26 @@ lib/libLLVMInstCombine.a lib/libLLVMInstrumentation.a lib/libLLVMInterpreter.a lib/libLLVMLTO.a +${PLIST.Lanai}lib/libLLVMLanaiAsmParser.a +${PLIST.Lanai}lib/libLLVMLanaiAsmPrinter.a +${PLIST.Lanai}lib/libLLVMLanaiCodeGen.a +${PLIST.Lanai}lib/libLLVMLanaiDesc.a +${PLIST.Lanai}lib/libLLVMLanaiDisassembler.a +${PLIST.Lanai}lib/libLLVMLanaiInfo.a lib/libLLVMLibDriver.a lib/libLLVMLineEditor.a lib/libLLVMLinker.a lib/libLLVMMC.a +lib/libLLVMMCA.a lib/libLLVMMCDisassembler.a lib/libLLVMMCJIT.a lib/libLLVMMCParser.a lib/libLLVMMIRParser.a -${PLIST.Lanai}lib/libLLVMLanaiAsmParser.a -${PLIST.Lanai}lib/libLLVMLanaiAsmPrinter.a -${PLIST.Lanai}lib/libLLVMLanaiCodeGen.a -${PLIST.Lanai}lib/libLLVMLanaiDesc.a -${PLIST.Lanai}lib/libLLVMLanaiDisassembler.a -${PLIST.Lanai}lib/libLLVMLanaiInfo.a +${PLIST.MSP430}lib/libLLVMMSP430AsmParser.a ${PLIST.MSP430}lib/libLLVMMSP430AsmPrinter.a ${PLIST.MSP430}lib/libLLVMMSP430CodeGen.a ${PLIST.MSP430}lib/libLLVMMSP430Desc.a +${PLIST.MSP430}lib/libLLVMMSP430Disassembler.a ${PLIST.MSP430}lib/libLLVMMSP430Info.a ${PLIST.Mips}lib/libLLVMMipsAsmParser.a ${PLIST.Mips}lib/libLLVMMipsAsmPrinter.a @@ -1404,6 +1512,7 @@ ${PLIST.NVPTX}lib/libLLVMNVPTXInfo.a lib/libLLVMObjCARCOpts.a lib/libLLVMObject.a lib/libLLVMObjectYAML.a +lib/libLLVMOptRemarks.a lib/libLLVMOption.a lib/libLLVMOrcJIT.a lib/libLLVMPasses.a @@ -1433,6 +1542,7 @@ ${PLIST.SystemZ}lib/libLLVMSystemZDisassembler.a ${PLIST.SystemZ}lib/libLLVMSystemZInfo.a lib/libLLVMTableGen.a lib/libLLVMTarget.a +lib/libLLVMTextAPI.a lib/libLLVMTransformUtils.a lib/libLLVMVectorize.a lib/libLLVMWindowsManifest.a @@ -1451,7 +1561,9 @@ ${PLIST.XCore}lib/libLLVMXCoreInfo.a lib/libLLVMXRay.a lib/libLLVMipo.a lib/libLTO.${SOEXT} -${PLIST.notdylib}lib/libLTO.${SOEXT}.7 +${PLIST.notdylib}lib/libLTO.${SOEXT}.8 +lib/libOptRemarks.so +${PLIST.notdylib}lib/libOptRemarks.${SOEXT}.8 share/opt-viewer/opt-diff.py share/opt-viewer/opt-stats.py share/opt-viewer/opt-viewer.py diff --git a/lang/llvm/buildlink3.mk b/lang/llvm/buildlink3.mk index d9f8d4aa9d5..455055f86f2 100644 --- a/lang/llvm/buildlink3.mk +++ b/lang/llvm/buildlink3.mk @@ -1,11 +1,11 @@ -# $NetBSD: buildlink3.mk,v 1.7 2018/12/09 20:04:38 adam Exp $ +# $NetBSD: buildlink3.mk,v 1.8 2019/06/02 08:35:55 adam Exp $ BUILDLINK_TREE+= llvm .if !defined(LLVM_BUILDLINK3_MK) LLVM_BUILDLINK3_MK:= -BUILDLINK_API_DEPENDS.llvm+= llvm>=7.0.0 +BUILDLINK_API_DEPENDS.llvm+= llvm>=8.0.0 BUILDLINK_PKGSRCDIR.llvm?= ../../lang/llvm LLVM_CONFIG_PATH?= ${BUILDLINK_PREFIX.llvm}/bin/llvm-config diff --git a/lang/llvm/distinfo b/lang/llvm/distinfo index 3304f90cc15..990ea789f01 100644 --- a/lang/llvm/distinfo +++ b/lang/llvm/distinfo @@ -1,14 +1,14 @@ -$NetBSD: distinfo,v 1.19 2018/12/23 00:11:39 adam Exp $ +$NetBSD: distinfo,v 1.20 2019/06/02 08:35:55 adam Exp $ -SHA1 (llvm-7.0.1.src.tar.xz) = f97632fcc3186eb0d396492ef8acfc807648580f -RMD160 (llvm-7.0.1.src.tar.xz) = dae96c6f85afb60e73564dc40d02171d01ffdb8f -SHA512 (llvm-7.0.1.src.tar.xz) = ac43a3cb71a53deb55e3693653847cf20bf6f5d9056f224e6956c96d63bc59ebee9404f088eec9cabe65337b4607a905ef931354b373cf64e0004c6905a6b5df -Size (llvm-7.0.1.src.tar.xz) = 28311056 bytes +SHA1 (llvm-8.0.0.src.tar.xz) = 0689345d73911e24a07b24cc82dab4fb46b8c323 +RMD160 (llvm-8.0.0.src.tar.xz) = a0740d83ae981506ddb7cfd389cafc52b7f317b2 +SHA512 (llvm-8.0.0.src.tar.xz) = 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f +Size (llvm-8.0.0.src.tar.xz) = 30503732 bytes SHA1 (patch-CMakeLists.txt) = 78e2dab2bf73f7e466ca2788fe6444e39b4ebd80 -SHA1 (patch-cmake_config-ix.cmake) = a345420169e4066e22d28ca6ad10840e83ccfa76 +SHA1 (patch-cmake_config-ix.cmake) = 61967c51d724a76867e1c59f721d1ac0e4815023 SHA1 (patch-cmake_modules_AddLLVM.cmake) = 31d4f47f03bef021a24d53147c1b66abd64e1d87 SHA1 (patch-cmake_modules_CheckAtomic.cmake) = 51e4fdf3bc24b50fc4d4bfa1ec5ba6c82ef946b4 -SHA1 (patch-cmake_modules_HandleLLVMOptions.cmake) = 271e6f5a8cebf8162c4e3b758e96f451b434269b +SHA1 (patch-cmake_modules_HandleLLVMOptions.cmake) = e6cb9bed8bc3e3793824b65291fd18827b4ffa63 SHA1 (patch-include_llvm-c_DataTypes.h) = 025c035e0e10871727391bd58936bd67b3e58244 SHA1 (patch-include_llvm_Analysis_ConstantFolding.h) = 56b9374da236c346565897977040255b9766cab8 -SHA1 (patch-tools_llvm-shlib_CMakeLists.txt) = 45278d8acc6daa3d36a1a7b15e2e3b9a75a218e6 +SHA1 (patch-tools_llvm-shlib_CMakeLists.txt) = 6c74713de3f953cbe323b3a83ca8e8d66f76f6e8 diff --git a/lang/llvm/patches/patch-cmake_config-ix.cmake b/lang/llvm/patches/patch-cmake_config-ix.cmake index b256675c2fe..a34e3686a95 100644 --- a/lang/llvm/patches/patch-cmake_config-ix.cmake +++ b/lang/llvm/patches/patch-cmake_config-ix.cmake @@ -1,14 +1,14 @@ -$NetBSD: patch-cmake_config-ix.cmake,v 1.3 2018/08/07 10:44:50 adam Exp $ +$NetBSD: patch-cmake_config-ix.cmake,v 1.4 2019/06/02 08:35:55 adam Exp $ Do not generate invalid llvm-config in pkgsrc. ---- cmake/config-ix.cmake.orig 2018-01-02 17:53:08.000000000 +0000 +--- cmake/config-ix.cmake.orig 2018-11-26 00:03:39.000000000 +0000 +++ cmake/config-ix.cmake -@@ -153,7 +153,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memor +@@ -129,7 +129,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memor endif() if(LLVM_ENABLE_TERMINFO) set(HAVE_TERMINFO 0) -- foreach(library tinfo terminfo curses ncurses ncursesw) +- foreach(library terminfo tinfo curses ncurses ncursesw) + foreach(library terminfo curses ncurses ncursesw tinfo) string(TOUPPER ${library} library_suffix) check_library_exists(${library} setupterm "" HAVE_TERMINFO_${library_suffix}) diff --git a/lang/llvm/patches/patch-cmake_modules_HandleLLVMOptions.cmake b/lang/llvm/patches/patch-cmake_modules_HandleLLVMOptions.cmake index c36ab0c0abf..e0cb09f90ad 100644 --- a/lang/llvm/patches/patch-cmake_modules_HandleLLVMOptions.cmake +++ b/lang/llvm/patches/patch-cmake_modules_HandleLLVMOptions.cmake @@ -1,14 +1,14 @@ -$NetBSD: patch-cmake_modules_HandleLLVMOptions.cmake,v 1.1 2017/03/19 19:01:48 adam Exp $ +$NetBSD: patch-cmake_modules_HandleLLVMOptions.cmake,v 1.2 2019/06/02 08:35:55 adam Exp $ DragonflyBSD support ---- cmake/modules/HandleLLVMOptions.cmake.orig 2016-01-06 19:05:19.000000000 +0000 +--- cmake/modules/HandleLLVMOptions.cmake.orig 2018-12-19 18:01:42.000000000 +0000 +++ cmake/modules/HandleLLVMOptions.cmake -@@ -132,6 +132,7 @@ endif() +@@ -137,6 +137,7 @@ endif() # Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO # build might work on ELF but fail on MachO/COFF. if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32 OR CYGWIN OR + ${CMAKE_SYSTEM_NAME} MATCHES "DragonFly" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR - ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") AND - NOT LLVM_USE_SANITIZER) + ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR + ${CMAKE_SYSTEM_NAME} MATCHES "DragonFly") AND diff --git a/lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt b/lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt index f832df68c3d..e4263461e54 100644 --- a/lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt +++ b/lang/llvm/patches/patch-tools_llvm-shlib_CMakeLists.txt @@ -1,33 +1,34 @@ -$NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.4 2018/12/09 20:04:38 adam Exp $ +$NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.5 2019/06/02 08:35:55 adam Exp $ Use the Linux style linking everywhere except Darwin and SunOS. ---- tools/llvm-shlib/CMakeLists.txt.orig 2018-08-03 10:15:36.000000000 +0000 +--- tools/llvm-shlib/CMakeLists.txt.orig 2018-10-18 20:07:44.000000000 +0000 +++ tools/llvm-shlib/CMakeLists.txt -@@ -37,12 +37,11 @@ endif() - add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) +@@ -42,13 +42,11 @@ if(LLVM_BUILD_LLVM_DYLIB) + add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) - list(REMOVE_DUPLICATES LIB_NAMES) --if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) -- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") -- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD") -- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia") -- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly") -- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")) # FIXME: It should be "GNU ld for elf" -+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") -+ set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) -+elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS") -+ set(LIB_NAMES -Wl,-Bsymbolic -Wl,-z -Wl,allextract ${LIB_NAMES} -Wl,-z -Wl,defaultextract) -+else() - configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in - ${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map) -@@ -53,8 +52,6 @@ if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Lin - # Solaris ld does not accept global: *; so there is no way to version *all* global symbols - set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map ${LIB_NAMES}) + list(REMOVE_DUPLICATES LIB_NAMES) +- if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly") +- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")) # FIXME: It should be "GNU ld for elf" ++ if("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS") ++ set(LIB_NAMES -Wl,-Bsymbolic -Wl,-z -Wl,allextract ${LIB_NAMES} -Wl,-z -Wl,defaultextract) ++ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") ++ set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) ++ else() + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in + ${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map) +@@ -59,8 +57,6 @@ if(LLVM_BUILD_LLVM_DYLIB) + # Solaris ld does not accept global: *; so there is no way to version *all* global symbols + set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map ${LIB_NAMES}) + endif() +- elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") +- set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) endif() --elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") -- set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) - endif() - target_link_libraries(LLVM PRIVATE ${LIB_NAMES}) + target_link_libraries(LLVM PRIVATE ${LIB_NAMES}) |