diff options
author | Maxim Ostapenko <m.ostapenko@samsung.com> | 2016-11-08 22:07:50 +0000 |
---|---|---|
committer | Maxim Ostapenko <chefmax@gcc.gnu.org> | 2016-11-09 00:07:50 +0200 |
commit | 789306de0fa860eebe32a2677d87d1203bbb81f4 (patch) | |
tree | 247ce07074665a9835ecf838a46ee3ef49537083 /libsanitizer/sanitizer_common | |
parent | 103c4f759ab75305a7cb7927af6b35b1f5da5f06 (diff) |
sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if...
libsanitizer/
* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we
compiled code with GCC when extracting the caller PC for ARM if no
valid frame pointer is available.
From-SVN: r241980
Diffstat (limited to 'libsanitizer/sanitizer_common')
-rw-r--r-- | libsanitizer/sanitizer_common/sanitizer_stacktrace.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc b/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc index 531f256c048..cbb3af270b6 100644 --- a/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc +++ b/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc @@ -55,8 +55,8 @@ static inline uhwptr *GetCanonicFrame(uptr bp, // Nope, this does not look right either. This means the frame after next does // not have a valid frame pointer, but we can still extract the caller PC. // Unfortunately, there is no way to decide between GCC and LLVM frame - // layouts. Assume LLVM. - return bp_prev; + // layouts. Assume GCC. + return bp_prev - 1; #else return (uhwptr*)bp; #endif |