Building world with clang ToT

Dimitry Andric dim at FreeBSD.org
Wed Sep 12 11:09:36 UTC 2012


On 2012-09-12 12:46, Edward Meewis wrote:
> Has anyone recently built FreeBSD10-current with clang on a FreeBSD9
> amd64 system?
>
> I've bumped into a number of issues. Mainly, buildworld picks up the old
> system includes, which miss newly introduced symbols; same thing with
> libraries. I fixed that by pointing compiler and linker to
> /usr/obj/FreeBSD-HEAD/tmp/include and lib.

Strange, it should not do that.  How exactly did you "point compiler and
linker"?  What is your make.conf and/or src.conf?

If had to hazard a guess based on this information alone, I would say
you are assigning to CFLAGS somewhere, instead of using +=.


> Building stops in lib/libstand:
>
> /usr/home/emeewis/src/FreeBSD-HEAD/lib/libstand/i386/_setjmp.S:50:82:
> error: register %rbp is only available in 64-bit mode
> .text; .p2align 4,0x90; .globl _setjmp; .type _setjmp, at function;
> _setjmp:; pushq %rbp; movq %rsp,%rbp; call .mcount; popq %rbp; 9:
>
> Libstand is build in i386 mode, but includes machine/asm.h in _setjmp.S.
> Is there a way to force it to use i386/asm.h?
>
> I had a go with gcc, but I got the same results...

There must be a certain setting on your system which causes this.  Most
likely, it is again using your existing system headers, instead of those
in /usr/obj.


More information about the freebsd-current mailing list