aboutsummaryrefslogtreecommitdiff
path: root/libgo/runtime/runtime_c.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/runtime/runtime_c.c')
-rw-r--r--libgo/runtime/runtime_c.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/libgo/runtime/runtime_c.c b/libgo/runtime/runtime_c.c
index bc920a5..f92bdd4 100644
--- a/libgo/runtime/runtime_c.c
+++ b/libgo/runtime/runtime_c.c
@@ -199,10 +199,13 @@ getEnd()
uintptr getText(void)
__asm__ (GOSYM_PREFIX "runtime.getText");
+extern void main_main(void*)
+ __asm__(GOSYM_PREFIX "main.main");
+
uintptr
getText(void)
{
- return (uintptr)(const void *)(getText);
+ return (uintptr)(const void *)(main_main);
}
// Return the end of the text segment, assumed to come after the
@@ -224,6 +227,24 @@ getEtext(void)
return (uintptr)(p);
}
+// Return the start of the BSS section.
+
+uintptr getBSS(void)
+ __asm__ (GOSYM_PREFIX "runtime.getBSS");
+
+uintptr
+getBSS(void)
+{
+ const void *p;
+
+ p = __edata;
+ if (p == NULL)
+ p = _edata;
+ if (p == NULL)
+ p = __bss_start;
+ return (uintptr)(p);
+}
+
// CPU-specific initialization.
// Fetch CPUID info on x86.