Hi,

I guess you hit across a famous TLS issue.

See the first diff applied to bionic_tls.h.
http://pastebin.com/f3da569bf

diff --git a/libc/private/bionic_tls.h b/libc/private/bionic_tls.h
index da34344..ba86d2a 100644
--- a/libc/private/bionic_tls.h
+++ b/libc/private/bionic_tls.h
 -81,7 +81,8 @@ extern int __set_tls(void *ptr);

 /* get the TLS */
 #ifdef __arm__
-#  define __get_tls() ( *((volatile void **) 0xffff0ff0) )
+typedef void* (__get_tls_t)(void);
+static const __get_tls_t* __get_tls = (const __get_tls_t *)
0xffff0fe0;
 #else
 extern void*  __get_tls( void );
 #endif

Cheers,


On 7月29日, 午後5:26, Harishkumar V <[email protected]> wrote:
> 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
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to