Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Apr 2012 00:15:31 -0700
From:      Oleksandr Tymoshenko <gonzo@bluezbox.com>
To:        Tim Kientzle <kientzle@freebsd.org>
Cc:        arm@freebsd.org
Subject:   Re: Cross-buildworld works but not native build?
Message-ID:  <C90C8044-F103-4414-9167-6475D2CFAE76@bluezbox.com>
In-Reply-To: <9AD7075B-B85D-40DB-84B7-FD630B858A30@freebsd.org>

index | next in thread | previous in thread | raw e-mail


On 2012-04-26, at 11:48 PM, Tim Kientzle <kientzle@freebsd.org> wrote:

> I've been working with the projects/armv6 tree and have encountered a very confusing situation.
> 
> On i386, this works:
>  $ make TARGET_ARCH=arm TARGET_CPUTYPE=armv6 buildworld
> 
> If I take the resulting world and run it on arm, then the following fails (with the exact same source):
>  $ make buildworld
>  …. 
> cc  -O -pipe  -fpic -fvisibility=hidden -DVISIBILITY_HIDDEN -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/umoddi3.c -o umoddi3.o
> cc  -O -pipe  -fpic -fvisibility=hidden -DVISIBILITY_HIDDEN -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/umodti3.c -o umodti3.o
> cc  -O -pipe  -fpic -fvisibility=hidden -DVISIBILITY_HIDDEN -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c /usr/src/lib/libcompiler_rt/__sync_fetch_and_add_4.c -o __sync_fetch_and_add_4.o
> In file included from /usr/src/lib/libcompiler_rt/__sync_fetch_and_op_n.h:31,
>                 from /usr/src/lib/libcompiler_rt/__sync_fetch_and_add_4.c:6:
> /usr/obj/usr/src/tmp/usr/include/machine/atomic.h: In function 'atomic_cmpset_32':
> /usr/obj/usr/src/tmp/usr/include/machine/atomic.h:491: error: 'ARM_RAS_START' undeclared (first use in this function)
> /usr/obj/usr/src/tmp/usr/include/machine/atomic.h:491: error: (Each undeclared identifier is reported only once
> /usr/obj/usr/src/tmp/usr/include/machine/atomic.h:491: error: for each function it appears in.)
> /usr/obj/usr/src/tmp/usr/include/machine/atomic.h: In function 'atomic_add_32':
> /usr/obj/usr/src/tmp/usr/include/machine/atomic.h:516: error: 'ARM_RAS_START' undeclared (first use in this function)
> 
> 
> Looking at the source, ARM_RAS_START really does seem to be undeclared (it's declared in sysarch.h, but atomic.h only includes sysarch.h for kernel builds).
> 
> So it looks to me like the cross-buildworld should fail also.  In any case, it's not clear why the two aren't behaving the same way.
> 

Warner Losh committed support for TARGET_ARCH=armv6 to HEAD. It should fix this issue. I started working on merging latest HEAD to project/armv6 

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C90C8044-F103-4414-9167-6475D2CFAE76>