rendered paste bodyIndex: helgrind/hg_main.c
===================================================================
--- helgrind/hg_main.c (wersja 7034)
+++ helgrind/hg_main.c (kopia robocza)
@@ -1773,6 +1773,14 @@
static
+void hg_new_mem_mmap( Addr a, SizeT len, Off64T offset, Bool rr, Bool ww, Bool xx )
+{
+ /* Ignore the permissions, just make it readable. Seems to work... */
+ make_segment_readable(a, len);
+}
+
+
+static
void hg_new_mem_heap ( Addr a, SizeT len, Bool is_inited )
{
if (is_inited) {
@@ -3443,7 +3451,7 @@
/* stack ones not decided until hg_post_clo_init() */
VG_(track_new_mem_brk) (& make_writable);
- VG_(track_new_mem_mmap) (& hg_new_mem_startup);
+ VG_(track_new_mem_mmap) (& hg_new_mem_mmap);
VG_(track_change_mem_mprotect) (& hg_set_perms);
Index: memcheck/mc_main.c
===================================================================
--- memcheck/mc_main.c (wersja 7034)
+++ memcheck/mc_main.c (kopia robocza)
@@ -2539,7 +2539,7 @@
}
static
-void mc_new_mem_mmap ( Addr a, SizeT len, Bool rr, Bool ww, Bool xx )
+void mc_new_mem_mmap ( Addr a, SizeT len, Off64T o, Bool rr, Bool ww, Bool xx )
{
MC_(make_mem_defined)(a, len);
}
Index: include/pub_tool_options.h
===================================================================
--- include/pub_tool_options.h (wersja 7034)
+++ include/pub_tool_options.h (kopia robocza)
@@ -62,6 +62,11 @@
(qq_var) = (Word)VG_(atoll)( &qq_arg[ VG_(strlen)(qq_option)+1 ] ); \
}
+#define VG_HEX_CLO(qq_arg, qq_option, qq_var) \
+ if (VG_CLO_STREQN(VG_(strlen)(qq_option)+1, qq_arg, qq_option"=")) { \
+ (qq_var) = (Int)VG_(strtoll)( &qq_arg[ VG_(strlen)(qq_option)+1 ], NULL, 16 ); \
+ }
+
/* Bounded integer arg */
#define VG_BNUM_CLO(qq_arg, qq_option, qq_var, qq_lo, qq_hi) \
if (VG_CLO_STREQN(VG_(strlen)(qq_option)+1, qq_arg, qq_option"=")) { \
@@ -70,6 +75,14 @@
if ((qq_var) > (qq_hi)) (qq_var) = (qq_hi); \
}
+/* Bounded integer arg, given in hex */
+#define VG_BHEX_CLO(qq_arg, qq_option, qq_var, qq_lo, qq_hi) \
+ if (VG_CLO_STREQN(VG_(strlen)(qq_option)+1, qq_arg, qq_option"=")) { \
+ (qq_var) = (Int)VG_(strtoll)( &qq_arg[ VG_(strlen)(qq_option)+1 ], NULL, 16 ); \
+ if ((qq_var) < (qq_lo)) (qq_var) = (qq_lo); \
+ if ((qq_var) > (qq_hi)) (qq_var) = (qq_hi); \
+ }
+
/* Bool arg whose value is denoted by the exact presence of the given string. */
#define VG_XACT_CLO(qq_arg, qq_option, qq_var) \
if (VG_CLO_STREQ(qq_arg, qq_option)) { \
Index: include/pub_tool_libcbase.h
===================================================================
--- include/pub_tool_libcbase.h (wersja 7034)
+++ include/pub_tool_libcbase.h (kopia robocza)
@@ -45,6 +45,7 @@
// Nb: atoll16 doesn't handle a "0x" prefix.
extern Long VG_(atoll) ( Char* str ); // base 10
extern Long VG_(atoll16) ( Char* str ); // base 16
+extern Long VG_(strtoll) ( Char* str, Char** endptr, Int base );
extern Long VG_(atoll36) ( Char* str ); // base 36
/* ---------------------------------------------------------------------
Index: include/pub_tool_tooliface.h
===================================================================
--- include/pub_tool_tooliface.h (wersja 7034)
+++ include/pub_tool_tooliface.h (kopia robocza)
@@ -472,7 +472,7 @@
Bool rr, Bool ww, Bool xx));
void VG_(track_new_mem_stack_signal)(void(*f)(Addr a, SizeT len));
void VG_(track_new_mem_brk) (void(*f)(Addr a, SizeT len));
-void VG_(track_new_mem_mmap) (void(*f)(Addr a, SizeT len,
+void VG_(track_new_mem_mmap) (void(*f)(Addr a, SizeT len, Off64T offset,
Bool rr, Bool ww, Bool xx));
void VG_(track_copy_mem_remap) (void(*f)(Addr from, Addr to, SizeT len));
Index: configure.in
===================================================================
--- configure.in (wersja 7034)
+++ configure.in (kopia robocza)
@@ -986,6 +986,9 @@
lackey/Makefile
lackey/tests/Makefile
lackey/docs/Makefile
+ mmt/Makefile
+ mmt/tests/Makefile
+ mmt/docs/Makefile
none/Makefile
none/tests/Makefile
none/tests/amd64/Makefile
Index: mmt/tests/Makefile.in
===================================================================
--- mmt/tests/Makefile.in (wersja 0)
+++ mmt/tests/Makefile.in (wersja 0)
@@ -0,0 +1,331 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = mmt/tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_SUPP = @DEFAULT_SUPP@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
+FLAG_M32 = @FLAG_M32@
+FLAG_M64 = @FLAG_M64@
+FLAG_MAIX32 = @FLAG_MAIX32@
+FLAG_MAIX64 = @FLAG_MAIX64@
+FLAG_MMMX = @FLAG_MMMX@
+FLAG_MSSE = @FLAG_MSSE@
+FLAG_WDECL_AFTER_STMT = @FLAG_WDECL_AFTER_STMT@
+GDB = @GDB@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MPI_CC = @MPI_CC@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PREFERRED_STACK_BOUNDARY = @PREFERRED_STACK_BOUNDARY@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VALT_LOAD_ADDRESS = @VALT_LOAD_ADDRESS@
+VERSION = @VERSION@
+VEX_DIR = @VEX_DIR@
+VG_ARCH = @VG_ARCH@
+VG_ARCH_ALL = @VG_ARCH_ALL@
+VG_OS = @VG_OS@
+VG_PLATFORM_PRI = @VG_PLATFORM_PRI@
+VG_PLATFORM_SEC = @VG_PLATFORM_SEC@
+XMKMF = @XMKMF@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mmt/tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu mmt/tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: mmt/tests/Makefile.am
===================================================================
Index: mmt/Makefile.in
===================================================================
--- mmt/Makefile.in (wersja 0)
+++ mmt/Makefile.in (wersja 0)
@@ -0,0 +1,956 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# What the second for loop does: it copies libcoregrind.a and libvex.a
+# into the correct (target-specific) lib dirs at install time.
+# $(noinst_LIBRARIES) will look like this:
+# libcoregrind_x86_linux.a libreplacemalloc_toolpreload_x86_linux.a
+# libcoregrind_amd64_linux.a libreplacemalloc_toolpreload_amd64_linux.a
+# The 'if expr' filters out all but the libcoregrind_ ones.
+# pD and pU are the (arch,os) target pairs separated by a dash (pD) or
+# an underscore (pU) respectively, eg amd64-linux (pD) and amd64_linux (pU).
+# It then copies libcoregrind.a and libvex.a to the right places.
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/Makefile.all.am $(top_srcdir)/Makefile.flags.am \
+ $(top_srcdir)/Makefile.install.am \
+ $(top_srcdir)/Makefile.tool-flags.am \
+ $(top_srcdir)/Makefile.tool-inplace.am \
+ $(top_srcdir)/Makefile.tool.am
+noinst_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+ $(am__EXEEXT_4)
+@VGP_X86_LINUX_TRUE@am__append_1 = mmt-x86-linux
+@VGP_AMD64_LINUX_TRUE@am__append_2 = mmt-amd64-linux
+@VGP_PPC32_LINUX_TRUE@am__append_3 = mmt-ppc32-linux
+@VGP_PPC64_LINUX_TRUE@am__append_4 = mmt-ppc64-linux
+subdir = mmt
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+@VGP_X86_LINUX_TRUE@am__EXEEXT_1 = mmt-x86-linux$(EXEEXT)
+@VGP_AMD64_LINUX_TRUE@am__EXEEXT_2 = mmt-amd64-linux$(EXEEXT)
+@VGP_PPC32_LINUX_TRUE@am__EXEEXT_3 = mmt-ppc32-linux$(EXEEXT)
+@VGP_PPC64_LINUX_TRUE@am__EXEEXT_4 = mmt-ppc64-linux$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+am__objects_1 = mmt_amd64_linux-mmt_main.$(OBJEXT)
+am_mmt_amd64_linux_OBJECTS = $(am__objects_1)
+mmt_amd64_linux_OBJECTS = $(am_mmt_amd64_linux_OBJECTS)
+am__DEPENDENCIES_1 =
+am__DEPENDENCIES_2 = $(COREGRIND_LIBS_AMD64_LINUX) \
+ $(am__DEPENDENCIES_1)
+mmt_amd64_linux_LINK = $(CCLD) $(mmt_amd64_linux_CFLAGS) $(CFLAGS) \
+ $(mmt_amd64_linux_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_2 = mmt_ppc32_linux-mmt_main.$(OBJEXT)
+am_mmt_ppc32_linux_OBJECTS = $(am__objects_2)
+mmt_ppc32_linux_OBJECTS = $(am_mmt_ppc32_linux_OBJECTS)
+am__DEPENDENCIES_3 = $(COREGRIND_LIBS_PPC32_LINUX) \
+ $(am__DEPENDENCIES_1)
+mmt_ppc32_linux_LINK = $(CCLD) $(mmt_ppc32_linux_CFLAGS) $(CFLAGS) \
+ $(mmt_ppc32_linux_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_3 = mmt_ppc64_linux-mmt_main.$(OBJEXT)
+am_mmt_ppc64_linux_OBJECTS = $(am__objects_3)
+mmt_ppc64_linux_OBJECTS = $(am_mmt_ppc64_linux_OBJECTS)
+am__DEPENDENCIES_4 = $(COREGRIND_LIBS_PPC64_LINUX) \
+ $(am__DEPENDENCIES_1)
+mmt_ppc64_linux_LINK = $(CCLD) $(mmt_ppc64_linux_CFLAGS) $(CFLAGS) \
+ $(mmt_ppc64_linux_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_4 = mmt_x86_linux-mmt_main.$(OBJEXT)
+am_mmt_x86_linux_OBJECTS = $(am__objects_4)
+mmt_x86_linux_OBJECTS = $(am_mmt_x86_linux_OBJECTS)
+am__DEPENDENCIES_5 = $(COREGRIND_LIBS_X86_LINUX) $(am__DEPENDENCIES_1)
+mmt_x86_linux_LINK = $(CCLD) $(mmt_x86_linux_CFLAGS) $(CFLAGS) \
+ $(mmt_x86_linux_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(mmt_amd64_linux_SOURCES) $(mmt_ppc32_linux_SOURCES) \
+ $(mmt_ppc64_linux_SOURCES) $(mmt_x86_linux_SOURCES)
+DIST_SOURCES = $(mmt_amd64_linux_SOURCES) $(mmt_ppc32_linux_SOURCES) \
+ $(mmt_ppc64_linux_SOURCES) $(mmt_x86_linux_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_SUPP = @DEFAULT_SUPP@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
+FLAG_M32 = @FLAG_M32@
+FLAG_M64 = @FLAG_M64@
+FLAG_MAIX32 = @FLAG_MAIX32@
+FLAG_MAIX64 = @FLAG_MAIX64@
+FLAG_MMMX = @FLAG_MMMX@
+FLAG_MSSE = @FLAG_MSSE@
+FLAG_WDECL_AFTER_STMT = @FLAG_WDECL_AFTER_STMT@
+GDB = @GDB@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MPI_CC = @MPI_CC@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PREFERRED_STACK_BOUNDARY = @PREFERRED_STACK_BOUNDARY@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VALT_LOAD_ADDRESS = @VALT_LOAD_ADDRESS@
+VERSION = @VERSION@
+VEX_DIR = @VEX_DIR@
+VG_ARCH = @VG_ARCH@
+VG_ARCH_ALL = @VG_ARCH_ALL@
+VG_OS = @VG_OS@
+VG_PLATFORM_PRI = @VG_PLATFORM_PRI@
+VG_PLATFORM_SEC = @VG_PLATFORM_SEC@
+XMKMF = @XMKMF@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . tests docs
+valdir = $(libdir)/valgrind
+inplacedir = $(top_builddir)/.in_place
+add_includes_x86_linux = -I$(top_srcdir)/include \
+ -I@VEX_DIR@/pub \
+ -DVGA_x86=1 \
+ -DVGO_linux=1 \
+ -DVGP_x86_linux=1
+
+add_includes_amd64_linux = -I$(top_srcdir)/include \
+ -I@VEX_DIR@/pub \
+ -DVGA_amd64=1 \
+ -DVGO_linux=1 \
+ -DVGP_amd64_linux=1
+
+add_includes_ppc32_linux = -I$(top_srcdir)/include \
+ -I@VEX_DIR@/pub \
+ -DVGA_ppc32=1 \
+ -DVGO_linux=1 \
+ -DVGP_ppc32_linux=1
+
+add_includes_ppc64_linux = -I$(top_srcdir)/include \
+ -I@VEX_DIR@/pub \
+ -DVGA_ppc64=1 \
+ -DVGO_linux=1 \
+ -DVGP_ppc64_linux=1
+
+add_includes_ppc32_aix5 = -I$(top_srcdir)/include \
+ -I@VEX_DIR@/pub \
+ -DVGA_ppc32=1 \
+ -DVGO_aix5=1 \
+ -DVGP_ppc32_aix5=1
+
+add_includes_ppc64_aix5 = -I$(top_srcdir)/include \
+ -I@VEX_DIR@/pub \
+ -DVGA_ppc64=1 \
+ -DVGO_aix5=1 \
+ -DVGP_ppc64_aix5=1
+
+
+# Baseline flags for all compilations
+AM_CFLAGS_BASE = -O -g -Wmissing-prototypes -Winline -Wall -Wshadow \
+ -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations
+
+AM_CFLAGS_PIC = -fpic -fno-omit-frame-pointer
+
+# Flags for specific targets
+AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
+AM_CPPFLAGS_X86_LINUX = $(add_includes_x86_linux)
+AM_CFLAGS_X86_LINUX = $(WERROR) @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
+ $(AM_CFLAGS_BASE)
+
+AM_CCASFLAGS_X86_LINUX = $(add_includes_x86_linux) @FLAG_M32@ -g
+AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
+AM_CPPFLAGS_AMD64_LINUX = $(add_includes_amd64_linux)
+AM_CFLAGS_AMD64_LINUX = $(WERROR) @FLAG_M64@ -fomit-frame-pointer \
+ @PREFERRED_STACK_BOUNDARY@ $(AM_CFLAGS_BASE)
+
+AM_CCASFLAGS_AMD64_LINUX = $(add_includes_amd64_linux) @FLAG_M64@ -g
+AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
+AM_CPPFLAGS_PPC32_LINUX = $(add_includes_ppc32_linux)
+AM_CFLAGS_PPC32_LINUX = $(WERROR) @FLAG_M32@ $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC32_LINUX = $(add_includes_ppc32_linux) -Wa,-maltivec @FLAG_M32@ -g
+AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@
+AM_CPPFLAGS_PPC64_LINUX = $(add_includes_ppc64_linux)
+AM_CFLAGS_PPC64_LINUX = $(WERROR) @FLAG_M64@ $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC64_LINUX = $(add_includes_ppc64_linux) -Wa,-maltivec @FLAG_M64@ -g
+AM_FLAG_M3264_PPC32_AIX5 = @FLAG_MAIX32@
+AM_CPPFLAGS_PPC32_AIX5 = $(add_includes_ppc32_aix5)
+AM_CFLAGS_PPC32_AIX5 = $(WERROR) @FLAG_MAIX32@ -mcpu=powerpc $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC32_AIX5 = $(add_includes_ppc32_aix5) \
+ @FLAG_MAIX32@ -mcpu=powerpc -g
+
+AM_FLAG_M3264_PPC64_AIX5 = @FLAG_MAIX64@
+AM_CPPFLAGS_PPC64_AIX5 = $(add_includes_ppc64_aix5)
+AM_CFLAGS_PPC64_AIX5 = $(WERROR) @FLAG_MAIX64@ -mcpu=powerpc64 $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC64_AIX5 = $(add_includes_ppc64_aix5) \
+ @FLAG_MAIX64@ -mcpu=powerpc64 -g
+
+
+# Flags for the primary target. These must be used to build the
+# regtests and performance tests. In fact, these must be used to
+# build anything which is built only once on a dual-arch build.
+#
+AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VG_PLATFORM_PRI@)
+AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VG_PLATFORM_PRI@)
+AM_CFLAGS_PRI = $(AM_CFLAGS_@VG_PLATFORM_PRI@)
+AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VG_PLATFORM_PRI@)
+@VGP_HAVE_SECONDARY_FALSE@AM_FLAG_M3264_SEC =
+@VGP_HAVE_SECONDARY_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VG_PLATFORM_SEC@)
+
+# Baseline link flags for making dynamic shared objects.
+#
+PRELOAD_LDFLAGS_COMMON_LINUX = -nostdlib -shared -Wl,-z,interpose,-z,initfirst
+PRELOAD_LDFLAGS_COMMON_AIX5 = -nostdlib -shared -Wl,-G -Wl,-bnogc
+PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
+PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
+PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
+PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
+PRELOAD_LDFLAGS_PPC32_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) @FLAG_MAIX32@
+PRELOAD_LDFLAGS_PPC64_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) @FLAG_MAIX64@
+LIBREPLACEMALLOC_X86_LINUX = \
+ $(top_builddir)/coregrind/libreplacemalloc_toolpreload_x86_linux.a
+
+LIBREPLACEMALLOC_AMD64_LINUX = \
+ $(top_builddir)/coregrind/libreplacemalloc_toolpreload_amd64_linux.a
+
+LIBREPLACEMALLOC_PPC32_LINUX = \
+ $(top_builddir)/coregrind/libreplacemalloc_toolpreload_ppc32_linux.a
+
+LIBREPLACEMALLOC_PPC64_LINUX = \
+ $(top_builddir)/coregrind/libreplacemalloc_toolpreload_ppc64_linux.a
+
+LIBREPLACEMALLOC_PPC32_AIX5 = \
+ $(top_builddir)/coregrind/libreplacemalloc_toolpreload_ppc32_aix5.a
+
+LIBREPLACEMALLOC_PPC64_AIX5 = \
+ $(top_builddir)/coregrind/libreplacemalloc_toolpreload_ppc64_aix5.a
+
+COREGRIND_LIBS_X86_LINUX = \
+ $(top_builddir)/coregrind/libcoregrind_x86_linux.a \
+ @VEX_DIR@/libvex_x86_linux.a
+
+COREGRIND_LIBS_AMD64_LINUX = \
+ $(top_builddir)/coregrind/libcoregrind_amd64_linux.a \
+ @VEX_DIR@/libvex_amd64_linux.a
+
+COREGRIND_LIBS_PPC32_LINUX = \
+ $(top_builddir)/coregrind/libcoregrind_ppc32_linux.a \
+ @VEX_DIR@/libvex_ppc32_linux.a
+
+COREGRIND_LIBS_PPC64_LINUX = \
+ $(top_builddir)/coregrind/libcoregrind_ppc64_linux.a \
+ @VEX_DIR@/libvex_ppc64_linux.a
+
+COREGRIND_LIBS_PPC32_AIX5 = \
+ $(top_builddir)/coregrind/libcoregrind_ppc32_aix5.a \
+ @VEX_DIR@/libvex_ppc32_aix5.a
+
+COREGRIND_LIBS_PPC64_AIX5 = \
+ $(top_builddir)/coregrind/libcoregrind_ppc64_aix5.a \
+ @VEX_DIR@/libvex_ppc64_aix5.a
+
+TOOL_LDADD_COMMON = -lgcc
+TOOL_LDFLAGS_COMMON_LINUX = -static \
+ -Wl,-defsym,valt_load_address=@VALT_LOAD_ADDRESS@ \
+ -nodefaultlibs -nostartfiles -u _start
+
+TOOL_LDFLAGS_COMMON_AIX5 = -static -Wl,-e_start_valgrind
+TOOL_LDADD_X86_LINUX = $(COREGRIND_LIBS_X86_LINUX) $(TOOL_LDADD_COMMON)
+TOOL_LDFLAGS_X86_LINUX = \
+ $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M32@ \
+ -Wl,-T,$(top_builddir)/valt_load_address_x86_linux.lds
+
+TOOL_LDADD_AMD64_LINUX = $(COREGRIND_LIBS_AMD64_LINUX) $(TOOL_LDADD_COMMON)
+TOOL_LDFLAGS_AMD64_LINUX = \
+ $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M64@ \
+ -Wl,-T,$(top_builddir)/valt_load_address_amd64_linux.lds
+
+TOOL_LDADD_PPC32_LINUX = $(COREGRIND_LIBS_PPC32_LINUX) $(TOOL_LDADD_COMMON)
+TOOL_LDFLAGS_PPC32_LINUX = \
+ $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M32@ \
+ -Wl,-T,$(top_builddir)/valt_load_address_ppc32_linux.lds
+
+TOOL_LDADD_PPC64_LINUX = $(COREGRIND_LIBS_PPC64_LINUX) $(TOOL_LDADD_COMMON)
+TOOL_LDFLAGS_PPC64_LINUX = \
+ $(TOOL_LDFLAGS_COMMON_LINUX) @FLAG_M64@ \
+ -Wl,-T,$(top_builddir)/valt_load_address_ppc64_linux.lds
+
+TOOL_LDADD_PPC32_AIX5 = $(COREGRIND_LIBS_PPC32_AIX5) $(TOOL_LDADD_COMMON)
+TOOL_LDFLAGS_PPC32_AIX5 = \
+ $(TOOL_LDFLAGS_COMMON_AIX5) @FLAG_MAIX32@
+
+TOOL_LDADD_PPC64_AIX5 = $(COREGRIND_LIBS_PPC64_AIX5) $(TOOL_LDADD_COMMON)
+TOOL_LDFLAGS_PPC64_AIX5 = \
+ $(TOOL_LDFLAGS_COMMON_AIX5) @FLAG_MAIX64@ -Wl,-bbigtoc
+
+LIBREPLACEMALLOC_LDFLAGS_X86_LINUX = \
+ -Wl,--whole-archive \
+ $(LIBREPLACEMALLOC_X86_LINUX) \
+ -Wl,--no-whole-archive
+
+LIBREPLACEMALLOC_LDFLAGS_AMD64_LINUX = \
+ -Wl,--whole-archive \
+ $(LIBREPLACEMALLOC_AMD64_LINUX) \
+ -Wl,--no-whole-archive
+
+LIBREPLACEMALLOC_LDFLAGS_PPC32_LINUX = \
+ -Wl,--whole-archive \
+ $(LIBREPLACEMALLOC_PPC32_LINUX) \
+ -Wl,--no-whole-archive
+
+LIBREPLACEMALLOC_LDFLAGS_PPC64_LINUX = \
+ -Wl,--whole-archive \
+ $(LIBREPLACEMALLOC_PPC64_LINUX) \
+ -Wl,--no-whole-archive
+
+LIBREPLACEMALLOC_LDFLAGS_PPC32_AIX5 = \
+ $(LIBREPLACEMALLOC_PPC32_AIX5)
+
+LIBREPLACEMALLOC_LDFLAGS_PPC64_AIX5 = \
+ $(LIBREPLACEMALLOC_PPC64_AIX5)
+
+MMT_SOURCES_COMMON = mmt_main.c
+mmt_x86_linux_SOURCES = $(MMT_SOURCES_COMMON)
+mmt_x86_linux_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX)
+mmt_x86_linux_CFLAGS = $(AM_CFLAGS_X86_LINUX)
+mmt_x86_linux_DEPENDENCIES = $(COREGRIND_LIBS_X86_LINUX)
+mmt_x86_linux_LDADD = $(TOOL_LDADD_X86_LINUX)
+mmt_x86_linux_LDFLAGS = $(TOOL_LDFLAGS_X86_LINUX)
+mmt_amd64_linux_SOURCES = $(MMT_SOURCES_COMMON)
+mmt_amd64_linux_CPPFLAGS = $(AM_CPPFLAGS_AMD64_LINUX)
+mmt_amd64_linux_CFLAGS = $(AM_CFLAGS_AMD64_LINUX)
+mmt_amd64_linux_DEPENDENCIES = $(COREGRIND_LIBS_AMD64_LINUX)
+mmt_amd64_linux_LDADD = $(TOOL_LDADD_AMD64_LINUX)
+mmt_amd64_linux_LDFLAGS = $(TOOL_LDFLAGS_AMD64_LINUX)
+mmt_ppc32_linux_SOURCES = $(MMT_SOURCES_COMMON)
+mmt_ppc32_linux_CPPFLAGS = $(AM_CPPFLAGS_PPC32_LINUX)
+mmt_ppc32_linux_CFLAGS = $(AM_CFLAGS_PPC32_LINUX)
+mmt_ppc32_linux_DEPENDENCIES = $(COREGRIND_LIBS_PPC32_LINUX)
+mmt_ppc32_linux_LDADD = $(TOOL_LDADD_PPC32_LINUX)
+mmt_ppc32_linux_LDFLAGS = $(TOOL_LDFLAGS_PPC32_LINUX)
+mmt_ppc64_linux_SOURCES = $(MMT_SOURCES_COMMON)
+mmt_ppc64_linux_CPPFLAGS = $(AM_CPPFLAGS_PPC64_LINUX)
+mmt_ppc64_linux_CFLAGS = $(AM_CFLAGS_PPC64_LINUX)
+mmt_ppc64_linux_DEPENDENCIES = $(COREGRIND_LIBS_PPC64_LINUX)
+mmt_ppc64_linux_LDADD = $(TOOL_LDADD_PPC64_LINUX)
+mmt_ppc64_linux_LDFLAGS = $(TOOL_LDFLAGS_PPC64_LINUX)
+mmtincludedir = $(includedir)/valgrind
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool.am $(top_srcdir)/Makefile.all.am $(top_srcdir)/Makefile.install.am $(top_srcdir)/Makefile.tool-flags.am $(top_srcdir)/Makefile.flags.am $(top_srcdir)/Makefile.tool-inplace.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mmt/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu mmt/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+ -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+mmt-amd64-linux$(EXEEXT): $(mmt_amd64_linux_OBJECTS) $(mmt_amd64_linux_DEPENDENCIES)
+ @rm -f mmt-amd64-linux$(EXEEXT)
+ $(mmt_amd64_linux_LINK) $(mmt_amd64_linux_OBJECTS) $(mmt_amd64_linux_LDADD) $(LIBS)
+mmt-ppc32-linux$(EXEEXT): $(mmt_ppc32_linux_OBJECTS) $(mmt_ppc32_linux_DEPENDENCIES)
+ @rm -f mmt-ppc32-linux$(EXEEXT)
+ $(mmt_ppc32_linux_LINK) $(mmt_ppc32_linux_OBJECTS) $(mmt_ppc32_linux_LDADD) $(LIBS)
+mmt-ppc64-linux$(EXEEXT): $(mmt_ppc64_linux_OBJECTS) $(mmt_ppc64_linux_DEPENDENCIES)
+ @rm -f mmt-ppc64-linux$(EXEEXT)
+ $(mmt_ppc64_linux_LINK) $(mmt_ppc64_linux_OBJECTS) $(mmt_ppc64_linux_LDADD) $(LIBS)
+mmt-x86-linux$(EXEEXT): $(mmt_x86_linux_OBJECTS) $(mmt_x86_linux_DEPENDENCIES)
+ @rm -f mmt-x86-linux$(EXEEXT)
+ $(mmt_x86_linux_LINK) $(mmt_x86_linux_OBJECTS) $(mmt_x86_linux_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmt_amd64_linux-mmt_main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmt_ppc32_linux-mmt_main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmt_ppc64_linux-mmt_main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmt_x86_linux-mmt_main.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+mmt_amd64_linux-mmt_main.o: mmt_main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_amd64_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_amd64_linux_CFLAGS) $(CFLAGS) -MT mmt_amd64_linux-mmt_main.o -MD -MP -MF $(DEPDIR)/mmt_amd64_linux-mmt_main.Tpo -c -o mmt_amd64_linux-mmt_main.o `test -f 'mmt_main.c' || echo '$(srcdir)/'`mmt_main.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mmt_amd64_linux-mmt_main.Tpo $(DEPDIR)/mmt_amd64_linux-mmt_main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmt_main.c' object='mmt_amd64_linux-mmt_main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_amd64_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_amd64_linux_CFLAGS) $(CFLAGS) -c -o mmt_amd64_linux-mmt_main.o `test -f 'mmt_main.c' || echo '$(srcdir)/'`mmt_main.c
+
+mmt_amd64_linux-mmt_main.obj: mmt_main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_amd64_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_amd64_linux_CFLAGS) $(CFLAGS) -MT mmt_amd64_linux-mmt_main.obj -MD -MP -MF $(DEPDIR)/mmt_amd64_linux-mmt_main.Tpo -c -o mmt_amd64_linux-mmt_main.obj `if test -f 'mmt_main.c'; then $(CYGPATH_W) 'mmt_main.c'; else $(CYGPATH_W) '$(srcdir)/mmt_main.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mmt_amd64_linux-mmt_main.Tpo $(DEPDIR)/mmt_amd64_linux-mmt_main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmt_main.c' object='mmt_amd64_linux-mmt_main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_amd64_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_amd64_linux_CFLAGS) $(CFLAGS) -c -o mmt_amd64_linux-mmt_main.obj `if test -f 'mmt_main.c'; then $(CYGPATH_W) 'mmt_main.c'; else $(CYGPATH_W) '$(srcdir)/mmt_main.c'; fi`
+
+mmt_ppc32_linux-mmt_main.o: mmt_main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_ppc32_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_ppc32_linux_CFLAGS) $(CFLAGS) -MT mmt_ppc32_linux-mmt_main.o -MD -MP -MF $(DEPDIR)/mmt_ppc32_linux-mmt_main.Tpo -c -o mmt_ppc32_linux-mmt_main.o `test -f 'mmt_main.c' || echo '$(srcdir)/'`mmt_main.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mmt_ppc32_linux-mmt_main.Tpo $(DEPDIR)/mmt_ppc32_linux-mmt_main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmt_main.c' object='mmt_ppc32_linux-mmt_main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_ppc32_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_ppc32_linux_CFLAGS) $(CFLAGS) -c -o mmt_ppc32_linux-mmt_main.o `test -f 'mmt_main.c' || echo '$(srcdir)/'`mmt_main.c
+
+mmt_ppc32_linux-mmt_main.obj: mmt_main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_ppc32_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_ppc32_linux_CFLAGS) $(CFLAGS) -MT mmt_ppc32_linux-mmt_main.obj -MD -MP -MF $(DEPDIR)/mmt_ppc32_linux-mmt_main.Tpo -c -o mmt_ppc32_linux-mmt_main.obj `if test -f 'mmt_main.c'; then $(CYGPATH_W) 'mmt_main.c'; else $(CYGPATH_W) '$(srcdir)/mmt_main.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mmt_ppc32_linux-mmt_main.Tpo $(DEPDIR)/mmt_ppc32_linux-mmt_main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmt_main.c' object='mmt_ppc32_linux-mmt_main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_ppc32_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_ppc32_linux_CFLAGS) $(CFLAGS) -c -o mmt_ppc32_linux-mmt_main.obj `if test -f 'mmt_main.c'; then $(CYGPATH_W) 'mmt_main.c'; else $(CYGPATH_W) '$(srcdir)/mmt_main.c'; fi`
+
+mmt_ppc64_linux-mmt_main.o: mmt_main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_ppc64_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_ppc64_linux_CFLAGS) $(CFLAGS) -MT mmt_ppc64_linux-mmt_main.o -MD -MP -MF $(DEPDIR)/mmt_ppc64_linux-mmt_main.Tpo -c -o mmt_ppc64_linux-mmt_main.o `test -f 'mmt_main.c' || echo '$(srcdir)/'`mmt_main.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mmt_ppc64_linux-mmt_main.Tpo $(DEPDIR)/mmt_ppc64_linux-mmt_main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmt_main.c' object='mmt_ppc64_linux-mmt_main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_ppc64_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_ppc64_linux_CFLAGS) $(CFLAGS) -c -o mmt_ppc64_linux-mmt_main.o `test -f 'mmt_main.c' || echo '$(srcdir)/'`mmt_main.c
+
+mmt_ppc64_linux-mmt_main.obj: mmt_main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_ppc64_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_ppc64_linux_CFLAGS) $(CFLAGS) -MT mmt_ppc64_linux-mmt_main.obj -MD -MP -MF $(DEPDIR)/mmt_ppc64_linux-mmt_main.Tpo -c -o mmt_ppc64_linux-mmt_main.obj `if test -f 'mmt_main.c'; then $(CYGPATH_W) 'mmt_main.c'; else $(CYGPATH_W) '$(srcdir)/mmt_main.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mmt_ppc64_linux-mmt_main.Tpo $(DEPDIR)/mmt_ppc64_linux-mmt_main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmt_main.c' object='mmt_ppc64_linux-mmt_main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_ppc64_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_ppc64_linux_CFLAGS) $(CFLAGS) -c -o mmt_ppc64_linux-mmt_main.obj `if test -f 'mmt_main.c'; then $(CYGPATH_W) 'mmt_main.c'; else $(CYGPATH_W) '$(srcdir)/mmt_main.c'; fi`
+
+mmt_x86_linux-mmt_main.o: mmt_main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_x86_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_x86_linux_CFLAGS) $(CFLAGS) -MT mmt_x86_linux-mmt_main.o -MD -MP -MF $(DEPDIR)/mmt_x86_linux-mmt_main.Tpo -c -o mmt_x86_linux-mmt_main.o `test -f 'mmt_main.c' || echo '$(srcdir)/'`mmt_main.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mmt_x86_linux-mmt_main.Tpo $(DEPDIR)/mmt_x86_linux-mmt_main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmt_main.c' object='mmt_x86_linux-mmt_main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_x86_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_x86_linux_CFLAGS) $(CFLAGS) -c -o mmt_x86_linux-mmt_main.o `test -f 'mmt_main.c' || echo '$(srcdir)/'`mmt_main.c
+
+mmt_x86_linux-mmt_main.obj: mmt_main.c
+@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_x86_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_x86_linux_CFLAGS) $(CFLAGS) -MT mmt_x86_linux-mmt_main.obj -MD -MP -MF $(DEPDIR)/mmt_x86_linux-mmt_main.Tpo -c -o mmt_x86_linux-mmt_main.obj `if test -f 'mmt_main.c'; then $(CYGPATH_W) 'mmt_main.c'; else $(CYGPATH_W) '$(srcdir)/mmt_main.c'; fi`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mmt_x86_linux-mmt_main.Tpo $(DEPDIR)/mmt_x86_linux-mmt_main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mmt_main.c' object='mmt_x86_linux-mmt_main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmt_x86_linux_CPPFLAGS) $(CPPFLAGS) $(mmt_x86_linux_CFLAGS) $(CFLAGS) -c -o mmt_x86_linux-mmt_main.obj `if test -f 'mmt_main.c'; then $(CYGPATH_W) 'mmt_main.c'; else $(CYGPATH_W) '$(srcdir)/mmt_main.c'; fi`
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(PROGRAMS) all-local
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-exec-am: install-exec-local
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am all-local check check-am clean clean-generic \
+ clean-noinstPROGRAMS ctags ctags-recursive distclean \
+ distclean-compile distclean-generic distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-exec-local install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
+ ps ps-am tags tags-recursive uninstall uninstall-am
+
+
+# The kludge that passes for vex's build system can't handle parallel
+# builds. So, for the time being, serialise all Valgrind building.
+# (this is equivalent to enforcing "make -j 1".
+.NOTPARALLEL:
+
+install-exec-local:
+ if [ -n "$(noinst_PROGRAMS)" ] ; then \
+ for f in $(noinst_PROGRAMS); do \
+ p=`echo $$f | sed -e 's/^[^-]*-//' -e 's/\..*$$//'`; \
+ n=`echo $$f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
+ $(mkinstalldirs) $(DESTDIR)$(valdir)/$$p; \
+ $(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir)/$$p/$$n; \
+ done ; \
+ fi ; \
+ if [ -n "$(noinst_LIBRARIES)" ] ; then \
+ for f in $(noinst_LIBRARIES) expr_wont_match_me; do \
+ if expr match $$f libcoregrind_ > /dev/null ; then \
+ pU=`echo $$f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \
+ pD=`echo $$pU | sed -e 's/_/-/g'` ; \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \
+ $(INSTALL_DATA) @VEX_DIR@/libvex_$$pU.a $(DESTDIR)$(valdir)/$$pD/libvex.a ; \
+ fi ; \
+ done ; \
+ fi
+all-local:
+ for f in $(noinst_PROGRAMS); do \
+ p=`echo $$f | sed -e 's/^[^-]*-//' -e 's/\..*$$//'`; \
+ n=`echo $$f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \
+ mkdir -p $(inplacedir)/$$p; \
+ rm -f $(inplacedir)/$$p/$$n; \
+ ln -f -s ../../$(subdir)/$$f $(inplacedir)/$$p/$$n; \
+ done
+
+@VEX_DIR@/libvex_x86_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
+ $(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR)" \
+ libvex_x86_linux.a \
+ EXTRA_CFLAGS="$(AM_CFLAGS_X86_LINUX) @FLAG_WDECL_AFTER_STMT@ \
+ @FLAG_FNO_STACK_PROTECTOR@"
+
+@VEX_DIR@/libvex_amd64_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
+ $(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR)" \
+ libvex_amd64_linux.a \
+ EXTRA_CFLAGS="$(AM_CFLAGS_AMD64_LINUX) @FLAG_WDECL_AFTER_STMT@ \
+ @FLAG_FNO_STACK_PROTECTOR@"
+
+@VEX_DIR@/libvex_ppc32_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
+ $(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR)" \
+ libvex_ppc32_linux.a \
+ EXTRA_CFLAGS="$(AM_CFLAGS_PPC32_LINUX) @FLAG_WDECL_AFTER_STMT@ \
+ @FLAG_FNO_STACK_PROTECTOR@"
+
+@VEX_DIR@/libvex_ppc64_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
+ $(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR)" \
+ libvex_ppc64_linux.a \
+ EXTRA_CFLAGS="$(AM_CFLAGS_PPC64_LINUX) @FLAG_WDECL_AFTER_STMT@ \
+ @FLAG_FNO_STACK_PROTECTOR@"
+
+@VEX_DIR@/libvex_ppc32_aix5.a: @VEX_DIR@/priv/main/vex_svnversion.h
+ $(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR) -X32" \
+ libvex_ppc32_aix5.a \
+ EXTRA_CFLAGS="$(AM_CFLAGS_PPC32_AIX5) @FLAG_WDECL_AFTER_STMT@ \
+ @FLAG_FNO_STACK_PROTECTOR@"
+
+@VEX_DIR@/libvex_ppc64_aix5.a: @VEX_DIR@/priv/main/vex_svnversion.h
+ $(MAKE) -C @VEX_DIR@ CC="$(CC)" AR="$(AR) -X64" \
+ libvex_ppc64_aix5.a \
+ EXTRA_CFLAGS="$(AM_CFLAGS_PPC64_AIX5) @FLAG_WDECL_AFTER_STMT@ \
+ @FLAG_FNO_STACK_PROTECTOR@"
+
+@VEX_DIR@/priv/main/vex_svnversion.h:
+ $(MAKE) -C @VEX_DIR@ CC="$(CC)" version
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: mmt/mmt_main.c
===================================================================
--- mmt/mmt_main.c (wersja 0)
+++ mmt/mmt_main.c (wersja 0)
@@ -0,0 +1,385 @@
+/*
+ * vim:sw=3 ts=3 sts=3 noexpandtab
+ */
+
+/*--------------------------------------------------------------------*/
+/*--- mmaptrace: The mmaptracer tool. mmt_main.c ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+ Copyright (C) 2006 Dave Airlie
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
+#include "pub_tool_basics.h"
+#include "pub_tool_libcprint.h"
+#include "pub_tool_libcassert.h"
+#include "pub_tool_tooliface.h"
+#include "pub_tool_debuginfo.h"
+#include "pub_tool_libcbase.h"
+#include "pub_tool_options.h"
+#include "pub_tool_machine.h" // VG_(fnptr_to_fnentry)
+
+#define MAX_ITEMS 100
+
+static struct mmt_memmap {
+ Bool initialized;
+ Addr offset;
+ Addr addr;
+ SizeT len;
+} mmt_gpu_reg[MAX_ITEMS];
+
+static UInt current_item;
+
+static struct mmt_op {
+ Addr offset;
+ SizeT size;
+ UInt value;
+ ULong reps;
+ UInt store;
+} last_op;
+
+
+/* Command line options */
+UInt mmt_clo_offset = (UInt) -1;
+
+static struct mmt_memmap *find_mmap(Addr addr)
+{
+ struct mmt_memmap *ptr = NULL;
+ UInt i;
+
+ for (i = 0; i < MAX_ITEMS; i++) {
+ ptr = &mmt_gpu_reg[i];
+
+ if (!ptr->initialized) {
+ /* since we cannot un-init entries in the array,
+ * we can return once we hit the first uninitialized
+ * item -- there can't be initialized items following it.
+ */
+ return NULL;
+ }
+
+ if ((addr > ptr->addr) && (addr < ptr->addr + ptr->len))
+ return ptr;
+ }
+
+ return NULL;
+}
+
+static void
+print_op(void)
+{
+ int i;
+
+ if (last_op.reps > 5) {
+ VG_(printf)(" ... repeated %lu times total\n", last_op.reps);
+ }
+ else {
+ for (i = 0; i < last_op.reps; i++) {
+ VG_(printf)("%s: %p, %d, %p\n", last_op.store ? "store" : "load",
+ last_op.offset, last_op.size, last_op.value);
+ }
+ }
+}
+
+static VG_REGPARM(2) void
+trace_store(Addr addr, SizeT size, UInt value)
+{
+ struct mmt_memmap *ptr;
+
+ ptr = find_mmap(addr);
+ if (!ptr)
+ return;
+
+ if (last_op.offset != (addr - ptr->addr) || last_op.size != size ||
+ last_op.value != value || !last_op.store) {
+ print_op();
+
+ last_op.offset = addr - ptr->addr;
+ last_op.size = size;
+ last_op.value = value;
+ last_op.store = 1;
+ last_op.reps = 1;
+ }
+ else {
+ last_op.reps++;
+
+ if (last_op.reps % 1000 == 0)
+ VG_(printf)(" ... repeating: %d times\n", last_op.reps);
+ if (last_op.reps == ~0UL)
+ VG_(printf)(" ... overflow!\n");
+ }
+}
+
+static VG_REGPARM(2) void
+trace_load(Addr addr, SizeT size)
+{
+ struct mmt_memmap *ptr;
+ UInt value;
+
+ ptr = find_mmap(addr);
+ if (!ptr)
+ return;
+
+ switch (size) {
+ case 1:
+ value = *(UChar*) addr;
+ break;
+ case 2:
+ value = *(UShort*) addr;
+ break;
+ case 4:
+ value = *(UInt*) addr;
+ break;
+ case 8:
+ value = *(ULong*) addr;
+ default:
+ return;
+ }
+
+ if (last_op.offset != (addr - ptr->addr) || last_op.size != size ||
+ last_op.value != value || last_op.store) {
+ print_op();
+
+ last_op.offset = addr - ptr->addr;
+ last_op.size = size;
+ last_op.value = value;
+ last_op.store = 0;
+ last_op.reps = 1;
+ }
+ else {
+ last_op.reps++;
+
+ if (last_op.reps % 1000 == 0)
+ VG_(printf)(" ... repeating: %d times\n", last_op.reps);
+ if (last_op.reps == ~0UL)
+ VG_(printf)(" ... overflow!\n");
+ }
+}
+
+static void
+handle_load(IRSB* bb, IRExpr* addr, Int size)
+{
+ IRExpr** argv = mkIRExprVec_2(addr, mkIRExpr_HWord(size));
+ IRDirty* di = unsafeIRDirty_0_N(2,
+ "trace_load",
+ VG_(fnptr_to_fnentry)(trace_load),
+ argv);
+ addStmtToIRSB(bb, IRStmt_Dirty(di));
+}
+
+static void
+handle_store(IRSB*bb, IRExpr* addr, Int size, IRExpr* data)
+{
+ IRExpr** argv = mkIRExprVec_3(addr, mkIRExpr_HWord(size), data);
+ IRDirty* di = unsafeIRDirty_0_N(2,
+ "trace_store",
+ VG_(fnptr_to_fnentry)(trace_store),
+ argv);
+ addStmtToIRSB(bb, IRStmt_Dirty(di));
+}
+
+static IRSB*
+mmt_instrument(VgCallbackClosure* closure,
+ IRSB* bbIn,
+ VexGuestLayout* layout,
+ VexGuestExtents* vge,
+ IRType gWordTy, IRType hWordTy)
+{
+ IRSB* bbOut;
+ int i = 0;
+
+ if (gWordTy != hWordTy) {
+ /* We don't currently support this case. */
+ VG_(tool_panic)("host/guest word size mismatch");
+ }
+ if (gWordTy != Ity_I32 && gWordTy != Ity_I64) {
+ VG_(tool_panic)("word size must be 32 or 64 bits");
+ }
+
+ /* Set up BB */
+ bbOut = deepCopyIRSBExceptStmts(bbIn);
+
+ /* Copy verbatim any IR preamble preceding the first IMark */
+ while (i < bbIn->stmts_used && bbIn->stmts[i]->tag != Ist_IMark) {
+ addStmtToIRSB(bbOut, bbIn->stmts[i]);
+ i++;
+ }
+
+ for (; i < bbIn->stmts_used; i++) {
+ IRStmt* st = bbIn->stmts[i];
+ IRExpr* data_expr;
+ IRType arg_ty;
+ IRTemp t = IRTemp_INVALID;
+ IRStmt* cast = NULL;
+
+ if (!st)
+ continue;
+
+ if (st->tag == Ist_Store) {
+ arg_ty = typeOfIRExpr(bbIn->tyenv, st->Ist.Store.data);
+
+ data_expr = st->Ist.Store.data;
+
+ /* convert data_expr into a 64 bit value */
+ switch (arg_ty) {
+ case Ity_I8:
+ if (gWordTy == Ity_I32) {
+ t = newIRTemp(bbOut->tyenv, Ity_I32);
+ cast = IRStmt_WrTmp(t, IRExpr_Unop(Iop_8Uto32, data_expr));
+ }
+ else {
+ t = newIRTemp(bbOut->tyenv, Ity_I64);
+ cast = IRStmt_WrTmp(t, IRExpr_Unop(Iop_8Uto64, data_expr));
+ }
+ break;
+ case Ity_I16:
+ if (gWordTy == Ity_I32) {
+ t = newIRTemp(bbOut->tyenv, Ity_I32);
+ cast = IRStmt_WrTmp(t, IRExpr_Unop(Iop_16Uto32, data_expr));
+ }
+ else {
+ t = newIRTemp(bbOut->tyenv, Ity_I64);
+ cast = IRStmt_WrTmp(t, IRExpr_Unop(Iop_16Uto64, data_expr));
+ }
+ break;
+ case Ity_I32:
+ if (gWordTy == Ity_I64) {
+ t = newIRTemp(bbOut->tyenv, Ity_I64);
+ cast = IRStmt_WrTmp(t, IRExpr_Unop(Iop_32Uto64, data_expr));
+ }
+ break;
+ case Ity_I64:
+ if (gWordTy == Ity_I64) {
+ break;
+ }
+ default:
+ /* since we only support stores up to the guest word size, we
+ * will never have to evaluate the data_expr that this case
+ * generates.
+ */
+ if (gWordTy == Ity_I32) {
+ t = newIRTemp(bbOut->tyenv, Ity_I32);
+ cast = IRStmt_WrTmp(t, IRExpr_Const (IRConst_U32 (0)));
+ }
+ else {
+ t = newIRTemp(bbOut->tyenv, Ity_I64);
+ cast = IRStmt_WrTmp(t, IRExpr_Const (IRConst_U64 (0)));
+ }
+ break;
+ }
+
+ if (cast) {
+ addStmtToIRSB(bbOut, cast);
+ data_expr = IRExpr_RdTmp(t);
+ }
+
+ handle_store(bbOut, st->Ist.Store.addr,
+ sizeofIRType(arg_ty), data_expr);
+ } else if (st->tag == Ist_WrTmp) {
+ data_expr = st->Ist.WrTmp.data;
+
+ if (data_expr->tag == Iex_Load) {
+ handle_load(bbOut, data_expr->Iex.Load.addr,
+ sizeofIRType (data_expr->Iex.Load.ty));
+ }
+ }
+
+ addStmtToIRSB(bbOut, st);
+ }
+
+ return bbOut;
+}
+
+static Bool
+mmt_process_cmd_line_option(Char* arg)
+{
+ /* FIXME: make this argument mandatory */
+ VG_BHEX_CLO(arg, "--offset", mmt_clo_offset, 0, 0xffffffff)
+ else
+ return False;
+
+ VG_(message)(Vg_UserMsg, "set offset to %lx\n", mmt_clo_offset);
+
+ return True;
+}
+
+static void
+mmt_print_usage(void)
+{
+ VG_(printf)(" --offset=<number> (number must be in decimal!)\n");
+}
+
+static void
+mmt_print_debug_usage(void)
+{
+}
+
+static void
+mmt_new_mem_mmap(Addr a, SizeT len, Off64T offset, Bool rr, Bool ww, Bool xx)
+{
+ if (offset != mmt_clo_offset)
+ return;
+
+ mmt_gpu_reg[current_item].offset = offset;
+ mmt_gpu_reg[current_item].addr = a;
+ mmt_gpu_reg[current_item].len = len;
+ mmt_gpu_reg[current_item].initialized = True;
+ current_item++;
+
+ VG_(message)(Vg_UserMsg, "got new mmap for %p, len %d, offset %p\n", a, len, offset);
+}
+
+static void
+mmt_fini(Int exitcode)
+{
+}
+
+static void mmt_post_clo_init(void)
+{
+}
+
+static void
+mmt_pre_clo_init(void)
+{
+ VG_(details_name) ("mmaptrace");
+ VG_(details_version) (NULL);
+ VG_(details_description) ("an MMAP tracer");
+ VG_(details_copyright_author)(
+ "Copyright (C) 2006, and GNU GPL'd, by Dave Airlie.");
+ VG_(details_bug_reports_to) (VG_BUGS_TO);
+
+ VG_(basic_tool_funcs) (mmt_post_clo_init,
+ mmt_instrument,
+ mmt_fini);
+
+ VG_(needs_command_line_options)(mmt_process_cmd_line_option,
+ mmt_print_usage,
+ mmt_print_debug_usage);
+
+ VG_(track_new_mem_mmap) (mmt_new_mem_mmap);
+
+ last_op.offset = 0;
+ last_op.size = 0;
+ last_op.value = 0;
+ last_op.store = 0;
+ last_op.reps = 0;
+}
+
+VG_DETERMINE_INTERFACE_VERSION(mmt_pre_clo_init)
Index: mmt/docs/Makefile.in
===================================================================
--- mmt/docs/Makefile.in (wersja 0)
+++ mmt/docs/Makefile.in (wersja 0)
@@ -0,0 +1,331 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = mmt/docs
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_SUPP = @DEFAULT_SUPP@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
+FLAG_M32 = @FLAG_M32@
+FLAG_M64 = @FLAG_M64@
+FLAG_MAIX32 = @FLAG_MAIX32@
+FLAG_MAIX64 = @FLAG_MAIX64@
+FLAG_MMMX = @FLAG_MMMX@
+FLAG_MSSE = @FLAG_MSSE@
+FLAG_WDECL_AFTER_STMT = @FLAG_WDECL_AFTER_STMT@
+GDB = @GDB@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MPI_CC = @MPI_CC@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PREFERRED_STACK_BOUNDARY = @PREFERRED_STACK_BOUNDARY@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VALT_LOAD_ADDRESS = @VALT_LOAD_ADDRESS@
+VERSION = @VERSION@
+VEX_DIR = @VEX_DIR@
+VG_ARCH = @VG_ARCH@
+VG_ARCH_ALL = @VG_ARCH_ALL@
+VG_OS = @VG_OS@
+VG_PLATFORM_PRI = @VG_PLATFORM_PRI@
+VG_PLATFORM_SEC = @VG_PLATFORM_SEC@
+XMKMF = @XMKMF@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mmt/docs/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu mmt/docs/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: mmt/docs/Makefile.am
===================================================================
Index: mmt/Makefile.am
===================================================================
--- mmt/Makefile.am (wersja 0)
+++ mmt/Makefile.am (wersja 0)
@@ -0,0 +1,47 @@
+include $(top_srcdir)/Makefile.tool.am
+
+noinst_PROGRAMS =
+if VGP_X86_LINUX
+noinst_PROGRAMS += mmt-x86-linux
+endif
+if VGP_AMD64_LINUX
+noinst_PROGRAMS += mmt-amd64-linux
+endif
+if VGP_PPC32_LINUX
+noinst_PROGRAMS += mmt-ppc32-linux
+endif
+if VGP_PPC64_LINUX
+noinst_PROGRAMS += mmt-ppc64-linux
+endif
+
+MMT_SOURCES_COMMON = mmt_main.c
+
+mmt_x86_linux_SOURCES = $(MMT_SOURCES_COMMON)
+mmt_x86_linux_CPPFLAGS = $(AM_CPPFLAGS_X86_LINUX)
+mmt_x86_linux_CFLAGS = $(AM_CFLAGS_X86_LINUX)
+mmt_x86_linux_DEPENDENCIES = $(COREGRIND_LIBS_X86_LINUX)
+mmt_x86_linux_LDADD = $(TOOL_LDADD_X86_LINUX)
+mmt_x86_linux_LDFLAGS = $(TOOL_LDFLAGS_X86_LINUX)
+
+mmt_amd64_linux_SOURCES = $(MMT_SOURCES_COMMON)
+mmt_amd64_linux_CPPFLAGS = $(AM_CPPFLAGS_AMD64_LINUX)
+mmt_amd64_linux_CFLAGS = $(AM_CFLAGS_AMD64_LINUX)
+mmt_amd64_linux_DEPENDENCIES = $(COREGRIND_LIBS_AMD64_LINUX)
+mmt_amd64_linux_LDADD = $(TOOL_LDADD_AMD64_LINUX)
+mmt_amd64_linux_LDFLAGS = $(TOOL_LDFLAGS_AMD64_LINUX)
+
+mmt_ppc32_linux_SOURCES = $(MMT_SOURCES_COMMON)
+mmt_ppc32_linux_CPPFLAGS = $(AM_CPPFLAGS_PPC32_LINUX)
+mmt_ppc32_linux_CFLAGS = $(AM_CFLAGS_PPC32_LINUX)
+mmt_ppc32_linux_DEPENDENCIES = $(COREGRIND_LIBS_PPC32_LINUX)
+mmt_ppc32_linux_LDADD = $(TOOL_LDADD_PPC32_LINUX)
+mmt_ppc32_linux_LDFLAGS = $(TOOL_LDFLAGS_PPC32_LINUX)
+
+mmt_ppc64_linux_SOURCES = $(MMT_SOURCES_COMMON)
+mmt_ppc64_linux_CPPFLAGS = $(AM_CPPFLAGS_PPC64_LINUX)
+mmt_ppc64_linux_CFLAGS = $(AM_CFLAGS_PPC64_LINUX)
+mmt_ppc64_linux_DEPENDENCIES = $(COREGRIND_LIBS_PPC64_LINUX)
+mmt_ppc64_linux_LDADD = $(TOOL_LDADD_PPC64_LINUX)
+mmt_ppc64_linux_LDFLAGS = $(TOOL_LDFLAGS_PPC64_LINUX)
+
+mmtincludedir = $(includedir)/valgrind
Index: Makefile.am
===================================================================
--- Makefile.am (wersja 7034)
+++ Makefile.am (kopia robocza)
@@ -8,6 +8,7 @@
callgrind \
massif \
lackey \
+ mmt \
none
# Temporary: we want to compile Helgrind, but not regtest it.
Index: coregrind/m_libcbase.c
===================================================================
--- coregrind/m_libcbase.c (wersja 7034)
+++ coregrind/m_libcbase.c (kopia robocza)
@@ -90,6 +90,26 @@
return n;
}
+Long VG_(strtoll) ( Char* str, Char **endptr, Int base )
+{
+ Bool neg = False;
+ Long n = 0;
+ if (*str == '-') { str++; neg = True; };
+ if (base == 16 && *str == '0' && *(str + 1) == 'x') { str += 2; }
+ while ((*str >= '0' && *str <= '9') || (*str >= 'a' && *str <= 'f')) {
+ n = base * n;
+ if (*str <= '9')
+ n += (*str - '0');
+ else
+ n += (*str - 'a' + 10);
+ str++;
+ }
+ if (neg) n = -n;
+ if (endptr)
+ *endptr = str;
+ return n;
+}
+
Long VG_(atoll36) ( Char* str )
{
Bool neg = False;
Index: coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- coregrind/m_syswrap/syswrap-generic.c (wersja 7034)
+++ coregrind/m_syswrap/syswrap-generic.c (kopia robocza)
@@ -160,7 +160,7 @@
ww = toBool(prot & VKI_PROT_WRITE);
xx = toBool(prot & VKI_PROT_EXEC);
- VG_TRACK( new_mem_mmap, a, len, rr, ww, xx );
+ VG_TRACK( new_mem_mmap, a, len, offset, rr, ww, xx );
if (d)
VG_(discard_translations)( (Addr64)a, (ULong)len,
@@ -303,7 +303,7 @@
VG_TRACK( copy_mem_remap, old_addr, new_addr,
MIN_SIZET(old_len,new_len) );
if (new_len > old_len)
- VG_TRACK( new_mem_mmap, new_addr+old_len, new_len-old_len,
+ VG_TRACK( new_mem_mmap, new_addr+old_len, new_len-old_len, 0,
old_seg->hasR, old_seg->hasW, old_seg->hasX );
VG_TRACK(die_mem_munmap, old_addr, old_len);
if (d) {
@@ -345,7 +345,7 @@
if (ok && advised == needA) {
ok = VG_(am_extend_map_client)( &d, (NSegment*)old_seg, needL );
if (ok) {
- VG_TRACK( new_mem_mmap, needA, needL,
+ VG_TRACK( new_mem_mmap, needA, needL, 0,
old_seg->hasR,
old_seg->hasW, old_seg->hasX );
if (d)
@@ -366,7 +366,7 @@
VG_TRACK( copy_mem_remap, old_addr, advised,
MIN_SIZET(old_len,new_len) );
if (new_len > old_len)
- VG_TRACK( new_mem_mmap, advised+old_len, new_len-old_len,
+ VG_TRACK( new_mem_mmap, advised+old_len, new_len-old_len, 0,
old_seg->hasR, old_seg->hasW, old_seg->hasX );
VG_TRACK(die_mem_munmap, old_addr, old_len);
if (d) {
@@ -405,7 +405,7 @@
ok = VG_(am_extend_map_client)( &d, (NSegment*)old_seg, needL );
if (!ok)
goto eNOMEM;
- VG_TRACK( new_mem_mmap, needA, needL,
+ VG_TRACK( new_mem_mmap, needA, needL, 0,
old_seg->hasR, old_seg->hasW, old_seg->hasX );
if (d)
VG_(discard_translations)( needA, needL, "do_remap(6)" );
@@ -1694,7 +1694,7 @@
/* we don't distinguish whether it's read-only or
* read-write -- it doesn't matter really. */
- VG_TRACK( new_mem_mmap, res, segmentSize, True, True, False );
+ VG_TRACK( new_mem_mmap, res, segmentSize, 0, True, True, False );
if (d)
VG_(discard_translations)( (Addr64)res,
(ULong)VG_PGROUNDUP(segmentSize),
Index: coregrind/m_tooliface.c
===================================================================
--- coregrind/m_tooliface.c (wersja 7034)
+++ coregrind/m_tooliface.c (kopia robocza)
@@ -287,7 +287,7 @@
DEF(track_new_mem_startup, Addr, SizeT, Bool, Bool, Bool)
DEF(track_new_mem_stack_signal, Addr, SizeT)
DEF(track_new_mem_brk, Addr, SizeT)
-DEF(track_new_mem_mmap, Addr, SizeT, Bool, Bool, Bool)
+DEF(track_new_mem_mmap, Addr, SizeT, Off64T, Bool, Bool, Bool)
DEF(track_copy_mem_remap, Addr, Addr, SizeT)
DEF(track_change_mem_mprotect, Addr, SizeT, Bool, Bool, Bool)
Index: coregrind/pub_core_tooliface.h
===================================================================
--- coregrind/pub_core_tooliface.h (wersja 7034)
+++ coregrind/pub_core_tooliface.h (kopia robocza)
@@ -163,7 +163,7 @@
void (*track_new_mem_startup) (Addr, SizeT, Bool, Bool, Bool);
void (*track_new_mem_stack_signal)(Addr, SizeT);
void (*track_new_mem_brk) (Addr, SizeT);
- void (*track_new_mem_mmap) (Addr, SizeT, Bool, Bool, Bool);
+ void (*track_new_mem_mmap) (Addr, SizeT, Off64T, Bool, Bool, Bool);
void (*track_copy_mem_remap) (Addr src, Addr dst, SizeT);
void (*track_change_mem_mprotect) (Addr, SizeT, Bool, Bool, Bool);