[Buildroot] Analysis of build failures
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Feb 12 09:45:01 UTC 2014
Dear Peter Korsgaard,
On Wed, 12 Feb 2014 10:39:16 +0100, Peter Korsgaard wrote:
> > case "${host_os}" in
> > nobody_is_using_this_currently)
> > AC_DEFINE(HAVE_CODEMEM_MALLOC, 1, [Use malloc to allocate code for execution])
> > ;;
> > mingw*|pw32*|cygwin*)
> > AC_DEFINE(HAVE_CODEMEM_VIRTUALALLOC, 1, [Use VirtualAlloc to allocate code for execution])
> > ;;
> > linux*|darwin*|solaris*|netbsd*|freebsd*|openbsd*|kfreebsd*|dragonfly*|gnu*)
> > AC_DEFINE(HAVE_CODEMEM_MMAP, 1, [Use mmap to allocate code for execution])
> > ;;
> > *)
> > AC_ERROR([no code allocation backend])
> > ;;
> > esac
>
> > So when the host is uclinux (such as on !MMU platforms), nothing
> > matches. Which seems to match the fact that it needs a proper mmap() to
> > operate. So I believe it's really a "depends BR2_USE_MMU" that we need
> > here.
>
> But orc is a JIT code generator, and from the source code it seems it
> only handles ARM/PowerPC/x86.
True. Odd that their configure script doesn't bail out after checking
the target architecture.
Things worth mentioning:
* They have a newer 0.4.17 version that has MIPS support, as well as
PowerPC64 support.
* Their README suggest a way of reducing the size of the library that
we are not using:
"""
A: For embedded users, the --enable-backend configure option can
be used to disable irrelvant targets. Compiled with only one target
(SSE), the library size is about 150 kB uncompressed, or 48 kB
compressed. The goal was to keep the uncompressed size under
about 100 kB (but that failed!). A typical build with all targets
and the full ABI is around 350 kB.
"""
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the buildroot
mailing list