changeset 8502:6217fd2c767b

8087120: [GCC5] java.lang.StackOverflowError on Zero JVM initialization on non x86 platforms. Summary: Use __builtin_frame_address(0) rather than returning address of local variable. Reviewed-by: dholmes
author sgehwolf
date Fri, 12 Jun 2015 16:09:45 +0100
parents ff0929a59ced
children 43e11a06fcf3
files src/os_cpu/linux_zero/vm/os_linux_zero.cpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Thu Jun 11 20:19:26 2015 -0700
+++ b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Fri Jun 12 16:09:45 2015 +0100
@@ -59,8 +59,8 @@
 extern sigjmp_buf* get_jmp_buf_for_continuation();
 
 address os::current_stack_pointer() {
-  address dummy = (address) &dummy;
-  return dummy;
+  // return the address of the current function
+  return (address)__builtin_frame_address(0);
 }
 
 frame os::get_sender_for_C_frame(frame* fr) {