From: Max Ostapenko Date: Wed, 21 Oct 2015 07:51:03 +0000 (+0300) Subject: sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=21d6106320c64bfd87ee81a3c0e342ba7697e0a3;p=gcc.git 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: r229115 --- diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index 80ce1585857..2ed4cc32191 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,9 @@ +2015-10-21 Maxim Ostapenko + + * 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. + 2015-10-21 Maxim Ostapenko PR bootstrap/63888 diff --git a/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc b/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc index 7b0c084b1a2..796d472a1eb 100644 --- a/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc +++ b/libsanitizer/sanitizer_common/sanitizer_stacktrace.cc @@ -60,8 +60,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