aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/rt0_android_386.s
diff options
context:
space:
mode:
authorHyang-Ah Hana Kim <hyangah@gmail.com>2015-11-05 16:32:27 -0500
committerHyang-Ah Hana Kim <hyangah@gmail.com>2015-11-11 21:59:24 +0000
commit05c4c6e2f48dad6876a8ffc3e72b4122245c5095 (patch)
tree91f04e9dee9897eba134b0393303d7e19ebe8be1 /src/runtime/rt0_android_386.s
parentd727312cbfd7212950b12ec078030c62c83a9064 (diff)
downloadgo-05c4c6e2f48dad6876a8ffc3e72b4122245c5095.tar.gz
go-05c4c6e2f48dad6876a8ffc3e72b4122245c5095.zip
cmd,runtime: TLS setup for android/386
Same ugly hack as https://go-review.googlesource.com/15991. Update golang/go#9327. Change-Id: I58284e83268a15de95eabc833c3e01bf1e3faa2e Reviewed-on: https://go-review.googlesource.com/16678 Reviewed-by: David Crawshaw <crawshaw@golang.org>
Diffstat (limited to 'src/runtime/rt0_android_386.s')
-rw-r--r--src/runtime/rt0_android_386.s32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/runtime/rt0_android_386.s b/src/runtime/rt0_android_386.s
new file mode 100644
index 0000000000..9d20fc8f89
--- /dev/null
+++ b/src/runtime/rt0_android_386.s
@@ -0,0 +1,32 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+#include "textflag.h"
+
+TEXT _rt0_386_android(SB),NOSPLIT,$8
+ MOVL 8(SP), AX // argc
+ LEAL 12(SP), BX // argv
+ MOVL AX, 0(SP)
+ MOVL BX, 4(SP)
+ CALL main(SB)
+ INT $3
+
+TEXT _rt0_386_android_lib(SB),NOSPLIT,$0
+ PUSHL $_rt0_386_android_argv(SB) // argv
+ PUSHL $1 // argc
+ CALL _rt0_386_linux_lib(SB)
+ POPL AX
+ POPL AX
+ RET
+
+DATA _rt0_386_android_argv+0x00(SB)/4,$_rt0_386_android_argv0(SB)
+DATA _rt0_386_android_argv+0x04(SB)/4,$0 // argv terminate
+DATA _rt0_386_android_argv+0x08(SB)/4,$0 // envp terminate
+DATA _rt0_386_android_argv+0x0c(SB)/4,$0 // auxv terminate
+GLOBL _rt0_386_android_argv(SB),NOPTR,$0x10
+
+// TODO: wire up necessary VDSO (see os_linux_386.go)
+
+DATA _rt0_386_android_argv0(SB)/8, $"gojni"
+GLOBL _rt0_386_android_argv0(SB),RODATA,$8