November 5th is Clang-Day
Roman Divacky
rdivacky at freebsd.org
Fri Nov 2 15:38:30 UTC 2012
Nice :)
Does this deserve mentioning in UPDATING and/or version bump?
On Thu, Nov 01, 2012 at 10:29:45PM -0500, Brooks Davis wrote:
> On Monday, November 5th I plan to commit the following patch to make
> clang the default compiler on i386 and amd64. Many people have worked
> long and hard to make this a reality and we're finally close enough to
> throw the switch. For many users the transition should be transparent.
> Others will likely hit some bumps, but I think we've addresses most
> major issues at this point and the LLVM community has demonstrated it's
> ability and willingness to help given actionable bug reports.
>
> Known Issues
> - Not all ports compile with clang. This can be worked around in
> individual ports by setting USE_GCC=any which will cause the base gcc
> to be used. Depending how things shake out we may end up making
> USE_GCC=any the default for a period. [0]
> - Not all libm tests pass. More work by subject matter experts is
> required to create tests cases for LLVM developers. Most problems are
> not expected to be major in practice given that LLVM is being used for
> scientific computing in a number of products including Cray's FORTRAN
> compiler, most OpenCL compilers, and the Julia language.
> - Small but noticeable slowdown in some benchmarks. For example
> sysbench against mysql was found to run about 1% slower on top of a
> clang compiled world+kernel. http://people.freebsd.org/~flo/perf.pdf
>
> Known Non-Issues
> - "make buildenv" works fine with clang.
>
> -- Brooks
>
> [0] Work is underway to switch to building ports with a ports specific
> compiler version. Likely this will be gcc-4.6 initially. This would
> help insulate ports from the base compiler. That being said, there are
> significant advantages to getting as many ports as possible to build
> with clang. Among other things, cross building for embedded systems is
> much easier with clang.
>
>
> Index: share/mk/bsd.own.mk
> ===================================================================
> --- share/mk/bsd.own.mk (revision 242464)
> +++ share/mk/bsd.own.mk (working copy)
> @@ -426,7 +426,6 @@
> BIND_XML \
> BSDCONFIG \
> CLANG_EXTRAS \
> - CLANG_IS_CC \
> CTF \
> HESIOD \
> ICONV \
> @@ -455,6 +454,12 @@
> .else
> __DEFAULT_NO_OPTIONS+=CLANG
> .endif
> +# Clang the default system compiler only on x86.
> +.if ${__T} == "amd64" || ${__T} == "i386"
> +__DEFAULT_YES_OPTIONS+=CLANG_IS_CC
> +.else
> +__DEFAULT_NO_OPTIONS+=CLANG_IS_CC
> +.endif
> # FDT is needed only for arm, mips and powerpc
> .if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*}
> __DEFAULT_YES_OPTIONS+=FDT
More information about the freebsd-current
mailing list