HEADS UP: merged llvm/clang 3.4

Jung-uk Kim jkim at FreeBSD.org
Fri Mar 28 21:18:14 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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");

Jung-uk Kim
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (FreeBSD)

iQEcBAEBAgAGBQJTNecVAAoJEHyflib82/FGEAIH/jAq9qWtvbSn/EGmJmMSFH6O
YRhtVdA+npUU/QMdfd9ligAi2gccjGxnjXRdTbezPwa8e8i9enNtrDpRKVcto8f4
SZtzRoUEp1hnrylm0brt0pVYWD8xwz403XUMszQ5HVmTOiaWJtWKzksNTc2H5llF
3FBIRNm9sKNc1RlQOS1NzVEbtsFiP46otvfSprncQTuNJl+5t2awUnJJRtEbtRgi
EwfsXqhBspwRHqm85az5xMJ2fLOQrtSJF3vpW70cnl2g7SXp8QuI4HmIks6CXmJH
tDDs85GdxJhZbady6uiT10QkS8WYxdbc176bXNelN+HyYKXzsuXgl1z25dMdyIg=
=gdcE
-----END PGP SIGNATURE-----


More information about the freebsd-stable mailing list