Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jan 2014 23:32:35 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        freebsd-toolchain@freebsd.org
Subject:   [CFT] Update to clang 3.4
Message-ID:  <541C998A-071A-4917-9D91-DD00CB0E2689@FreeBSD.org>

next in thread | raw e-mail | index | archive | help

--Apple-Mail=_7DFEBF2B-9B36-4041-858D-B50D70ABC315
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

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.  =46rom 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) =3D =
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


--Apple-Mail=_7DFEBF2B-9B36-4041-858D-B50D70ABC315
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)

iEYEARECAAYFAlLEl4wACgkQsF6jCi4glqPrPgCg8wsXI1fAYEbtcoEYkr1SluUJ
mPEAoNK28Fljff116kYkxCuWHTYDt/0R
=5WwH
-----END PGP SIGNATURE-----

--Apple-Mail=_7DFEBF2B-9B36-4041-858D-B50D70ABC315--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?541C998A-071A-4917-9D91-DD00CB0E2689>