aboutsummaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorjimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e>2010-01-23 01:20:55 +0000
committerjimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e>2010-01-23 01:20:55 +0000
commitbc64ee962f7a3518a5d8fef96cda2ad325a19d23 (patch)
treedf91026d623c9b012cea4fac6694d088e9b1bb31 /src/tools
parentBreakpad DWARF Reader: Change LineInfoHandler::AddLine to provide the line's ... (diff)
downloadbreakpad-bc64ee962f7a3518a5d8fef96cda2ad325a19d23.tar.xz
Breakpad DWARF Parser: Improved DWARF-processing interface.
dwarf2reader::CompilationUnit is a simple and direct parser for DWARF data, but its handler interface is not convenient to use. In particular, the same handler object receives data about all DIEs processed. One can't use distinct classes to separate the information needed to handle different kinds of data. This patch defines a new adapter type, dwarf2reader::DIEHandler, which implements the existing DWARF parser's handler interface, given a handler written to a more comfortable, object-orient interface. The comments in dwarf2diehandler.h provide more detail. a=jimblandy, r=ccoutant git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@495 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/linux/dump_syms/Makefile22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/tools/linux/dump_syms/Makefile b/src/tools/linux/dump_syms/Makefile
index 78a1a1ab..b944f3cf 100644
--- a/src/tools/linux/dump_syms/Makefile
+++ b/src/tools/linux/dump_syms/Makefile
@@ -77,6 +77,7 @@ dump_syms: \
dump_stabs.o \
dump_syms.o \
dump_symbols.o \
+ dwarf2diehandler.o \
file_id.o \
module.o \
stabs_reader.o \
@@ -97,6 +98,10 @@ COVERAGE_SOURCES += module.cc
stabs_reader.o: stabs_reader.cc
COVERAGE_SOURCES += stabs_reader.cc
+VPATH += $(SRC)/common/dwarf
+dwarf2diehandler.o: dwarf2diehandler.cc
+COVERAGE_SOURCES += dwarf2diehandler.cc
+
### Google C++ Testing Framework.
@@ -180,6 +185,23 @@ clean::
rm -f dump_stabs_unittest
+### Unit tests for dwarf2reader::DwarfDIEDispatcher.
+check: check-dwarf2diehandler_unittest
+check-dwarf2diehandler_unittest: dwarf2diehandler_unittest
+dwarf2diehandler_unittest: \
+ gmock-all.o \
+ gtest-all.o \
+ gtest_main.o \
+ dwarf2diehandler.o \
+ $(empty)
+CPP_EXECUTABLES += dwarf2diehandler_unittest
+dwarf2diehandler_unittest.o: dwarf2diehandler_unittest.cc
+dwarf2diehandler_unittest.o: override CPPFLAGS += $(GTEST_CPPFLAGS) \
+ $(GMOCK_CPPFLAGS)
+clean::
+ rm -f dwarf2diehandler_unittest
+
+
### Generic compilation rules.
# Link C++ executables using the C++ compiler; see CPP_EXECUTABLES above.