r245741 (clang as cc) can not build binaries for GEODE processor

John-Mark Gurney jmg at funkthat.com
Fri Feb 22 22:18:03 UTC 2013


Dimitry Andric wrote this message on Fri, Feb 22, 2013 at 17:14 +0100:
> On 2013-02-22 16:49, Lev Serebryakov wrote:
> >You wrote 22 ?????????????? 2013 ??., 18:21:50:
> >
> >DA> The default for FreeBSD on 32-bit x86 is i486, so maybe the problems 
> >are
> >DA> caused by the -march=geode setting.  If you disable that, do the
> >DA> problems disappear?
> >   Problem  is,  that  code  compiled  with "-march=geode" works. Code
> >built without any "-march" at all (without CPUTYPE in configs) doesn't.
> >   It looks like clang or use "build system" CPU as default "-march" or
> >issue some >= i686 commands without it. Or both :)
> 
> Clang defaults to i486 (that is, on i386-unknown-freebsdXX arch), unless
> you specify -march= or -mcpu= on the command line.
> 
> Maybe samba, or any of its dependencies, attempts to be "smart", and
> enables some custom CPU optimizations?

Clang is broken when compiling for pre-PPro machines... it compiles
include the cmov instruction.  I sent email to -current about this
earlier this month in:
Subject:   -current broken on pre-PPro machines (w/ work around)

http://www.freebsd.org/cgi/mid.cgi?20130201170737.GP1410@funkthat.com

The work around is to use gcc which will not emit the cmov instructions...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-current mailing list