porting android to a custom board casusing SIGSEGV

Hi,

I am porting android to a custom OMAP 3430 board which has linux-2.6.28-rc9-omap1 kernel.

From busybox filesystem, when chroot to android filesystem built from embinux, it causes sigsegv.

#strace /usr/sbin/chroot platform/android/omap3droid /init
execve("/usr/sbin/chroot", ["/usr/sbin/chroot", “platform/android/omap3droid”, “/init”], [/* 17 vars /]) = 0
uname({sys=“Linux”, node=“OMAP3EVM”, …}) = 0
brk(0) = 0x1f2000
brk(0x1f2d02) = 0x1f2d02
set_tls(0x1f24a0, 0x1c5ab0, 0, 0x1c6700, 0x1f24a0) = 0
brk(0x213d02) = 0x213d02
brk(0x214000) = 0x214000
getpid() = 452
getuid32() = 0
chroot(“platform/android/omap3droid”) = 0
chdir("/") = 0
execve("/init", ["/init"], [/
17 vars */]) = 0
gettid() = 452
set_tls(0xbe8b0b74, 0xbe8b0c74, 0, 0x40, 0xbe8b0c74) = 0
— SIGSEGV (Segmentation fault) @ 0 (0) —
+++ killed by SIGSEGV +++

Any pointers , how to fix this.

Thanks and Regards,
HarishKumar.V

You dont require this patch if you have disabled CONFIG_HAS_TLS_REG in kernel.

Regards,
mizmit1222 wrote:

Thanks Rupesh and mizmit1222,

after disabling CONFIG_HAS_TLS_REG option in kernel, it worked, but now failing at ashmem.

Thanks and Regards,
HarishKumar.V