Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jan 2014 15:37:45 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        freebsd-toolchain@freebsd.org
Subject:   Re: [CFT] Update to clang 3.4
Message-ID:  <63BD3165-A62E-4FE7-9817-4A2692584916@bsdimp.com>
In-Reply-To: <541C998A-071A-4917-9D91-DD00CB0E2689@FreeBSD.org>
References:  <541C998A-071A-4917-9D91-DD00CB0E2689@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
I'd add to the list the upgrade path (from 9.x, 10.x and current) as =
well, just to make sure they all still work... If there are problems =
with the 9.x upgrade path, we'll need to call them out since 10.0 hasn't =
been released yet and there's still a lot of 9.x boxes in the wild...

Warner

On Jan 1, 2014, at 3:32 PM, Dimitry Andric wrote:

> Hi,
>=20
> I have almost completed the preliminary work to import clang 3.4 into
> FreeBSD 11-CURRENT.  The official clang 3.4 release has not yet been
> announced, but I do not expect any more changes from upstream for now.
>=20
> However, since this version introduces a bunch of new warnings, and a
> more strict options parser, I would like to call for some additional
> testing by anyone who is interested.
>=20
> Specifically, the following:
> * Building and installing world with non-standard settings in =
make.conf
>  and/or src.conf.
> * Compiling your favorite set of ports.  (I will request a ports
>  exp-run too).
> * Fixing any kernel source with LINT that has not yet been fixed.  (I
>  am still working on some of the things that are not in GENERIC.)
> * Any other problems you may encounter with optimization,
>  incompatibilities, and so on.
>=20
> One thing to look out for, in particular with ports, is the more =
strict
> option parsing introduced with clang 3.4.  In earlier releases, =
unknown
> or unsupported command line options were ignored, with just a =
"argument
> unused during compilation" warning.  =46rom 3.4 onwards, such options =
will
> result in a "unknown argument" error.
>=20
> Another important new issue is that clang 3.4 now outputs DWARF4 as
> default format when using -g.  Our ancient version of gdb in base does
> not support this, so you must either install the gdb port, or build =
lldb
> and use it (very experimental at this time!).
>=20
> Moreover, our CTF tools such as ctfconvert use a quite old version of
> libdwarf in our base system, which also does not support DWARF4.  So
> ctfconvert processing of kernel objects doe not work at the moment.  =
Any
> assistance with solving this (for example, by importing the most =
recent
> libdwarf from upstream) is greatly appreciated.
>=20
> The current patch, which can be applied to head r260112 or later, is
> located here:
>=20
>  http://www.andric.com/freebsd/clang/head-r260112-clang34-1.diff.xz
>=20
>  SHA256 (head-r260112-clang34-1.diff.xz) =3D =
1b5735946526fe97f0cea1822ecbcc3ec86f15282277aef7e3d7b2835a777b11
>=20
> To apply, unxz the file into a fresh head checkout, and run:
>=20
>  svn patch head-r260112-clang34-1.diff
>=20
> Please check carefully if Subversion reports no problems during
> patching, as it is rather fragile.  Afterwards, you can do a normal
> world and kernel build, and installation.
>=20
> -Dimitry
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?63BD3165-A62E-4FE7-9817-4A2692584916>