Android issues

Jason Evans jasone at canonware.com
Thu Mar 15 17:13:58 PDT 2012


On Mar 15, 2012, at 12:58 PM, Mike Hommey wrote:
> I'm trying to get jemalloc built for Android, and here is a short list
> of things that go wrong:
> - pthread_create is not defined in libpthread, but in libc, which makes
>  the configure.ac test fail.

Interesting.  A workaround for this should be pretty straightforward (on my todo list now).

> - The AC_RUN_IFELSE test for STATIC_PAGE_SHIFT fails because it requires
>  not to be cross-compiling, which makes configure.ac hard-fail.

Andreas Vinsander cross-compiled for SH4 by providing sh4.cache to configure:

	http://www.canonware.com/pipermail/jemalloc-discuss/2011-April/000018.html

Perhaps something similar will work for Android.

> - Android system headers don't provide sys/sysctl.h. But it seems it's
>  not used anyways, so removing the include worked for me (and worked on
>  plain Linux too)

I think this was a holdover from using sysctl to get the number of CPUs.  I just removed it on the dev branch.

> - There are no atomic ops for arm, but the __sync_* ones work. Sadly,
>  the compiler doesn't define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.

Ouch.  Maybe "CPPFLAGS=-D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 configure …" will be an adequate workaround.

Thanks,
Jason


More information about the jemalloc-discuss mailing list