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>