Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Apr 2012 23:48:47 -0700
From:      Tim Kientzle <kientzle@freebsd.org>
To:        arm@freebsd.org
Subject:   Cross-buildworld works but not native build?
Message-ID:  <9AD7075B-B85D-40DB-84B7-FD630B858A30@freebsd.org>

next in thread | raw e-mail | index | archive | help
I've been working with the projects/armv6 tree and have encountered a =
very confusing situation.

On i386, this works:
  $ make TARGET_ARCH=3Darm TARGET_CPUTYPE=3Darmv6 buildworld

If I take the resulting world and run it on arm, then the following =
fails (with the exact same source):
  $ make buildworld
  =85.=20
cc  -O -pipe  -fpic -fvisibility=3Dhidden -DVISIBILITY_HIDDEN -std=3Dgnu99=
 -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=3Dhidden -DVISIBILITY_HIDDEN -std=3Dgnu99=
 -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=3Dhidden -DVISIBILITY_HIDDEN -std=3Dgnu99=
 -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.

Tim




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9AD7075B-B85D-40DB-84B7-FD630B858A30>