Author: Ed Maste Date: 2021-12-15T09:05:35-05:00 New Revision: b41bb6c1b715da77025962f736740c78128c78e1
URL: https://github.com/llvm/llvm-project/commit/b41bb6c1b715da77025962f736740c78128c78e1 DIFF: https://github.com/llvm/llvm-project/commit/b41bb6c1b715da77025962f736740c78128c78e1.diff LOG: [Driver] Default to contemporary FreeBSD profiling behaviour Prior to FreeBSD 14, FreeBSD provided special _p.a libraries for use with -pg. They are no longer used or provided. If the target does not specify a major version (e.g. amd64-unknown-freebsd, rather than amd64-unknown-freebsd12) default to the new behaviour. Differential Revision: https://reviews.llvm.org/D114396 Added: Modified: clang/lib/Driver/ToolChains/FreeBSD.cpp clang/test/Driver/freebsd.cpp Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/FreeBSD.cpp b/clang/lib/Driver/ToolChains/FreeBSD.cpp index d08ea282f6df..de635f5816cf 100644 --- a/clang/lib/Driver/ToolChains/FreeBSD.cpp +++ b/clang/lib/Driver/ToolChains/FreeBSD.cpp @@ -293,8 +293,8 @@ void freebsd::Linker::ConstructJob(Compilation &C, const JobAction &JA, addLinkerCompressDebugSectionsOption(ToolChain, Args, CmdArgs); AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA); - bool Profiling = Args.hasArg(options::OPT_pg) && - ToolChain.getTriple().getOSMajorVersion() < 14; + unsigned Major = ToolChain.getTriple().getOSMajorVersion(); + bool Profiling = Args.hasArg(options::OPT_pg) && Major != 0 && Major < 14; if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) { // Use the static OpenMP runtime with -static-openmp bool StaticOpenMP = Args.hasArg(options::OPT_static_openmp) && @@ -419,8 +419,8 @@ void FreeBSD::addLibStdCxxIncludePaths( void FreeBSD::AddCXXStdlibLibArgs(const ArgList &Args, ArgStringList &CmdArgs) const { CXXStdlibType Type = GetCXXStdlibType(Args); - bool Profiling = - Args.hasArg(options::OPT_pg) && getTriple().getOSMajorVersion() < 14; + unsigned Major = getTriple().getOSMajorVersion(); + bool Profiling = Args.hasArg(options::OPT_pg) && Major != 0 && Major < 14; switch (Type) { case ToolChain::CST_Libcxx: diff --git a/clang/test/Driver/freebsd.cpp b/clang/test/Driver/freebsd.cpp index 512d29eeb64a..2304a61fa9ea 100644 --- a/clang/test/Driver/freebsd.cpp +++ b/clang/test/Driver/freebsd.cpp @@ -16,7 +16,7 @@ // RUN: | FileCheck --check-prefix=CHECK-PG-TEN %s // RUN: %clangxx %s -### -pg -o %t.o -target amd64-unknown-freebsd9.2 -stdlib=platform 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-PG-NINE %s -// CHECK-PG-DEFAULT: "-lc++_p" "-lm_p" +// CHECK-PG-DEFAULT: "-lc++" "-lm" // CHECK-PG-FOURTEEN: "-lc++" "-lm" // CHECK-PG-TEN: "-lc++_p" "-lm_p" // CHECK-PG-NINE: "-lstdc++_p" "-lm_p" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits