From d26a0952a8f91e1c10c53a1cc910ca7d6b0c1d84 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Sun, 13 Dec 2015 21:04:06 +0200 Subject: [PATCH] runtime: init argc/argv for android/arm64 c-shared Analogous to https://go-review.googlesource.com/#/c/8457/ this code synthesizes an set of program arguments for Android on the arm64 architecture. Change-Id: I851958b4b0944ec79d7a1426a3bb2cfc31746797 Reviewed-on: https://go-review.googlesource.com/17782 Reviewed-by: David Crawshaw Run-TryBot: David Crawshaw TryBot-Result: Gobot Gobot --- src/runtime/rt0_android_arm64.s | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/runtime/rt0_android_arm64.s b/src/runtime/rt0_android_arm64.s index 729147673e..582fc5a28c 100644 --- a/src/runtime/rt0_android_arm64.s +++ b/src/runtime/rt0_android_arm64.s @@ -8,6 +8,18 @@ TEXT _rt0_arm64_android(SB),NOSPLIT,$-8 MOVD $_rt0_arm64_linux(SB), R4 B (R4) +// When building with -buildmode=c-shared, this symbol is called when the shared +// library is loaded. TEXT _rt0_arm64_android_lib(SB),NOSPLIT,$-8 + MOVW $1, R0 // argc + MOVD $_rt0_arm64_android_argv(SB), R1 // **argv MOVD $_rt0_arm64_linux_lib(SB), R4 B (R4) + +DATA _rt0_arm64_android_argv+0x00(SB)/8,$_rt0_arm64_android_argv0(SB) +DATA _rt0_arm64_android_argv+0x08(SB)/8,$0 +DATA _rt0_arm64_android_argv+0x10(SB)/8,$0 +GLOBL _rt0_arm64_android_argv(SB),NOPTR,$0x18 + +DATA _rt0_arm64_android_argv0(SB)/8, $"gojni" +GLOBL _rt0_arm64_android_argv0(SB),RODATA,$8 -- 2.50.0