mirror of git://gcc.gnu.org/git/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
This commit is contained in:
parent
15ebe1fe46
commit
21d6106320
|
|
@ -1,3 +1,9 @@
|
||||||
|
2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
|
||||||
|
|
||||||
|
* 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 <m.ostapenko@partner.samsung.com>
|
2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
|
||||||
|
|
||||||
PR bootstrap/63888
|
PR bootstrap/63888
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,8 @@ static inline uhwptr *GetCanonicFrame(uptr bp,
|
||||||
// Nope, this does not look right either. This means the frame after next does
|
// 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.
|
// 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
|
// Unfortunately, there is no way to decide between GCC and LLVM frame
|
||||||
// layouts. Assume LLVM.
|
// layouts. Assume GCC.
|
||||||
return bp_prev;
|
return bp_prev - 1;
|
||||||
#else
|
#else
|
||||||
return (uhwptr*)bp;
|
return (uhwptr*)bp;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue