1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Low Level Virtual Machine (version 9.0)
8 HOMEPAGE= http://llvm.org/
12 SITES[main]= https://github.com/llvm/llvm-project/releases/download/llvmorg-9.0.0/
13 http://llvm.org/releases/9.0.0/
14 DISTFILE[1]= llvm-9.0.0.src.tar.xz:main
16 SPKGS[standard]= single
18 OPTIONS_AVAILABLE= GOLD
19 OPTIONS_STANDARD= GOLD
20 OPT_ON[freebsd]= GOLD//x86_64
21 OPT_ON[linux]= GOLD//x86_64
22 OPT_ON[dragonfly]= GOLD//x86_64
24 USES= cmake ninja ncurses python:build execinfo zlib
26 GNOME_COMPONENTS= libxml2
28 DISTNAME= llvm-9.0.0.src
30 LICENSE= CUSTOM1:single
31 LICENSE_NAME= CUSTOM1:"University of Illinois/NCSA Open Source License"
32 LICENSE_FILE= CUSTOM1:{{WRKSRC}}/LICENSE.TXT
35 CMAKE_BUILD_TYPE= Release
36 FPC_EQUIVALENT= devel/llvm70
37 SHEBANG_FILES= utils/llvm-lit/llvm-lit.in
40 PLIST_SUB= LLVM_RELEASE="9.0.0"
44 CMAKE_ARGS= -DLLVM_BUILD_LLVM_DYLIB=ON
45 -DCMAKE_INSTALL_RPATH:STRING="{{LOCALBASE}}/llvm/lib"
46 -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
47 -DLLVM_HOST_TRIPLE:STRING="{{CONFIGURE_TARGET}}"
48 -DLLVM_PARALLEL_LINK_JOBS=1
49 -DLLVM_PARALLEL_COMPILE_JOBS={{MAKE_JOBS_NUMBER}}
50 -DLLVM_INCLUDE_TESTS:BOOL=OFF
51 -DLLVM_INCLUDE_EXAMPLES:BOOL=OFF
52 -DLLVM_BUILD_32_BITS:BOOL=OFF
53 -DLLVM_INSTALL_UTILS:BOOL=ON
54 -DLLVM_ENABLE_RTTI:BOOL=ON
55 -DLLVM_ENABLE_EH:BOOL=ON
57 [GOLD].DESCRIPTION= Build the LLVM Gold plugin for LTO
58 [GOLD].CMAKE_ARGS_ON= -DLLVM_BINUTILS_INCDIR={{LOCALBASE}}/toolchain/include
59 -DLLVM_USE_LINKER=gold
62 ${REINPLACE_CMD} -e "s|/usr/local|${PREFIX}|g" \
63 ${WRKSRC}/CMakeLists.txt
66 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/LLVMgold.so
69 ${RM} -r ${STAGEDIR}${PREFIX}/include/llvm/MC/MCAnalysis
70 ${RM} -r ${STAGEDIR}${PREFIX}/include/llvm/BinaryFormat/WasmRelocs
71 ${RM} -r ${STAGEDIR}${PREFIX}/include/llvm/TextAPI/MachO
72 # don't use llvm-strip yet, it doesn't work on SunOS or MacOS
73 .for F in bugpoint dsymutil llc lli llvm-ar llvm-as llvm-bcanalyzer \
74 llvm-c-test llvm-cat llvm-cfi-verify llvm-config llvm-cov \
75 llvm-cvtres llvm-cxxdump llvm-cxxfilt llvm-cxxmap llvm-diff llvm-dis \
76 llvm-dwarfdump llvm-dwp llvm-elfabi llvm-exegesis llvm-extract \
77 llvm-link llvm-lto llvm-lto2 llvm-mc llvm-mca llvm-modextract llvm-mt \
78 llvm-nm llvm-objcopy llvm-objdump llvm-opt-report llvm-pdbutil \
79 llvm-profdata llvm-rc llvm-readobj llvm-rtdyld llvm-size \
80 llvm-split llvm-stress llvm-strings llvm-symbolizer llvm-tblgen \
81 llvm-undname llvm-xray llvm-jitlink llvm-lipo \
82 obj2yaml opt sancov sanstats \
83 verify-uselistorder yaml2obj FileCheck count not yaml-bench \
84 lli-child-target llvm-PerfectShuffle
85 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${F}
87 .for F in libLLVM-9.so libLTO.so.9 libRemarks.so.9
88 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${F}
91 [FILE:834:descriptions/desc.single]
92 The LLVM Project is a collection of modular and reusable compiler and
93 toolchain technologies. Despite its name, LLVM has little to do with
94 traditional virtual machines, though it does provide helpful libraries
95 that can be used to build them. The name "LLVM" itself is not an
96 acronym; it is the full name of the project.
98 This package contains the LLVM Core libraries which provide a modern
99 source- and target-independent optimizer, along with code generation
100 support for many popular CPUs (as well as some less common ones!)
101 These libraries are built around a well specified code representation
102 known as the LLVM intermediate representation ("LLVM IR"). The LLVM
103 Core libraries are well documented, and it is particularly easy to
104 invent your own language (or port an existing compiler) to use LLVM
105 as an optimizer and code generator.
109 d6a0565cf21f22e9b4353b2eb92622e8365000a9e90a16b09b56f8157eabfe84 32994768 llvm-9.0.0.src.tar.xz
112 [FILE:31057:manifests/plist.single]
113 %%GOLD-ON%%lib/LLVMgold.so
187 PassAnalysisSupport.h
216 include/llvm-c/Transforms/
217 AggressiveInstCombine.h
234 BreadthFirstIterator.h
304 include/llvm/Analysis/
306 AliasAnalysisEvaluator.h
311 BlockFrequencyInfoImpl.h
312 BranchProbabilityInfo.h
315 CFLAliasAnalysisUtils.h
316 CFLAndersAliasAnalysis.h
317 CFLSteensAliasAnalysis.h
333 DominanceFrontierImpl.h
339 IndirectCallPromotionAnalysis.h
340 IndirectCallVisitor.h
342 InstructionPrecedenceTracking.h
343 InstructionSimplify.h
347 IteratedDominanceFrontier.h
348 LazyBlockFrequencyInfo.h
349 LazyBranchProbabilityInfo.h
352 LegacyDivergenceAnalysis.h
356 LoopAnalysisManager.h
363 MemoryDependenceAnalysis.h
367 ModuleSummaryAnalysis.h
369 ObjCARCAliasAnalysis.h
370 ObjCARCAnalysisUtils.h
372 OptimizationRemarkEmitter.h
374 OrderedInstructions.h
387 ScalarEvolutionAliasAnalysis.h
388 ScalarEvolutionExpander.h
389 ScalarEvolutionExpressions.h
390 ScalarEvolutionNormalization.h
393 StackSafetyAnalysis.h
394 SyncDependenceAnalysis.h
395 SyntheticCountsUtils.h
397 TargetLibraryInfo.def
399 TargetTransformInfo.h
400 TargetTransformInfoImpl.h
402 TypeBasedAliasAnalysis.h
409 include/llvm/Analysis/Utils/Local.h
410 include/llvm/AsmParser/
413 include/llvm/BinaryFormat/
414 AMDGPUMetadataVerifier.h
424 MinidumpConstants.def
433 include/llvm/BinaryFormat/ELFRelocs/
451 include/llvm/Bitcode/
457 include/llvm/Bitstream/
461 include/llvm/CodeGen/
478 DbgEntityHistoryCalculator.h
480 DwarfStringPoolEntry.h
486 FunctionLoweringInfo.h
492 LatencyPriorityQueue.h
493 LazyMachineBlockFrequencyInfo.h
495 LinkAllAsmWriterComponents.h
496 LinkAllCodegenComponents.h
512 MachineBlockFrequencyInfo.h
513 MachineBranchProbabilityInfo.h
514 MachineCombinerPattern.h
515 MachineConstantPool.h
516 MachineDominanceFrontier.h
520 MachineFunctionPass.h
522 MachineInstrBuilder.h
524 MachineInstrBundleIterator.h
525 MachineJumpTableInfo.h
529 MachineModuleInfoImpls.h
531 MachineOptimizationRemarkEmitter.h
533 MachinePassRegistry.h
535 MachinePostDominators.h
537 MachineRegisterInfo.h
540 MachineTraceMetrics.h
545 PreISelIntrinsicLowering.h
547 ReachingDefAnalysis.h
555 ResourcePriorityQueue.h
560 ScheduleDAGMutation.h
562 ScheduleHazardRecognizer.h
564 ScoreboardHazardRecognizer.h
566 SelectionDAGAddressAnalysis.h
569 SelectionDAGTargetInfo.h
573 SwiftErrorValueTracking.h
574 SwitchLoweringUtils.h
577 TargetFrameLowering.h
580 TargetLoweringObjectFileImpl.h
585 TargetSubtargetInfo.h
586 UnreachableBlockElim.h
592 include/llvm/CodeGen/GlobalISel/
599 ConstantFoldingMIRBuilder.h
600 GISelChangeObserver.h
604 InstructionSelector.h
605 InstructionSelectorImpl.h
606 LegalizationArtifactCombiner.h
618 include/llvm/CodeGen/MIRParser/
621 include/llvm/CodeGen/PBQP/
634 include/llvm/DebugInfo/DIContext.h
635 include/llvm/DebugInfo/CodeView/
636 AppendingTypeTableBuilder.h
643 CodeViewRegisters.def
646 ContinuationRecordBuilder.h
647 DebugChecksumsSubsection.h
648 DebugCrossExSubsection.h
649 DebugCrossImpSubsection.h
650 DebugFrameDataSubsection.h
651 DebugInlineeLinesSubsection.h
652 DebugLinesSubsection.h
653 DebugStringTableSubsection.h
655 DebugSubsectionRecord.h
656 DebugSubsectionVisitor.h
657 DebugSymbolRVASubsection.h
658 DebugSymbolsSubsection.h
659 DebugUnknownSubsection.h
664 GlobalTypeTableBuilder.h
665 LazyRandomTypeCollection.h
667 MergingTypeTableBuilder.h
669 RecordSerialization.h
670 SimpleTypeSerializer.h
671 StringsAndChecksums.h
676 SymbolRecordHelpers.h
677 SymbolRecordMapping.h
679 SymbolVisitorCallbackPipeline.h
680 SymbolVisitorCallbacks.h
681 SymbolVisitorDelegate.h
693 TypeTableCollection.h
694 TypeVisitorCallbackPipeline.h
695 TypeVisitorCallbacks.h
696 include/llvm/DebugInfo/DWARF/
697 DWARFAbbreviationDeclaration.h
698 DWARFAcceleratorTable.h
706 DWARFDebugArangeSet.h
709 DWARFDebugInfoEntry.h
714 DWARFDebugRangeList.h
728 include/llvm/DebugInfo/GSYM/
735 include/llvm/DebugInfo/MSF/
741 include/llvm/DebugInfo/PDB/
742 ConcreteSymbolEnumerator.h
759 PDBSymbolAnnotation.h
762 PDBSymbolCompilandDetails.h
763 PDBSymbolCompilandEnv.h
768 PDBSymbolFuncDebugEnd.h
769 PDBSymbolFuncDebugStart.h
771 PDBSymbolPublicSymbol.h
774 PDBSymbolTypeBaseClass.h
775 PDBSymbolTypeBuiltin.h
776 PDBSymbolTypeCustom.h
777 PDBSymbolTypeDimension.h
779 PDBSymbolTypeFriend.h
780 PDBSymbolTypeFunctionArg.h
781 PDBSymbolTypeFunctionSig.h
782 PDBSymbolTypeManaged.h
783 PDBSymbolTypePointer.h
784 PDBSymbolTypeTypedef.h
786 PDBSymbolTypeVTable.h
787 PDBSymbolTypeVTableShape.h
789 PDBSymbolUsingNamespace.h
792 include/llvm/DebugInfo/PDB/DIA/
794 DIAEnumDebugStreams.h
796 DIAEnumInjectedSources.h
798 DIAEnumSectionContribs.h
813 include/llvm/DebugInfo/PDB/Native/
814 DbiModuleDescriptor.h
815 DbiModuleDescriptorBuilder.h
825 ISectionContribVisitor.h
828 InjectedSourceStream.h
831 NativeCompilandSymbol.h
833 NativeEnumInjectedSources.h
839 NativeSymbolEnumerator.h
843 NativeTypeFunctionSig.h
851 PDBStringTableBuilder.h
861 include/llvm/DebugInfo/Symbolize/
865 include/llvm/Demangle/
870 MicrosoftDemangleNodes.h
873 include/llvm/ExecutionEngine/
882 OrcMCJITReplacement.h
884 RTDyldMemoryManager.h
887 SectionMemoryManager.h
888 include/llvm/ExecutionEngine/JITLink/
891 JITLinkMemoryManager.h
894 include/llvm/ExecutionEngine/Orc/
895 CompileOnDemandLayer.h
903 JITTargetMachineBuilder.h
912 ObjectTransformLayer.h
915 OrcRemoteTargetClient.h
916 OrcRemoteTargetRPCAPI.h
917 OrcRemoteTargetServer.h
920 RTDyldObjectLinkingLayer.h
925 include/llvm/FuzzMutate/
934 AssemblyAnnotationWriter.h
963 GetElementPtrTypeIterator.h
966 GlobalIndirectSymbol.h
994 IntrinsicsWebAssembly.td
1000 LegacyPassNameParser.h
1007 ModuleSummaryIndex.h
1008 ModuleSummaryIndexYAML.h
1013 PassInstrumentation.h
1015 PassManagerInternal.h
1022 SafepointIRVerifier.h
1024 SymbolTableListTraits.h
1037 include/llvm/IRReader/IRReader.h
1043 SummaryBasedOptimizations.h
1044 include/llvm/LTO/legacy/
1047 ThinLTOCodeGenerator.h
1048 UpdateCompilerUsed.h
1049 include/llvm/LineEditor/LineEditor.h
1050 include/llvm/Linker/
1075 MCFixedLenDisassembler.h
1085 MCInstrItineraries.h
1087 MCLinkerOptimizationHint.h
1088 MCMachObjectWriter.h
1109 MCTargetOptionsCommandFlags.inc
1111 MCWasmObjectWriter.h
1114 MCWinCOFFObjectWriter.h
1117 MCXCOFFObjectWriter.h
1121 StringTableBuilder.h
1123 include/llvm/MC/MCDisassembler/
1125 MCExternalSymbolizer.h
1128 include/llvm/MC/MCParser/
1133 MCAsmParserExtension.h
1135 MCParsedAsmOperand.h
1145 include/llvm/MCA/HardwareUnits/
1152 include/llvm/MCA/Stages/
1160 include/llvm/Object/
1166 COFFModuleDefinition.h
1180 RelocationResolver.h
1186 WindowsMachineFlag.h
1189 include/llvm/ObjectYAML/
1191 CodeViewYAMLDebugSections.h
1192 CodeViewYAMLSymbols.h
1193 CodeViewYAMLTypeHashing.h
1204 include/llvm/Option/
1211 include/llvm/Passes/
1214 StandardInstrumentations.h
1215 include/llvm/ProfileData/
1225 include/llvm/ProfileData/Coverage/
1227 CoverageMappingReader.h
1228 CoverageMappingWriter.h
1229 include/llvm/Remarks/
1235 include/llvm/Support/
1236 AArch64TargetParser.def
1237 AArch64TargetParser.h
1239 AMDHSAKernelDescriptor.h
1240 ARMAttributeParser.h
1241 ARMBuildAttributes.h
1256 BinaryStreamReader.h
1258 BinaryStreamWriter.h
1277 CrashRecoveryContext.h
1301 FormatVariadicDetails.h
1304 GenericDomTreeConstruction.h
1305 GenericIteratedDominanceFrontier.h
1310 ItaniumManglingCanonicalizer.h
1321 MSVCErrorWorkarounds.h
1337 PointerLikeTypeTraits.h
1343 RandomNumberGenerator.h
1345 RecyclingAllocator.h
1358 SmallVectorMemoryBuffer.h
1364 SymbolRemappingReader.h
1392 X86DisassemblerDecoderCommon.h
1396 circular_raw_ostream.h
1403 include/llvm/Support/Solaris/sys/regset.h
1404 include/llvm/TableGen/
1411 StringToOffsetTable.h
1413 include/llvm/Target/
1417 TargetCallingConv.td
1418 TargetInstrPredicate.td
1419 TargetIntrinsicInfo.h
1421 TargetLoweringObjectFile.h
1424 TargetPfmCounters.td
1426 TargetSelectionDAG.td
1427 include/llvm/Target/GlobalISel/
1429 SelectionDAGCompat.td
1431 include/llvm/Testing/Support/
1435 include/llvm/TextAPI/ELF/
1438 include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h
1439 include/llvm/ToolDrivers/llvm-lib/LibDriver.h
1440 include/llvm/Transforms/
1448 include/llvm/Transforms/AggressiveInstCombine/AggressiveInstCombine.h
1449 include/llvm/Transforms/IPO/
1453 CalledValuePropagation.h
1456 DeadArgumentElimination.h
1458 ForceFunctionAttrs.h
1465 InferFunctionAttrs.h
1470 PassManagerBuilder.h
1473 StripDeadPrototypes.h
1474 SyntheticCountsPropagation.h
1475 ThinLTOBitcodeWriter.h
1476 WholeProgramDevirt.h
1477 include/llvm/Transforms/InstCombine/
1479 InstCombineWorklist.h
1480 include/llvm/Transforms/Instrumentation/
1484 ControlHeightReduction.h
1486 HWAddressSanitizer.h
1490 PGOInstrumentation.h
1493 include/llvm/Transforms/Scalar/
1495 AlignmentFromAssumptions.h
1499 CorrelatedValuePropagation.h
1501 DeadStoreElimination.h
1510 InductiveRangeCheckElimination.h
1514 LoopAccessAnalysisPrinter.h
1519 LoopIdiomRecognize.h
1521 LoopLoadElimination.h
1527 LoopStrengthReduce.h
1528 LoopUnrollAndJamPass.h
1531 LowerExpectIntrinsic.h
1532 LowerGuardIntrinsic.h
1533 LowerWidenableCondition.h
1534 MakeGuardsExplicit.h
1537 MergedLoadStoreMotion.h
1540 PartiallyInlineLibCalls.h
1542 RewriteStatepointsForGC.h
1546 SimpleLoopUnswitch.h
1549 SpeculateAroundPHIs.h
1550 SpeculativeExecution.h
1551 TailRecursionElimination.h
1552 WarnMissedTransforms.h
1553 include/llvm/Transforms/Utils/
1554 ASanStackFrameLayout.h
1557 BreakCriticalEdges.h
1559 BypassSlowDivision.h
1560 CallPromotionUtils.h
1561 CanonicalizeAliases.h
1565 EntryExitInstrumenter.h
1568 FunctionComparator.h
1569 FunctionImportUtils.h
1572 ImportedFunctionsInliningStatistics.h
1575 LibCallsShrinkWrap.h
1582 LowerMemIntrinsics.h
1597 UnifyFunctionExitNodes.h
1601 include/llvm/Transforms/Vectorize/
1602 LoadStoreVectorizer.h
1603 LoopVectorizationLegality.h
1606 include/llvm/WindowsManifest/WindowsManifestMerger.h
1607 include/llvm/WindowsResource/
1609 ResourceScriptToken.h
1610 ResourceScriptTokenList.h
1623 InstrumentationMap.h
1630 libLLVM-%%LLVM_MAJOR%%.so
1631 libLLVM-%%LLVM_RELEASE%%.so
1633 libLLVMAArch64AsmParser.a
1634 libLLVMAArch64CodeGen.a
1635 libLLVMAArch64Desc.a
1636 libLLVMAArch64Disassembler.a
1637 libLLVMAArch64Info.a
1638 libLLVMAArch64Utils.a
1639 libLLVMAMDGPUAsmParser.a
1640 libLLVMAMDGPUCodeGen.a
1642 libLLVMAMDGPUDisassembler.a
1644 libLLVMAMDGPUUtils.a
1645 libLLVMARMAsmParser.a
1648 libLLVMARMDisassembler.a
1651 libLLVMAggressiveInstCombine.a
1655 libLLVMBPFAsmParser.a
1658 libLLVMBPFDisassembler.a
1660 libLLVMBinaryFormat.a
1663 libLLVMBitstreamReader.a
1668 libLLVMDebugInfoCodeView.a
1669 libLLVMDebugInfoDWARF.a
1670 libLLVMDebugInfoGSYM.a
1671 libLLVMDebugInfoMSF.a
1672 libLLVMDebugInfoPDB.a
1674 libLLVMDlltoolDriver.a
1675 libLLVMExecutionEngine.a
1678 libLLVMHexagonAsmParser.a
1679 libLLVMHexagonCodeGen.a
1680 libLLVMHexagonDesc.a
1681 libLLVMHexagonDisassembler.a
1682 libLLVMHexagonInfo.a
1684 libLLVMInstCombine.a
1685 libLLVMInstrumentation.a
1686 libLLVMInterpreter.a
1689 libLLVMLanaiAsmParser.a
1690 libLLVMLanaiCodeGen.a
1692 libLLVMLanaiDisassembler.a
1699 libLLVMMCDisassembler.a
1703 libLLVMMSP430AsmParser.a
1704 libLLVMMSP430CodeGen.a
1706 libLLVMMSP430Disassembler.a
1708 libLLVMMipsAsmParser.a
1709 libLLVMMipsCodeGen.a
1711 libLLVMMipsDisassembler.a
1713 libLLVMNVPTXCodeGen.a
1716 libLLVMObjCARCOpts.a
1722 libLLVMPowerPCAsmParser.a
1723 libLLVMPowerPCCodeGen.a
1724 libLLVMPowerPCDesc.a
1725 libLLVMPowerPCDisassembler.a
1726 libLLVMPowerPCInfo.a
1727 libLLVMProfileData.a
1728 libLLVMRISCVAsmParser.a
1729 libLLVMRISCVCodeGen.a
1731 libLLVMRISCVDisassembler.a
1735 libLLVMRuntimeDyld.a
1737 libLLVMSelectionDAG.a
1738 libLLVMSparcAsmParser.a
1739 libLLVMSparcCodeGen.a
1741 libLLVMSparcDisassembler.a
1745 libLLVMSystemZAsmParser.a
1746 libLLVMSystemZCodeGen.a
1747 libLLVMSystemZDesc.a
1748 libLLVMSystemZDisassembler.a
1749 libLLVMSystemZInfo.a
1753 libLLVMTransformUtils.a
1755 libLLVMWebAssemblyAsmParser.a
1756 libLLVMWebAssemblyCodeGen.a
1757 libLLVMWebAssemblyDesc.a
1758 libLLVMWebAssemblyDisassembler.a
1759 libLLVMWebAssemblyInfo.a
1760 libLLVMWindowsManifest.a
1761 libLLVMX86AsmParser.a
1764 libLLVMX86Disassembler.a
1767 libLLVMXCoreCodeGen.a
1769 libLLVMXCoreDisassembler.a
1774 libLTO.so.%%LLVM_MAJOR%%
1779 AddLLVMDefinitions.cmake
1781 AddSphinxTarget.cmake
1783 CheckCompilerVersion.cmake
1784 CheckLinkerFlag.cmake
1787 DetermineGCCCompatible.cmake
1792 GenerateVersionFromVCS.cmake
1793 HandleLLVMOptions.cmake
1794 HandleLLVMStdlib.cmake
1797 LLVMConfigVersion.cmake
1798 LLVMDistributionSupport.cmake
1799 LLVMExports-%%CMAKE_BUILD_TYPE%%.cmake
1801 LLVMExternalProjectUtils.cmake
1802 LLVMInstallSymlink.cmake
1803 LLVMProcessSources.cmake
1806 VersionFromVCS.cmake
1816 [FILE:515:patches/patch-CMakeLists.txt]
1817 --- CMakeLists.txt.orig 2019-08-26 12:31:37 UTC
1819 @@ -866,7 +866,7 @@ endif(${CMAKE_SYSTEM_NAME} MATCHES "(Fre
1821 if( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
1822 # special hack for Solaris to handle crazy system sys/regset.h
1823 - include_directories("${LLVM_MAIN_INCLUDE_DIR}/llvm/Support/Solaris")
1824 + # ravenports: Don't implement sys/regset.h workaround, fix source instead.
1825 endif( ${CMAKE_SYSTEM_NAME} MATCHES SunOS )
1827 # Make sure we don't get -rdynamic in every binary. For those that need it,
1830 [FILE:463:patches/patch-cmake_config.guess]
1831 --- cmake/config.guess.orig 2017-07-21 22:48:47 UTC
1832 +++ cmake/config.guess
1833 @@ -340,7 +340,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
1834 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
1835 echo i386-pc-auroraux${UNAME_RELEASE}
1837 - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
1838 + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:* | x86_64:SunOS:5.*:*)
1839 eval $set_cc_for_build
1841 # If there is a compiler, see if it is configured for 64-bit objects.
1844 [FILE:1213:patches/patch-cmake_modules_AddLLVM.cmake]
1845 --- cmake/modules/AddLLVM.cmake.orig 2019-07-12 14:40:18 UTC
1846 +++ cmake/modules/AddLLVM.cmake
1847 @@ -187,13 +187,9 @@ elseif(NOT WIN32)
1848 elseif("${stdout}" MATCHES "GNU ld")
1849 set(LLVM_LINKER_IS_GNULD YES)
1850 message(STATUS "Linker detection: GNU ld")
1851 - elseif("${stderr}" MATCHES "Solaris Link Editors" OR
1852 - "${stdout}" MATCHES "Solaris Link Editors")
1854 set(LLVM_LINKER_IS_SOLARISLD YES)
1855 message(STATUS "Linker detection: Solaris ld")
1857 - set(LLVM_LINKER_DETECTED NO)
1858 - message(STATUS "Linker detection: unknown")
1862 @@ -222,9 +218,6 @@ function(add_link_opts target_name)
1863 # ld64's implementation of -dead_strip breaks tools that use plugins.
1864 set_property(TARGET ${target_name} APPEND_STRING PROPERTY
1865 LINK_FLAGS " -Wl,-dead_strip")
1866 - elseif(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
1867 - set_property(TARGET ${target_name} APPEND_STRING PROPERTY
1868 - LINK_FLAGS " -Wl,-z -Wl,discard-unused=sections")
1869 elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD AND
1870 NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD|AIX")
1871 # Object files are compiled with -ffunction-data-sections.
1874 [FILE:638:patches/patch-include_llvm-c_DataTypes.h]
1875 $NetBSD: patch-include_llvm-c_DataTypes.h,v 1.1 2019/01/26 21:17:20 tnn Exp $
1877 Don't implement sys/regset.h workaround, fix source instead.
1879 --- include/llvm-c/DataTypes.h.orig 2019-01-19 08:50:56 UTC
1880 +++ include/llvm-c/DataTypes.h
1881 @@ -87,4 +87,27 @@ typedef signed int ssize_t;
1882 #define HUGE_VALF (float)HUGE_VAL
1886 +#include <sys/regset.h>
1908 #endif /* LLVM_C_DATATYPES_H */
1911 [FILE:483:patches/patch-include_llvm_Analysis_ConstantFolding.h]
1912 $NetBSD: patch-include_llvm_Analysis_ConstantFolding.h,v 1.1 2019/01/26 21:17:20 tnn Exp $
1914 Fix SunOS CS conflict not handled by include/llvm-c/DataTypes.h
1916 --- include/llvm/Analysis/ConstantFolding.h.orig 2019-05-05 16:07:09 UTC
1917 +++ include/llvm/Analysis/ConstantFolding.h
1919 #ifndef LLVM_ANALYSIS_CONSTANTFOLDING_H
1920 #define LLVM_ANALYSIS_CONSTANTFOLDING_H
1928 template <typename T> class ArrayRef;
1931 [FILE:410:patches/patch-lib_ObjectYAML_MachOYAML.cpp]
1932 --- lib/ObjectYAML/MachOYAML.cpp.orig 2019-01-19 08:50:56 UTC
1933 +++ lib/ObjectYAML/MachOYAML.cpp
1940 +strnlen(const char *s, size_t maxlen)
1943 + for (len = 0; len < maxlen; len++, s++) {
1952 MachOYAML::LoadCommand::~LoadCommand() = default;
1955 [FILE:432:patches/patch-tools_llvm-objcopy_MachO_MachOReader.cpp]
1956 --- tools/llvm-objcopy/MachO/MachOReader.cpp.orig 2019-06-24 23:39:01 UTC
1957 +++ tools/llvm-objcopy/MachO/MachOReader.cpp
1959 #include "llvm/Object/MachO.h"
1964 +strnlen(const char *s, size_t maxlen)
1967 + for (len = 0; len < maxlen; len++, s++) {
1979 [FILE:442:patches/patch-tools_llvm-readobj_ObjDumper.cpp]
1980 --- tools/llvm-readobj/ObjDumper.cpp.orig 2019-06-18 14:01:03 UTC
1981 +++ tools/llvm-readobj/ObjDumper.cpp
1983 #include "llvm/Support/raw_ostream.h"
1988 +strnlen(const char *s, size_t maxlen)
1991 + for (len = 0; len < maxlen; len++, s++) {
2000 ObjDumper::ObjDumper(ScopedPrinter &Writer) : W(Writer) {}
2003 [FILE:1707:patches/patch-tools_llvm-shlib_CMakeLists.txt]
2004 $NetBSD: patch-tools_llvm-shlib_CMakeLists.txt,v 1.6 2019/01/26 21:17:20 tnn Exp $
2006 Use the Linux style linking everywhere except Darwin and SunOS.
2008 --- tools/llvm-shlib/CMakeLists.txt.orig 2019-08-29 08:58:14 UTC
2009 +++ tools/llvm-shlib/CMakeLists.txt
2010 @@ -45,13 +45,11 @@ if(LLVM_BUILD_LLVM_DYLIB)
2011 add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${INSTALL_WITH_TOOLCHAIN} ${SOURCES})
2013 list(REMOVE_DUPLICATES LIB_NAMES)
2014 - if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
2015 - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
2016 - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU")
2017 - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
2018 - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
2019 - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")
2020 - OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")) # FIXME: It should be "GNU ld for elf"
2021 + if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
2022 + set(LIB_NAMES -Wl,-all_load ${LIB_NAMES})
2023 + elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")
2024 + set(LIB_NAMES -Wl,-Bsymbolic -Wl,-z -Wl,allextract ${LIB_NAMES} -Wl,-z -Wl,defaultextract)
2027 ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in
2028 ${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map)
2029 @@ -62,8 +60,6 @@ if(LLVM_BUILD_LLVM_DYLIB)
2030 # Solaris ld does not accept global: *; so there is no way to version *all* global symbols
2031 set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map ${LIB_NAMES})
2033 - elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
2034 - set(LIB_NAMES -Wl,-all_load ${LIB_NAMES})
2037 target_link_libraries(LLVM PRIVATE ${LIB_NAMES})
2040 [FILE:384:patches/patch-tools_obj2yaml_macho2yaml.cpp]
2041 --- tools/obj2yaml/macho2yaml.cpp.orig 2019-01-19 08:50:56 UTC
2042 +++ tools/obj2yaml/macho2yaml.cpp
2045 #include <string.h> // for memcpy
2049 +strnlen(const char *s, size_t maxlen)
2052 + for (len = 0; len < maxlen; len++, s++) {
2059 using namespace llvm;