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

Dimitry Andric dimitry at andric.com
Fri Feb 22 16:14:49 UTC 2013


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?


> DA> In any case, can you attempt to figure out which exact instructions it
> DA> dies on?  If gdb does not work, like you said above, maybe you can use
> DA> objdump to disassemble the executable in question, and find the address
> DA> of the failing instruction.
>    I'm  trying  to  do this with very last sources both as build system
>   and target sources.

As Joerg Sonnenberger mentioned to me, the address 0x10351d6 you show in
the gdb session seems to be quite high, possibly pointing to some shared
library.  Maybe you can try to figure out which library it is?

-Dimitry



More information about the freebsd-current mailing list