Date: Wed, 11 Jul 2012 17:20:08 GMT From: Patrick Lamaiziere <patfbsd@davenulle.org> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/168253: clang crashes on Geode Message-ID: <201207111720.q6BHK8iI048501@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/168253; it has been noted by GNATS. From: Patrick Lamaiziere <patfbsd@davenulle.org> To: bug-followup@FreeBSD.org, freebsd@nagilum.org Cc: Subject: Re: bin/168253: clang crashes on Geode Date: Wed, 11 Jul 2012 19:11:21 +0200 Hello, for the record clang in 9.0 produces invalid code for the Geode LX (long nop instructions as nopl or nopw). A PR is open upstream for this issue (llvm) : http://llvm.org/bugs/show_bug.cgi?id=11212 So do not try to use clang on the AMD geode LX. A work-around according Roman Divacky is to use "-no-integrated-as" to your CFLAGS, that will make clang use gnu as instead of its own integrated assembler, thus avoiding this problem. (I've not tried this) See : http://lists.freebsd.org/pipermail/freebsd-current/2011-October/028588.html I've made a try today (jully 11, 2012) (9.0-STABLE) on my AMD geode MX, it still uses invalid nop. (illegal instruction in gperf) # clang --version FreeBSD clang version 3.1 (branches/release_31 156863) 20120523 Target: i386-unknown-freebsd9.0 Thread model: posix gperf built with clang: malpractice:/usr/obj# gdb ./usr/src/tmp/usr/src/gnu/usr.bin/gperf/gperf (gdb) run Starting program: /usr/obj/usr/src/tmp/usr/src/gnu/usr.bin/gperf/gperf Program received signal SIGILL, Illegal instruction. 0x08052d6d in getstr () (gdb) disass 0x08052d6d Dump of assembler code for function _ZL6getstrPPcPjP7__sFILEcj: 0x08052d00 <_ZL6getstrPPcPjP7__sFILEcj+0>: push %ebp ... 0x08052d6d <_ZL6getstrPPcPjP7__sFILEcj+109>: nopl (%eax) Regards.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207111720.q6BHK8iI048501>