bin/168253: clang crashes on Geode
Patrick Lamaiziere
patfbsd at davenulle.org
Wed Jul 11 17:20:08 UTC 2012
The following reply was made to PR bin/168253; it has been noted by GNATS.
From: Patrick Lamaiziere <patfbsd at davenulle.org>
To: bug-followup at FreeBSD.org, freebsd at 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.
More information about the freebsd-bugs
mailing list