changeset 23456:c6ef40024aa2

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 9f8038f83a6e
children 110735ab93ec
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	Tue Nov 17 09:39:45 2015 -0800
+++ b/src/os_cpu/linux_zero/vm/os_linux_zero.cpp	Fri Jun 12 16:09:45 2015 +0100
@@ -55,8 +55,8 @@
 #include "utilities/vmError.hpp"
 
 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) {