diff options
Diffstat (limited to 'libgo/runtime/runtime_c.c')
-rw-r--r-- | libgo/runtime/runtime_c.c | 23 |
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. |