Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Jan 2011 22:02:51 +0100
From:      Roman Divacky <rdivacky@freebsd.org>
To:        Alexander Best <arundel@freebsd.org>
Cc:        freebsd-toolchain@freebsd.org
Subject:   Re: issue with clang and CPUTYPE native
Message-ID:  <20110131210251.GA70081@freebsd.org>
In-Reply-To: <20110131210041.GA89926@freebsd.org>
References:  <20101230201848.GA92145@freebsd.org> <20101231012002.GA73736@freebsd.org> <20101231151554.GA29782@freebsd.org> <20101231180054.GA77781@freebsd.org> <20101231190838.GA85678@freebsd.org> <20110101153430.GA98411@freebsd.org> <20110101195823.GA41161@freebsd.org> <20110131162755.GA54255@freebsd.org> <20110131202426.GA64245@freebsd.org> <20110131210041.GA89926@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 31, 2011 at 09:00:41PM +0000, Alexander Best wrote:
> On Mon Jan 31 11, Roman Divacky wrote:
> > On Mon, Jan 31, 2011 at 04:27:55PM +0000, Alexander Best wrote:
> > > On Sat Jan  1 11, Alexander Best wrote:
> > > > On Sat Jan  1 11, Roman Divacky wrote:
> > > > > > > clang -O2 -pipe -march=native -fpic -fvisibility=hidden -DVISIBILITY_HIDDEN -g -std=gnu99 -fstack-protector -Wsystem-headers -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/subversion-src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/mulvti3.c
> > > > > > > detected CPU = core2
> > > > > > > Assertion failed: (getMinSignedBits() <= 64 && "Too many bits for int64_t"), function getSExtValue, file /usr/subversion-src/lib/clang/libclangcodegen/../../../contrib/llvm/include/llvm/ADT/APInt.h, line 1149.
> > > > > > > Stack dump:
> > > > > > > 0.	Program arguments: /usr/obj/usr/subversion-src/tmp/usr/bin/clang -cc1 -triple x86_64-undermydesk-freebsd9.0 -S -disable-free -main-file-name mulvti3.c -pic-level 1 -mdisable-fp-elim -mconstructor-aliases -munwind-tables -target-cpu core2 -g -resource-dir /usr/obj/usr/subversion-src/tmp/usr/lib/clang/2.8 -D VISIBILITY_HIDDEN -O2 -Wsystem-headers -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -std=gnu99 -ferror-limit 19 -fmessage-length 275 -fvisibility hidden -stack-protector 1 -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-G6mPQL.s -x c /usr/subversion-src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/mulvti3.c 
> > > > > > > 1.	<eof> parser at end of file
> > > > > > > 2.	Code generation
> > > > > > > clang: error: clang frontend command failed due to signal 6 (use -v to see invocation)
> > > > > > > *** Error code 250
> > > > > 
> > > > > 
> > > > > this is a genuine llvm bug it may have been (or may have been not) fixed in recent llvm.
> > > > > 
> > > > > if you feel like it - install llvm/clang from subversion and check if it compiles this
> > > > > ok. if it does not I think it's worth filing a bug in llvm bugzilla..
> > > 
> > > i just wanted to report that the latest clang version doesn't trigger the
> > > assert any longer:
> > > 
> > > clang version 2.9 (trunk 124571)
> > > Target: x86_64-unknown-freebsd9.0
> > > Thread model: posix
> > > 
> > > is there a way to have the local "-fformat-extensions" clang additions pushed
> > > upstream? maybe that mght be sufficient to compile the freebsd source with
> > > clang 2.9+.
> > 
> > no, it makes no sense to push the printf patches upstream. it's freebsd kernel
> > only.
> > 
> > for compiling freebsd kernel you are supposed to use /usr/bin/clang (or just
> > ignore the warnings from upstream clang)
> 
> you should be able to reproduce the issue on arch=amd64 and the following in
> /etc by doing 'make' in lib/libcompiler_rt:
> 
> otaku% cat /etc/make.conf /etc/src.conf
> cat: /etc/make.conf: No such file or directory
> # CLANG options
> .if !defined(CC) || ${CC} == "cc"
> CC=clang
> .endif
> .if !defined(CXX) || ${CXX} == "c++"
> CXX=clang++
> .endif
> # Don't die on warnings
> #NO_WERROR=
> #WERROR=
> 
> # Enable debugging symbols for world
> DEBUG_FLAGS = -g
> 
> ... removing the "-g" switch from DEBUG_FLAGS solves the issue.
> 
> using the 2.9-development branch, lib/libcompiler_rt compiles fine even with
> the -g switch.

new import of clang/llvm will happen really soon now, bringing quite a few
improvements (mature integrated asm, some fbsd specific fixes etc.)

roman



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110131210251.GA70081>