Handle frame pointer omission,  (#21), part 4 (final part!): FPO stackwalker.
r=bryner
 - This change allows Airbag to properly walk win32 stacks produced by code
   built with MSVC's frame pointer omission optimization (/Oy).  This
   optimization is enabled at /O1 and /O2.
 - There too many interface and file format changes to list here.

http://groups.google.com/group/airbag-dev/browse_thread/thread/85ce85bfa8457ece


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@42 4c0a9323-5329-0410-9bdc-e9ce6186880e
diff --git a/Makefile.in b/Makefile.in
index 72572d6..fd15374 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -108,8 +108,8 @@
 LTLIBRARIES = $(lib_LTLIBRARIES)
 src_libairbag_la_LIBADD =
 am__dirstamp = $(am__leading_dot)dirstamp
-am_src_libairbag_la_OBJECTS = src/processor/minidump.lo \
-	src/processor/minidump_processor.lo \
+am_src_libairbag_la_OBJECTS = src/processor/call_stack.lo \
+	src/processor/minidump.lo src/processor/minidump_processor.lo \
 	src/processor/source_line_resolver.lo \
 	src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \
 	src/processor/stackwalker_x86.lo
@@ -133,6 +133,7 @@
 src_processor_minidump_processor_unittest_OBJECTS =  \
 	$(am_src_processor_minidump_processor_unittest_OBJECTS)
 src_processor_minidump_processor_unittest_DEPENDENCIES =  \
+	src/processor/call_stack.lo \
 	src/processor/minidump_processor.lo src/processor/minidump.lo \
 	src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \
 	src/processor/stackwalker_x86.lo \
@@ -142,8 +143,8 @@
 src_processor_minidump_stackwalk_OBJECTS =  \
 	$(am_src_processor_minidump_stackwalk_OBJECTS)
 src_processor_minidump_stackwalk_DEPENDENCIES =  \
-	src/processor/minidump.lo src/processor/stackwalker.lo \
-	src/processor/stackwalker_ppc.lo \
+	src/processor/call_stack.lo src/processor/minidump.lo \
+	src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \
 	src/processor/stackwalker_x86.lo \
 	src/processor/source_line_resolver.lo
 am_src_processor_postfix_evaluator_unittest_OBJECTS =  \
@@ -167,7 +168,7 @@
 src_processor_stackwalker_selftest_OBJECTS =  \
 	$(am_src_processor_stackwalker_selftest_OBJECTS)
 src_processor_stackwalker_selftest_DEPENDENCIES =  \
-	src/processor/minidump.lo \
+	src/processor/call_stack.lo src/processor/minidump.lo \
 	src/processor/source_line_resolver.lo \
 	src/processor/stackwalker.lo src/processor/stackwalker_ppc.lo \
 	src/processor/stackwalker_x86.lo
@@ -342,9 +343,12 @@
 lib_LTLIBRARIES = src/libairbag.la
 src_libairbag_la_SOURCES = \
 	src/google/airbag_types.h \
+	src/google/call_stack.h \
 	src/google/minidump_processor.h \
 	src/google/stack_frame.h \
+	src/google/stack_frame_cpu.h \
 	src/google/symbol_supplier.h \
+	src/processor/call_stack.cc \
 	src/processor/contained_range_map.h \
 	src/processor/contained_range_map-inl.h \
 	src/processor/linked_ptr.h \
@@ -380,6 +384,7 @@
 	src/processor/minidump_processor_unittest.cc
 
 src_processor_minidump_processor_unittest_LDADD = \
+	src/processor/call_stack.lo \
 	src/processor/minidump_processor.lo \
 	src/processor/minidump.lo \
 	src/processor/stackwalker.lo \
@@ -403,6 +408,7 @@
 	src/processor/stackwalker_selftest.cc
 
 src_processor_stackwalker_selftest_LDADD = \
+	src/processor/call_stack.lo \
 	src/processor/minidump.lo \
 	src/processor/source_line_resolver.lo \
 	src/processor/stackwalker.lo \
@@ -420,6 +426,7 @@
 	src/processor/minidump_stackwalk.cc
 
 src_processor_minidump_stackwalk_LDADD = \
+	src/processor/call_stack.lo \
 	src/processor/minidump.lo \
 	src/processor/stackwalker.lo \
 	src/processor/stackwalker_ppc.lo \
@@ -524,6 +531,8 @@
 src/processor/$(DEPDIR)/$(am__dirstamp):
 	@$(mkdir_p) src/processor/$(DEPDIR)
 	@: > src/processor/$(DEPDIR)/$(am__dirstamp)
+src/processor/call_stack.lo: src/processor/$(am__dirstamp) \
+	src/processor/$(DEPDIR)/$(am__dirstamp)
 src/processor/minidump.lo: src/processor/$(am__dirstamp) \
 	src/processor/$(DEPDIR)/$(am__dirstamp)
 src/processor/minidump_processor.lo: src/processor/$(am__dirstamp) \
@@ -633,6 +642,8 @@
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
+	-rm -f src/processor/call_stack.$(OBJEXT)
+	-rm -f src/processor/call_stack.lo
 	-rm -f src/processor/contained_range_map_unittest.$(OBJEXT)
 	-rm -f src/processor/minidump.$(OBJEXT)
 	-rm -f src/processor/minidump.lo
@@ -657,6 +668,7 @@
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/call_stack.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/contained_range_map_unittest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/processor/$(DEPDIR)/minidump_dump.Po@am__quote@