# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= llvm VERSION= 9.0.0 KEYWORDS= devel lang VARIANTS= standard SDESC[standard]= Low Level Virtual Machine (version 9.0) HOMEPAGE= http://llvm.org/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.0/ http://llvm.org/releases/9.0.0/ DISTFILE[1]= llvm-9.0.0.src.tar.xz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= GOLD OPTIONS_STANDARD= GOLD OPT_ON[freebsd]= GOLD//x86_64 OPT_ON[linux]= GOLD//x86_64 OPT_ON[dragonfly]= GOLD//x86_64 USES= cmake ninja ncurses python:build execinfo zlib shebangfix c++:single GNOME_COMPONENTS= libxml2 DISTNAME= llvm-9.0.0.src LICENSE= CUSTOM1:single LICENSE_NAME= CUSTOM1:"University of Illinois/NCSA Open Source License" LICENSE_FILE= CUSTOM1:{{WRKSRC}}/LICENSE.TXT LICENSE_SCHEME= solo CMAKE_BUILD_TYPE= Release FPC_EQUIVALENT= devel/llvm70 SHEBANG_FILES= utils/llvm-lit/llvm-lit.in tools/opt-viewer/*.py PLIST_SUB= LLVM_RELEASE="9.0.0" LLVM_MAJOR="9" BLOCK_WATCHDOG= yes CMAKE_ARGS= -DLLVM_BUILD_LLVM_DYLIB=ON -DCMAKE_INSTALL_RPATH:STRING="{{LOCALBASE}}/llvm/lib" -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DLLVM_HOST_TRIPLE:STRING="{{CONFIGURE_TARGET}}" -DLLVM_PARALLEL_LINK_JOBS=1 -DLLVM_PARALLEL_COMPILE_JOBS={{MAKE_JOBS_NUMBER}} -DLLVM_INCLUDE_TESTS:BOOL=OFF -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF -DLLVM_BUILD_32_BITS:BOOL=OFF -DLLVM_INSTALL_UTILS:BOOL=ON -DLLVM_ENABLE_RTTI:BOOL=ON -DLLVM_ENABLE_EH:BOOL=ON [GOLD].DESCRIPTION= Build the LLVM Gold plugin for LTO [GOLD].CMAKE_ARGS_ON= -DLLVM_BINUTILS_INCDIR={{LOCALBASE}}/toolchain/include -DLLVM_USE_LINKER=gold post-patch: ${REINPLACE_CMD} -e "s|/usr/local|${PREFIX}|g" \ ${WRKSRC}/CMakeLists.txt post-install-GOLD-ON: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/LLVMgold.so post-install: ${RM} -r ${STAGEDIR}${PREFIX}/include/llvm/MC/MCAnalysis ${RM} -r ${STAGEDIR}${PREFIX}/include/llvm/BinaryFormat/WasmRelocs ${RM} -r ${STAGEDIR}${PREFIX}/include/llvm/TextAPI/MachO # don't use llvm-strip yet, it doesn't work on SunOS or MacOS .for F in bugpoint dsymutil llc lli llvm-ar llvm-as llvm-bcanalyzer \ llvm-c-test llvm-cat llvm-cfi-verify llvm-config llvm-cov \ llvm-cvtres llvm-cxxdump llvm-cxxfilt llvm-cxxmap llvm-diff llvm-dis \ llvm-dwarfdump llvm-dwp llvm-elfabi llvm-exegesis llvm-extract \ llvm-link llvm-lto llvm-lto2 llvm-mc llvm-mca llvm-modextract llvm-mt \ llvm-nm llvm-objcopy llvm-objdump llvm-opt-report llvm-pdbutil \ llvm-profdata llvm-rc llvm-readobj llvm-rtdyld llvm-size \ llvm-split llvm-stress llvm-strings llvm-symbolizer llvm-tblgen \ llvm-undname llvm-xray llvm-jitlink llvm-lipo \ obj2yaml opt sancov sanstats \ verify-uselistorder yaml2obj FileCheck count not yaml-bench \ lli-child-target llvm-PerfectShuffle ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${F} .endfor .for F in libLLVM-9.so libLTO.so.9 libRemarks.so.9 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${F} .endfor [FILE:834:descriptions/desc.single] The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them. The name "LLVM" itself is not an acronym; it is the full name of the project. This package contains the LLVM Core libraries which provide a modern source- and target-independent optimizer, along with code generation support for many popular CPUs (as well as some less common ones!) These libraries are built around a well specified code representation known as the LLVM intermediate representation ("LLVM IR"). The LLVM Core libraries are well documented, and it is particularly easy to invent your own language (or port an existing compiler) to use LLVM as an optimizer and code generator. [FILE:100:distinfo] d6a0565cf21f22e9b4353b2eb92622e8365000a9e90a16b09b56f8157eabfe84 32994768 llvm-9.0.0.src.tar.xz [FILE:31057:manifests/plist.single] %%GOLD-ON%%lib/LLVMgold.so bin/ FileCheck bugpoint count dsymutil llc lli lli-child-target llvm-PerfectShuffle llvm-addr2line llvm-ar llvm-as llvm-bcanalyzer llvm-c-test llvm-cat llvm-cfi-verify llvm-config llvm-cov llvm-cvtres llvm-cxxdump llvm-cxxfilt llvm-cxxmap llvm-diff llvm-dis llvm-dlltool llvm-dwarfdump llvm-dwp llvm-elfabi llvm-exegesis llvm-extract llvm-jitlink llvm-lib llvm-link llvm-lipo llvm-lto llvm-lto2 llvm-mc llvm-mca llvm-modextract llvm-mt llvm-nm llvm-objcopy llvm-objdump llvm-opt-report llvm-pdbutil llvm-profdata llvm-ranlib llvm-rc llvm-readelf llvm-readobj llvm-rtdyld llvm-size llvm-split llvm-stress llvm-strings llvm-strip llvm-symbolizer llvm-tblgen llvm-undname llvm-xray not obj2yaml opt sancov sanstats verify-uselistorder yaml-bench yaml2obj include/llvm/ InitializePasses.h LinkAllIR.h LinkAllPasses.h Pass.h PassAnalysisSupport.h PassInfo.h PassRegistry.h PassSupport.h include/llvm-c/ Analysis.h BitReader.h BitWriter.h Comdat.h Core.h DataTypes.h DebugInfo.h Disassembler.h DisassemblerTypes.h Error.h ErrorHandling.h ExecutionEngine.h IRReader.h Initialization.h LinkTimeOptimizer.h Linker.h Object.h OrcBindings.h Remarks.h Support.h Target.h TargetMachine.h Types.h lto.h include/llvm-c/Transforms/ AggressiveInstCombine.h Coroutines.h IPO.h InstCombine.h PassManagerBuilder.h Scalar.h Utils.h Vectorize.h include/llvm/ADT/ APFloat.h APInt.h APSInt.h AllocatorList.h Any.h ArrayRef.h BitVector.h BitmaskEnum.h BreadthFirstIterator.h CachedHashString.h DAGDeltaAlgorithm.h DeltaAlgorithm.h DenseMap.h DenseMapInfo.h DenseSet.h DepthFirstIterator.h EpochTracker.h EquivalenceClasses.h FoldingSet.h FunctionExtras.h GraphTraits.h Hashing.h ImmutableList.h ImmutableMap.h ImmutableSet.h IndexedMap.h IntEqClasses.h IntervalMap.h IntrusiveRefCntPtr.h MapVector.h None.h Optional.h PackedVector.h PointerEmbeddedInt.h PointerIntPair.h PointerSumType.h PointerUnion.h PostOrderIterator.h PriorityQueue.h PriorityWorklist.h SCCIterator.h STLExtras.h ScopeExit.h ScopedHashTable.h Sequence.h SetOperations.h SetVector.h SmallBitVector.h SmallPtrSet.h SmallSet.h SmallString.h SmallVector.h SparseBitVector.h SparseMultiSet.h SparseSet.h Statistic.h StringExtras.h StringMap.h StringRef.h StringSet.h StringSwitch.h TinyPtrVector.h Triple.h Twine.h UniqueVector.h VariadicFunction.h bit.h edit_distance.h fallible_iterator.h ilist.h ilist_base.h ilist_iterator.h ilist_node.h ilist_node_base.h ilist_node_options.h iterator.h iterator_range.h simple_ilist.h include/llvm/Analysis/ AliasAnalysis.h AliasAnalysisEvaluator.h AliasSetTracker.h AssumptionCache.h BasicAliasAnalysis.h BlockFrequencyInfo.h BlockFrequencyInfoImpl.h BranchProbabilityInfo.h CFG.h CFGPrinter.h CFLAliasAnalysisUtils.h CFLAndersAliasAnalysis.h CFLSteensAliasAnalysis.h CGSCCPassManager.h CallGraph.h CallGraphSCCPass.h CallPrinter.h CaptureTracking.h CmpInstAnalysis.h CodeMetrics.h ConstantFolding.h DOTGraphTraitsPass.h DemandedBits.h DependenceAnalysis.h DivergenceAnalysis.h DomPrinter.h DomTreeUpdater.h DominanceFrontier.h DominanceFrontierImpl.h EHPersonalities.h GlobalsModRef.h GuardUtils.h IVDescriptors.h IVUsers.h IndirectCallPromotionAnalysis.h IndirectCallVisitor.h InlineCost.h InstructionPrecedenceTracking.h InstructionSimplify.h Interval.h IntervalIterator.h IntervalPartition.h IteratedDominanceFrontier.h LazyBlockFrequencyInfo.h LazyBranchProbabilityInfo.h LazyCallGraph.h LazyValueInfo.h LegacyDivergenceAnalysis.h Lint.h Loads.h LoopAccessAnalysis.h LoopAnalysisManager.h LoopInfo.h LoopInfoImpl.h LoopIterator.h LoopPass.h LoopUnrollAnalyzer.h MemoryBuiltins.h MemoryDependenceAnalysis.h MemoryLocation.h MemorySSA.h MemorySSAUpdater.h ModuleSummaryAnalysis.h MustExecute.h ObjCARCAliasAnalysis.h ObjCARCAnalysisUtils.h ObjCARCInstKind.h OptimizationRemarkEmitter.h OrderedBasicBlock.h OrderedInstructions.h PHITransAddr.h Passes.h PhiValues.h PostDominators.h ProfileSummaryInfo.h PtrUseVisitor.h RegionInfo.h RegionInfoImpl.h RegionIterator.h RegionPass.h RegionPrinter.h ScalarEvolution.h ScalarEvolutionAliasAnalysis.h ScalarEvolutionExpander.h ScalarEvolutionExpressions.h ScalarEvolutionNormalization.h ScopedNoAliasAA.h SparsePropagation.h StackSafetyAnalysis.h SyncDependenceAnalysis.h SyntheticCountsUtils.h TargetFolder.h TargetLibraryInfo.def TargetLibraryInfo.h TargetTransformInfo.h TargetTransformInfoImpl.h Trace.h TypeBasedAliasAnalysis.h TypeMetadataUtils.h ValueLattice.h ValueLatticeUtils.h ValueTracking.h VecFuncs.def VectorUtils.h include/llvm/Analysis/Utils/Local.h include/llvm/AsmParser/ Parser.h SlotMapping.h include/llvm/BinaryFormat/ AMDGPUMetadataVerifier.h COFF.h Dwarf.def Dwarf.h DynamicTags.def ELF.h MachO.def MachO.h Magic.h Minidump.h MinidumpConstants.def MsgPack.def MsgPack.h MsgPackDocument.h MsgPackReader.h MsgPackWriter.h Wasm.h WasmRelocs.def XCOFF.h include/llvm/BinaryFormat/ELFRelocs/ AArch64.def AMDGPU.def ARC.def ARM.def AVR.def BPF.def Hexagon.def Lanai.def MSP430.def Mips.def PowerPC.def PowerPC64.def RISCV.def Sparc.def SystemZ.def i386.def x86_64.def include/llvm/Bitcode/ BitcodeAnalyzer.h BitcodeReader.h BitcodeWriter.h BitcodeWriterPass.h LLVMBitCodes.h include/llvm/Bitstream/ BitCodes.h BitstreamReader.h BitstreamWriter.h include/llvm/CodeGen/ AccelTable.h Analysis.h AsmPrinter.h AsmPrinterHandler.h AtomicExpandUtils.h BasicTTIImpl.h BuiltinGCs.h CSEConfigBase.h CalcSpillWeights.h CallingConvLower.h CommandFlags.inc CostTable.h DAGCombine.h DFAPacketizer.h DIE.h DIEValue.def DbgEntityHistoryCalculator.h DebugHandlerBase.h DwarfStringPoolEntry.h EdgeBundles.h ExecutionDomainFix.h ExpandReductions.h FastISel.h FaultMaps.h FunctionLoweringInfo.h GCMetadata.h GCMetadataPrinter.h GCStrategy.h ISDOpcodes.h IntrinsicLowering.h LatencyPriorityQueue.h LazyMachineBlockFrequencyInfo.h LexicalScopes.h LinkAllAsmWriterComponents.h LinkAllCodegenComponents.h LiveInterval.h LiveIntervalUnion.h LiveIntervals.h LivePhysRegs.h LiveRangeEdit.h LiveRegMatrix.h LiveRegUnits.h LiveStacks.h LiveVariables.h LoopTraversal.h LowLevelType.h MIRPrinter.h MIRYamlMapping.h MachORelocation.h MachineBasicBlock.h MachineBlockFrequencyInfo.h MachineBranchProbabilityInfo.h MachineCombinerPattern.h MachineConstantPool.h MachineDominanceFrontier.h MachineDominators.h MachineFrameInfo.h MachineFunction.h MachineFunctionPass.h MachineInstr.h MachineInstrBuilder.h MachineInstrBundle.h MachineInstrBundleIterator.h MachineJumpTableInfo.h MachineLoopInfo.h MachineMemOperand.h MachineModuleInfo.h MachineModuleInfoImpls.h MachineOperand.h MachineOptimizationRemarkEmitter.h MachineOutliner.h MachinePassRegistry.h MachinePipeliner.h MachinePostDominators.h MachineRegionInfo.h MachineRegisterInfo.h MachineSSAUpdater.h MachineScheduler.h MachineTraceMetrics.h MacroFusion.h PBQPRAConstraint.h ParallelCG.h Passes.h PreISelIntrinsicLowering.h PseudoSourceValue.h ReachingDefAnalysis.h RegAllocPBQP.h RegAllocRegistry.h Register.h RegisterClassInfo.h RegisterPressure.h RegisterScavenging.h RegisterUsageInfo.h ResourcePriorityQueue.h RuntimeLibcalls.h SDNodeProperties.td ScheduleDAG.h ScheduleDAGInstrs.h ScheduleDAGMutation.h ScheduleDFS.h ScheduleHazardRecognizer.h SchedulerRegistry.h ScoreboardHazardRecognizer.h SelectionDAG.h SelectionDAGAddressAnalysis.h SelectionDAGISel.h SelectionDAGNodes.h SelectionDAGTargetInfo.h SlotIndexes.h StackMaps.h StackProtector.h SwiftErrorValueTracking.h SwitchLoweringUtils.h TailDuplicator.h TargetCallingConv.h TargetFrameLowering.h TargetInstrInfo.h TargetLowering.h TargetLoweringObjectFileImpl.h TargetOpcodes.h TargetPassConfig.h TargetRegisterInfo.h TargetSchedule.h TargetSubtargetInfo.h UnreachableBlockElim.h ValueTypes.h ValueTypes.td VirtRegMap.h WasmEHFuncInfo.h WinEHFuncInfo.h include/llvm/CodeGen/GlobalISel/ CSEInfo.h CSEMIRBuilder.h CallLowering.h Combiner.h CombinerHelper.h CombinerInfo.h ConstantFoldingMIRBuilder.h GISelChangeObserver.h GISelWorkList.h IRTranslator.h InstructionSelect.h InstructionSelector.h InstructionSelectorImpl.h LegalizationArtifactCombiner.h Legalizer.h LegalizerHelper.h LegalizerInfo.h Localizer.h MIPatternMatch.h MachineIRBuilder.h RegBankSelect.h RegisterBank.h RegisterBankInfo.h Types.h Utils.h include/llvm/CodeGen/MIRParser/ MIParser.h MIRParser.h include/llvm/CodeGen/PBQP/ CostAllocator.h Graph.h Math.h ReductionRules.h Solution.h include/llvm/Config/ AsmParsers.def AsmPrinters.def Disassemblers.def Targets.def abi-breaking.h llvm-config.h include/llvm/DebugInfo/DIContext.h include/llvm/DebugInfo/CodeView/ AppendingTypeTableBuilder.h CVRecord.h CVSymbolVisitor.h CVTypeVisitor.h CodeView.h CodeViewError.h CodeViewRecordIO.h CodeViewRegisters.def CodeViewSymbols.def CodeViewTypes.def ContinuationRecordBuilder.h DebugChecksumsSubsection.h DebugCrossExSubsection.h DebugCrossImpSubsection.h DebugFrameDataSubsection.h DebugInlineeLinesSubsection.h DebugLinesSubsection.h DebugStringTableSubsection.h DebugSubsection.h DebugSubsectionRecord.h DebugSubsectionVisitor.h DebugSymbolRVASubsection.h DebugSymbolsSubsection.h DebugUnknownSubsection.h EnumTables.h Formatters.h FunctionId.h GUID.h GlobalTypeTableBuilder.h LazyRandomTypeCollection.h Line.h MergingTypeTableBuilder.h RecordName.h RecordSerialization.h SimpleTypeSerializer.h StringsAndChecksums.h SymbolDeserializer.h SymbolDumpDelegate.h SymbolDumper.h SymbolRecord.h SymbolRecordHelpers.h SymbolRecordMapping.h SymbolSerializer.h SymbolVisitorCallbackPipeline.h SymbolVisitorCallbacks.h SymbolVisitorDelegate.h TypeCollection.h TypeDeserializer.h TypeDumpVisitor.h TypeHashing.h TypeIndex.h TypeIndexDiscovery.h TypeRecord.h TypeRecordHelpers.h TypeRecordMapping.h TypeStreamMerger.h TypeSymbolEmitter.h TypeTableCollection.h TypeVisitorCallbackPipeline.h TypeVisitorCallbacks.h include/llvm/DebugInfo/DWARF/ DWARFAbbreviationDeclaration.h DWARFAcceleratorTable.h DWARFAddressRange.h DWARFAttribute.h DWARFCompileUnit.h DWARFContext.h DWARFDataExtractor.h DWARFDebugAbbrev.h DWARFDebugAddr.h DWARFDebugArangeSet.h DWARFDebugAranges.h DWARFDebugFrame.h DWARFDebugInfoEntry.h DWARFDebugLine.h DWARFDebugLoc.h DWARFDebugMacro.h DWARFDebugPubTable.h DWARFDebugRangeList.h DWARFDebugRnglists.h DWARFDie.h DWARFExpression.h DWARFFormValue.h DWARFGdbIndex.h DWARFListTable.h DWARFObject.h DWARFRelocMap.h DWARFSection.h DWARFTypeUnit.h DWARFUnit.h DWARFUnitIndex.h DWARFVerifier.h include/llvm/DebugInfo/GSYM/ FileEntry.h FunctionInfo.h InlineInfo.h LineEntry.h Range.h StringTable.h include/llvm/DebugInfo/MSF/ IMSFFile.h MSFBuilder.h MSFCommon.h MSFError.h MappedBlockStream.h include/llvm/DebugInfo/PDB/ ConcreteSymbolEnumerator.h GenericError.h IPDBDataStream.h IPDBEnumChildren.h IPDBFrameData.h IPDBInjectedSource.h IPDBLineNumber.h IPDBRawSymbol.h IPDBSectionContrib.h IPDBSession.h IPDBSourceFile.h IPDBTable.h PDB.h PDBContext.h PDBExtras.h PDBSymDumper.h PDBSymbol.h PDBSymbolAnnotation.h PDBSymbolBlock.h PDBSymbolCompiland.h PDBSymbolCompilandDetails.h PDBSymbolCompilandEnv.h PDBSymbolCustom.h PDBSymbolData.h PDBSymbolExe.h PDBSymbolFunc.h PDBSymbolFuncDebugEnd.h PDBSymbolFuncDebugStart.h PDBSymbolLabel.h PDBSymbolPublicSymbol.h PDBSymbolThunk.h PDBSymbolTypeArray.h PDBSymbolTypeBaseClass.h PDBSymbolTypeBuiltin.h PDBSymbolTypeCustom.h PDBSymbolTypeDimension.h PDBSymbolTypeEnum.h PDBSymbolTypeFriend.h PDBSymbolTypeFunctionArg.h PDBSymbolTypeFunctionSig.h PDBSymbolTypeManaged.h PDBSymbolTypePointer.h PDBSymbolTypeTypedef.h PDBSymbolTypeUDT.h PDBSymbolTypeVTable.h PDBSymbolTypeVTableShape.h PDBSymbolUnknown.h PDBSymbolUsingNamespace.h PDBTypes.h UDTLayout.h include/llvm/DebugInfo/PDB/DIA/ DIADataStream.h DIAEnumDebugStreams.h DIAEnumFrameData.h DIAEnumInjectedSources.h DIAEnumLineNumbers.h DIAEnumSectionContribs.h DIAEnumSourceFiles.h DIAEnumSymbols.h DIAEnumTables.h DIAError.h DIAFrameData.h DIAInjectedSource.h DIALineNumber.h DIARawSymbol.h DIASectionContrib.h DIASession.h DIASourceFile.h DIASupport.h DIATable.h DIAUtils.h include/llvm/DebugInfo/PDB/Native/ DbiModuleDescriptor.h DbiModuleDescriptorBuilder.h DbiModuleList.h DbiStream.h DbiStreamBuilder.h EnumTables.h Formatters.h GSIStreamBuilder.h GlobalsStream.h Hash.h HashTable.h ISectionContribVisitor.h InfoStream.h InfoStreamBuilder.h InjectedSourceStream.h ModuleDebugStream.h NamedStreamMap.h NativeCompilandSymbol.h NativeEnumGlobals.h NativeEnumInjectedSources.h NativeEnumModules.h NativeEnumTypes.h NativeExeSymbol.h NativeRawSymbol.h NativeSession.h NativeSymbolEnumerator.h NativeTypeArray.h NativeTypeBuiltin.h NativeTypeEnum.h NativeTypeFunctionSig.h NativeTypePointer.h NativeTypeTypedef.h NativeTypeUDT.h NativeTypeVTShape.h PDBFile.h PDBFileBuilder.h PDBStringTable.h PDBStringTableBuilder.h PublicsStream.h RawConstants.h RawError.h RawTypes.h SymbolCache.h SymbolStream.h TpiHashing.h TpiStream.h TpiStreamBuilder.h include/llvm/DebugInfo/Symbolize/ DIPrinter.h SymbolizableModule.h Symbolize.h include/llvm/Demangle/ Demangle.h DemangleConfig.h ItaniumDemangle.h MicrosoftDemangle.h MicrosoftDemangleNodes.h StringView.h Utility.h include/llvm/ExecutionEngine/ ExecutionEngine.h GenericValue.h Interpreter.h JITEventListener.h JITSymbol.h MCJIT.h OProfileWrapper.h ObjectCache.h OrcMCJITReplacement.h OrcV1Deprecation.h RTDyldMemoryManager.h RuntimeDyld.h RuntimeDyldChecker.h SectionMemoryManager.h include/llvm/ExecutionEngine/JITLink/ EHFrameSupport.h JITLink.h JITLinkMemoryManager.h MachO.h MachO_x86_64.h include/llvm/ExecutionEngine/Orc/ CompileOnDemandLayer.h CompileUtils.h Core.h ExecutionUtils.h GlobalMappingLayer.h IRCompileLayer.h IRTransformLayer.h IndirectionUtils.h JITTargetMachineBuilder.h LLJIT.h LambdaResolver.h Layer.h LazyEmittingLayer.h LazyReexports.h Legacy.h NullResolver.h ObjectLinkingLayer.h ObjectTransformLayer.h OrcABISupport.h OrcError.h OrcRemoteTargetClient.h OrcRemoteTargetRPCAPI.h OrcRemoteTargetServer.h RPCSerialization.h RPCUtils.h RTDyldObjectLinkingLayer.h RawByteChannel.h RemoteObjectLayer.h SymbolStringPool.h ThreadSafeModule.h include/llvm/FuzzMutate/ FuzzerCLI.h IRMutator.h OpDescriptor.h Operations.h Random.h RandomIRBuilder.h include/llvm/IR/ Argument.h AssemblyAnnotationWriter.h Attributes.h Attributes.inc Attributes.td AutoUpgrade.h BasicBlock.h CFG.h CFGDiff.h CallSite.h CallingConv.h Comdat.h Constant.h ConstantFolder.h ConstantRange.h Constants.h DIBuilder.h DataLayout.h DebugInfo.h DebugInfoFlags.def DebugInfoMetadata.h DebugLoc.h DerivedTypes.h DerivedUser.h DiagnosticHandler.h DiagnosticInfo.h DiagnosticPrinter.h Dominators.h Function.h GVMaterializer.h GetElementPtrTypeIterator.h GlobalAlias.h GlobalIFunc.h GlobalIndirectSymbol.h GlobalObject.h GlobalValue.h GlobalVariable.h IRBuilder.h IRPrintingPasses.h InlineAsm.h InstIterator.h InstVisitor.h InstrTypes.h Instruction.def Instruction.h Instructions.h IntrinsicEnums.inc IntrinsicImpl.inc IntrinsicInst.h Intrinsics.h Intrinsics.td IntrinsicsAArch64.td IntrinsicsAMDGPU.td IntrinsicsARM.td IntrinsicsBPF.td IntrinsicsHexagon.td IntrinsicsMips.td IntrinsicsNVVM.td IntrinsicsPowerPC.td IntrinsicsRISCV.td IntrinsicsSystemZ.td IntrinsicsWebAssembly.td IntrinsicsX86.td IntrinsicsXCore.td LLVMContext.h LegacyPassManager.h LegacyPassManagers.h LegacyPassNameParser.h MDBuilder.h Mangler.h Metadata.def Metadata.h Module.h ModuleSlotTracker.h ModuleSummaryIndex.h ModuleSummaryIndexYAML.h NoFolder.h OperandTraits.h Operator.h OptBisect.h PassInstrumentation.h PassManager.h PassManagerInternal.h PassTimingInfo.h PatternMatch.h PredIteratorCache.h ProfileSummary.h RemarkStreamer.h RuntimeLibcalls.def SafepointIRVerifier.h Statepoint.h SymbolTableListTraits.h TrackingMDRef.h Type.h TypeFinder.h Use.h UseListOrder.h User.h Value.def Value.h ValueHandle.h ValueMap.h ValueSymbolTable.h Verifier.h include/llvm/IRReader/IRReader.h include/llvm/LTO/ Caching.h Config.h LTO.h LTOBackend.h SummaryBasedOptimizations.h include/llvm/LTO/legacy/ LTOCodeGenerator.h LTOModule.h ThinLTOCodeGenerator.h UpdateCompilerUsed.h include/llvm/LineEditor/LineEditor.h include/llvm/Linker/ IRMover.h Linker.h include/llvm/MC/ ConstantPools.h LaneBitmask.h MCAsmBackend.h MCAsmInfo.h MCAsmInfoCOFF.h MCAsmInfoDarwin.h MCAsmInfoELF.h MCAsmInfoWasm.h MCAsmInfoXCOFF.h MCAsmLayout.h MCAsmMacro.h MCAssembler.h MCCodeEmitter.h MCCodePadder.h MCCodeView.h MCContext.h MCDirectives.h MCDwarf.h MCELFObjectWriter.h MCELFStreamer.h MCExpr.h MCFixedLenDisassembler.h MCFixup.h MCFixupKindInfo.h MCFragment.h MCInst.h MCInstBuilder.h MCInstPrinter.h MCInstrAnalysis.h MCInstrDesc.h MCInstrInfo.h MCInstrItineraries.h MCLabel.h MCLinkerOptimizationHint.h MCMachObjectWriter.h MCObjectFileInfo.h MCObjectStreamer.h MCObjectWriter.h MCRegisterInfo.h MCSchedule.h MCSection.h MCSectionCOFF.h MCSectionELF.h MCSectionMachO.h MCSectionWasm.h MCSectionXCOFF.h MCStreamer.h MCSubtargetInfo.h MCSymbol.h MCSymbolCOFF.h MCSymbolELF.h MCSymbolMachO.h MCSymbolWasm.h MCSymbolXCOFF.h MCTargetOptions.h MCTargetOptionsCommandFlags.inc MCValue.h MCWasmObjectWriter.h MCWasmStreamer.h MCWin64EH.h MCWinCOFFObjectWriter.h MCWinCOFFStreamer.h MCWinEH.h MCXCOFFObjectWriter.h MCXCOFFStreamer.h MachineLocation.h SectionKind.h StringTableBuilder.h SubtargetFeature.h include/llvm/MC/MCDisassembler/ MCDisassembler.h MCExternalSymbolizer.h MCRelocationInfo.h MCSymbolizer.h include/llvm/MC/MCParser/ AsmCond.h AsmLexer.h MCAsmLexer.h MCAsmParser.h MCAsmParserExtension.h MCAsmParserUtils.h MCParsedAsmOperand.h MCTargetAsmParser.h include/llvm/MCA/ Context.h HWEventListener.h InstrBuilder.h Instruction.h Pipeline.h SourceMgr.h Support.h include/llvm/MCA/HardwareUnits/ HardwareUnit.h LSUnit.h RegisterFile.h ResourceManager.h RetireControlUnit.h Scheduler.h include/llvm/MCA/Stages/ DispatchStage.h EntryStage.h ExecuteStage.h InstructionTables.h MicroOpQueueStage.h RetireStage.h Stage.h include/llvm/Object/ Archive.h ArchiveWriter.h Binary.h COFF.h COFFImportFile.h COFFModuleDefinition.h CVDebugRecord.h Decompressor.h ELF.h ELFObjectFile.h ELFTypes.h Error.h IRObjectFile.h IRSymtab.h MachO.h MachOUniversal.h Minidump.h ModuleSymbolTable.h ObjectFile.h RelocationResolver.h StackMapParser.h SymbolSize.h SymbolicFile.h Wasm.h WasmTraits.h WindowsMachineFlag.h WindowsResource.h XCOFFObjectFile.h include/llvm/ObjectYAML/ COFFYAML.h CodeViewYAMLDebugSections.h CodeViewYAMLSymbols.h CodeViewYAMLTypeHashing.h CodeViewYAMLTypes.h DWARFEmitter.h DWARFYAML.h ELFYAML.h MachOYAML.h MinidumpYAML.h ObjectYAML.h WasmYAML.h XCOFFYAML.h YAML.h include/llvm/Option/ Arg.h ArgList.h OptParser.td OptSpecifier.h OptTable.h Option.h include/llvm/Passes/ PassBuilder.h PassPlugin.h StandardInstrumentations.h include/llvm/ProfileData/ GCOV.h InstrProf.h InstrProfData.inc InstrProfReader.h InstrProfWriter.h ProfileCommon.h SampleProf.h SampleProfReader.h SampleProfWriter.h include/llvm/ProfileData/Coverage/ CoverageMapping.h CoverageMappingReader.h CoverageMappingWriter.h include/llvm/Remarks/ Remark.h RemarkFormat.h RemarkParser.h RemarkSerializer.h RemarkStringTable.h include/llvm/Support/ AArch64TargetParser.def AArch64TargetParser.h AMDGPUMetadata.h AMDHSAKernelDescriptor.h ARMAttributeParser.h ARMBuildAttributes.h ARMEHABI.h ARMTargetParser.def ARMTargetParser.h ARMWinEH.h AlignOf.h Allocator.h ArrayRecycler.h Atomic.h AtomicOrdering.h BinaryByteStream.h BinaryItemStream.h BinaryStream.h BinaryStreamArray.h BinaryStreamError.h BinaryStreamReader.h BinaryStreamRef.h BinaryStreamWriter.h BlockFrequency.h BranchProbability.h BuryPointer.h CBindingWrapping.h CFGUpdate.h COM.h CRC.h CachePruning.h Capacity.h Casting.h CheckedArithmetic.h Chrono.h CodeGen.h CodeGenCoverage.h CommandLine.h Compiler.h Compression.h ConvertUTF.h CrashRecoveryContext.h DJB.h DOTGraphTraits.h DataExtractor.h DataTypes.h Debug.h DebugCounter.h DynamicLibrary.h Endian.h EndianStream.h Errc.h Errno.h Error.h ErrorHandling.h ErrorOr.h FileCheck.h FileOutputBuffer.h FileSystem.h FileUtilities.h Format.h FormatAdapters.h FormatCommon.h FormatProviders.h FormatVariadic.h FormatVariadicDetails.h FormattedStream.h GenericDomTree.h GenericDomTreeConstruction.h GenericIteratedDominanceFrontier.h GlobPattern.h GraphWriter.h Host.h InitLLVM.h ItaniumManglingCanonicalizer.h JSON.h JamCRC.h KnownBits.h LEB128.h LICENSE.TXT LineIterator.h Locale.h LockFileManager.h LowLevelTypeImpl.h MD5.h MSVCErrorWorkarounds.h MachineValueType.h ManagedStatic.h MathExtras.h MemAlloc.h Memory.h MemoryBuffer.h MipsABIFlags.h Mutex.h MutexGuard.h NativeFormatting.h OnDiskHashTable.h Options.h Parallel.h Path.h PluginLoader.h PointerLikeTypeTraits.h PrettyStackTrace.h Printable.h Process.h Program.h RWMutex.h RandomNumberGenerator.h Recycler.h RecyclingAllocator.h Regex.h Registry.h ReverseIteration.h SHA1.h SMLoc.h SMTAPI.h SaveAndRestore.h ScalableSize.h ScaledNumber.h ScopedPrinter.h Signals.h Signposts.h SmallVectorMemoryBuffer.h SourceMgr.h SpecialCaseList.h StringPool.h StringSaver.h SwapByteOrder.h SymbolRemappingReader.h SystemUtils.h TarWriter.h TargetOpcodes.def TargetParser.h TargetRegistry.h TargetSelect.h TaskQueue.h ThreadLocal.h ThreadPool.h Threading.h TimeProfiler.h Timer.h ToolOutputFile.h TrailingObjects.h TrigramIndex.h TypeName.h Unicode.h UnicodeCharRanges.h UniqueLock.h VCSRevision.h Valgrind.h VersionTuple.h VirtualFileSystem.h Watchdog.h Win64EH.h WindowsError.h WithColor.h X86DisassemblerDecoderCommon.h X86TargetParser.def YAMLParser.h YAMLTraits.h circular_raw_ostream.h raw_os_ostream.h raw_ostream.h raw_sha1_ostream.h thread.h type_traits.h xxhash.h include/llvm/Support/Solaris/sys/regset.h include/llvm/TableGen/ Error.h Main.h Record.h SearchableTable.td SetTheory.h StringMatcher.h StringToOffsetTable.h TableGenBackend.h include/llvm/Target/ CodeGenCWrappers.h GenericOpcodes.td Target.td TargetCallingConv.td TargetInstrPredicate.td TargetIntrinsicInfo.h TargetItinerary.td TargetLoweringObjectFile.h TargetMachine.h TargetOptions.h TargetPfmCounters.td TargetSchedule.td TargetSelectionDAG.td include/llvm/Target/GlobalISel/ RegisterBank.td SelectionDAGCompat.td Target.td include/llvm/Testing/Support/ Annotations.h Error.h SupportHelpers.h include/llvm/TextAPI/ELF/ ELFStub.h TBEHandler.h include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h include/llvm/ToolDrivers/llvm-lib/LibDriver.h include/llvm/Transforms/ Coroutines.h IPO.h Instrumentation.h ObjCARC.h Scalar.h Utils.h Vectorize.h include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h include/llvm/Transforms/IPO/ AlwaysInliner.h ArgumentPromotion.h Attributor.h CalledValuePropagation.h ConstantMerge.h CrossDSOCFI.h DeadArgumentElimination.h ElimAvailExtern.h ForceFunctionAttrs.h FunctionAttrs.h FunctionImport.h GlobalDCE.h GlobalOpt.h GlobalSplit.h HotColdSplitting.h InferFunctionAttrs.h Inliner.h Internalize.h LowerTypeTests.h PartialInlining.h PassManagerBuilder.h SCCP.h SampleProfile.h StripDeadPrototypes.h SyntheticCountsPropagation.h ThinLTOBitcodeWriter.h WholeProgramDevirt.h include/llvm/Transforms/InstCombine/ InstCombine.h InstCombineWorklist.h include/llvm/Transforms/Instrumentation/ AddressSanitizer.h BoundsChecking.h CGProfile.h ControlHeightReduction.h GCOVProfiler.h HWAddressSanitizer.h InstrOrderFile.h InstrProfiling.h MemorySanitizer.h PGOInstrumentation.h PoisonChecking.h ThreadSanitizer.h include/llvm/Transforms/Scalar/ ADCE.h AlignmentFromAssumptions.h BDCE.h CallSiteSplitting.h ConstantHoisting.h CorrelatedValuePropagation.h DCE.h DeadStoreElimination.h DivRemPairs.h EarlyCSE.h Float2Int.h GVN.h GVNExpression.h GuardWidening.h IVUsersPrinter.h IndVarSimplify.h InductiveRangeCheckElimination.h InstSimplifyPass.h JumpThreading.h LICM.h LoopAccessAnalysisPrinter.h LoopDataPrefetch.h LoopDeletion.h LoopDistribute.h LoopFuse.h LoopIdiomRecognize.h LoopInstSimplify.h LoopLoadElimination.h LoopPassManager.h LoopPredication.h LoopRotation.h LoopSimplifyCFG.h LoopSink.h LoopStrengthReduce.h LoopUnrollAndJamPass.h LoopUnrollPass.h LowerAtomic.h LowerExpectIntrinsic.h LowerGuardIntrinsic.h LowerWidenableCondition.h MakeGuardsExplicit.h MemCpyOptimizer.h MergeICmps.h MergedLoadStoreMotion.h NaryReassociate.h NewGVN.h PartiallyInlineLibCalls.h Reassociate.h RewriteStatepointsForGC.h SCCP.h SROA.h Scalarizer.h SimpleLoopUnswitch.h SimplifyCFG.h Sink.h SpeculateAroundPHIs.h SpeculativeExecution.h TailRecursionElimination.h WarnMissedTransforms.h include/llvm/Transforms/Utils/ ASanStackFrameLayout.h AddDiscriminators.h BasicBlockUtils.h BreakCriticalEdges.h BuildLibCalls.h BypassSlowDivision.h CallPromotionUtils.h CanonicalizeAliases.h Cloning.h CodeExtractor.h CtorUtils.h EntryExitInstrumenter.h EscapeEnumerator.h Evaluator.h FunctionComparator.h FunctionImportUtils.h GlobalStatus.h GuardUtils.h ImportedFunctionsInliningStatistics.h IntegerDivision.h LCSSA.h LibCallsShrinkWrap.h Local.h LoopRotationUtils.h LoopSimplify.h LoopUtils.h LoopVersioning.h LowerInvoke.h LowerMemIntrinsics.h Mem2Reg.h ModuleUtils.h NameAnonGlobals.h PredicateInfo.h PromoteMemToReg.h SSAUpdater.h SSAUpdaterBulk.h SSAUpdaterImpl.h SanitizerStats.h SimplifyIndVar.h SimplifyLibCalls.h SizeOpts.h SplitModule.h SymbolRewriter.h UnifyFunctionExitNodes.h UnrollLoop.h VNCoercion.h ValueMapper.h include/llvm/Transforms/Vectorize/ LoadStoreVectorizer.h LoopVectorizationLegality.h LoopVectorize.h SLPVectorizer.h include/llvm/WindowsManifest/WindowsManifestMerger.h include/llvm/WindowsResource/ ResourceProcessor.h ResourceScriptToken.h ResourceScriptTokenList.h include/llvm/XRay/ BlockIndexer.h BlockPrinter.h BlockVerifier.h FDRLogBuilder.h FDRRecordConsumer.h FDRRecordProducer.h FDRRecords.h FDRTraceExpander.h FDRTraceWriter.h FileHeaderReader.h Graph.h InstrumentationMap.h Profile.h RecordPrinter.h Trace.h XRayRecord.h YAMLXRayRecord.h lib/ libLLVM-%%LLVM_MAJOR%%.so libLLVM-%%LLVM_RELEASE%%.so libLLVM.so libLLVMAArch64AsmParser.a libLLVMAArch64CodeGen.a libLLVMAArch64Desc.a libLLVMAArch64Disassembler.a libLLVMAArch64Info.a libLLVMAArch64Utils.a libLLVMAMDGPUAsmParser.a libLLVMAMDGPUCodeGen.a libLLVMAMDGPUDesc.a libLLVMAMDGPUDisassembler.a libLLVMAMDGPUInfo.a libLLVMAMDGPUUtils.a libLLVMARMAsmParser.a libLLVMARMCodeGen.a libLLVMARMDesc.a libLLVMARMDisassembler.a libLLVMARMInfo.a libLLVMARMUtils.a libLLVMAggressiveInstCombine.a libLLVMAnalysis.a libLLVMAsmParser.a libLLVMAsmPrinter.a libLLVMBPFAsmParser.a libLLVMBPFCodeGen.a libLLVMBPFDesc.a libLLVMBPFDisassembler.a libLLVMBPFInfo.a libLLVMBinaryFormat.a libLLVMBitReader.a libLLVMBitWriter.a libLLVMBitstreamReader.a libLLVMCodeGen.a libLLVMCore.a libLLVMCoroutines.a libLLVMCoverage.a libLLVMDebugInfoCodeView.a libLLVMDebugInfoDWARF.a libLLVMDebugInfoGSYM.a libLLVMDebugInfoMSF.a libLLVMDebugInfoPDB.a libLLVMDemangle.a libLLVMDlltoolDriver.a libLLVMExecutionEngine.a libLLVMFuzzMutate.a libLLVMGlobalISel.a libLLVMHexagonAsmParser.a libLLVMHexagonCodeGen.a libLLVMHexagonDesc.a libLLVMHexagonDisassembler.a libLLVMHexagonInfo.a libLLVMIRReader.a libLLVMInstCombine.a libLLVMInstrumentation.a libLLVMInterpreter.a libLLVMJITLink.a libLLVMLTO.a libLLVMLanaiAsmParser.a libLLVMLanaiCodeGen.a libLLVMLanaiDesc.a libLLVMLanaiDisassembler.a libLLVMLanaiInfo.a libLLVMLibDriver.a libLLVMLineEditor.a libLLVMLinker.a libLLVMMC.a libLLVMMCA.a libLLVMMCDisassembler.a libLLVMMCJIT.a libLLVMMCParser.a libLLVMMIRParser.a libLLVMMSP430AsmParser.a libLLVMMSP430CodeGen.a libLLVMMSP430Desc.a libLLVMMSP430Disassembler.a libLLVMMSP430Info.a libLLVMMipsAsmParser.a libLLVMMipsCodeGen.a libLLVMMipsDesc.a libLLVMMipsDisassembler.a libLLVMMipsInfo.a libLLVMNVPTXCodeGen.a libLLVMNVPTXDesc.a libLLVMNVPTXInfo.a libLLVMObjCARCOpts.a libLLVMObject.a libLLVMObjectYAML.a libLLVMOption.a libLLVMOrcJIT.a libLLVMPasses.a libLLVMPowerPCAsmParser.a libLLVMPowerPCCodeGen.a libLLVMPowerPCDesc.a libLLVMPowerPCDisassembler.a libLLVMPowerPCInfo.a libLLVMProfileData.a libLLVMRISCVAsmParser.a libLLVMRISCVCodeGen.a libLLVMRISCVDesc.a libLLVMRISCVDisassembler.a libLLVMRISCVInfo.a libLLVMRISCVUtils.a libLLVMRemarks.a libLLVMRuntimeDyld.a libLLVMScalarOpts.a libLLVMSelectionDAG.a libLLVMSparcAsmParser.a libLLVMSparcCodeGen.a libLLVMSparcDesc.a libLLVMSparcDisassembler.a libLLVMSparcInfo.a libLLVMSupport.a libLLVMSymbolize.a libLLVMSystemZAsmParser.a libLLVMSystemZCodeGen.a libLLVMSystemZDesc.a libLLVMSystemZDisassembler.a libLLVMSystemZInfo.a libLLVMTableGen.a libLLVMTarget.a libLLVMTextAPI.a libLLVMTransformUtils.a libLLVMVectorize.a libLLVMWebAssemblyAsmParser.a libLLVMWebAssemblyCodeGen.a libLLVMWebAssemblyDesc.a libLLVMWebAssemblyDisassembler.a libLLVMWebAssemblyInfo.a libLLVMWindowsManifest.a libLLVMX86AsmParser.a libLLVMX86CodeGen.a libLLVMX86Desc.a libLLVMX86Disassembler.a libLLVMX86Info.a libLLVMX86Utils.a libLLVMXCoreCodeGen.a libLLVMXCoreDesc.a libLLVMXCoreDisassembler.a libLLVMXCoreInfo.a libLLVMXRay.a libLLVMipo.a libLTO.so libLTO.so.%%LLVM_MAJOR%% libRemarks.so libRemarks.so.9 lib/cmake/llvm/ AddLLVM.cmake AddLLVMDefinitions.cmake AddOCaml.cmake AddSphinxTarget.cmake CheckAtomic.cmake CheckCompilerVersion.cmake CheckLinkerFlag.cmake ChooseMSVCCRT.cmake CrossCompile.cmake DetermineGCCCompatible.cmake FindLibpfm.cmake FindOCaml.cmake FindSphinx.cmake FindZ3.cmake GenerateVersionFromVCS.cmake HandleLLVMOptions.cmake HandleLLVMStdlib.cmake LLVM-Config.cmake LLVMConfig.cmake LLVMConfigVersion.cmake LLVMDistributionSupport.cmake LLVMExports-%%CMAKE_BUILD_TYPE%%.cmake LLVMExports.cmake LLVMExternalProjectUtils.cmake LLVMInstallSymlink.cmake LLVMProcessSources.cmake TableGen.cmake UseLibtool.cmake VersionFromVCS.cmake share/opt-viewer/ opt-diff.py opt-stats.py opt-viewer.py optpmap.py optrecord.py style.css [FILE:515:patches/patch-CMakeLists.txt] --- CMakeLists.txt.orig 2019-08-26 12:31:37 UTC +++ CMakeLists.txt @@ -866,7 +866,7 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "(Fre if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS ) # special hack for Solaris to handle crazy system sys/regset.h - include_directories("${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Solaris") + # ravenports: Don't implement sys/regset.h workaround, fix source instead. endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS ) # Make sure we don't get -rdynamic in every binary. For those that need it, [FILE:463:patches/patch-cmake_config.guess] --- cmake/config.guess.orig 2017-07-21 22:48:47 UTC +++ cmake/config.guess @@ -340,7 +340,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:* | x86_64:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. [FILE:1213:patches/patch-cmake_modules_AddLLVM.cmake] --- cmake/modules/AddLLVM.cmake.orig 2019-07-12 14:40:18 UTC +++ cmake/modules/AddLLVM.cmake @@ -187,13 +187,9 @@ elseif(NOT WIN32) elseif("${stdout}" MATCHES "GNU ld") set(LLVM_LINKER_IS_GNULD YES) message(STATUS "Linker detection: GNU ld") - elseif("${stderr}" MATCHES "Solaris Link Editors" OR - "${stdout}" MATCHES "Solaris Link Editors") + else() set(LLVM_LINKER_IS_SOLARISLD YES) message(STATUS "Linker detection: Solaris ld") - else() - set(LLVM_LINKER_DETECTED NO) - message(STATUS "Linker detection: unknown") endif() endif() @@ -222,9 +218,6 @@ function(add_link_opts target_name) # ld64's implementation of -dead_strip breaks tools that use plugins. set_property(TARGET ${target_name} APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-dead_strip") - elseif(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") - set_property(TARGET ${target_name} APPEND_STRING PROPERTY - LINK_FLAGS " -Wl,-z -Wl,discard-unused=sections") elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD|AIX") # Object files are compiled with -ffunction-data-sections. [FILE:638:patches/patch-include_llvm-c_DataTypes.h] $NetBSD: patch-include_llvm-c_DataTypes.h,v 1.1 2019/01/26 21:17:20 tnn Exp $ Don't implement sys/regset.h workaround, fix source instead. --- include/llvm-c/DataTypes.h.orig 2019-01-19 08:50:56 UTC +++ include/llvm-c/DataTypes.h @@ -87,4 +87,27 @@ typedef signed int ssize_t; #define HUGE_VALF (float)HUGE_VAL #endif +#if defined(__sun) +#include +#undef CS +#undef DS +#undef ES +#undef FS +#undef GS +#undef SS +#undef EAX +#undef ECX +#undef EDX +#undef EBX +#undef ESP +#undef EBP +#undef ESI +#undef EDI +#undef EIP +#undef UESP +#undef EFL +#undef ERR +#undef TRAPNO +#endif + #endif /* LLVM_C_DATATYPES_H */ [FILE:483:patches/patch-include_llvm_Analysis_ConstantFolding.h] $NetBSD: patch-include_llvm_Analysis_ConstantFolding.h,v 1.1 2019/01/26 21:17:20 tnn Exp $ Fix SunOS CS conflict not handled by include/llvm-c/DataTypes.h --- include/llvm/Analysis/ConstantFolding.h.orig 2019-05-05 16:07:09 UTC +++ include/llvm/Analysis/ConstantFolding.h @@ -19,6 +19,10 @@ #ifndef LLVM_ANALYSIS_CONSTANTFOLDING_H #define LLVM_ANALYSIS_CONSTANTFOLDING_H +#ifdef __sun +#undef CS +#endif + namespace llvm { class APInt; template class ArrayRef; [FILE:410:patches/patch-lib_ObjectYAML_MachOYAML.cpp] --- lib/ObjectYAML/MachOYAML.cpp.orig 2019-01-19 08:50:56 UTC +++ lib/ObjectYAML/MachOYAML.cpp @@ -21,6 +21,18 @@ #include #include +#ifdef __sun__ +static size_t +strnlen(const char *s, size_t maxlen) +{ + size_t len; + for (len = 0; len < maxlen; len++, s++) { + if (!*s) break; + } + return (len); +} +#endif + namespace llvm { MachOYAML::LoadCommand::~LoadCommand() = default; [FILE:432:patches/patch-tools_llvm-objcopy_MachO_MachOReader.cpp] --- tools/llvm-objcopy/MachO/MachOReader.cpp.orig 2019-06-24 23:39:01 UTC +++ tools/llvm-objcopy/MachO/MachOReader.cpp @@ -13,6 +13,18 @@ #include "llvm/Object/MachO.h" #include +#ifdef __sun__ +static size_t +strnlen(const char *s, size_t maxlen) +{ + size_t len; + for (len = 0; len < maxlen; len++, s++) { + if (!*s) break; + } + return (len); +} +#endif + namespace llvm { namespace objcopy { namespace macho { [FILE:442:patches/patch-tools_llvm-readobj_ObjDumper.cpp] --- tools/llvm-readobj/ObjDumper.cpp.orig 2019-06-18 14:01:03 UTC +++ tools/llvm-readobj/ObjDumper.cpp @@ -21,6 +21,18 @@ #include "llvm/Support/raw_ostream.h" #include +#ifdef __sun__ +static size_t +strnlen(const char *s, size_t maxlen) +{ + size_t len; + for (len = 0; len < maxlen; len++, s++) { + if (!*s) break; + } + return (len); +} +#endif + namespace llvm { ObjDumper::ObjDumper(ScopedPrinter &Writer) : W(Writer) {} [FILE:1707:patches/patch-tools_llvm-shlib_CMakeLists.txt] $NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.6 2019/01/26 21:17:20 tnn Exp $ Use the Linux style linking everywhere except Darwin and SunOS. --- tools/llvm-shlib/CMakeLists.txt.orig 2019-08-29 08:58:14 UTC +++ tools/llvm-shlib/CMakeLists.txt @@ -45,13 +45,11 @@ if(LLVM_BUILD_LLVM_DYLIB) add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${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 "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 "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) @@ -62,8 +60,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() target_link_libraries(LLVM PRIVATE ${LIB_NAMES}) [FILE:384:patches/patch-tools_obj2yaml_macho2yaml.cpp] --- tools/obj2yaml/macho2yaml.cpp.orig 2019-01-19 08:50:56 UTC +++ tools/obj2yaml/macho2yaml.cpp @@ -16,6 +16,18 @@ #include // for memcpy +#ifdef __sun__ +static size_t +strnlen(const char *s, size_t maxlen) +{ + size_t len; + for (len = 0; len < maxlen; len++, s++) { + if (!*s) break; + } + return (len); +} +#endif + using namespace llvm; class MachODumper {