[CFT] Update to clang 3.4

Warner Losh imp at bsdimp.com
Wed Jan 1 22:37:54 UTC 2014


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,
> 
> 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.
> 
> 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.
> 
> 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.
> 
> 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.  From 3.4 onwards, such options will
> result in a "unknown argument" error.
> 
> 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!).
> 
> 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.
> 
> The current patch, which can be applied to head r260112 or later, is
> located here:
> 
>  http://www.andric.com/freebsd/clang/head-r260112-clang34-1.diff.xz
> 
>  SHA256 (head-r260112-clang34-1.diff.xz) = 1b5735946526fe97f0cea1822ecbcc3ec86f15282277aef7e3d7b2835a777b11
> 
> To apply, unxz the file into a fresh head checkout, and run:
> 
>  svn patch head-r260112-clang34-1.diff
> 
> 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.
> 
> -Dimitry
> 



More information about the freebsd-toolchain mailing list