[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