aboutsummaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorcdn@chromium.org <cdn@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2010-10-01 22:38:10 +0000
committercdn@chromium.org <cdn@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2010-10-01 22:38:10 +0000
commit2b4274afc4fae883d1251a7a420e24fd526a9f16 (patch)
treed9cafcfb8d68b4c005f5cb80c15e3286c291b067 /Makefile.am
parentAdd stack-scanning fallback to Stackwalker{AMD64,ARM}. (diff)
downloadbreakpad-2b4274afc4fae883d1251a7a420e24fd526a9f16.tar.xz
Added libdisasm to the repository. This library is no longer under development so there
is no reason not to keep it locally. Implemented a basic disassembler which can be used to scan bytecode for interesting conditions. This should be pretty easy to add to for things other than exploitability if there is a desire. This also adds several tests to the windows exploitability ranking code to take advantage of the disassembler for x86 code. BUG=None TEST=DisassemblerX86Test.* Review URL: http://breakpad.appspot.com/203001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@705 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am97
1 files changed, 94 insertions, 3 deletions
diff --git a/Makefile.am b/Makefile.am
index 0703d788..ce2c18b0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -49,6 +49,7 @@ dist_doc_DATA = \
## Libraries
+noinst_LTLIBRARIES = src/third_party/libdisasm/libdisasm.la
lib_LTLIBRARIES = src/libbreakpad.la
if LINUX_HOST
@@ -100,6 +101,8 @@ src_libbreakpad_la_SOURCES = \
src/processor/cfi_frame_info.h \
src/processor/contained_range_map-inl.h \
src/processor/contained_range_map.h \
+ src/processor/disassembler_x86.h \
+ src/processor/disassembler_x86.cc \
src/processor/exploitability.cc \
src/processor/exploitability_win.h \
src/processor/exploitability_win.cc \
@@ -143,6 +146,37 @@ src_libbreakpad_la_SOURCES = \
src/processor/udp_network.cc \
src/processor/udp_network.h
+src_libbreakpad_la_LDFLAGS = -W1,-static
+
+src_libbreakpad_la_LIBADD = src/third_party/libdisasm/libdisasm.la
+
+src_third_party_libdisasm_libdisasm_la_SOURCES = \
+ src/third_party/libdisasm/ia32_implicit.c \
+ src/third_party/libdisasm/ia32_implicit.h \
+ src/third_party/libdisasm/ia32_insn.c \
+ src/third_party/libdisasm/ia32_insn.h \
+ src/third_party/libdisasm/ia32_invariant.c \
+ src/third_party/libdisasm/ia32_invariant.h \
+ src/third_party/libdisasm/ia32_modrm.c \
+ src/third_party/libdisasm/ia32_modrm.h \
+ src/third_party/libdisasm/ia32_opcode_tables.c \
+ src/third_party/libdisasm/ia32_opcode_tables.h \
+ src/third_party/libdisasm/ia32_operand.c \
+ src/third_party/libdisasm/ia32_operand.h \
+ src/third_party/libdisasm/ia32_reg.c \
+ src/third_party/libdisasm/ia32_reg.h \
+ src/third_party/libdisasm/ia32_settings.c \
+ src/third_party/libdisasm/ia32_settings.h \
+ src/third_party/libdisasm/libdis.h \
+ src/third_party/libdisasm/qword.h \
+ src/third_party/libdisasm/x86_disasm.c \
+ src/third_party/libdisasm/x86_format.c \
+ src/third_party/libdisasm/x86_imm.c \
+ src/third_party/libdisasm/x86_imm.h \
+ src/third_party/libdisasm/x86_insn.c \
+ src/third_party/libdisasm/x86_misc.c \
+ src/third_party/libdisasm/x86_operand_list.c \
+ src/third_party/libdisasm/x86_operand_list.h
## Programs
bin_PROGRAMS = \
@@ -163,6 +197,8 @@ check_PROGRAMS = \
src/processor/basic_source_line_resolver_unittest \
src/processor/cfi_frame_info_unittest \
src/processor/contained_range_map_unittest \
+ src/processor/disassembler_x86_unittest \
+ src/processor/exploitability_unittest \
src/processor/minidump_processor_unittest \
src/processor/minidump_unittest \
src/processor/network_source_line_resolver_unittest \
@@ -296,6 +332,54 @@ src_processor_contained_range_map_unittest_LDADD = \
src/processor/logging.lo \
src/processor/pathname_stripper.lo
+src_processor_exploitability_unittest_SOURCES = \
+ src/processor/exploitability_unittest.cc \
+ src/testing/gtest/src/gtest-all.cc \
+ src/testing/gtest/src/gtest_main.cc \
+ src/testing/src/gmock-all.cc
+src_processor_exploitability_unittest_CPPFLAGS = \
+ -I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/testing/include \
+ -I$(top_srcdir)/src/testing/gtest/include \
+ -I$(top_srcdir)/src/testing/gtest \
+ -I$(top_srcdir)/src/testing
+src_processor_exploitability_unittest_LDADD = \
+ src/processor/minidump_processor.lo \
+ src/processor/process_state.lo \
+ src/processor/disassembler_x86.lo \
+ src/processor/exploitability.lo \
+ src/processor/exploitability_win.lo \
+ src/processor/basic_code_modules.lo \
+ src/processor/basic_source_line_resolver.lo \
+ src/processor/call_stack.lo \
+ src/processor/cfi_frame_info.lo \
+ src/processor/logging.lo \
+ src/processor/minidump.lo \
+ src/processor/pathname_stripper.lo \
+ src/processor/stackwalker.lo \
+ src/processor/stackwalker_amd64.lo \
+ src/processor/stackwalker_arm.lo \
+ src/processor/stackwalker_ppc.lo \
+ src/processor/stackwalker_sparc.lo \
+ src/processor/stackwalker_x86.lo \
+ src/processor/tokenize.lo \
+ src/third_party/libdisasm/libdisasm.la
+
+src_processor_disassembler_x86_unittest_SOURCES = \
+ src/processor/disassembler_x86_unittest.cc \
+ src/testing/gtest/src/gtest-all.cc \
+ src/testing/gtest/src/gtest_main.cc \
+ src/testing/src/gmock-all.cc
+src_processor_disassembler_x86_unittest_CPPFLAGS = \
+ -I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/testing/include \
+ -I$(top_srcdir)/src/testing/gtest/include \
+ -I$(top_srcdir)/src/testing/gtest \
+ -I$(top_srcdir)/src/testing
+src_processor_disassembler_x86_unittest_LDADD = \
+ src/processor/disassembler_x86.lo \
+ src/third_party/libdisasm/libdisasm.la
+
src_processor_minidump_processor_unittest_SOURCES = \
src/processor/minidump_processor_unittest.cc \
src/testing/gtest/src/gtest-all.cc \
@@ -311,6 +395,7 @@ src_processor_minidump_processor_unittest_LDADD = \
src/processor/basic_source_line_resolver.lo \
src/processor/call_stack.lo \
src/processor/cfi_frame_info.lo \
+ src/processor/disassembler_x86.lo \
src/processor/exploitability.lo \
src/processor/exploitability_win.lo \
src/processor/logging.lo \
@@ -324,7 +409,8 @@ src_processor_minidump_processor_unittest_LDADD = \
src/processor/stackwalker_ppc.lo \
src/processor/stackwalker_sparc.lo \
src/processor/stackwalker_x86.lo \
- src/processor/tokenize.lo
+ src/processor/tokenize.lo \
+ src/third_party/libdisasm/libdisasm.la
src_processor_minidump_unittest_SOURCES = \
src/common/test_assembler.cc \
@@ -381,6 +467,7 @@ src_processor_network_source_line_resolver_server_unittest_LDADD = \
src/processor/binarystream.lo \
src/processor/call_stack.lo \
src/processor/cfi_frame_info.lo \
+ src/processor/disassembler_x86.lo \
src/processor/exploitability.lo \
src/processor/exploitability_win.lo \
src/processor/logging.lo \
@@ -398,7 +485,8 @@ src_processor_network_source_line_resolver_server_unittest_LDADD = \
src/processor/stackwalker_sparc.lo \
src/processor/stackwalker_x86.lo \
src/processor/tokenize.lo \
- src/processor/udp_network.lo
+ src/processor/udp_network.lo \
+ src/third_party/libdisasm/libdisasm.la
src_processor_network_source_line_server_unittest_SOURCES = \
src/processor/network_source_line_server_unittest.cc \
@@ -455,6 +543,7 @@ src_processor_stackwalker_selftest_LDADD = \
src/processor/basic_code_modules.lo \
src/processor/basic_source_line_resolver.lo \
src/processor/call_stack.lo \
+ src/processor/disassembler_x86.lo \
src/processor/exploitability.lo \
src/processor/exploitability_win.lo \
src/processor/logging.lo \
@@ -563,6 +652,7 @@ src_processor_minidump_stackwalk_LDADD = \
src/processor/binarystream.lo \
src/processor/call_stack.lo \
src/processor/cfi_frame_info.lo \
+ src/processor/disassembler_x86.lo \
src/processor/exploitability.lo \
src/processor/exploitability_win.lo \
src/processor/logging.lo \
@@ -579,7 +669,8 @@ src_processor_minidump_stackwalk_LDADD = \
src/processor/stackwalker_sparc.lo \
src/processor/stackwalker_x86.lo \
src/processor/tokenize.lo \
- src/processor/udp_network.lo
+ src/processor/udp_network.lo \
+ src/third_party/libdisasm/libdisasm.la
src_processor_source_daemon_SOURCES = \
src/processor/source_daemon.cc