From 29084b6a9200478c9f36166834dc731fc3dc7c1c Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 29 Mar 2014 00:48:50 +0000 Subject: [PATCH] Add the llvm/clang patch for r263891. --- .../patch-r263891-dwarf2-freebsd10.diff | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 contrib/llvm/patches/patch-r263891-dwarf2-freebsd10.diff diff --git a/contrib/llvm/patches/patch-r263891-dwarf2-freebsd10.diff b/contrib/llvm/patches/patch-r263891-dwarf2-freebsd10.diff new file mode 100644 index 00000000000..2bbf30ccab5 --- /dev/null +++ b/contrib/llvm/patches/patch-r263891-dwarf2-freebsd10.diff @@ -0,0 +1,22 @@ +This patch makes clang default to DWARF2 debug info format for FreeBSD +10.x and earlier. + +Introduced here: http://svnweb.freebsd.org/changeset/base/263891 + +Index: tools/clang/lib/Driver/Tools.cpp +=================================================================== +--- tools/clang/lib/Driver/Tools.cpp ++++ tools/clang/lib/Driver/Tools.cpp +@@ -2628,8 +2628,10 @@ void Clang::ConstructJob(Compilation &C, const Job + CmdArgs.push_back("-gdwarf-4"); + else if (!A->getOption().matches(options::OPT_g0) && + !A->getOption().matches(options::OPT_ggdb0)) { +- // Default is dwarf-2 for darwin. +- if (getToolChain().getTriple().isOSDarwin()) ++ // Default is dwarf-2 for darwin and FreeBSD <= 10. ++ const llvm::Triple &Triple = getToolChain().getTriple(); ++ if (Triple.isOSDarwin() || (Triple.getOS() == llvm::Triple::FreeBSD && ++ Triple.getOSMajorVersion() <= 10)) + CmdArgs.push_back("-gdwarf-2"); + else + CmdArgs.push_back("-g"); -- 2.45.0