breakpad/src/google_breakpad/processor
ivan.penkov@gmail.com 374e8dcfa7 More robust stack walks when the IP address in the context frame is invalid (or not in a known module).
This is achieved by:
1. Extending the span of the scan for return address in the conext frame.  Initially, I wanted to extend the span of the scan for all frames but then I noticed that there is code for ARM already that is extending the search only for the context frame.  This kind of makes sense so I decided to reuse the same idea everywhere.
2. Attempting to restore the EBP chain after a successful scan for return address so that the stackwalker can switch back to FRAME_TRUST_CFI for the rest of the frames when possible.

I also fixed the lint errors in the files touched.
Review URL: https://breakpad.appspot.com/605002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1193 4c0a9323-5329-0410-9bdc-e9ce6186880e
2013-06-26 00:16:11 +00:00
..
basic_source_line_resolver.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
call_stack.h Rename Airbag to Breakpad. 2007-02-14 19:51:05 +00:00
code_module.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
code_modules.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
exploitability.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
fast_source_line_resolver.h Restrict ownership of symbol data buffers to symbol supplier. 2010-11-01 17:31:31 +00:00
memory_region.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
minidump.h Treat warnings as error and fix most level 4 warnings in the breakpad windows client projects. 2013-06-04 16:51:01 +00:00
minidump_processor.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
process_state.h Keeping track of modules without symbols during crash report processing. 2013-03-06 19:32:13 +00:00
source_line_resolver_base.h Tiny fix for memory allocation/deallocation mismatch 2010-11-01 22:10:10 +00:00
source_line_resolver_interface.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
stack_frame.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
stack_frame_cpu.h Add PPC64 support to breakpad processor. 2013-04-12 23:24:02 +00:00
stack_frame_symbolizer.h Work around Windows headers #defining ERROR by renaming enum values in StackFrameSymbolizer 2013-03-04 15:42:50 +00:00
stackwalker.h More robust stack walks when the IP address in the context frame is invalid (or not in a known module). 2013-06-26 00:16:11 +00:00
symbol_supplier.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
system_info.h Make x86-64 stack walking work for Native Client minidumps 2013-05-08 02:37:15 +00:00