aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/go-main.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2016-02-09 00:34:55 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2016-02-09 00:34:55 +0000
commitcc240aa7d1b5fa87ca507f69a5df81a63cda2ce3 (patch)
tree7816f6072883911ab6d91b664bb121e5cbfff3e8 /libgo/runtime/go-main.c
parent41798077bfd95dc55e0e1a16aa03dfe85435cbd4 (diff)
downloadgcc-cc240aa7d1b5fa87ca507f69a5df81a63cda2ce3.zip
gcc-cc240aa7d1b5fa87ca507f69a5df81a63cda2ce3.tar.gz
gcc-cc240aa7d1b5fa87ca507f69a5df81a63cda2ce3.tar.bz2
re PR go/69357 (libgo refers to _end in a non-weak way)
PR go/69537 runtime: Don't refer to _end symbol in shared library. Fixes GCC PR 69357. Reviewed-on: https://go-review.googlesource.com/19362 From-SVN: r233235
Diffstat (limited to 'libgo/runtime/go-main.c')
-rw-r--r--libgo/runtime/go-main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libgo/runtime/go-main.c b/libgo/runtime/go-main.c
index 026469b..ff2958c 100644
--- a/libgo/runtime/go-main.c
+++ b/libgo/runtime/go-main.c
@@ -30,6 +30,11 @@
extern char **environ;
+/* A copy of _end that a shared library can reasonably refer to. */
+uintptr __go_end;
+
+extern byte _end[];
+
/* The main function. */
int
@@ -41,6 +46,7 @@ main (int argc, char **argv)
return 0;
runtime_isstarted = true;
+ __go_end = (uintptr)_end;
runtime_check ();
runtime_args (argc, (byte **) argv);
runtime_osinit ();