[aarch64-port-dev ] RFR: SEGV in PRODUCT build with NotifySimulator
    Edward Nevill 
    edward.nevill at linaro.org
       
    Mon Jul 15 05:03:26 PDT 2013
    
    
  
Hi,
The following patch fixes a problem where I get SIGSEGV in a PRODUCT 
build of the BUILTIN_SIM version.
The problem is caused by the incorrect calculation of the return 
address offset when PRODUCT is true.
Please review and commit,
Thanks,
Ed.
--- CUT HERE ---
# HG changeset patch
# User Edward Nevill edward.nevill at linaro.org
# Date 1373889427 -3600
# Node ID 86a3cf294c78c44d9fdd84cefe3b00d31751d184
# Parent  2fceb893cf2a37d8c2a3a815820addd9666d917e
Fix SEGV in PRODUCT build when NotifySim true.
diff -r 2fceb893cf2a -r 86a3cf294c78 
src/cpu/aarch64/vm/stubRoutines_aarch64.hpp
--- a/src/cpu/aarch64/vm/stubRoutines_aarch64.hpp	Wed Jul 10 13:19:59 
2013 +0100
+++ b/src/cpu/aarch64/vm/stubRoutines_aarch64.hpp	Mon Jul 15 12:57:07 
2013 +0100
@@ -37,7 +37,8 @@
 // latter address is sued by the stack unwind code when doign an
 // exception return.
 static bool    returns_to_call_stub(address return_pc)   {
-  return return_pc == _call_stub_return_address + (NotifySimulator ? 
-4 : 0);
+  return return_pc == _call_stub_return_address +
+		(NotifySimulator ? PRODUCT_ONLY(0) NOT_PRODUCT(-4) : 0);
 }
 
 enum platform_dependent_constants {
--- CUT HERE ---
    
    
More information about the aarch64-port-dev
mailing list