HEADS UP: merged llvm/clang 3.4

Dimitry Andric dim at FreeBSD.org
Fri Mar 28 21:35:27 UTC 2014


On 28 Mar 2014, at 22:18, Jung-uk Kim <jkim at FreeBSD.org> wrote:
> Signed PGP part
> On 2014-03-28 16:25:42 -0400, Craig Rodrigues wrote:
> > On Fri, Mar 28, 2014 at 11:11 AM, Dimitry Andric <dim at freebsd.org>
> > wrote:
> >>
> >> You need to rebuild the system anyway, if you want debug
> >> information, so nothing changed?  If you insist on wanting to use
> >> the crummy gdb in base, which should have been axed years ago,
> >> then just use DEBUG_FLAGS=-gdwarf-2, otherwise use ports gdb,
> >> which any sensible person should do.
> >>
> >> -Dimitry
> >>
> >
> > This kind of thing is OK for HEAD, but to me seems like something
> > which is not OK for a stable branch.
> >
> > Before your change:   "cc -g" from base + gdb in base =  can debug
> > After your change:      "cc -g" from base + gdb in base = cannot
> > debug
> >
> > Is it possible to modify clang in base, so that on the stable
> > branches, "cc -g" will output dwarf-2 instead of dwarf-4 by
> > default?
> >
> > I understand that installing gdb from ports, changing compiler
> > flags from -g to -gdwarf-2 in Makefiles, or switching to compiling
> > with gcc are all reasonable workarounds, but this seems a bit like
> > POLA for a stable branch.
> 
> Yeah, it is really unpleasant.
> 
> Maybe we should do something like this for stable/9 and stable/10
> branches (not tested).
> 
> --- contrib/llvm/tools/clang/lib/Driver/Tools.cpp
> +++ contrib/llvm/tools/clang/lib/Driver/Tools.cpp
> @@ -2628,8 +2628,9 @@ 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.
> +      if (getToolChain().getTriple().isOSDarwin() ||
> +          getToolChain().getTriple().getOS() == llvm::Triple::FreeBSD)
>          CmdArgs.push_back("-gdwarf-2");
>        else
>          CmdArgs.push_back("-g");

I'm now testing something similar, which also tests the FreeBSD version,
so it can be applied to head and then MFC'd.  I will commit it soon.

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20140328/1194084b/attachment.sig>


More information about the freebsd-stable mailing list