Clang now builds world and kernel, on i386 and amd64
Dimitry Andric
dim at FreeBSD.org
Wed Sep 29 17:41:19 UTC 2010
On 2010-09-29 17:48, Renato Botelho wrote:
> 0. Program arguments: /usr/bin/clang -cc1 -triple
> x86_64-undermydesk-freebsd9.0 -S -disable-free -main-file-name ldexp.c
> -mrelocation-model static -mdisable-fp-elim -mconstructor-aliases
> -munwind-tables -target-cpu x86-64 -resource-dir /usr/lib/clang/2.8 -D
> NLS -D __DBINTERFACE_PRIVATE -D INET6 -D _ACL_PRIVATE -D POSIX_MISTAKE
> -D BROKEN_DES -D PORTMAP -D DES_BUILTIN -D YP -D NS_CACHING -D
> SYMBOL_VERSIONING -I /usr/src/lib/libc/include -I
> /usr/src/lib/libc/../../include -I /usr/src/lib/libc/amd64 -I
> /usr/src/lib/libc/../../contrib/gdtoa -I /usr/obj/usr/src/lib/libc -I
> /usr/src/lib/libc/resolv -I
> /usr/src/lib/libc/../../contrib/tzcode/stdtime -I
> /usr/src/lib/libc/stdtime -I /usr/src/lib/libc/locale -I
> /usr/src/lib/libc/rpc -O0 -Wsystem-headers -Wall -Wno-format-y2k
> -Wno-uninitialized -Wno-pointer-sign -std=gnu99 -ferror-limit 19
> -fmessage-length 105 -stack-protector 1 -fgnu-runtime
> -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-8DfzyK.s -x c
> /usr/src/lib/libc/amd64/gen/ldexp.c
> 1.<eof> parser at end of file
> 2. Code generation
> 3. Running pass 'X86 FP Stackifier' on function '@ldexp'
...
> Removing -O0 from CFLAGS it builds fine. Am I doing something
> wrong?
No, but unfortunately ldexp.c is well-known problem case for clang's
inline assembly support. Its handling of floating point arguments is
rather fragile, and sometimes breaks, as you can see here. For now,
only use the standard settings to compile it. :)
More information about the freebsd-current
mailing list