diff options
Diffstat (limited to 'lang/clang')
-rw-r--r-- | lang/clang/Makefile | 3 | ||||
-rw-r--r-- | lang/clang/Makefile.common | 7 | ||||
-rw-r--r-- | lang/clang/PLIST | 45 | ||||
-rw-r--r-- | lang/clang/buildlink3.mk | 4 | ||||
-rw-r--r-- | lang/clang/distinfo | 18 | ||||
-rw-r--r-- | lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h | 19 | ||||
-rw-r--r-- | lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp | 120 | ||||
-rw-r--r-- | lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.h | 18 | ||||
-rw-r--r-- | lang/clang/patches/patch-lib_Frontend_InitHeaderSearch.cpp | 8 |
9 files changed, 120 insertions, 122 deletions
diff --git a/lang/clang/Makefile b/lang/clang/Makefile index 9e927b8baeb..c51df51876e 100644 --- a/lang/clang/Makefile +++ b/lang/clang/Makefile @@ -1,7 +1,6 @@ -# $NetBSD: Makefile,v 1.45 2018/10/24 21:12:59 maya Exp $ +# $NetBSD: Makefile,v 1.46 2018/12/09 20:04:38 adam Exp $ PKGNAME= ${DISTNAME:S/.src//:S/cfe/clang/} -PKGREVISION= 1 PYTHON_FOR_BUILD_ONLY= yes CMAKE_ARGS+= -DCLANG_ENABLE_STATIC_ANALYZER=OFF diff --git a/lang/clang/Makefile.common b/lang/clang/Makefile.common index 0cdba109227..2f6b255d673 100644 --- a/lang/clang/Makefile.common +++ b/lang/clang/Makefile.common @@ -1,8 +1,8 @@ -# $NetBSD: Makefile.common,v 1.28 2018/08/09 14:56:41 jperkin Exp $ +# $NetBSD: Makefile.common,v 1.29 2018/12/09 20:04:38 adam Exp $ # used by lang/clang/Makefile # used by lang/clang-static-analyzer/Makefile -DISTNAME= cfe-6.0.1.src +DISTNAME= cfe-7.0.0.src CATEGORIES= lang devel MASTER_SITES= http://llvm.org/releases/${PKGVERSION_NOREV}/ EXTRACT_SUFX= .tar.xz @@ -65,6 +65,7 @@ REPLACE_PYTHON+= utils/analyzer/ubiviz REPLACE_PYTHON+= utils/check_cfc/check_cfc.py REPLACE_PYTHON+= utils/check_cfc/obj_diff.py REPLACE_PYTHON+= utils/check_cfc/test_check_cfc.py +REPLACE_PYTHON+= utils/hmaptool/hmaptool REPLACE_PYTHON+= utils/token-delta.py REPLACE_PYTHON+= www/builtins.py @@ -129,7 +130,7 @@ CMAKE_ARGS+= -DCLANG_INCLUDE_TESTS=OFF .endif post-extract: - ${RUN} mkdir -p ${WRKDIR}/build + ${MKDIR} ${WRKDIR}/build .include "../../textproc/libxml2/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" diff --git a/lang/clang/PLIST b/lang/clang/PLIST index c42da70587d..647fcefcb6b 100644 --- a/lang/clang/PLIST +++ b/lang/clang/PLIST @@ -1,8 +1,8 @@ -@comment $NetBSD: PLIST,v 1.24 2018/08/07 10:44:50 adam Exp $ +@comment $NetBSD: PLIST,v 1.25 2018/12/09 20:04:38 adam Exp $ bin/c-index-test bin/clang bin/clang++ -bin/clang-6.0 +bin/clang-7 bin/clang-cl bin/clang-cpp bin/clang-format @@ -10,7 +10,9 @@ bin/clang-import-test bin/clang-offload-bundler bin/clang-refactor bin/clang-rename +bin/diagtool bin/git-clang-format +bin/hmaptool include/clang-c/BuildSystem.h include/clang-c/CXCompilationDatabase.h include/clang-c/CXErrorCode.h @@ -60,6 +62,7 @@ include/clang/AST/CommentNodes.inc include/clang/AST/CommentParser.h include/clang/AST/CommentSema.h include/clang/AST/CommentVisitor.h +include/clang/AST/ComparisonCategories.h include/clang/AST/DataCollection.h include/clang/AST/Decl.h include/clang/AST/DeclAccessPair.h @@ -91,11 +94,13 @@ include/clang/AST/Mangle.h include/clang/AST/MangleNumberingContext.h include/clang/AST/NSAPI.h include/clang/AST/NestedNameSpecifier.h +include/clang/AST/NonTrivialTypeVisitor.h include/clang/AST/ODRHash.h include/clang/AST/OpenMPClause.h include/clang/AST/OperationKinds.def include/clang/AST/OperationKinds.h include/clang/AST/ParentMap.h +include/clang/AST/PrettyDeclStackTrace.h include/clang/AST/PrettyPrinter.h include/clang/AST/QualTypeNames.h include/clang/AST/RawCommentList.h @@ -157,6 +162,7 @@ include/clang/Analysis/CFGStmtMap.h include/clang/Analysis/CallGraph.h include/clang/Analysis/CloneDetection.h include/clang/Analysis/CodeInjector.h +include/clang/Analysis/ConstructionContext.h include/clang/Analysis/DomainSpecific/CocoaConventions.h include/clang/Analysis/DomainSpecific/ObjCNoReturn.h include/clang/Analysis/FlowSensitive/DataflowValues.h @@ -172,6 +178,7 @@ include/clang/Basic/AttrList.inc include/clang/Basic/AttrSubMatchRulesList.inc include/clang/Basic/AttrSubjectMatchRules.h include/clang/Basic/Attributes.h +include/clang/Basic/BitmaskEnum.h include/clang/Basic/Builtins.def include/clang/Basic/Builtins.h include/clang/Basic/BuiltinsAArch64.def @@ -216,6 +223,7 @@ include/clang/Basic/DiagnosticSemaKinds.inc include/clang/Basic/DiagnosticSerializationKinds.inc include/clang/Basic/ExceptionSpecificationType.h include/clang/Basic/ExpressionTraits.h +include/clang/Basic/Features.def include/clang/Basic/FileManager.h include/clang/Basic/FileSystemOptions.h include/clang/Basic/FileSystemStatCache.h @@ -249,6 +257,7 @@ include/clang/Basic/SourceLocation.h include/clang/Basic/SourceManager.h include/clang/Basic/SourceManagerInternals.h include/clang/Basic/Specifiers.h +include/clang/Basic/Stack.h include/clang/Basic/SyncScope.h include/clang/Basic/TargetBuiltins.h include/clang/Basic/TargetCXXABI.h @@ -260,11 +269,12 @@ include/clang/Basic/TokenKinds.h include/clang/Basic/TypeTraits.h include/clang/Basic/Version.h include/clang/Basic/Version.inc -include/clang/Basic/VersionTuple.h include/clang/Basic/VirtualFileSystem.h include/clang/Basic/Visibility.h include/clang/Basic/X86Target.def +include/clang/Basic/XRayInstr.h include/clang/Basic/XRayLists.h +include/clang/Basic/arm_fp16.inc include/clang/Basic/arm_neon.inc include/clang/CodeGen/BackendUtil.h include/clang/CodeGen/CGFunctionInfo.h @@ -391,7 +401,6 @@ include/clang/Sema/AttrParsedAttrKinds.inc include/clang/Sema/AttrParsedAttrList.inc include/clang/Sema/AttrSpellingListIndex.inc include/clang/Sema/AttrTemplateInstantiate.inc -include/clang/Sema/AttributeList.h include/clang/Sema/CXXFieldCollector.h include/clang/Sema/CleanupInfo.h include/clang/Sema/CodeCompleteConsumer.h @@ -408,8 +417,8 @@ include/clang/Sema/MultiplexExternalSemaSource.h include/clang/Sema/ObjCMethodList.h include/clang/Sema/Overload.h include/clang/Sema/Ownership.h +include/clang/Sema/ParsedAttr.h include/clang/Sema/ParsedTemplate.h -include/clang/Sema/PrettyDeclStackTrace.h include/clang/Sema/Scope.h include/clang/Sema/ScopeInfo.h include/clang/Sema/Sema.h @@ -420,6 +429,7 @@ include/clang/Sema/SemaInternal.h include/clang/Sema/SemaLambda.h include/clang/Sema/Template.h include/clang/Sema/TemplateDeduction.h +include/clang/Sema/TemplateInstCallback.h include/clang/Sema/TypoCorrection.h include/clang/Sema/Weak.h include/clang/Serialization/ASTBitCodes.h @@ -474,7 +484,13 @@ include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h +include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def +include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h +include/clang/StaticAnalyzer/Core/PathSensitive/SMTContext.h +include/clang/StaticAnalyzer/Core/PathSensitive/SMTExpr.h +include/clang/StaticAnalyzer/Core/PathSensitive/SMTSolver.h +include/clang/StaticAnalyzer/Core/PathSensitive/SMTSort.h include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h include/clang/StaticAnalyzer/Core/PathSensitive/SVals.def @@ -496,6 +512,7 @@ include/clang/StaticAnalyzer/Frontend/FrontendActions.h include/clang/StaticAnalyzer/Frontend/ModelConsumer.h include/clang/Tooling/ASTDiff/ASTDiff.h include/clang/Tooling/ASTDiff/ASTDiffInternal.h +include/clang/Tooling/AllTUsExecution.h include/clang/Tooling/ArgumentsAdjusters.h include/clang/Tooling/CommonOptionsParser.h include/clang/Tooling/CompilationDatabase.h @@ -507,6 +524,8 @@ include/clang/Tooling/DiagnosticsYaml.h include/clang/Tooling/Execution.h include/clang/Tooling/FileMatchTrie.h include/clang/Tooling/FixIt.h +include/clang/Tooling/Inclusions/HeaderIncludes.h +include/clang/Tooling/Inclusions/IncludeStyle.h include/clang/Tooling/JSONCompilationDatabase.h include/clang/Tooling/Refactoring.h include/clang/Tooling/Refactoring/ASTSelection.h @@ -538,7 +557,9 @@ include/clang/Tooling/Tooling.h lib/clang/${PKGVERSION}/include/__clang_cuda_builtin_vars.h lib/clang/${PKGVERSION}/include/__clang_cuda_cmath.h lib/clang/${PKGVERSION}/include/__clang_cuda_complex_builtins.h +lib/clang/${PKGVERSION}/include/__clang_cuda_device_functions.h lib/clang/${PKGVERSION}/include/__clang_cuda_intrinsics.h +lib/clang/${PKGVERSION}/include/__clang_cuda_libdevice_declares.h lib/clang/${PKGVERSION}/include/__clang_cuda_math_forward_declares.h lib/clang/${PKGVERSION}/include/__clang_cuda_runtime_wrapper.h lib/clang/${PKGVERSION}/include/__stddef_max_align_t.h @@ -549,6 +570,7 @@ lib/clang/${PKGVERSION}/include/altivec.h lib/clang/${PKGVERSION}/include/ammintrin.h lib/clang/${PKGVERSION}/include/arm64intr.h lib/clang/${PKGVERSION}/include/arm_acle.h +lib/clang/${PKGVERSION}/include/arm_fp16.h lib/clang/${PKGVERSION}/include/arm_neon.h lib/clang/${PKGVERSION}/include/armintr.h lib/clang/${PKGVERSION}/include/avx2intrin.h @@ -578,6 +600,7 @@ lib/clang/${PKGVERSION}/include/avxintrin.h lib/clang/${PKGVERSION}/include/bmi2intrin.h lib/clang/${PKGVERSION}/include/bmiintrin.h lib/clang/${PKGVERSION}/include/cetintrin.h +lib/clang/${PKGVERSION}/include/cldemoteintrin.h lib/clang/${PKGVERSION}/include/clflushoptintrin.h lib/clang/${PKGVERSION}/include/clwbintrin.h lib/clang/${PKGVERSION}/include/clzerointrin.h @@ -598,6 +621,7 @@ lib/clang/${PKGVERSION}/include/ia32intrin.h lib/clang/${PKGVERSION}/include/immintrin.h lib/clang/${PKGVERSION}/include/intrin.h lib/clang/${PKGVERSION}/include/inttypes.h +lib/clang/${PKGVERSION}/include/invpcidintrin.h lib/clang/${PKGVERSION}/include/iso646.h lib/clang/${PKGVERSION}/include/limits.h lib/clang/${PKGVERSION}/include/lwpintrin.h @@ -606,17 +630,21 @@ lib/clang/${PKGVERSION}/include/mm3dnow.h lib/clang/${PKGVERSION}/include/mm_malloc.h lib/clang/${PKGVERSION}/include/mmintrin.h lib/clang/${PKGVERSION}/include/module.modulemap +lib/clang/${PKGVERSION}/include/movdirintrin.h lib/clang/${PKGVERSION}/include/msa.h lib/clang/${PKGVERSION}/include/mwaitxintrin.h lib/clang/${PKGVERSION}/include/nmmintrin.h lib/clang/${PKGVERSION}/include/opencl-c.h +lib/clang/${PKGVERSION}/include/pconfigintrin.h lib/clang/${PKGVERSION}/include/pkuintrin.h lib/clang/${PKGVERSION}/include/pmmintrin.h lib/clang/${PKGVERSION}/include/popcntintrin.h lib/clang/${PKGVERSION}/include/prfchwintrin.h +lib/clang/${PKGVERSION}/include/ptwriteintrin.h lib/clang/${PKGVERSION}/include/rdseedintrin.h lib/clang/${PKGVERSION}/include/rtmintrin.h lib/clang/${PKGVERSION}/include/s390intrin.h +lib/clang/${PKGVERSION}/include/sgxintrin.h lib/clang/${PKGVERSION}/include/shaintrin.h lib/clang/${PKGVERSION}/include/smmintrin.h lib/clang/${PKGVERSION}/include/stdalign.h @@ -635,6 +663,8 @@ lib/clang/${PKGVERSION}/include/vaesintrin.h lib/clang/${PKGVERSION}/include/varargs.h lib/clang/${PKGVERSION}/include/vecintrin.h lib/clang/${PKGVERSION}/include/vpclmulqdqintrin.h +lib/clang/${PKGVERSION}/include/waitpkgintrin.h +lib/clang/${PKGVERSION}/include/wbnoinvdintrin.h lib/clang/${PKGVERSION}/include/wmmintrin.h lib/clang/${PKGVERSION}/include/x86intrin.h lib/clang/${PKGVERSION}/include/xmmintrin.h @@ -648,8 +678,7 @@ lib/cmake/clang/ClangConfig.cmake lib/cmake/clang/ClangTargets-release.cmake lib/cmake/clang/ClangTargets.cmake lib/libclang.${SOEXT} -${PLIST.notdylib}lib/libclang.${SOEXT}.${LLVM_MAJOR} -${PLIST.notdylib}lib/libclang.${SOEXT}.6 +${PLIST.notdylib}lib/libclang.${SOEXT}.7 lib/libclangAST.a lib/libclangASTMatchers.a lib/libclangAnalysis.a @@ -663,6 +692,7 @@ lib/libclangFormat.a lib/libclangFrontend.a lib/libclangFrontendTool.a lib/libclangHandleCXX.a +lib/libclangHandleLLVM.a lib/libclangIndex.a lib/libclangLex.a lib/libclangParse.a @@ -673,6 +703,7 @@ lib/libclangSerialization.a lib/libclangTooling.a lib/libclangToolingASTDiff.a lib/libclangToolingCore.a +lib/libclangToolingInclusions.a lib/libclangToolingRefactor.a share/clang/bash-autocomplete.sh share/clang/clang-format-bbedit.applescript diff --git a/lang/clang/buildlink3.mk b/lang/clang/buildlink3.mk index 42ef78844ac..a22c1eec522 100644 --- a/lang/clang/buildlink3.mk +++ b/lang/clang/buildlink3.mk @@ -1,11 +1,11 @@ -# $NetBSD: buildlink3.mk,v 1.8 2018/02/07 12:10:21 joerg Exp $ +# $NetBSD: buildlink3.mk,v 1.9 2018/12/09 20:04:38 adam Exp $ BUILDLINK_TREE+= clang .if !defined(CLANG_BUILDLINK3_MK) CLANG_BUILDLINK3_MK:= -BUILDLINK_API_DEPENDS.clang+= clang>=5.0 +BUILDLINK_API_DEPENDS.clang+= clang>=7.0.0 BUILDLINK_PKGSRCDIR.clang?= ../../lang/clang .include "../../textproc/libxml2/buildlink3.mk" diff --git a/lang/clang/distinfo b/lang/clang/distinfo index 64c3528e24f..c3d5b5eed40 100644 --- a/lang/clang/distinfo +++ b/lang/clang/distinfo @@ -1,10 +1,10 @@ -$NetBSD: distinfo,v 1.54 2018/10/24 21:12:59 maya Exp $ +$NetBSD: distinfo,v 1.55 2018/12/09 20:04:38 adam Exp $ -SHA1 (cfe-6.0.1.src.tar.xz) = d93d8f3e3d7eb549ac58507383f7fcbdd78804d7 -RMD160 (cfe-6.0.1.src.tar.xz) = c280cd2037b19f9bd733944b765f9ca23b35e0a4 -SHA512 (cfe-6.0.1.src.tar.xz) = f64ba9290059f6e36fee41c8f32bf483609d31c291fcd2f77d41fecfdf3c8233a5e23b93a1c73fed03683823bd6e72757ed993dd32527de3d5f2b7a64bb031b9 -Size (cfe-6.0.1.src.tar.xz) = 11905772 bytes -SHA1 (patch-lib_Basic_Targets_OSTargets.h) = a8a710720e67c778cf5d4e30e3bb41d9aaf7c9d4 -SHA1 (patch-lib_Driver_ToolChains_Solaris.cpp) = 7cf1d43b50e7a0bf0842f2265b0449b0fea44007 -SHA1 (patch-lib_Driver_ToolChains_Solaris.h) = 13849df72a4b719bbb6109ab1d1abf2e7b97014f -SHA1 (patch-lib_Frontend_InitHeaderSearch.cpp) = 924cb81bd8e2eb07c3577e25c1b1d4f405e9360f +SHA1 (cfe-7.0.0.src.tar.xz) = a4eb0b33f6a201e97ac62eb1b519e2476e56c794 +RMD160 (cfe-7.0.0.src.tar.xz) = 10e3071762617f0623ae05500ce6176b625c680c +SHA512 (cfe-7.0.0.src.tar.xz) = 17a658032a0160c57d4dc23cb45a1516a897e0e2ba4ebff29472e471feca04c5b68cff351cdf231b42aab0cff587b84fe11b921d1ca7194a90e6485913d62cb7 +Size (cfe-7.0.0.src.tar.xz) = 12541904 bytes +SHA1 (patch-lib_Basic_Targets_OSTargets.h) = 2a00f6de42c67d8c8aca0153339aba1adc455280 +SHA1 (patch-lib_Driver_ToolChains_Solaris.cpp) = 17b6b748135fb051101e926f86910fd3bb55f312 +SHA1 (patch-lib_Driver_ToolChains_Solaris.h) = 07dacb5c341360bdce229f512bdfa95e5d6ef81c +SHA1 (patch-lib_Frontend_InitHeaderSearch.cpp) = 497ddbe1eac8726d736bed58557a795dce207d1a diff --git a/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h b/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h index 92da98b7d32..648416f8306 100644 --- a/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h +++ b/lang/clang/patches/patch-lib_Basic_Targets_OSTargets.h @@ -1,12 +1,12 @@ -$NetBSD: patch-lib_Basic_Targets_OSTargets.h,v 1.2 2018/10/24 21:12:59 maya Exp $ +$NetBSD: patch-lib_Basic_Targets_OSTargets.h,v 1.3 2018/12/09 20:04:38 adam Exp $ Sync SunOS default defines with a working reality. NetBSD __float128, needed to build anything with base libstdc++ which assumes __float128. ---- lib/Basic/Targets/OSTargets.h.orig 2018-01-04 07:43:41.000000000 +0000 +--- lib/Basic/Targets/OSTargets.h.orig 2018-07-23 17:44:00.000000000 +0000 +++ lib/Basic/Targets/OSTargets.h -@@ -358,12 +358,22 @@ protected: +@@ -364,12 +364,22 @@ protected: Builder.defineMacro("__ELF__"); if (Opts.POSIXThreads) Builder.defineMacro("_REENTRANT"); @@ -17,7 +17,7 @@ which assumes __float128. public: NetBSDTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts) : OSTargetInfo<Target>(Triple, Opts) { - this->MCountName = "_mcount"; + this->MCountName = "__mcount"; + switch (Triple.getArch()) { + default: + break; @@ -29,7 +29,7 @@ which assumes __float128. } }; -@@ -531,20 +541,16 @@ protected: +@@ -538,19 +548,14 @@ protected: Builder.defineMacro("__ELF__"); Builder.defineMacro("__svr4__"); Builder.defineMacro("__SVR4"); @@ -49,13 +49,10 @@ which assumes __float128. - Builder.defineMacro("_LARGEFILE_SOURCE"); - Builder.defineMacro("_LARGEFILE64_SOURCE"); - Builder.defineMacro("__EXTENSIONS__"); -- Builder.defineMacro("_REENTRANT"); + Builder.defineMacro("_LARGEFILE_SOURCE"); + Builder.defineMacro("_LARGEFILE64_SOURCE"); + Builder.defineMacro("__EXTENSIONS__"); + } -+ if (Opts.POSIXThreads) -+ Builder.defineMacro("_REENTRANT"); - } - - public: + if (Opts.POSIXThreads) + Builder.defineMacro("_REENTRANT"); + if (this->HasFloat128) diff --git a/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp b/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp index e854bcdef59..83feb6155d3 100644 --- a/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp +++ b/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.cpp @@ -1,4 +1,4 @@ -$NetBSD: patch-lib_Driver_ToolChains_Solaris.cpp,v 1.1 2018/08/09 14:56:41 jperkin Exp $ +$NetBSD: patch-lib_Driver_ToolChains_Solaris.cpp,v 1.2 2018/12/09 20:04:38 adam Exp $ Use compiler-rt instead of libgcc. Pull in libcxx correctly. @@ -7,7 +7,7 @@ Don't specify --dynamic-linker, makes it impossible for the user to use -Wl,-r Ensure we reset to -zdefaultextract prior to adding compiler-rt. Test removing -Bdynamic for golang. ---- lib/Driver/ToolChains/Solaris.cpp.orig 2018-01-04 07:43:41.000000000 +0000 +--- lib/Driver/ToolChains/Solaris.cpp.orig 2018-02-06 13:21:12.000000000 +0000 +++ lib/Driver/ToolChains/Solaris.cpp @@ -49,8 +49,29 @@ void solaris::Linker::ConstructJob(Compi const InputInfoList &Inputs, @@ -39,25 +39,21 @@ Test removing -Bdynamic for golang. // Demangle C++ names in errors CmdArgs.push_back("-C"); -@@ -62,15 +83,8 @@ void solaris::Linker::ConstructJob(Compi - if (Args.hasArg(options::OPT_static)) { +@@ -63,13 +84,8 @@ void solaris::Linker::ConstructJob(Compi CmdArgs.push_back("-Bstatic"); CmdArgs.push_back("-dn"); -- } else { + } else { - CmdArgs.push_back("-Bdynamic"); -- if (Args.hasArg(options::OPT_shared)) { -- CmdArgs.push_back("-shared"); + if (Args.hasArg(options::OPT_shared)) { + CmdArgs.push_back("-shared"); - } else { - CmdArgs.push_back("--dynamic-linker"); - CmdArgs.push_back( - Args.MakeArgString(getToolChain().GetFilePath("ld.so.1"))); -- } -+ } else if (Args.hasArg(options::OPT_shared)) { -+ CmdArgs.push_back("-shared"); - } + } - if (Output.isFilename()) { -@@ -83,13 +97,11 @@ void solaris::Linker::ConstructJob(Compi + // libpthread has been folded into libc since Solaris 10, no need to do +@@ -88,13 +104,11 @@ void solaris::Linker::ConstructJob(Compi if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) { if (!Args.hasArg(options::OPT_shared)) CmdArgs.push_back( @@ -73,13 +69,20 @@ Test removing -Bdynamic for golang. + Args.MakeArgString(SysPath + "values-Xa.o")); } - getToolChain().AddFilePathLibArgs(Args, CmdArgs); -@@ -100,21 +112,21 @@ void solaris::Linker::ConstructJob(Compi + // Provide __start___sancov_guards. Solaris ld doesn't automatically create +@@ -113,21 +127,18 @@ void solaris::Linker::ConstructJob(Compi AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA); if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) { - if (getToolChain().ShouldLinkCXXStdlib(Args)) - getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs); +- if (Args.hasArg(options::OPT_fstack_protector) || +- Args.hasArg(options::OPT_fstack_protector_strong) || +- Args.hasArg(options::OPT_fstack_protector_all)) { +- // Explicitly link ssp libraries, not folded into Solaris libc. +- CmdArgs.push_back("-lssp_nonshared"); +- CmdArgs.push_back("-lssp"); +- } - CmdArgs.push_back("-lgcc_s"); - CmdArgs.push_back("-lc"); - if (!Args.hasArg(options::OPT_shared)) { @@ -96,7 +99,12 @@ Test removing -Bdynamic for golang. CmdArgs.push_back("-lm"); } + CmdArgs.push_back("-lc"); + if (NeedsSanitizerDeps) + linkSanitizerRuntimeDeps(getToolChain(), CmdArgs); } +@@ -139,11 +150,7 @@ void solaris::Linker::ConstructJob(Compi + getToolChain().getCompilerRTArgString(Args, "sancov_end", false)); + CmdArgs.push_back("--no-whole-archive"); - if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) { - CmdArgs.push_back( @@ -107,46 +115,37 @@ Test removing -Bdynamic for golang. getToolChain().addProfileRTLibs(Args, CmdArgs); -@@ -127,35 +139,9 @@ void solaris::Linker::ConstructJob(Compi - Solaris::Solaris(const Driver &D, const llvm::Triple &Triple, +@@ -172,26 +179,9 @@ Solaris::Solaris(const Driver &D, const const ArgList &Args) : Generic_ELF(D, Triple, Args) { -- + - GCCInstallation.init(Triple, Args); - +- StringRef LibSuffix = getSolarisLibSuffix(Triple); - path_list &Paths = getFilePaths(); -- if (GCCInstallation.isValid()) -- addPathIfExists(D, GCCInstallation.getInstallPath(), Paths); -- -- addPathIfExists(D, getDriver().getInstalledDir(), Paths); -- if (getDriver().getInstalledDir() != getDriver().Dir) -- addPathIfExists(D, getDriver().Dir, Paths); -- -- addPathIfExists(D, getDriver().SysRoot + getDriver().Dir + "/../lib", Paths); -- -- std::string LibPath = "/usr/lib/"; -- switch (Triple.getArch()) { -- case llvm::Triple::x86: -- case llvm::Triple::sparc: -- break; -- case llvm::Triple::x86_64: -- LibPath += "amd64/"; -- break; -- case llvm::Triple::sparcv9: -- LibPath += "sparcv9/"; -- break; -- default: -- llvm_unreachable("Unsupported architecture"); +- if (GCCInstallation.isValid()) { +- // On Solaris gcc uses both an architecture-specific path with triple in it +- // as well as a more generic lib path (+arch suffix). +- addPathIfExists(D, +- GCCInstallation.getInstallPath() + +- GCCInstallation.getMultilib().gccSuffix(), +- Paths); +- addPathIfExists(D, GCCInstallation.getParentLibPath() + LibSuffix, Paths); - } - -- addPathIfExists(D, getDriver().SysRoot + LibPath, Paths); +- // If we are currently running Clang inside of the requested system root, +- // add its parent library path to those searched. +- if (StringRef(D.Dir).startswith(D.SysRoot)) +- addPathIfExists(D, D.Dir + "/../lib", Paths); +- +- addPathIfExists(D, D.SysRoot + "/usr/lib" + LibSuffix, Paths); + // No special handling, the C runtime files are found directly above + // and crle handles adding the default system library paths if they + // are necessary. } - Tool *Solaris::buildAssembler() const { -@@ -164,30 +150,41 @@ Tool *Solaris::buildAssembler() const { + SanitizerMask Solaris::getSupportedSanitizers() const { +@@ -211,6 +201,32 @@ Tool *Solaris::buildAssembler() const { Tool *Solaris::buildLinker() const { return new tools::solaris::Linker(*this); } @@ -176,35 +175,6 @@ Test removing -Bdynamic for golang. + } +} + - void Solaris::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs, - ArgStringList &CC1Args) const { - if (DriverArgs.hasArg(options::OPT_nostdlibinc) || - DriverArgs.hasArg(options::OPT_nostdincxx)) - return; - -- // Include the support directory for things like xlocale and fudged system -- // headers. -- // FIXME: This is a weird mix of libc++ and libstdc++. We should also be -- // checking the value of -stdlib= here and adding the includes for libc++ -- // rather than libstdc++ if it's requested. -- addSystemInclude(DriverArgs, CC1Args, "/usr/include/c++/v1/support/solaris"); -- -- if (GCCInstallation.isValid()) { -- GCCVersion Version = GCCInstallation.getVersion(); -- addSystemInclude(DriverArgs, CC1Args, -- getDriver().SysRoot + "/usr/gcc/" + -- Version.MajorStr + "." + -- Version.MinorStr + -- "/include/c++/" + Version.Text); -- addSystemInclude(DriverArgs, CC1Args, -- getDriver().SysRoot + "/usr/gcc/" + Version.MajorStr + -- "." + Version.MinorStr + "/include/c++/" + -- Version.Text + "/" + -- GCCInstallation.getTriple().str()); -- } -+ // Currently assumes pkgsrc layout. -+ addSystemInclude(DriverArgs, CC1Args, -+ llvm::sys::path::parent_path(getDriver().getInstalledDir()) -+ + "/include/c++/v1"); -+ return; - } + void Solaris::AddClangSystemIncludeArgs(const ArgList &DriverArgs, + ArgStringList &CC1Args) const { + const Driver &D = getDriver(); diff --git a/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.h b/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.h index 42b60d1e471..7919ed4d68f 100644 --- a/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.h +++ b/lang/clang/patches/patch-lib_Driver_ToolChains_Solaris.h @@ -1,16 +1,16 @@ -$NetBSD: patch-lib_Driver_ToolChains_Solaris.h,v 1.1 2018/08/09 14:56:41 jperkin Exp $ +$NetBSD: patch-lib_Driver_ToolChains_Solaris.h,v 1.2 2018/12/09 20:04:38 adam Exp $ Override AddCXXStdlibLibArgs(). ---- lib/Driver/ToolChains/Solaris.h.orig 2018-01-04 07:43:41.000000000 +0000 +--- lib/Driver/ToolChains/Solaris.h.orig 2018-02-05 23:59:13.000000000 +0000 +++ lib/Driver/ToolChains/Solaris.h -@@ -60,6 +60,9 @@ public: - void AddClangCXXStdlibIncludeArgs( - const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const override; -+ void AddCXXStdlibLibArgs( -+ const llvm::opt::ArgList &Args, -+ llvm::opt::ArgStringList &CmdArgs) const override; +@@ -67,6 +67,9 @@ public: + SanitizerMask getSupportedSanitizers() const override; unsigned GetDefaultDwarfVersion() const override { return 2; } ++ void AddCXXStdlibLibArgs( ++ const llvm::opt::ArgList &Args, ++ llvm::opt::ArgStringList &CmdArgs) const override; + protected: + Tool *buildAssembler() const override; diff --git a/lang/clang/patches/patch-lib_Frontend_InitHeaderSearch.cpp b/lang/clang/patches/patch-lib_Frontend_InitHeaderSearch.cpp index bf4e09dc0d4..c903139aa8c 100644 --- a/lang/clang/patches/patch-lib_Frontend_InitHeaderSearch.cpp +++ b/lang/clang/patches/patch-lib_Frontend_InitHeaderSearch.cpp @@ -1,13 +1,13 @@ -$NetBSD: patch-lib_Frontend_InitHeaderSearch.cpp,v 1.1 2018/08/09 14:56:41 jperkin Exp $ +$NetBSD: patch-lib_Frontend_InitHeaderSearch.cpp,v 1.2 2018/12/09 20:04:38 adam Exp $ Don't add /usr/local/include by default on Solaris. ---- lib/Frontend/InitHeaderSearch.cpp.orig 2018-01-04 07:43:41.000000000 +0000 +--- lib/Frontend/InitHeaderSearch.cpp.orig 2018-06-28 23:23:45.000000000 +0000 +++ lib/Frontend/InitHeaderSearch.cpp -@@ -216,6 +216,7 @@ void InitHeaderSearch::AddDefaultCInclud - case llvm::Triple::NaCl: +@@ -221,6 +221,7 @@ void InitHeaderSearch::AddDefaultCInclud case llvm::Triple::PS4: case llvm::Triple::ELFIAMCU: + case llvm::Triple::Fuchsia: + case llvm::Triple::Solaris: break; case llvm::Triple::Win32: |