On Tue, 2012-11-20 at 12:36 -0800, Richard Henderson wrote: > BP will only equal the CFA on some targets. It really depends on how the > target sets up the stack frame.
Are you talking about leaf routines like on ppc64 where we don't decrement the stack pointer? If so, that's not a concern here because the ASAN tests insert a call so none of the instrumented functions will be leaf routines. > It will also depend on the target actually using frame pointers. That is problematical, except for... > On the other hand, CFA = SP on the next frame up. And that's rather more > reliable based on how we work with dwarf2 and define the CFA. Only very > unusual functions have CFA != the incoming SP -- asm versions of longjmp > for example. Doesn't this save us, since the bottom frame in the backtrace will always be an ASAN functionand the frame we're interested in will always be higher in the backtrace? I guess I'm wondering, in this specific use case, do you think using the CFA to compare against is safe or not? Peter